201119西瓜书系列博客---5、神经网络
一、总结
一句话总结:
5.2 感知机与多层网络
5.3 误差逆传播算法
5.4 全局最小与局部极小
5.5 深度学习
1、阶跃函数?
$$operatorname { sgn } ( x ) = left{ egin{array} { l l } { 1 , } & { x geq 0 } \ { 0 , } & { x < 0 } end{array} ight.$$
阶跃函数具有【不连续不光滑等】不太好的性质,因此实际常用Sigmoid函数作为激活函数。
2、感知机?
感知机(Perceptron)由【两层神经元】组成,【输入层】接受外界输入信号后传递给输出层,【输出层】是M-P神经元(也称:阈值逻辑单元(threshold logic unit)),为【二类分类的线性分类模型】(激活函数为阶跃函数)。
感知机【只有输出层神经元进行激活函数处理】,即只拥有一层功能神经元,其学习能力非常有限,只能处理【线性可分】的问题。
3、感知机的学习规则?
对于训练样本(x,y),当该样本进入感知机学习后,会产生一个对应的输出值_$hat { y }_$,【若真实输出值y与其不一致,则感知机会对权重进行调整】,若激活函数为阶跃函数,则调整方法为(基于梯度下降)
4、感知机学习过程?
可以看出感知机是通过【逐个样本输入来更新权重】:设定好权重(一般为随机),逐个地输入样本数据,若输出值与真实标记一致则继续输入下一个样本,否则更新权重,再开始重新逐个检验,直到所有的样本的输出值与真实标记一致。
5、误差逆传播算法?
【就是反向传播】:误差逆传播(error BackPropagation,简称BP)
6、【5.4、全局最小与局部极小】 采用以下三种策略来【试图跳出局部最小】,从而进一步接近全局最小(不能保证得到的就是全局最小,只是逼更近)?
【以多组不同的参数值初始化多个神经网络】,按标准方法训练后,取其中误差最小的解作为最终参数。注:【相当于从多个不同的初始点开始搜索】,这样可能陷入多个不同的局部极小,从中进行选择有可能得到更接近全局最小的解。
【使用随机梯度下降】。与标准梯度下降法精确计算精度不同,随机梯度下降在计算梯度时引入了随机因素。于是,即使陷入局部极小点,它计算出的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索。
【使用模拟退火(simulated annealing)】技术。
【遗传算法】也经常用来训练神经网络以更好地逼近全局最小。
7、西瓜书神经网络两种缓解BP网络的过拟合的方法?
【“早停(early stopping)”】:将数据分成训练集和验证集,训练集用来计算梯度,更新连接权和阈值,验证集用来估计误差。若出现上文所述的过拟合现象,则停止训练,同时返回具有最小验证集误差的连接权和阈值。
【“正则化(regularization)”】:在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权和阈值的平方和。
8、从增加模型复杂度的角度看,【增加隐层的数目】显然比【增加隐层神经元的数目】更有效?
因为增加隐层数不仅增加了拥有激活函数的神经元数目,【还增加了激活函数嵌套的层数】。
9、【无监督逐层训练(unsupervised layer-wise training)】是多隐层神经网的训练的有效手段。其基本思想是?
每次训练一层隐结点,训练时将上一层隐结点 的输出作为输入,而本层隐结点的输出又作为下一层隐结点的输入,这称为【“预训练”(pre-training)】
预训练全部完成后,再对整个网络进行【微调(fine-tuning)】训练
10、【预训练+微调】的做法可视为?
对每组【先找到局部看起来比较好的设置】,然后再基于这些局部较优的结果联合起来进行全局寻优。
这样就在利用模型大量参数所提供的自由度的同时,有效地【节省了训练开销】。
还有一种节省训练开销的策略是【权共享(weight sharing)】,即【让一组神经元使用相同的连接权】。这种策略在卷积神经网络(CNN)中发挥了重要作用。
二、西瓜书读书笔记——第五章:神经网络
转自或参考:西瓜书读书笔记——第五章:神经网络
https://blog.csdn.net/shichensuyu/article/details/90907029