【机器学习】神经网络



神经网络模型

1943年一直沿用至今的M-P神经网络模型

M-P神经网络模型

模型解释:

将输入神经元的x乘上相应权重w并求和,将结果与阈值 θ \theta θ做差,再经过激活函数f得到输出值y

名词解释:

阈值(threshold / bias):
表示神经元电位超过阈值则被激活

激活函数(activation function):
也称挤压函数响应函数,用于将输入值映射为0/1或(0,1)

训练目标:

通过训练模型,得出合适的w和 θ \theta θ,其中训练算法最常见的就是下面会说到的BP算法

在这里插入图片描述

激活函数

回顾第三章线性模型中的对数几率回归模型和单位阶跃函数

最理想状态是用单位阶跃函数输入值映射为0/1,但由于其不连续、不光滑的性质,
我们使用Sigmoid函数将输入值映射为(0,1),Sigmoid函数即型为S的函数,其中我们最常用的就是对数几率函数:
s i g m o i d ( x ) = 1 1 + e − x s i g m o i d ( x ) = \frac { 1 } { 1 + e ^ { - x } } sigmoid(x)=1+ex1
对率函数有很好的性质 f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) f ^ { \prime } ( x ) = f \left( x \right) ( 1 - f \left( x \right) ) f(x)=f(x)(1f(x))

万有逼近能力

名词概念:

仅需一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数

引入原因:

很多算法都具有万有逼近能力,不是神经网络所特有的,如决策树、支持向量机等等。
而之所以在神经网络中强调其万有逼近能力,是因为其数学公理方面的理论薄弱,为了证明其有效性而进行说明。

BP算法

误差逆传播(error BackPropagation,简称BP)算法,亦称反向传播算法

BP算法是一种迭代算法,基于梯度下降(gradient descent)策略,
数学推导过程不多做阐述,详见西瓜书or南瓜书

在这里插入图片描述

缓解过拟合

由于神经网络强大的表示能力,其经常容易过拟合,为此我们有以下两种策略

1.早停(early stopping)

将数据集分为训练集和验证集,若验证集得到的误差升高,则停止训练。

但是很显然神经网络的误差可能是细微的波动,但却造成了训练的停止,有点像决策树中的预剪枝,基于贪心的策略。

所以采用:

  • 若训练误差连续α轮的变化小于b,则停止训练使用验证集
  • 若训练误差降低、验证误差升高,则停止训练

2.正则化(regularization)

在误差目标函数中增加一项描述网络复杂度

E = λ 1 m ∑ k = 1 m E k + ( 1 − λ ) ∑ i w i 2 E = \lambda \frac { 1 } { m } \sum _ { k = 1 } ^ { m } E _ { k } + ( 1 - \lambda ) \sum _ { i } w _ { i } ^ { 2 } E=λm1k=1mEk+(1λ)iwi2

偏好比较小的连接权和阀值,使网络输出更“光滑”

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值