Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.****.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。所有内容均来自Standford公开课machine learning中Andrew老师的讲解。(https://class.coursera.org/ml/class/index

第五讲——Neural Networks 神经网络的表示

===============================

(一)、Cost function

(二)、Backpropagation algorithm

(三)、Backpropagation intuition

(四)、Implementation note: Unrolling parameters

(五)、Gradient checking

(六)、Random initialization

(七)、Putting it together



===============================

(一)、Cost function


假设神经网络的训练样本有m个,每个包含一组输入x和一组输出信号y,L表示神经网络层数,Sl表示每层的neuron个数(SL表示输出层神经元个数)。

将神经网络的分类定义为两种情况:二类分类和多类分类,

*二类分类:SL=1, y=0 or 1表示哪一类;

*K类分类:SL=K, y= 1表示分到第i类;(K>2)

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

我们在前几章中已经知道,Logistic hypothesis的Cost Function如下定义:

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

其中,前半部分表示hypothesis与真实值之间的距离,后半部分为对参数进行regularization的bias项,神经网络的cost function同理:

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

hypothesis与真实值之间的距离为 每个样本-每个类输出 的加和,对参数进行regularization的bias项处理所有参数的平方和




===============================

(二)、Backpropagation algorithm

前面我们已经讲了cost function的形式,下面我们需要的就是最小化J(Θ)

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

想要根据gradient descent的方法进行参数optimization,首先需要得到cost function和一些参数的表示。根据forward propagation,我们首先进行training dataset 在神经网络上的各层输出值:

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

我们定义神经网络的总误差为:

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning
希望通过调整权重参数W(也就是theta)来最小化E。
由于

Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

所以每一层按如下方式进行更新:
Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning

根据backpropagation算法进行梯度的计算,这里引入了error变量δ该残差表明了该节点对最终输出值的残差产生了多少影响。
对于最后一层,我们可以直接算出网络产生的输出Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning与实际值之间的差距,我们将这个差距定义为Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning。对于隐藏单元我们如何处理呢?我们将通过计算各层节点残差的加权平均值计算hidden layer的残差。读者可以自己验证下,其实Stanford机器学习 第五讲 神经网络的学习 Neural Networks learning就是E对b求导的结果。

在最后一层中,