神经网络
定义
BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。
具体来说,对于如下的只含一个隐层的神经网络模型:BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。
BP神经网络流程
神经网络的基本组成单元是神经元。神经元的通用模型如图所示,其中常用的激活函数有阈值函数、sigmoid函数和双曲正切函数。
神经元的输出为:
神经网络是将多个神经元按一定规则联结在一起而形成的网络,
从图 可以看出,一个神经网络包括输入层、隐含层(中间层)和输出层。输入层神经元个数与输入数据的维数相同,输出层神经元个数与需要拟合的数据个数相同,隐含层神经元个数与层数就需要设计者自己根据一些规则和目标来设定。在深度学习出现之前,隐含层的层数通常为一层,即通常使用的神经网络是3层网络。
感知机
感知机的原理
感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,分别取+1+1和−1−1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。
感知机只适合于线性可分的数据,所以它是一个线性模型。假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。如果是非线性可分的数据,则最后无法获得超平面。
距离公式
1.1.1 点到线的距离
公式中的直线方程为Ax+By+C=0,点P的坐标为( x 0 , y 0 x_0,y_0 x0,y0)。
d = ( A x 0 + B y 0 + C ) / A 2 + B 2 d=(Ax_0+By_0+C)/\sqrt{A^2+B^2} d=(Ax0+By0+C)/A2