感知机于1957年由Rosenblatt提出,是神经网络与支持向量机的基础。感知机二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值,该模型属于判别模型,旨在求出将训练数据进行线性划分的分离超平面。
1.模型:
假设数据集满足线性可分性,由输入空间到输出空间的决策函数如下:
w为权值(或权值向量),b为偏置,w·x表示w和x的内积,sign是符号函数,即:
1.向量内积(向量点乘、数量积):对两个向量的对应位置一一相乘求和的结果,点乘的结果是一个标量;
2.向量外积(向量叉乘、向量积):叉乘运算结果是向量,并且两个向量的外积与这两个向量组成的坐标平面垂直。
参考博文
矩阵三种乘法:参考博文
2.策略:
感知机的损失函数是所有误分类点到超平面S的总距离。
范数:衡量某个向量空间(或矩阵)中每个向量的长度或大小。
(1)L0范数:向量中非0元素个数;
(2)L1范数:向量各元素的绝对值之和;
(3)L2范数:向量各元素的平方和的开方值。参考博文
上述公式不是参数w和b的连续可导函数,经过推导得出感知机的损失函数如下:
其中M为误分类点的集合。
3.算法:
最优化方法是梯度下降法,感知机算法有两种形式:原始形式和对偶形式。
感知机学习算法存在多个解,这些解既依赖于初值的选择,也依赖于迭代过程中误分类点的选择顺序。
(1)原始形式
使用梯度下降法不断极小化目标函数,注意:极小化过程不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
(2)对偶形式
对偶形式中训练实例仅以内积的形式出现,故将训练集中实例间的内积计算出来并以矩阵形式存储,这个矩阵即为Gram矩阵:
SVM待更。。。