机器学习-周志华|机器学习-周志华 神经网络

网络可以表达复杂的模型,是简单模型的嵌套。简单模型进行计算,输出需要经过转化,来决定此神经元是否被激活,计算到此的参数是否要传递下去。理想为阶跃函数,但是不具备连续性,一般为sigmoid函数。
网络复杂时,需要通过BP(误差逆传播)算法对参数进行调整。
网络的构成:神经元,神经元之间连接的线。
多层网络,BP算法(误差逆传播)流程:
1。随机初始化网络中的权重和阈值
2. 重复下面的流程:按照网络现在的权重和阈值,信号向前流动。一层一层向前计算梯度,更新权重。更新完回到1。
上述标准BP算法过程是针对一个样本去计,更新阈值频繁,多次之间很可能效果互相抵消。
累计BP算法,最优化的是训练集上的误差。
【机器学习-周志华|机器学习-周志华 神经网络】复杂的网络可以无限逼近任意复杂度的连续函数,但是要调整层数、每层神经元个数,比较难。
表达能力强,很容易过拟合。防止过拟合的方法:1.训练过程中,在训练集上误差降低,验证集上的误差升高时,early stoping,返回使得验证集最优的参数。2.正则化。思想: 目标函数中,加入一个用于描述网络复杂度的部分
全局最优,局部最优:
跳出局部最优的方法:1.设定不同初始值,多次实验,取最优。2.在训练过程中,以一定的概率接受更差的结果。3.随机梯度下降。

    推荐阅读