5 神经网络

5.1神经元模型

神经网络方面的研究很早就出现,

  • 今天“神经网络”是一个相当大、多学科交又的学科领域.
  • 各学科对神经网络的定义多样,本书用目前使用得最广泛的一种,
    • 即“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,
    • 它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”
    • [ Kohonen,1988,
  • 机器学习中谈论神经网络时指的是
    • “神经网络学习“
    • 是机器学习与神经网络两学科领域的交叉

神经网络中最基本的是神经元(neuron)模型,

  • 即上述定义中的“简单单元”,
  • 生物神经网络中,每个神经元与其他相连,
    • 当它“兴奋”时就会向相连的神经元送化学物质,
    • 从而改变这些神经元内的电位;
  • 若某神经元的电位超过一个threshold,它就被**,即“兴奋起来,
    • 向其他神经元发送化学物质

43年, 【Mcculloch and Pitts,43】

  • 将上述情形抽象为图5.1
    • 沿用至今的“M-P神经元模型”.
  • 神经元接收到来自n个输入,
    • 通过带权重的连接进行传递,
    • 神经元接收到的总输入值将与神经元的阈值比较
    • 通过activation function产生输出
      5 神经网络

理想的**是图5.2(a)

  • 将输入值映射为“0”或“1”,“1”对应于神经元兴奋,“0”对应于神经元抑制.
    • 不连续、不光滑等不太好的性质,
    • 因此常用Sigmoid作为**.
  • Sigmoid如图5.2(b),
    • 把大范围挤压到(0,1)
    • 也称squashing function

5 神经网络

把多个这样的神经元

  • 按一定的层次结构
  • 连接起来,
  • 就得到了神经网络

CS角度看,先不考虑神经网络是否真的模拟了生物神经网络,

  • 只需将一个神经网络
    • 视为包含许多参数的数学模型,
    • 这个模型是若干个函数,
    • 例如为yj=f(iwixiθj)y_j=f(\sum_iw_ix_i\theta_j)相互(嵌套)代入而得.
  • 有效的神经网络学习算法大多以数学证明为支撑

10个神经元两两连接,

  • 100个参数:
    • 90个连接权
    • 10个bias

5.2感知机与多层网络

  • Perceptron由两层神经元组成,如图5.3
  • 输入层接收外界输入后传递给输出
  • 输出层是M-P神经元,
    • 亦称threshold logic unit

感知机易实现与、或、非

5 神经网络

  • yj=f(iwixiθj)y_j=f(\sum_iw_ix_i\theta_j)
  • ff是图5.2中的阶跃函数
    此处省略点与或非的求法

给定训练集,wi(i=1,2,..,n)w_i(i=1,2,..,n)θ\theta可通过学习得到

  • θ\theta可看作一个固定输入为-1.0的dummy node
    • 对应权重wn+1w_{n+1}
  • so权重和阈值的学习就统一为权重学习
  • 感知机学习规则简单
  • 对样本(x,y)(\pmb{x},y)
    • 当前感知机的输出为y^\hat{y},则这样调整
      wiwi+Δwi(5.1)w_i\leftarrow w_i+\Delta w_i\tag{5.1}
      Δwi=θ(yy^)xi(5.2)\Delta w_i=\theta(y-\hat{y})x_i\tag{5.2}
  • θ(0,1)\theta\in (0,1)称learning rate
  • 若感知机对训练样例(x,y)(\pmb{x},y)预测对
    • y^=y\hat{y}=y,则感知机不变
    • 否则根据错误程度进行权重调整

注意

  • 感知机只有输出层神经元进行**处理,即只拥有一层功能神经元( functional neuron),其学习能力非常有限,
  • 与、或、非都linearly separable,
  • 【Minsky and Papert,1969】
    • 若两类模式是线性可分,
      • 即存在一个线性超平面能将它们分开,
    • 如图5.4(a)©
    • 则学习过程一定会收敛
      • 而求得适当的权w=(w1,w2,...,wn+1)w=(w_1,w_2,...,w_{n+1})
    • 否则学习过程发生fluctuation
    • ww难以稳定,不能求得合适解
    • 感知机不能解决图5.4(d)
      5 神经网络

5 神经网络
5 神经网络

要解决非线性可分,

  • 需用多层,
  • 如图5.5中,这个两层感知机就能解决异或
  • 图5.5(a)中,输出层与输入层之间的一层神经元,
    • 称hidden layer,
  • 隐含层和
    • 输出层神经元
    • 都是有**函数的功能神经元

5 神经网络

常见的神经网络形如图5.6的层级结构

  • 每层神经元与
    • 下层神经元全互连,
    • 无同层连接,
    • 无跨层连接.
  • 这样的神经网络结构称multi-layer feedforward neural networks
  • 输入层神经元
    • 接收输入
    • 隐层与输出层对信号加工
    • 最终结果由输出层神经元输出
  • 输入层仅接受输入,不处理,
    • 隐层与输出层含功能神经元.
  • 图5.6(a)称“两层网络”,为免歧义,本书称“单隐层络”.
    • 只需含隐层,即可称多层网络.
  • 神经网络的学习过程
    • 根据训练数据来调整神经元之间的( connection weight)
    • 及每个功能神经元的阈值
      5 神经网络

5.3 误差逆传擂算法