coursera机器学习技法笔记(12)——Neural Network

12 Neural Network

12.1 Motivation

  在神经网络的节点上使用感知机,那我们可以把神经网络看作是通过不同感知机以及常数的线性组合得到一个新的特征,将新的特征加上一个常数再进行线性组合得到结果。其原理和aggregation类似,但是在神经网络中进行了多层级的aggregation。

  从生物的角度来说神经网络模拟了人脑神经网络。

12.2 Neural Network Hypothesis

  如果神经元节点都用线性回归的话,那么无论怎么组合最终都是个线性回归,模型的能力没有大幅提高,如果用感知机的话计算起来太麻烦,因此神经元节点通常使用tanh(s):

tanh(s)=es?e?ses+e?s=2θ(2s)?1

其中θ是sigmoid函数。

  另外本节讲述了变量个数和神经元的关系。

12.3 Neural Network Learning

  本节讲述了BP算法。对神经网络训练的重点在于根据神经网络最后输出值与真实样本的差距对内部的权重进行修正。具体方法是使用平方损失函数,然后在该损失函数上对所有权重求偏导,并利用偏导结果进行梯度下降。

  在对最后一层求偏导的时候,可以将其拆分为:

?en?w(L)i,1=?en?s(L)1?s(L)1?w(L)i,1

其中,s(L)1=∑d(L?1)i=0w(L)i1x(L?1)i是倒数第二层神经元的分数,en是第n个样本的误差。可以看到,这个求解是可以得到结果的。然后接下来对之后的其他层的权重求偏导,其结果即将上式的L换成l,但可以注意到,?en?s(l)j是不能马上求出结果的,因为这与l之后的层的变量相关,我们令?en?s(l)j=δ(l)j。

  由于神经网络的计算顺序是s(l)j→x(l)j→s(l+1)j…→en,因此我们需要对s(l)j与en之间的每一个变量求偏导。这里我们在展开δ(l)j求导的过程中加入考虑l+1层的偏导,即:

?en?s(l)j=∑d(l+1)k=1?en?s(l+1)j?s(l+1)j?x(l)j?x(l)j?s(l)j

可以发现求导结果是:

∑kδ(l+1)kw(l)jk(tanh′(s(l)j))

  最后一层的δ(L)k我们是知道的,因此可以反推回来。总结一下,BP算法的过程是先选取一个样本,计算出结果,然后根据结果倒推回来修改权重。由于这是一个随机梯度下降的算法,因此可以同时训练多个样本,得到多个权重修改结果,对其取平均,即mini-bat梯度下降。

12.4 Optimization and Regularization

  本节讲述了在训练神经网络中可以使用的避免过拟合的策略,可以注意到的是,神经网络的VC维是O(VW),其中V是神经元数量。

  (1)正则化项:我们希望使用一种能达到稀疏解的正则化项,但是L1正则化不利于求导,L2正则化是大的权重下降大,小的权重下降小,因此可以对L2正则化进行放缩以达到目的:

∑(w(l)ij)21+(w(l)ij)2

  (2)减少迭代次数:由于更多的迭代次数可以看做是在假设空间中尝试了更多的权重组合,因此适当减少迭代次数也可以达到避免过拟合的结果。

时间: 2024-10-09 13:30:48

coursera机器学习技法笔记(12)——Neural Network的相关文章

coursera机器学习技法笔记(13-14)——deep learning & RBFNetwork

13 Deep Learning 13.1 Deep Neural Network 将神经网络的层数增大,即称为深度学习.深度学习一般在输入数据为row data的时候使用,因为这些数据很难人为构造出合适的特征.深度学习一般面临如下挑战: (1)神经网络结构的决定:一般只能通过人的主观领域知识来决定神经网络结构,例如图像识别中的convolutional NNet,即认为相邻的像素才有必要连接到下一层的同一神经元. (2)模型复杂度:由于高层神经网络会有很多变量,因此显然会提高模型复杂度.但是一

coursera机器学习技法笔记(15)——Matrix Factorization

15 Matrix Factorization 15.1 Linear Network Hypothesis 将类别数据转换成向量数据,然后以每个样本的向量数据作为输入,评分数据作为输出,利用3层神经网络进行特征萃取. 由于向量特征数据大量稀疏,因此中间层的tanh函数并不会起什么作用,可以直接换成线性模型,即Linear Network. 将第1/2层网络的权重设为VT,第2/3层网络权重设为W,则该模型可以表述为: h(x)=WTVx 如果x是一个只有1个元素为1的向量,则该式可以写成: h

coursera机器学习技法笔记(7-8)——blending and bagging & Adaptive Boosting

7 Blending and Bagging 7.1 Motivation of Affregation 之前都是通过特征转换达到更好的分类目的,而有另一种思路就是将多个模型的分数线性组合起来以期得到更好的效果.它们的权重应为x的函数,这样能包含投票.取最大等多种情况. 7.2 Uniform Blending 本节从理论上探讨了blend的可行性: G(x)=1T∑Tt=1gt(x) 则: avg((gt?f)2)=avg((gt?G2))+(G?f)2 可以看出,任选一个g_t其误差期望是大

Coursera机器学习-第五周-Neural Network BackPropagation

单元Cost Function and Backpropagation Cost Function 假设有样本m个.x(m)表示第m个样本输入,y(m)表示第m个样本输出,L表示网络的层数,sl表示在l层下,神经单元的总个数(不包括偏置bias units),SL表示输出单元的个数 当遇到二分问题时,SL=1,y=0or1, 遇到K分类问题时,SL=K,yi=1 例如遇到5分类问题时,输出并不是y=1,y=2,...y=5这类,而是标记成向量形式[10000]T,[01000]T.....[00

coursera机器学习技法笔记(9-11)——decision tree & Random forest & GBDT

9 Decision Tree 9.1 Decision Tree Hypothesis 本节主要讲述了决策树的两种解释,一种是决策树是由叶子节点和路径组成的,当选择叶子节点对应的路径时采用对应的叶子节点结果:另一种观点是由分叉的树递归组成,当选择某一分支时将采用分支对应的子树的演算法结果. 决策树的优点在于可解释性强,高效.缺点是理论保证不足,并且算法多样. 9.2 Decision Tree Algoithm 决策树主要有4个关键部分: (1)分支分成几支? (2)该怎么分支? (3)什么时

机器学习技法——第1-2讲.Linear Support Vector Machine

本栏目(机器学习)下机器学习技法专题是个人对Coursera公开课机器学习技法(2015)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Techniques中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumltwo-001/lecture) 第1讲-------Linear Support Vector Machine 在机器学习基石介绍的基本工具(主要围绕特征转换Feature Transf

机器学习技法笔记-Lecture 12 Neural network

介绍神经网络的基本概念以及Backprop的推导. 输入为x, 首先对x做一个线性变换到s,然后对s做(通常是非线性的)变换,作为下一层的输入.如果对s也是线性的,那整个网络就是线性的,就不需要那么多层了. 对 s 经常使用的一个是双曲余弦的变换tanh 在离原点比较远的地方,它比较像阶梯函数,在接近原点的地方,接近线性函数. 网络的计算过程 可以分两步看,一个是算score,一个是做transform. 如何学习网络中的权重呢? 学习的最终目标仍然是让Ein最小,Ein可以看做是关于全部的w_

Coursera 机器学习 第5章 Neural Networks: Learning 学习笔记

5.1节 Cost Function神经网络的代价函数. 上图回顾神经网络中的一些概念: L  神经网络的总层数. sl  第l层的单元数量(不包括偏差单元). 2类分类问题:二元分类和多元分类. 上图展现的是神经网络的损失函数,注意这是正则化的形式. 正则化部分,i.j不为0.当然i.j可以为0,此时的损失函数不会有太大的差异,只是当i.j不为0的形式更为常见. 5.2节 Backpropagation Algorithm最小化损失函数的算法——反向传播算法:找到合适的参数是J(θ)最小. 如

Coursera台大机器学习课程笔记12 -- Hazard of Overfitting

这一节讲的是overfitting,听完对overfitting的理解比以前深刻多了. 先介绍了过拟合,后果就是Ein很小,而Eout很大.然后分别分析了造成过拟合的原因. 首先是对横型复杂度对过拟合的探讨.模型越复杂,越可能产生过拟合.然后给出了造成这一结果的原因:样本数量太小.这是在有noise的情况下, 那么假如没有noise呢? 用下面两幅图来表明各个参数的影响: 从图中可看出,noise和模型复杂度都会对过拟合产生影响.其中需要注意的是右图左下角的那块区域.采用了复杂的模型 就相当于产