*一.最简单的神经网络Bp神经网络
1.什么是BP神经网络?
bp是 Back Propagation 的简写 ,意思是反向传播。而神经网络,其实就是一类相对复杂的计算网络。举个简单的例子来说明一下,什么是网络。
看这样一个问题,假如我手里有N个亿,我把它分别投给5个公司,分别占比 M1,M2,M3,M4,M5(M1到M5均为百分比 %)。而每个公司的回报率是不一样的,分别为 A1, A2, A3, A4, A5,(A1到A5也均为百分比 %)那么我的收益应该是N*M1*A1 + N*M2*A2+N*M3*A3+N*M4*A4+N*M5*A5 。我们也可以把它转化成一个网络模型来进行说明。如下图:
N1到N5表示每个公司获得的钱,R表示最终的收益。R = NM1A1 + NM2A2+NM3A3+NM4A4+NM5A5 。可以把 N 作为输入层 ,R作为输出层,N1到N5则整体作为隐藏层,共三层。而M1到M5则可以理解为输入层到隐藏层的权重,A1到A5为隐藏层到输出层的权重。
这里提到了四个重要的概念 输入层(input) , 隐藏层 (hidden),输出层(output)和权重(weight) 。而所有的网络都可以理解为由这三层和各层之间的权重组成的网络,只是隐藏层的层数和节点数会多很多。
输入层:信息的输入端,上图中 输入层 只有 1 个节点(一个圈圈),实际的网络中可能有很多个
隐藏层:信息的处理端,用于模拟一个计算的过程,上图中,隐藏层只有一层,节点数为 5 个。
输出层:信息的输出端,也就是我们要的结果,上图中,R 就是输出层的唯一一个节点,实际上可能有很多个输出节点。
权重:连接每层信息之间的参数,上图中只是通过乘机的方式来体现。
在上面的网络中,计算过程比较直接,用每一层的数值乘以对应的权重。这一过程中,权重是恒定的,设定好的,因此,是将 输入层N 的 信息 ,单向传播到 输出层R 的过程,并没有反向传播信息,因此它不是神经网络,只是一个普通的网络。
而神经网络是一个信息可以反向传播的网络,而最早的Bp网络就是这一思想的体现。