1、感知机模型
定义:
假设输入空间是 X⊆Rn,输出空间是 y={+1,−1}.输入 x∈X 表示实例的特征向量,对应于输入空间的点;输出 y∈Y 表示实例的类别。由输入空间到输出空间的如下函数
f(x)=sign(w∙x+b)
称为感知机。其中,w和b是感知机模型参数,w∈Rn叫作权值,b∈R叫作偏置,w∙x表示w和x的内积。sign是符号函数
sign(x)={+1,−1,x⩾0x<0
感知机是二类分类的线性分类模型,属于判别模型。二类分类,所以取+1和-1二值;线性分类,所以存在超平面S将特征空间划分为两个部分,位于两部分的点(特征向量)分别为正、负两类。
2、感知机学习策略
感知机的策略是求误分类点到超平面S的总距离的最小值,因为感知机的数据集是线性可分的,所以也就是求误分类点到超平面S的总距离等于0的值。
点x0到超平面S的距离:
−1∥w∥|w∙x0+b|
其中∥w∥是L2范数(向量元数绝对值的平方和再开方)
该公式可由d=ax0+by0+ca2+b2‾‾‾‾‾‾‾‾√可推理得到。
我们已经知道感知机的策略是求误分类点到超平面S的总距离等于0的值,所以可以忽略1∥w∥,但不能忽略负号,因为损失函数是非负实值的函数。因此可以定义sign(w∙x+b)的损失函数为
L(w,b)=−∑xi∈Myi(w∙xi+b)
3、感知机算法的原始形式
1、算法
输入:训练数据集T={(x1,y1),(x2,y2),∙∙∙,(xn,yn)},其中xi∈X=Rn,yi∈Y={−1,+1},i=1,2,∙∙∙N;学习率 η(0<η⩽1);
输出:w,b;感知机模型f(x)=sign(w∙x+b)
(1)选取初值w0,b0,一般初值选w0=0,b0=0
(2)在训练集中选取数据(xi,yi)
(3)如果yi(w∙xi+b)⩽0
w←w+ηyixi
b←b+ηyi
(4)转至(2),直到训练集没有误分类点。
2、算法的收剑性
4、感知机算法的对偶形式
输入:训练数据集T={(x1,y1),(x2,y2),∙∙∙,(xn,yn)},其中xi∈X=Rn,yi∈Y={−1,+1},i=1,2,∙∙∙N;学习率 η(0<η⩽1);
输出:α,b;感知模型
f(x)=sign(∑j=1Nαjyjxj∙x+b)
.
其中
α=(α1,α2,∙∙∙,αN)T.
(1)
α←0,b←0 (2)在训练集中选取数据
(xi,yi) (3)如果
yi(∑j=1Nαjyjxj∙x+b)⩽0
则更新参数
αi←αi+η
b←b+ηyi
(4)转至(2),直到训练集没有误分类数据。