第27期 Datawhale 组队学习 吃瓜教程——西瓜书+南瓜书第五章 / 周志华《机器学习》

神经网络

1.神经元模型

1.1 M-P神经元模型

M-P神经元模型
输出函数: y = f ( ∑ i = 1 n ( ω i x i − θ ) ) y=f(\sum^{n}_{i=1}(\omega_ix_i-\theta)) y=f(i=1n(ωixiθ))
其中 θ \theta θ为阈值, ω i \omega_i ωi为第i个神经元的连接权重, x i x_i xi为来自第i个神经元的输入。

1.2 激活函数

阶跃函数:
理论上我们使用阶跃函数。将输入值映射为输出值为0/1,显然1为神经元兴奋,0为神经元抑制
函数: s g n = {   1 , X ≥ 0   0 , X < 0 sgn=\begin{cases} \ {1,X\geq0} \\ {\ 0,X<0} \end{cases} sgn={ 1,X0 0,X<0
在这里插入图片描述
Sigmoid函数
因为阶跃函数不连续,所以我们使用替代品sigmoid函数(有时候又称为挤压函数):
函数:
在这里插入图片描述

在这里插入图片描述
可以看到当sigmoid的输入很大或很小时,其梯度几乎趋近于0。
在这里插入图片描述

再来看tanh激活函数,
函数为:
在这里插入图片描述

如下图所示:

在这里插入图片描述

由上图可以看出,tanh激活函数和sigmoid激活函数非常相似,只不过tanh激活函数将输入值压缩到了-1到1之间,由其梯度图像可以看出,当输入很大或很小时梯度也是趋于0的。

最后让我们来看一下relu激活函数
函数为:
在这里插入图片描述
如下图所示:
在这里插入图片描述

从上图中可以看出,relu激活函数在0到正无穷上会随着输入的增大而无限增大,在小于0的区间上其值全为0,但是我们还可以看到其梯度在0到正无穷上永远为1。

由于神经网络最后对于损失函数的优化也是使用梯度下降,因此在实际运用中,我们基本上会经常用relu激活函数,因为sigmoid激活函数以及tanh激活函数从上面的图像中已经可以看出,其存在梯度消失的问题,我们知道,当我们使用梯度下降去优化某个损失函数时,是需要求梯度的,但是如果输入过大(可能初始化权重过大,也可能特征过大)并且采取的是sigmoid或tanh激活函数,那么当我们在输入位置求取梯度时其梯度值趋近于0,而我们对于参数的更新量也趋近于0,因此最终会因为梯度消失的问题造成收敛过慢,因此我们会使用relu激活函数来加快收敛速度,但relu激活函数的精度不如sigmoid激活函数。

2.感知机与多层神经网络

2.1 感知机

感知机由两层神经元构成,输入层接受外界信号后传递给输出层,输出层为M-P神经元,亦称“阈值逻辑单元”
从几何角度来说,给定一个线性可分的数据集T,感知机的学习目标是构筑一个在n维空间将数据集T中正负样本完全正确划分的超平面,其中 ω T x − θ \omega^Tx-\theta ωTxθ为超平面方程
在这里插入图片描述训练逻辑:
对训练样例(x,y),若当前感知机的输出为y^,则这样调整:
ω i ← ω i + Δ ω i Δ ω i = η ( y − y   ) x i {\omega_i\leftarrow\omega_i+ \Delta\omega_i} \\{\Delta\omega_i=\eta(y-y^\ )x_i} ωiωi+ΔωiΔωi=η(yy )xi
其中 η ∈ ( 0 , 1 ) \eta \in(0,1) η(0,1)称为学习率,若预测正确则不调整,若错误,则根据错误的程度进行调整。
在这里插入图片描述

2.2 多层前馈神经网络

单隐层前馈神经网络
在这里插入图片描述

优秀笔记:多层感知机与神经网络学习总结

3.误差逆传播算法(BP算法)

原理视频:【算法思想】14分钟了解BP神经网络
线性回归更新算法: ω = ω + ( y − d y ) d x \omega=\omega+(y-dy)dx ω=ω+(ydy)dx
个人理解:本算法首先关键字是逆向,及由预测结果的错误程度去反馈,去修改 ω \omega ω的值(注, ω \omega ω可以为常数也可为矩阵),
算法推导:

在这里插入图片描述

参考文献:

  1. 单隐层前馈神经网络
  2. BP算法介绍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值