感知机算法

1 目标
感知机算法针对二分类问题

f(X):X{1,+1}(1)

实质在于对于线性可分的数据集
(xi0,xi1,...,xin;yi)=(Xi;Yi),i=0,1,2,...,m(2)

找到一个超平面ωx+b=0 将数据分成两部分,使得位于位于超平面上半部分的数据点属于+1 类,处于超平面下半空间的数据点属于1 类。

2 优化模型

确定学习策略 —-定义(经验)损失函数将其最小化

分析:
(1) 由于我们的目标是找到一个超平面将数据完分开,标签为+1 的样本都处于超平面的上半空间,标签为-1 的样本都处于超平面下半空间,自然想到目标损失函数迫使误分类的数据点数降到0,表示成数学形式如下:

L(x;ω,b)=i=1NI[sign(ωx+b)yi](3)

但是这个损失函数L 不是参数ω,b 的连续可导函数,不易求解,因此不能采用这样的函数。
(2)损失函数另一种取法是误分类点到超平面的距离,则可写作

L(x;ω,b)=xiM|ωxi+b|||ω||(4)

式中M 是误分点的集合。若M= ,则L=0 ,否则L>0
为了便于求解(4)式,需要对其进行等效处理。首先要处理掉| |ωxi+b 表示的是点xi 到超平面的相对距离;

(Xi,+1)(ωxi+b>0)(Xi,1)(ωxi+b<0)}yi(ωxi+b)>0(5)

这是数据点xi 被超平面分类正确的情况。相反,数据点被超平面错分时:

(Xi,1)(ωxi+b>0)(Xi,+1)(ωxi+b<0)}yi(ωxi+b)<0(6)

则当样本被错分时,有yi(ωx+b)>0 ,因此,(4) 式被等效地变为

L(x;ω,b)=1||ω||xiMyi(ωxi+b)(7)

学习模型就是将损失函数最小化,即

minω,bL(x;ω,b)=minω,b1||ω||xiMyi(ωxi+b)(8)

3 优化模型求解

上面已经将损失函数造好,下面就需要求解,不过求解之前对(8)式仍需做简单的处理,项1||ω|| 不影响问题的最优解,而优化参数又处于分母,所以将其去掉,(8)式重新写作

minω,bxiMyi(ωxi+b)(9)

这是典型的多元函数求极值问题,用最速下降法即可高效求解。具体地,每一步使得参数ω^=(ω,b) 沿着其在损失函数的负梯度方向调整,即可快速求得最优解。

未完待续….

reference:

统计学习方法\李航

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章