感知机
属于二分类的线性判别模型,是神经网络与支持向量机的基础。
基本公式: f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b) f(x)=sign(wx+b)
样本类别标签为 y ∈ { + 1 , − 1 } y \in \{+1,-1\} y∈{ +1,−1}
损失函数:
若将误分类的总数作为损失函数,不是参数 w , b w,b w,b的连续可导函数,不易优化。误分类样本点到超平面的总距离 − 1 ∥ w ∥ ∑ x i ∈ M y i ( w x i + b ) -\frac{1}{\left\|w\right\|}\sum_{x_i\in M}y_i(wx_i+b) −∥w∥1∑xi∈Myi(wxi+b),不考虑 1 ∥ w ∥ \frac{1}{\left\|w\right\|} ∥w∥1, L ( w , b ) = − ∑ x i ∈ M y i ( w x i + b ) L(w,b)=-\sum_{x_i\in M}y_i(wx_i+b) L(w,b)=−∑xi∈Myi(wxi+b)便是感知机的损失函数,为 w , b w,b w,b的连续可导函数。对 w w w求导得 − ∑ x i ∈ M y i x i -\sum_{x_i \in M}y_ix_i −∑xi∈Myixi,对 b b b求导得 − ∑ x i ∈ M y i -\sum_{x_i \in M}y_i −∑xi∈Myi,故 w w w和 b b b的更新公式为 w ← w + η y i x i w \leftarrow w+\eta y_ix_i w←w+ηyixi, b ← b + η y i b \leftarrow b+\eta y_i b←b+ηyi,其中 ( x i , y i ) (x_i,y_i) (xi,yi)为错分样本,感知机每次随机选取错分样本,因此得到的超平面不唯一,初值选取不同,也会导致超平面不相同。
可证,感知机算法的收敛性:若样本线性可分,经过有限次迭代,可得到一个完全划分正确的超平面。
对偶形式:
对偶形式的基本想法为,由原始形式的 w w w和 b b b的更新公式,将 w w w和 b b b表示为实例 ( x i , y i ) (x_i,y_i) (xi,yi)的线性组合形式 w = ∑ i = 1 N α i y i x i , b = ∑ i = 1 N α i y i w=\sum_{i=1}^N\alpha_iy_ix_i,b=\sum_{i=1}^N\alpha_iy_i w=∑i=1Nαiyixi,b=∑i=1Nαiyi,其中 α i = n i η \alpha_i=n_i\eta αi=niη, n i n_i ni表示第 i i i个实例样本由于误分类而进行更新的次数。
对偶形式算法:输入:线性可分的数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={ (x1,y1),(x2,y2),⋯,(xN,yN)},其中 x i ∈ R n , y i ∈ { − 1 , + 1 } , i = 1 , 2 , ⋯ , N x_i\in R^n,y_i\in\{-1,+1\},i=1,2,\cdots,N xi∈Rn,yi∈{ −1,+1},i=1,2,⋯,N,学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta\le 1) η(0<η≤1);
输出: α , b \alpha,b α,b;感知机模型 f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=sign(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+b) f(x)=sign(∑j=1Nαjyjxj⋅x+b),其中 α = ( α 1 , α 2 , ⋯ , α N ) \alpha=(\alpha_1,\alpha_2,\cdots,\alpha_N) α=(α1,α2,⋯,αN)
(1) α ← 0 , b ← 0 \alpha \leftarrow0,b\leftarrow 0 α←0,b←0
(2)在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
(3)如果 y i ( ∑ j = 1 N α j y j x j ⋅ x + b ) ≤ 0 y_i(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+b)\le0