机器学习理论 | 周志华西瓜书 第五章:神经网络

第五章 神经网络

此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…


5.1 神经元模型

  • 基本概念
    神经元(neuron)模型是神经网络最基本的成分
    阈值(threshold),亦称bias
  • M-P神经元模型
    • 图解在这里插入图片描述
    • 激活函数(activation function)
      • 理想中的激活函数:阶跃函数
        s g n ( x ) = { 1 , x ≥ 0 0 , x < 0 sgn(x)=\begin{cases}1, x≥0\\0, x<0\end{cases} sgn(x)={1,x00,x<0
        将输入映射为输出值"0"或"1"
      • 典型的激活函数:Sigmoid函数(挤压函数 squashing function)
        s i g m o i d ( x ) = 1 1 + e − x sigmoid(x)=\frac{1}{1+e^{-x}} sigmoid(x)=1+ex1
        将可能在激活范围内变化的输入值挤压到(0,1)输出值范围内
        在这里插入图片描述

5.2 感知机与多层网络

  • 感知机(Perceptron):由两层神经元组成
    输入层:接收信号后传递给输出层
    输出层:M-P神经元(阈值逻辑神经元)
    感知机能容易地实现逻辑与、或、非运算

    两个输入神经元的感知机网络结构示意图:在这里插入图片描述

  • 哑结点(dummy node)

    • 统一权重和阈值的学习为权重的学习(把阈值看作固定值-1,0的哑结点所对应的连接权重)
    • 感知机学习规则
      对训练样例(x,y),当前感知机的输出
      感知机权重调整规则:
      { w i ← w i + Δ w i Δ w i = η ( y − y ^ ) x i \begin{cases}w_i\leftarrow w_i+\Delta w_i\\ \Delta w_i=\eta (y-\hat{y})x_i\end{cases} {wiwi+ΔwiΔwi=η(yy^)xi
    • 学习率(learning rate)
      过大:容易振荡
      过小:收敛速度过慢
  • 单层功能神经元网络

    • 对线性可分(linearly separable)问题的学习过程一定会收敛(converge)
    • 对线性不可分的问题的学习过程难以收敛,将会发生振荡(fluctuation)
      在这里插入图片描述
  • 多层功能神经元网络

    • 隐含层(hidden layer)
      与输出神经元都是拥有激活函数的功能神经元在这里插入图片描述
    • 多层前馈神经网络(multi-layer feedforwaard neural networks)
      单隐层前馈网络双隐层前馈网络

5.3 误差逆传播算法

  • 误差逆传播算法(BP: error BackPropagation)

    • 图解
      需要确定的参数:(d+r+1)*q+r
      { 权 值 { 输 入 层 到 隐 层 : d × q 隐 层 到 输 出 层 : q × l 阈 值 { q 个 隐 层 神 经 元 l 个 输 出 层 神 经 元 \begin{cases} 权值\begin{cases}输入层到隐层:d×q\\ 隐层到输出层:q×l\end{cases}\\ 阈值\begin{cases}q个隐层神经元\\l个输出层神经元\end{cases}\\ \end{cases} {d×qq×l{ql
      策略:梯度下降(gradient descent)
    • 算法过程
      在这里插入图片描述
  • 积累误差逆传播算法(accumlated error backpropagation) 对比

    • 标准BP算法
      每次更新只针对单个样例
      参数更新得非常频繁
      对不同样例进行更新的效果可能出现“抵消”现象
      往往需进行更多次数的迭代
      在训练集非常大时标准BP往往更快获得较好的解
    • 积累BP算法
      直接针对累积误差最小化
      参数更新的评率低得多
      在读取整个训练集D一遍后才对参数进行更新
  • 试错法(trial-byerror)
    证明:只需两个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数
    解决如何设置隐层神经元的个数问题

  • 过拟合防止策略

    • 早停(early stopping)
      训练集:计算梯度、更新连接权和阈值
      验证集:估计误差
      若训练集误差降低但验证集误差升高,则停止
    • 正则化(regularization)
      基本思想:在误差目标函数中增加一个用于描述网络复杂度的部分(如连接权与阈值的平方和)
      加入正则项的误差目标函数(BP算法最小化训练集D积累误差):
      E = 1 m ∑ k = 1 m E k ⇒ ( 正 则 化 ) ⇒ E = λ 1 m ∑ k = 1 m E k + ( 1 − λ ) ∑ i w i 2 E=\frac1 m \sum_{k=1}^mE_k\Rightarrow(正则化)\Rightarrow E=\lambda \frac1 m\sum_{k=1}^mE_k+(1-\lambda )\sum_iw_i^2 E=m1k=1mEk()E=λm1k=1mEk+(1λ)iwi2

5.4 全局最小与局部最小

  • 最为广泛的参数寻优方法:基于梯度的搜索
    负梯度方向:函数值下降最快的方向
    梯度下降法:沿着负梯度方向搜索最优解
    若误差函数在当前点的梯度为零,则已达到局部极小,更新量降为零,参数的迭代更新在此停止
  • 试图跳出局部极小策略
    以多组不同参数值初始化多个神经网络
    模拟退火(simulated annealing)
    随机梯度下降(stochasitc gradient descent)
    遗传算法(genetic algorithms)

5.5 其他常见神经网络

5.6 深度学习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值