感知机的简单数学推导

介绍

感知机是简单的线性二分类机器,是支持向量机和神经网络的基础,其输入空间是实例的特征向量,输出空间为 { − 1 , + 1 } \lbrace-1,+1\rbrace {1,+1},作为监督学习的分类工具,它的学习目标是通过数据找到一个超平面可以把数据分成两类,超平面的形式为: w ∗ x + b ∗ = 0 w^*x+b^*=0 wx+b=0,分类函数为: f ( x ) = s i g n ( w ∗ x + b ∗ ) f(x)=sign(w^*x+b^*) f(x)=sign(wx+b)
s i g n ( x ) = { 1 , x ≥ 0 — 1 , x < 0   sign(x)= \begin{cases} 1, & \text {$x\geq0$} \\ —1, & \text{$x<0$ } \end{cases} sign(x)={1,1,x0x<

数学推导

假设有数据集 T = { ( x 1 , y i ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } T=\lbrace(x_1,y_i),(x_2,y_2),...,(x_n,y_n)\rbrace T={(x1,yi),(x2,y2),...,(xn,yn)},其中 x i x_i xi代表第 i i i个实例的特征向量, y i y_i yi代表类别,一般有 y i ∈ { − 1 , + 1 } y_i\in\lbrace-1,+1\rbrace yi{1,+1}。假设点 ( x j , y j ) (x_j,y_j) (xj,yj)被错误分类,比如 y j = 1 y_j=1 yj=1时,如果 w x j + b < 0 wx_j+b<0 wxj+b<0就出现分类错误,总上分类错误的点满足不等式:
− y j ( w x j + b ) > 0 -y_j(wx_j+b)>0 yj(wxj+b)>0
同时该点到超平面的距离为:
− 1 ∣ ∣ w ∣ ∣ y j ( w x j + b ) -\frac{1}{||w||}y_j(wx_j+b) w1yj(wxj+b)
设分类错误的集合为M,错误结合中所有点到超平面的距离之和为:
L = − 1 ∣ ∣ w ∣ ∣ ∑ x j ∈ M y j ( w x j + b ) L=-\frac{1}{||w||}\sum_{x_j\in M}y_j(wx_j+b) L=w1xjMyj(wxj+b)
定义函数L为损失函数,而且 ∣ ∣ w ∣ ∣ ||w|| w是一个对所有分类错误点都一样,在损失函数中不再讨论。求损失函数最小化就代表分类错误点越少,学习效果越好,求最优化的过程中采用梯度下降法。首先任选一个超平面 ( w 0 , b 0 ) (w_0,b_0) w0,b0,然后采用梯度下降法不断极小化损失函数,在极小化过程中是一次随机任选一个误分类点进行优化。
d L d w = − ∑ x j ∈ M y j x j \frac{dL}{dw}=-\sum_{x_j\in M}y_jx_j dwdL=xjMyjxj
d L d b = − ∑ x j ∈ M y j \frac{dL}{db}=-\sum_{x_j\in M}y_j dbdL=xjMyj
随机选取一个误分类点 ( x j , y j ) (x_j,y_j) (xj,yj) ( w , b ) (w,b) (w,b)进行优化, η \eta η代表学习率。
w ⟵ w + x j y j w\longleftarrow w+x_jy_j ww+xjyj
b ⟵ b + y j b\longleftarrow b+y_j bb+yj
通过迭代使得损失函数不断减小,直到没有误分类点。

你可能感兴趣的:(感知机的简单数学推导)