数据学习(4)·神经网络(上)

作者课堂笔记,需要请联系humminwang@163.com

Preview:

  • 常见的激活函数
  • 万能准则
  • 反向传播(BackPropagation)

M-P神经元模型:(名字来源是一个叫McCulloch和Pitts大佬提出的)
M-P神经网络


1 常见的激活函数

Sigmoid

sigmoid
f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1
f ‘ ( x ) = f ( x ) ∗ ( 1 − f ( x ) ) f`(x)=f(x)*(1-f(x)) f(x)=f(x)(1f(x))

缺点:
  • 计算量大
  • 容易出现梯度消失的现象
  • 收敛缓慢

Tanh

在这里插入图片描述
f ( x ) = t a n h ( x ) = e x − e − x e x + e − x f(x)=tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=tanh(x)=ex+exexex
t a n h ( x ) = 2 s i g m o i d ( 2 x ) − 1 tanh(x)=2sigmoid(2x)-1 tanh(x)=2sigmoid(2x)1
称为双切正切函数,取值范围[-1,1],在特征相差明显的时候效果不错,迭代的过程中会不断扩大特征效果。与Sigmoid区别在于,其均值为0,实际应用也好过Sigmoid.

ReLu

在这里插入图片描述
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
用于隐层神经元输出。使用ReLu得到的随机梯度下降收敛速度比Sigmoid和tanh快很多。

缺点:

训练很容易失败。这时应该注意,lr不能选太大的值。否则所有的梯度可能会是0.

Leaky ReLu

在这里插入图片描述
f ( x ) = m a x ( 0 , x ) + l e a k × m i n ( 0 , x ) f(x)=max(0,x)+leak \times min(0,x) f(x)=max(0,x)+leak×min(0,x)
导数:
x &gt; 0 , f ‘ ( x ) = 1 x &lt; = 0 , f ‘ ( x ) = l e a k x&gt;0,f`(x)=1\quad x&lt;=0,f`(x)=leak x>0,f(x)=1x<=0,f(x)=leak
leak是一个很小的常数,这样保留了一些负轴的值,使得负轴的信息不会丢失。


2 万能近似准则

Universal approximation theorem(Hornik et al., 1989;Cybenko, 1989)定理表明:前馈神经网络,只需具备单层隐含层和有限个神经单元,就能以任意精度拟合任意复杂度的函数。

3 反向传播(BackPropagation)

前馈神经网络:每层神经元与下一层的神经元全互连,神经元之间不存在同层连接,同时也不存在跨层连接,这样的神经网络结构通常称为"多层前馈神经网络(multi-layer feedforward neural networks)".

算法描述:
  • 输入训练集 D = { ( x k , y k ) } ; D=\{(x_k,y_k)\}; D={(xk,yk)};学习率 η \eta η.
  • 过程:在(0,1)范围内随机初始化网络中所有连接权和阈值。
  • Repeat{
    for all ( x k , y k x_k,y_k xk,yk) ∈ D \in D D do
    根据当前的参数计算当前样本输出 y ^ k \hat y_k y^k;
    计算输出层神经元的梯度项 g j g_j gj;
    计算隐层神经元的梯度项 e h e_h eh;
    利用梯度下降更新权值;
    end for
    until 达到停止条件
    }
  • 输出:连接权与阈值确定的多层前馈神经网络。
    在这里插入图片描述
    在这里插入图片描述

实战练习

参考代码地址:https://github.com/Miraclemin/BP_sin
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值