coursera机器学习笔记-神经网络,学习篇
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得;
#注:此笔记是我自己认为本节课里比较重要、难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点;
#标记为<补充>的是我自己加的内容而非课堂内容,参考文献列于文末。博主能力有限,若有错误,恳请指正;
#---------------------------------------------------------------------------------#
多层神经网络模型:
,
<补充>:每一个单元有一定数量的实值输入,产生单一的实值输出(可以是其他很多单元的输入);
符号标记:ai(j):activation of unit i in layer j ;Ɵ(j) :matrix of parameters controlling the function mapping from layer j to layer j+1;
#---------------------------------------------------------------------------------#
神经网络的cost function:

前一项的目的是使所有单元的误差和最小(采用对数损失函数),后一项是regularization项,旨在控制模型复杂度,防止overfitting;
#---------------------------------------------------------------------------------#
forward propagation(前向传播)
<补充>:其实也就是通过神经网络,从输入参数到输出结果的计算过程(只计算一次);
参数的计算如下:
,其中g(x)是sigmoid函数;

#---------------------------------------------------------------------------------#
Back propagation(反向传播):与前向传播非常类似,从结果层倒推回输入层,计算每层δ的过程,δ为误差;
,其中:l指第几层,
;
注:第一层是输入层,没有δ1项,最后一层(输出层)的δ不是按此式计算,见下例;
,
δ4 = a4 - y,δ3 = (Ɵ3)T δ4 . *(a3 . * (1 - a3)),δ2 = (Ɵ2)T δ3 . *(a2 . * (1 - a2));
#---------------------------------------------------------------------------------#
Back propagation algorithm(反向传播算法)
<补充>:一个最优化问题,目的是在使cost function值最小(这里是通过偏导最小来实现)的情况下,训练出神经网络各个参数的权值;
算法如下:
1,给出训练集作为输入,
,将delta值设为0,
;
2,进行下列过程直至性能满足要求为止:
对于每一训练(采样)输入,
(a) 通过前向传播计算所得输出。
(b) 通过反向传播计算每层的δ值;
(c) 更新delta值:
;
3,得到神经网络参数的权值:
,其中:
;
#---------------------------------------------------------------------------------#
几则关于神经网络的问题和解决办法
1,Gradient checking:反向传播算法有很多细节,非常容易出错,Gradient checking有助于cost function J(Ɵ)的准确性;
原理:比较由反向传播计算得到的DVec和梯度计算得到的gradApprox两者是否相近似来判断;
<补充>:其实是用了微积分当中导数的概念,
;
注:在训练数据时需要将Gradient checking代码注释掉,因为gradApprox的计算是很耗时的;
2,Random initialization:反向传播算法是局部收敛的,需多次选起始点训练来减少最终局部收敛的可能性;
#---------------------------------------------------------------------------------#
参考文献:
《machine learning》, by Tom Mitchell;
couresra课程: standford machine learning, by Andrew Ng;
coursera机器学习笔记-神经网络,学习篇的更多相关文章
- coursera机器学习笔记-神经网络,初识篇
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- Python机器学习笔记 集成学习总结
集成学习(Ensemble learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合,从而获得比单个学习器显著优越的泛化性能.它不是一种单独的机器学习算法啊,而更像是一种优 ...
- Coursera ML笔记 - 神经网络(Representation)
前言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自Standford Andrew N ...
- coursera机器学习笔记-建议,系统设计
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- coursera机器学习笔记-多元线性回归,normal equation
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- coursera机器学习笔记-机器学习概论,梯度下降法
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- 视觉机器学习笔记------CNN学习
卷积神经网络是第一个被成功训练的多层神经网络结构,具有较强的容错.自学习及并行处理能力. 一.基本原理 1.CNN算法思想 卷积神经网络可以看作为前馈网络的特例,主要在网络结构上对前馈网络进行简化和改 ...
- Stanford机器学习笔记-6. 学习模型的评估和选择
6. 学习模型的评估与选择 Content 6. 学习模型的评估与选择 6.1 如何调试学习算法 6.2 评估假设函数(Evaluating a hypothesis) 6.3 模型选择与训练/验证/ ...
- Coursera 机器学习笔记(四)
主要为第六周内容机器学习应用建议以及系统设计. 下一步做什么 当训练好一个模型,预测未知数据,发现结果不如人意,该如何提高呢? 1.获得更多的训练实例 2.尝试减少特征的数量 3.尝试获得更多的特征 ...
随机推荐
- Apache+Mod_Python配置
我其实不是个适合做编程的人,因为喜欢折腾,不喜欢日复一日的重复同样的事情.感觉挺适合做网管(运维)的. 经常在摆弄一些小众的程序员不怎么会关心的东西,不走寻常路.有时也挺纠结的,折腾这些东西的过程中, ...
- Dubbo入门
早就听说了dubbo的好处,但是在项目中一直没有使用的机会,所以一直不知道怎么使用.今天晚上有空,简单的学习一下 就当入个门,以后项目中遇到的话,那么使用起来就比较简单了,至于介绍的话,我就不总结了, ...
- redis-desktop-manager
介绍一款Redis图形管理工具:redis-desktop-manager 下载地址:点击打开链接 我们打开redis-cl.exe 客户端,在里面添加了key= name ,value=heyang ...
- Scalaz(37)- Free :实践-DB Transaction free style
我一直在不断的提示大家:FP就是Monadic Programming,是一种特殊的编程风格.在我们熟悉的数据库编程领域能不能实现FP风格呢?我们先设计一些示范例子来分析一下惯用的数据库编程过程: i ...
- [Linux] ubuntu安装配置vsftpd并锁定目录
系统环境 ubuntu 14.04 LTS vsftpd安装 apt-get install vsftpd 配置文件 默认配置文件的位置为 /etc/vsftpd.conf local_enable= ...
- spring入门(二)【加载properties文件】
在开发过程当中需要用到配置信息,这些信息不能进行硬编码,这时配置文件是一个比较好的方式,java提供了properties格式的文件,以键值对的方式保存信息,在读取的时候通过键获得键对应的值,spri ...
- selenium webdriver读取excel进行数据驱动测试
最近做自动化需要从文件读取数据做参数化,网上发现一个不错的解决方案. 准备:新建一个excel文件,文件名为测试类名,sheet名为测试方法名 excel第一行为标题,从第二行开始为测 ...
- (转)B-树、B+树、B*树
B-树 是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子:且M>2: 2.根结点的儿子数为[2, M]: 3.除根结点以外的非叶子结点的儿子数为[M/2, M]: 4. ...
- SQL Server 跨库同步数据
最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是op ...
- 小白详细讲解快速幂--杭电oj2035-A^B
Problem Description 求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<= ...