感知机:
感知机是1957年,由Rosenblatt提出,是神经网络和支持向量机的基础。这里我们来学习感知机的模型,感知机的算法这两个方面。
【1】感知机模型:
感知机学习的目标是求得一个能够将训练数据集正实例点和负实例点完全正确分开的分离超平面。
感知机从输入空间到输出空间的模型如下:
f(x)=sign(w⋅x+b)
这里w*x是内积,将超平面的点分为正负两类。如果wx+b>0则输出1,wx+b<=0输出0
我们就两个输入的感知机为例:
感知机的输入信号都有各自固定的权重(w),这些权重发挥着各个信号的重要性的作用 。权重越大,对应权重的信号的重要性就越高。
感知机的损失函数:
我们首先定义对于样本(xi,yi),如果w⋅xi+b||w||>0则记yi=+1,如果w⋅xi+b||w||<0则记yi=−1。
这样取y的值有一个好处,就是方便定义损失函数。因为正确分类的样本满足yi(w⋅xi+b)||w||>0,而错误分类的样本满足yi(w⋅xi+b)||w||<0。我们损失函数的优化目标,就是期望使误分类的所有样本,到超平面的距离之和最小。
所以损失函数定义如
感知机学习算法:
感知机学习算法是对损失函数进行极小化。求得合适的w,b。我们采用的方法是随机梯度下降(SGD).目标函数如下:
(1)原始形式算法:
(2)对偶形式算法
训练过程:
线性可分
线性不可分