机器学习——神经网络
1.ANN, RNN,
https://baijiahao.baidu.com/s?id=1590362274035183205&wfr=spider&for=pc
2.输入层-隐含层-输出层
3.前向传播,反向传播,代价函数
4.梯度校验
5.拓展:神经网络—>逻辑回归;神经网络—>多分类问题
6.Debug方法
6.1 more trainning sets
6.2 smaller features/additional features/pylinomial features
6.3 decreasing /increasing lambda
7.神经网络及对比:DNN、CNN、RNN、LSTM
广义上来说,NN(或是DNN)确实可以认为包含了CNN、RNN这些具体的变种形式。在实际应用中,所谓的深度神经网络DNN,往往融合了多种已知的结构,包括卷积层或是LSTM单元。但是从狭义上来说,单独的DNN、CNN、RNN及LSTM也可以对比。
7.1 DNN(深度神经网络)
神经网络是基于感知机的扩展,而DNN可以理解为有很多隐藏层的神经网络。多层神经网络和深度神经网络DNN其实也是指的一个东西,DNN有时也叫做多层感知机(Multi-Layer perceptron,MLP)。
DNN存在的局限:
-
参数数量膨胀。由于DNN采用的是全连接的形式,结构中的连接带来了数量级的权值参数,这不仅容易导致过拟合,也容易造成陷入局部最优。
-
局部最优。随着神经网络的加深,优化函数更容易陷入局部最优,且偏离真正的全局最优,对于有限的训练数据,性能甚至不如浅层网络。
-
梯度消失。使用sigmoid激活函数(传递函数),在BP反向传播梯度时,梯度会衰减,随着神经网络层数的增加,衰减累积下,到底层时梯度基本为0。
-
无法对时间序列上的变化进行建模。对于样本的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。
7.2 CNN(卷积神经网络)
主要针对DNN存在的参数数量膨胀问题,对于CNN,并不是所有的上下层神经元都能直接相连,而是通过“卷积核”作为中介。同一个卷积核在多有图像内是共享的,图像通过卷积操作仍能保留原先的位置关系。
CNN之所以适合图像识别,正式因为CNN模型限制参数个数并挖掘局部结构的这个特点。https://www.cnblogs.com/duanhx/p/9655223.html
7.3 RNN(循环神经网络)
针对CNN中无法对时间序列上的变化进行建模的局限,为了适应对时序数据的处理,出现了RNN。
在普通的全连接网络或者CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立(这种就是前馈神经网络)。而在RNN中,神经元的输出可以在下一个时间戳直接作用到自身。
(t+1)时刻网络的最终结果O(t+1)是该时刻输入和所有历史共同作用的结果,这就达到了对时间序列建模的目的。
存在的问题:RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度,而梯度消失的现象出现时间轴上。
7.4 LSTM
参考:http://f.dataguru.cn/thread-929235-1-1.html