综述
面向的问题: 二分类问题
输入: 实例的特征向量,
x∈Rn
x
∈
R
n
输出: 实例的类别,
y={+1,−1}
y
=
{
+
1
,
−
1
}
目标: 求出将数据进行线性划分的分离超平面
方法: 损失函数 + 梯度下降
1. 感知机模型
f(x)=sign(w⋅x+b)
f
(
x
)
=
s
i
g
n
(
w
·
x
+
b
)
其中,
sign(x)={+1,−1,x≥0x<0
s
i
g
n
(
x
)
=
{
+
1
,
x≥0
−
1
,
x<0
假设空间: 所有的线性分类模型, 即函数集合
几何解释
w是超平面的法向量
2. 感知机学习策略
前提: 数据集要有线性可分性.
2.1 损失函数的定义
要求: 对w和b连续可导
任一点到超平面S的距离为:
1||w|||w⋅x0+b|
1
|
|
w
|
|
|
w
·
x
0
+
b
|
损失函数表达式: 误分类点到超平面S的总距离(可以不考虑||w||)
L(w,b)=−∑xi∈Myi(w⋅xi+b)
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
·
x
i
+
b
)
该函数就是感知机学习的经验风险函数. 感知机的学习策略就是在假设空间中选择能使损失函数最小的模型参数(w, b).
2.2 对损失函数使用随机梯度下降
具体做法: 任选一个超平面, 计算损失函数L(w,b), 然后极小化L, 注意这里的极小化操作不是使所有的误分类点梯度下降, 而是随机选取一个误分类点使其梯度下降.
损失函数的梯度为:
▽wL(w,b)=−∑xi∈Myixi
▽
w
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
x
i
▽bL(w,b)=−∑xi∈Myi
▽
b
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
随机选择一个误分类点对w和b进行更新:
w←w+ηyixi
w
←
w
+
η
y
i
x
i
b←b+ηyi
b
←
b
+
η
y
i
更新w和b的几何意义可以理解为让分离超平面向误分类点的方向移动, 减少二者之间的距离, 甚至让分离超平面”飘过”误分类点使其正确分类.
3. 感知机学习算法
3.1 原始形式
输入: 线性可分的训练数据集
T={(x1,y1),...,(xN,yN)}
T
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
N
,
y
N
)
}
和学习率η∈(0, 1)
输出: w, b; 感知机模型
f(x)=sign(w⋅x+b)
f
(
x
)
=
s
i
g
n
(
w
·
x
+
b
)
具体步骤:
(1) 随机选取初值
w0
w
0
和
b0
b
0
(2) 在训练集中选取数据
(xi,yi)
(
x
i
,
y
i
)
(3) 如果
yi(w⋅xi+b)≤0
y
i
(
w
·
x
i
+
b
)
≤
0
, 更新w和b:
w←w+ηyixi
w
←
w
+
η
y
i
x
i
b←b+ηyi
b
←
b
+
η
y
i
(4) 回到(2), 直到训练集中没有误分类点
3.2 收敛性
当训练数据集线性可分时, 感知机学习算法原始形式是收敛的, 但是可能存在很多解.
当训练数据集线性不可分时, 感知机学习算法不收敛, 迭代结果会发生震荡.
3.3 对偶形式
从w和b的更新方式(
w←w+ηyixi
w
←
w
+
η
y
i
x
i
,
b←b+ηyi
b
←
b
+
η
y
i
)中可以看到, 完全可以将w和b表示为实例
xi
x
i
和标记
yi
y
i
的线性组合.
w=∑j=iNαiyixi
w
=
∑
j
=
i
N
α
i
y
i
x
i
,
b=∑i=1Nαiyi
b
=
∑
i
=
1
N
α
i
y
i
, 其中
αi=niη
α
i
=
n
i
η
(
ni
n
i
指的是第i个实例点由于误分而进行更新的次数).
从而感知机模型可以表示为:
f(x)=sign(∑j=1Nαjyjxj⋅x+b)
f
(
x
)
=
s
i
g
n
(
∑
j
=
1
N
α
j
y
j
x
j
·
x
+
b
)
最后对损失函数进行随机梯度下降处理, 得到最优的α和b即可.
3.3.1 对偶形式的算法描述
输入: 线性可分的训练数据集
T={(x1,y1),...,(xN,yN)}
T
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
N
,
y
N
)
}
和学习率η∈(0, 1)
输出: α, b和感知机模型.
具体步骤:
(1) 令α=0, b=0
(2) 在训练集中选取数据
(xi,yi)
(
x
i
,
y
i
)
(3) 如果
yi(∑j=1Nαjyjxj⋅xi+b)≤0
y
i
(
∑
j
=
1
N
α
j
y
j
x
j
·
x
i
+
b
)
≤
0
, 更新
αi
α
i
和b:
αi←αi+η
α
i
←
α
i
+
η
b←b+ηyi
b
←
b
+
η
y
i
(4) 转至(2)直到没有误分类数据
3.3.2 对偶的形式的优势
方便计算: 在对偶形式中训练示例仅以内积的形式出现, 从而可以预先把训练集中所有示例间的内积计算出来存到Gram矩阵中. G=[xi⋅xj]N×N G = [ x i · x j ] N × N