本文主要是介绍《机器学习(周志华)》Chapter5 神经网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、神经元模型:
θ为阀值,输入样本x与权重w相乘再求和若大于阀值θ则兴奋即输出为1,否则抑制输出为0,f为激活函数经典的有Sigmoid函数
二、感知机与多层网络:
感知机由两层神经元组成
若θ设置为常数,则可训练出权重w
多层前馈神经网络:
三、误差逆传播算法
称BP算法,采用链式求导法则求出各层权重及阀值的导数。
假设神经网络的输出为:
则均方误差为:
梯度下降:η为学习率
首先求隐藏层到输出层权重Whj进行求导,先影响到β,在影响到输出yj,然后影响到Ek,有:
Sigmoid函数求导得:
将5.3代入5.4再求导得:
再将5.10和5.8代入5.7,再代入5.6,得到如下公式:
最终最小化累积误差:
避免过拟合加入正则化:
四、全局最小与局部极小:
解决神经网络陷入局部最小的常用方法:
1、选择多个不同的参数初始值,取其中误差最小的解最为最终参数
2、模拟退火技术
3、随机梯度下降
4、遗传算法
但是上述跳出局部极小的技术大多是启发式,理论上尚缺乏保障。
五、常见的神经网络:
1、RBF网络
2、ART网络
3、SOM网络
4、级联相关网络
5、Elman网络
6、Boltzmann机
这篇关于《机器学习(周志华)》Chapter5 神经网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!