感知机
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1跟-1二值。感知机的学习旨在求出将训练数据进行线性划分的分离超平面
1. 感知机的定义:由输入空间到输入空间的如下函数:
f(x)=sign(w⋅x+b)
f
(
x
)
=
s
i
g
n
(
w
⋅
x
+
b
)
其中,
w
w
和 为感知机模型参数,
w
w
叫做权值或权值向量, 叫做偏置。
感知机解释如下:线性方程
w⋅x+b=0
w
⋅
x
+
b
=
0
对应于特征空间中的一个超平面
S
S
,其中 是超平面的法向量,
b
b
是超平面的截距(超平面这个概念不太理解,怎样从方程的形式可以看出对应的几何面是平面),超平面可以将特征向量划分为正负两类,因此,超平面又被称为分离超平面。
2. 学习策略:
1) 数据集的线性可分性:给定一个数据集,存在一个超平面能够将数据集的正负实例点完全正确的划分到超平面的两侧
2) 感知机学习策略:定义损失函数使得损失函数极小化,显然,将损失函数选择为误分类点到超平面的总距离,是比较合适的。
首先写出输入空间中任一点 到超平面的距离:
1∥w∥|w⋅x0+b|
1
‖
w
‖
|
w
⋅
x
0
+
b
|
其中
∥w∥
‖
w
‖
是w的L2范数。推导过程请参考他人 博客http://blog.csdn.net/amyaguang/article/details/46043885
误分类点到超平面的距离是:
−1∥w∥yi(w⋅x0+b)
−
1
‖
w
‖
y
i
(
w
⋅
x
0
+
b
)
所有的误分类点到超平面的总距离为:
−1∥w∥∑xi∈Myi(w⋅x0+b)
−
1
‖
w
‖
∑
x
i
∈
M
y
i
(
w
⋅
x
0
+
b
)
所以,可以把感知机学习的损失函数定义为:
L(w,b)=−∑xi∈Myi(w⋅x0+b)
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
⋅
x
0
+
b
)