神经网络算法原理及编程实现
Author:shoupt,Johnson·smith
一:神经网络算法概述:
ANN(Artificial Neural Network)算法是一种模拟动物神经网络行为特征的算法。
这种算法是由大量简单的神经元(或神经节点,计算单元)构成的非线性系统。它在一定程度上模拟了人脑神经系统的信息处理、存储和检索功能,它是对人脑神经网络的某种简化、抽象和模拟。
这种算法的特点是擅长从输入输出的数据中学习有用知识,而这个过程的进行可以不需要知道输入输出之间具体的联系关系,换句话说:这种算法是一种基于输入输出的自适应算法,不需要对问题做任何先验假设。
ANN算法常用的算法有BP(Back Propagation)网络的误差反向回传。
二:神经网络原理:
2.1 生物神经网络原理
首先,在上图中我们看到了神经元的组成部分。而神经元的工作形式是这样的:
由神经末梢或突触接收信息,通过轴突传到树突,再由树突传至下一个神经元的神经末梢。而一般说来,人类大脑有大约1000亿个神经元,即便一只果蝇也拥有超过10万个神经元。这些神经元组成一个复杂的神经网络来支持生物体做简单或复杂的任务。那么可以知道,神经网络的运行就是信息由一个神经元传至另一个神经元,而神经元间信息的传递组成了复杂的神经网络对复杂任务的处理能力。
然而神经元的工作方式不只是简单的线性输入与输出关系。科学家们观测得到这样的信息:神经元对于信息的接收不会立即响应,而是抑制输入,直到输入的信号强度达到一定程度时触发输出。它的作用是减少微弱的噪声信号传递,从而只传递有意识的明显信号。因此可以这样描述神经元的工作方式:
输入信号->阈值处理->输出信号
然而我们知道一个神经元不仅仅只接收单一信号,而是从神经末梢接收多个信号,对多个信号进行某种方式的汇总,然后进行一个阈值的处理,然后得到最终的信号输出。因此神经元的工作方式更正为:
输入信号->某种汇总->阈值处理->输出信号