人工神经网络(Artificial Neural Network,即ANN ),是近些年来的研究热点。在模式识别、自动控制、生物、医学等领域成功解决了许多问题。今天所提到的感知机就是一种最简单形式的前馈神经网络。
感知机
感知机是由Frank Rosenblatt在1957年提出的,值得注意的是他的提出者是一位心理学家。感知机是第一个从算法上完整描述的神经网络。其在神经网络发展历史上占据着重要地位。感知机用于线性可分模型,是一种二元线性分类模型,线性可分意味着存在一个超平面可以把数据完全正确的划分至两边。
感知机的模型如下:
f(x) = sign (w*x+b)
其中sign为符号函数,w为权重,b为偏置。感知机的模型对应的即为超平面w*x+b=0,其中w是超平面的法向量,b是超平面的截距。感知机所需要做的就是找到一个超平面参数(w,b)使得能够线性可分的数据集中的所有样本点能够正确的被该超平面分为两类。
感知机需要做的是将目标正确分类,为了使之分类的正确率提高,我们需要找到那些分类错误的点。在感知机算法内,我们需要寻找一个损失函数,并使其最小化,从而得到正确的分类。最直观的是我们定义损失函数为错误分类的点的个数。但是由于这个函数不是关于w和b的连续可导函数,因此我们选取误分类的点到超平面的举例作为损失函数,其定义如下:
通过训练我们即可得到最优的参数w,b从而对线性可分数据进行正确分类。
看似简单的感知机是神经网络的雏形,也是支持向量机的基础,简单的原理却可以解决众多复杂的问题,但是其缺点也很突出,只能对线性可分的数据进行分类。
算法思路
我们的算法主要分为感知机和训练两部分。对于训练部分:
1、输入随机坐标;
2、放入感知机中,将得到结果与正确结果比对;
3、将结果的差值返回感知机,进行权重和偏差的修改。
对于感知机部分:
1、输入随机权重和偏差;
2、对权重的偏差进行修改;
3、输入激活函数得到最终结果。
问题
如何判断数据集中的数据分类正确与否?
领取专属 10元无门槛券
私享最新 技术干货