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

版权声明:wang https://blog.csdn.net/m0_37846020/article/details/83961005

作者课堂笔记,需要请联系[email protected]

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 ) = f ( x ) ( 1 f ( x ) ) f`(x)=f(x)*(1-f(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}}
t a n h ( x ) = 2 s i g m o i d ( 2 x ) 1 tanh(x)=2sigmoid(2x)-1
称为双切正切函数,取值范围[-1,1],在特征相差明显的时候效果不错,迭代的过程中会不断扩大特征效果。与Sigmoid区别在于,其均值为0,实际应用也好过Sigmoid.

ReLu

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

实战练习

参考代码地址:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_37846020/article/details/83961005