未经许可请勿转载
更多数据分析内容参看这里
今天我们来学习人工智能的底层模型——神经网络(NEURAL NETWORKS),现在比较热门的一个模型是深度学习,深度学习的基础也是神经网络,要学好深度学习,神经网络不了解基本是不可能的。
一、神经网络概述
首先我们来看一下生物的神经构造,因为神经网络就是从生物的神经构造得到的灵感。在生物的神经构造中,下图中圆形的是细胞本体(细胞核),神经网络中称之为神经元,人具有
数学家在看过生物的神经构造后,就想通过数学模型来模仿。下图是一个非常有名的神经网络,一般人们谈到神经网络指的就是它,全称是Backpropagation(BP) Neural Networks,翻译过来就是倒传递神经网络,也有的人称之为多层感知机(Multi-Layer Perceptrons)。在BP神经网络中,神经元被分为三个层次,有输入层,隐藏层以及输出层。输入层的神经元负责接收外来的输入和刺激,它是用于数据收集用。输出层又称决策层,它的每个神经元在做一个决策,如果有五个决策就需要五个输出层神经元。中间的隐藏层神经元负责增加计算能力,当问题比较复杂时,需要隐藏层的辅助使得问题解决比较顺利,当然隐藏层的神经元不能过多,否则会造成记忆效应,即会把所有训练数据的输入和结果记录下来,以致于输入训练集中的一笔数据进入时它的答案会十分正确(类似背书),但是遇到没有见过的数据时就表现很差,也就是存在overfitting(过度拟合)问题。
在上图中,输入层会跟隐藏层的所有神经元做连接,连接的部分就称之为神经键。隐藏层会跟输出层的所有神经元做连接,但是跨层之间是不会连接的,这就是BP神经网络的一个构造。如此前所述,这边展示的是一层的隐藏层,但是隐藏层也可以多层,虽然隐藏层不能过多避免出现记忆效应,但是隐藏层也不能过少甚至没有,否则计算能力不足,预测结果也会不如预期。
上图是一个多层隐藏层,隐藏层的节点个数不必一样多,也不需要同输入层一样