2.1 感知机模型
感知机是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别(取+1或-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。
由输入空间到输出空间的如下函数
f
(
x
)
=
s
i
g
n
(
w
⋅
x
+
b
)
f(x) = sign(w \cdot x + b)
f(x)=sign(w⋅x+b)
称为感知机。
其中 w w w 和 b b b 是模型的参数, w ∈ R n w \in R^n w∈Rn称为权值(weight),或权值向量(weight vector),b称为偏置(bias), w ⋅ x w \cdot x w⋅x表示为 w w w和 x x x的内积
sign是符号函数,即
s
i
g
n
(
x
)
=
{
+
1
,
x
>
=
0
−
1
,
x
<
0
sign(x)= \begin{cases} +1, x>=0 \\ -1, x<0 \end{cases}
sign(x)={+1,x>=0−1,x<0
感知机是一种线性分类模型,属于判别模型。
超平面对应于线性方程
w
⋅
x
+
b
=
0
w \cdot x + b = 0
w⋅x+b=0
其中,
w
w
w是超平面
S
S
S的法向量,
b
b
b是超平面的截距。这个超平面将特征空间花费为两个部分,位于两部分的点,分别被分为正、负两类。因此,超平面
S
S
S称为分离超平面,如图1所示。
其实就是在学习参数 w w w和 b b b,确定了参数 w w w和 b b b,超平面也就确定了,那么以后来的数据,如果大于等于0就分类到+1,如果小于0就分类为 -1。
2.2 感知机学习策略
为了确定感知机模型参数 w , b w,b w,b ,需要确定一个学习策略,即定义(经验)损失函数并将损失函数极小化。
感知机所采用的损失函数是误分类点到超平面
S
S
S的总距离。为此,首先写出输入空间
R
n
R^n
Rn中任一点
x
0
x_0
x0到超平面的距离:
1
∥
w
∥
∣
w
⋅
x
0
+
b
∣
\frac{1}{\|w\|} |w \cdot x_0 + b|
∥w∥1∣w⋅x0+b∣
对于误分类的数据
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) 来说,
−
y
i
(
w
⋅
x
i
+
b
)
>
0
-y_i(w \cdot x_i + b) > 0
−yi(w⋅xi+b)>0
成立。因为当数据
y
i
y_i
yi为+1的时候,你误分类为-1,即
w
⋅
x
i
+
b
<
0
w \cdot x_i + b < 0
w⋅xi+b<0 ,所以满足
−
y
i
(
w
⋅
x
i
+
b
)
>
0
-y_i(w \cdot x_i + b) > 0
−yi(w⋅xi+b)>0,反之同理
因此可以把绝对值去掉,变成:
−
1
∥
w
∥
y
i
(
w
⋅
x
i
+
b
)
- \frac{1}{\|w\|} y_i(w \cdot x_i + b)
−∥w∥1yi(w⋅xi+b)
这样,假设超平面
S
S
S的误分类点集合为M,那么所有误分类点到超平面S的总距离为:
−
1
∥
w
∥
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
- \frac{1}{\|w\|} \sum_{x_i \in M} y_i(w \cdot x_i + b)
−∥w∥1xi∈M∑yi(w⋅xi+b)
不考虑
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1 ,就能得到感知机学习的损失函数。
所以,感知机学习的损失函数定义为
L
(
w
,
b
)
=
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
L(w,b) = \sum_{x_i \in M} y_i(w \cdot x_i + b)
L(w,b)=xi∈M∑yi(w⋅xi+b)
其中,M为误分类的点的集合,这个损失函数就是感知机学习的经验损失函数,感知机的学习的策略是极小化损失函数
min
w
,
b
L
(
w
,
b
)
=
min
w
,
b
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
\min_{w,b}L(w,b) =\min_{w,b} \sum_{x_i \in M} y_i(w \cdot x_i + b)
w,bminL(w,b)=w,bminxi∈M∑yi(w⋅xi+b)