人工神经网络(Artificial Neural Network,ANN)是一种非常经典的算法,具有适合并行运算、可分布存储、稳健性高、能逼近复杂的非线性关系等优点。OpenCV实现的多层感知器(MultilayerPerceptron,MLP)。多层感知器又称为多隐层前馈神经网络。多层感知器是众多神经网络模型的一种,它在文本识别等解决方案中名列前茅。如果网络足够大,则多层感知器可以表示任意的数学函数,这种特性被称为万能逼近特性(Universal Approximation Property)。
一、神经网络原理
神经网络是由大量神经元(Neurons)高度互联而成的网络,是对人脑的抽象、简化和模拟。可以把神经网络看作一个可表示复杂模型的非线性函数。
多层感知器通常用来解决监督学习问题,前面章节介绍了许多经典的监督学习算法,与它们相比,神经网络有哪些优势呢?添加特征向量的交互项作为新的特征,是在样本特征之间注入复杂关系的好方法,这样就可以使用简单的学习算法(如Logistic回归算法)学习非线性分类器。
当我们处理的数据是图像时,例如,要判断在50像素×50像素的彩色图像中是否有汽车,该图像的RGB值扁平化后为50×50×3=7500维的列向量。如果尝试添加所有二次项特征来学习非线性分类器,则最终将得到几百万维的特征。这比