机器学习第五章

中间3,4 章略读过去的,先不写博客。

神经元模型

神经元接收到来自其他神经元传递过来的输入信号,这些输入信号通过带权重的连接(connection) 进行传递 ,神经 接收到的总输入值将与神经元的阀值进行比较,,然后通过”激活函数” (activation function 处理以产生神经元的输出。

image-20220209141857496

激活函数

激活函数的作用是可以引入非线性因素,解决线性模型所不能解决的问题。

首先我要将下面的三角形和圆形点进行正确的分类

img

比如一个感知机可以画出一条线

img

多个感知机组合还是线性化分

img

但是无论怎么划分,还是无法用线性组合把这个问题解决。

img

加上一个激活函数后,就可以做出非线性的划分了

img
img
img

所以加入激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题

Sigmoid 函数把可能在较大 范围内变化的输入值挤压到 (0 1) 输出值范围内

image-20220208204523029

感知机和多层网络

上面已经提到过感知机了,感知机由两层神经网络组成,输入层接收外界输入信号后传递给输出层,其中输出层也叫”阈值逻辑单元” 。输入层只进行输入,不进行函数处理。

感知机
image-20220209143847864

感知机不同输入的权重通过上面的式子进行调整,学习率通常设置成一个小正数,比如0.1。

多层前馈神经网络

每层神经元与下层完全互联,不存在跨层连接。

image-20220209144221985

反向传播算法

BP算法

误差逆传播算法(error BackPropagation,BP算法):BP 算法基于梯度下降策略, 以目标的负梯度方向对参数进进行调整。由于负梯度方向是函数值下降最快的方向,因此梯度下降法就是沿着负梯度方向搜索最优解。用梯度下降计算每一层最小的loss,然后根据求解出的参数调整前一层的权值得到最小的的损失。这个过程需要重复直到损失不再减少。

image-20220209150541238

在100轮的时候已经划分出来全部的样本

累积 BP 算法

累积 BP 算法直接针对累积误差最小化,它在读取整个训练集 一遍后才对参数进行更新, 其参数更新的频率低得多。但在很多任务中,累积误差下降到一定程度之后进 一步下降会非常缓慢,这时标准 BP 往往会更快获得较好的解,尤其是在训练 非常大时更明显。

[Hornik et al., 1989] 证明,只需二个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数.

这个就类似于用无限多的直线就可以趋近任何曲线。

BP算法的过拟合问题

早停

将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阔值,验证集用来估计误差,若训练集误差降低验证集误差升高则停止训练。

正则化

在误差目标函数中增加一个用于描述网络复杂度的部分,训练过程将 会偏好比较小的连接权和阈值,使网络输出更加 “光滑”从而对过拟合有所缓解。

寻找最小误差

如何确定计算出的梯度极小值就是最优解呢?下面三个方法:

image-20220209152053197

发表评论