神经网络基础知识梳理

神经网络是什么

  1. 说明:
    我们在机器学习中谈论的神经网络是指“神经网络学习”,即机器学习与神经网络这两个学科领域的交叉部分。

  2. 生物学意义上神经网络的最基本成分是神经元,计算机科学中的神经网络的最基本成分是神经元模型

  3. 最广泛的一种定义是:
    神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应。
    这里的简单单元,指的就是神经元模型。
    对于后半句话,其实我们可以不考虑神经网络是否真的模拟了生物神经网络,只需将1个神经网络视为包含了许多参数的数学模型,这个模型是由若干个函数相互嵌套而得。

神经元模型

  1. 1943年,McCulloch and Pitts将生物神经网络中的神经元作用原理抽象成一直沿用至今的“M-P神经元模型”。
  2. 在这个模型中,神经元接收到n个来自其他神经元传递过来的输入信号,这些信号有不同的权重,接收到的总输入值会被与神经元的阈值(临界值)进行比较,在经过响应(又称激活)函数处理后产生输出。
  3. 理想的响应函数是阶跃函数,可以直接将输入值映射为0/1,但由于其具有不连续、不光滑的缺点,常常采用Sigmod函数作为阶跃函数,可以将较大范围的输入值映射到(0,1),故又称挤压函数。

神经网络的学习

  1. 学什么: 如上所述,神经网络是一个包含许多参数、由若干函数相互嵌套而得的数学模型。(例如10个神经元组成的网络,就包含了10个阈值和90个连接权重)一般情况下,给定训练数据集,权重和阈值通过学习来得到。
  2. 如何学: 如果阈值看作固定输入,那么只需针对权重学习。学习规则很简单,对训练样例,如果预测正确,则权重不发生改变;否则根据偏差大小对错误进行调整。

多层神经网络

  1. 让我们首先来认识一个基本的,不属于多层的神经网络——感知机。它是由两层神经元组成的,输入层和输出层。其中输入层负责接受外界的输入信号并传递给输出层,即不负责函数处理,输出层神经元属于M-P神经元,会进行激活函数处理。也就是说,感知机它只拥有一层功能神经元,这就使得它的学习能力十分有限。
  2. 怎么办呢?我们需要在输入层和输出层中间加入更多的功能神经元,这些中间层被称为隐藏层。只需包含隐层,就可称为多层神经网络。例如,单隐层神经网络共包含三层:输入,隐藏和输出。
  3. 神经网络多为层级结构,每层神经元与下一层神经元全互联,不存在同层l和跨层连接。这样的结构称为多层前馈神经网络。注意,前馈不意味着信号不能相候船,而是指网络拓扑结构上不存在环或回路。

深度学习

  1. 理论上来说,参数越多的模型复杂度越高,“容量”越大,这意味着它能完成更复杂的学习任务。但是呢,这也就意味着复杂模型训练起来更困难。而随着云计算、大数据时代的到来,计算能力的大幅提高极大地提升了训练的效率,训练数据的大幅增加则可降低过拟合风险。这使得以深度学习为代表的复杂模型开始受到人们关注。
  2. 典型的深度学习模型是很深层的神经网络。多隐层神经神经网络有一下两种有效的训练手段。
    ① 无监督逐层训练
    基本思想:“预训练+微调”。
    每次训练一层隐节点,训练时将上一层隐节点的输出作为输入,而本层隐节点的输出作为下一层隐节点的输入,这称为“预训练”。
    在预训练全部完后曾后,再对整个网络进行“微调”训练。
    应用:DBN 深度信念网络
    ②权共享
    基本思想:让一组神经元使用相同的连接权重。
    应用: CNN 卷积神经网络
  3. 理解深度学习的另一个角度。
    无论DBN还是CNN,其多隐层堆叠,每层对上一层的输出进行处理的机制,可看作是在对输入信号进行逐层加工,从而把初始的、与输出目标之间联系不太密切的输入表示,转化成与输出目标联系更密切的表示,使得原来仅基于最后一层输出映射难以完成的任务成为可能。
    换言之,通过多层处理,逐渐将初始的底层特征转化为高层特征表示后,用简单模型即可完成复杂的分类等学习任务。由此可以将深度学习理解为进行“特征学习”。

出处:周志华《机器学习》

猜你喜欢

转载自blog.csdn.net/weixin_44997802/article/details/108789883