机器学习 西瓜书 Day05 神经网络(NN)

p97- p107
今天去看复仇者联盟了,不错的片子,所以少看了5页,明天补上。:)

第五章 神经网络

5.1 神经元模型

M-P神经元模型:
神经元接受n个神经元的输入信号,各个带权重。
将总输入值与该神经元的阈值比较,然后通过激活函数处理以产生输出
见图p97
每个神经元输出y = f(∑wixi - θ)。

理想的激活函数是阶跃函数sgn(x),但不连续不光滑。
因此实际常用sigmoid函数作为激活函数。

5.2 感知机和多层网络

感知机:两层神经元组成。
输入层:接受外界信号,传递给输出层
输出层:M-P神经元,亦称“阈值逻辑单元”

感知机能够很容易地通过改变w1,w2,θ,实现与或非运算。

感知机通过学习来确定wi,θ:过程见p99。
引出了学习率。

可以证明:如果两类模型是线性可分的,那感知机的学习过程一定会收敛。(见p100 形象的图)。否则会发生震荡。

要解决非线性可分,需要考虑使用多层神经元。见p100 图5.5

输入层与最终输出层之间的层:隐含层。

多层前向反馈神经网络:图5.6
注:前向指拓补结构不含有回路与环

总结:神经网络学到的东西,蕴含在连接权与阈值中。

5.3 误差逆传播算法(BP)

训练多层神经网络:BP算法(反向传播算法)
迭代的过程,每一次更新各个参数
BP算法基于梯度下降:以目标的负梯度方向对参数进行调整。

具体方法:见p103。
具体伪代码:见p104。
最终是为了最小化累积误差。

标准BP vs 累积BP:
标准BP每次只针对一个数据,参数更新频繁,需要更多的迭代。
累积BP相反。

注:读取数据集一遍-称为进行了一轮学习。

BP表示能力强大,就会带来过拟合,两种缓解方案:
1.早停:数据集分为训练集和验证集,若训练值误差降低而验证集增高,就停,返回具有最小验证集误差的连接权和阈值。
2.正则化:在误差目标函数E中加入正则化项,如权值平方和(描述网格复杂度)。

5.4 全局最小和局部最小

梯度下降可能会跳入局部最小
三种解决方案:
1.多组不同参数值初始化多个神经网络,去误差最小的解做最终参数。
2.“模拟退火”:在每一步都以一定的概率接受比当前解更差的结果。随迭代进行,接受概率变小,以保证稳定。
3.随机梯度下降

遗传算法也常用来训练NN

5.5 其他常见神经网络

5.1 RBF网络

单隐层前向反馈神经网络
使用径向基函数作为隐层神经元激活函数
输出层是隐层神经元的线性组合

两步训练RBF:1)确定中心ci 2) 使用BP确定w,c

你可能感兴趣的:(机器学习 西瓜书 Day05 神经网络(NN))