定义
感知机模型
感知机是一种属于判别模型的线性分类模型。形如:
f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b) f(x)=sign(wx+b)
其中
s i g n ( x ) = { 1 x>=0 − 1 x<0 sign(x)= \begin{cases} 1& \text{x>=0}\\ -1& \text{x<0} \end{cases} sign(x)={
1−1x>=0x<0
感知机的几何意义实际上是找到一个超平面将两类样本分开,应用的前提是样本本身是线性可分的。
感知机学习策略
损失函数:所有误分类的点到超平面的距离之和:
− 1 ∣ ∣ w ∣ ∣ ∑ x i , y i ∈ T y i ( w x i + b ) -\frac{1}{||w||}\sum_{x_i,y_i \in T} {y_i(wx_i+b)} −∣∣w∣∣1xi,yi∈T∑yi(wxi+b)
不考虑 − 1 ∣ ∣ w ∣ ∣ -\frac{1}{||w||} −∣∣w∣∣1,就得到了感知机的损失函数:
L ( w , b ) = − ∑ x i , y i ∈ T y i ( w x i + b ) L(w,b)=-\sum_{x_i,y_i \in T} {y_i(wx_i+b)} L(w,b)=−xi,yi∈T∑yi(wxi+b)
备注:点面的距离公式,不了解的同学请自行百度。
感知机的算法
感知机的算法一般是随机梯度下降
感知机算法伪代码
输入:数据集T{
( x i , y i ) {(x_i,y_i)} (xi,yi)}其中 x i ∈ R , y i ∈ { 1 , − 1 } x_i \in R,y_i \in \{1,-1\} xi∈R,yi∈{
1,−1};学习率 η ∈ ( 0 , 1 ] \eta \in (0,1] η∈(0,1]
输出: w , b w,b w,b;感知机模型 f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b) f(x)=sign(wx+b)
(1)选取初值 w 0 , b 0 w_0,b_0 w