第二章 感知机
在学习一个模型的时候应该问:
- 模型的适用条件
- 要解决什么问题
- 对应统计学习方法的三个要素,假设空间,策略,算法
感知机要解决的问题是二分类问题,假设是数据是可分的。
2.1 感知机模型
符号说明:
输入空间:
X
⊆
R
n
X \subseteq R^{n}
X⊆Rn
输入变量:
x
∈
X
x \in X
x∈X
输出空间:
Y
=
{
+
1
,
−
1
}
Y=\{+1,-1\}
Y={+1,−1}
输出变量:
y
∈
{
+
1
,
−
1
}
y \in\{+1,-1\}
y∈{+1,−1}
假设空间:
f
(
x
)
=
sign
(
w
⋅
x
+
b
)
f(x)=\operatorname{sign}(w \cdot x+b)
f(x)=sign(w⋅x+b)
其中sign是符号函数
2.2 感知机的学习策略
损失函数:
误分类点到超平面的距离:
L
(
w
,
b
)
=
−
∑
x
i
∈
M
y
i
(
w
⋅
x
i
+
b
)
L(w, b)=-\sum_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right)
L(w,b)=−xi∈M∑yi(w⋅xi+b)
其中M是误分类点的集合。
2.4 感知机学习算法
2.4.1 随机梯度下降:
输入:
训练数据集
T
=
[
(
x
1
,
y
1
)
,
…
,
(
x
N
,
y
N
)
)
T=\left[\left(x_{1}, y_{1}\right), \dots,\left(x_{N}, y_{N}\right)\right)
T=[(x1,y1),…,(xN,yN))
学习率
η
\eta
η
- 选取初值 w 0 , b 0 w_{0}, b_{0} w0,b0
- 在训练集中选取数据 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi)
- 如果
y
i
(
w
⋅
x
i
+
b
)
≤
0
y_{i}\left(w \cdot x_{i}+b\right) \leq 0
yi(w⋅xi+b)≤0
w : = w + η y i x i w:=w+\eta y_{i} x_{i} w:=w+ηyixi
b : = b + η y i b:=b+\eta y_{i} b:=b+ηyi - 转至2,直到训练集中没有误分类的点
输出w,b
2.4.2 感知机模型的对偶形式
感知机模型的对偶形式
f
(
χ
)
=
sign
(
∑
j
=
1
N
α
j
y
j
x
j
⋅
x
+
b
)
α
=
(
α
1
,
⋯
α
N
)
T
\begin{array}{c} f(\chi)=\operatorname{sign}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right) \\ \alpha=\left(\alpha_{1}, \cdots \alpha_{N}\right)^{T} \end{array}
f(χ)=sign(∑j=1Nαjyjxj⋅x+b)α=(α1,⋯αN)T
算法:
输入:
训练数据集
T
=
[
(
x
1
,
y
1
)
,
…
,
(
x
N
,
y
N
)
)
T=\left[\left(x_{1}, y_{1}\right), \dots,\left(x_{N}, y_{N}\right)\right)
T=[(x1,y1),…,(xN,yN))
学习率
η
\eta
η
1.初值
α
:
=
0
,
b
:
=
0
\alpha:=0, b:=0
α:=0,b:=0
2.在训练集中选取数据
(
x
i
,
y
i
)
\left(x_{i}, y_{i}\right)
(xi,yi)
3.如果
y
i
(
∑
j
=
1
N
α
j
y
j
x
j
⋅
x
+
b
)
≤
0
y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x+b\right) \leq 0
yi(∑j=1Nαjyjxj⋅x+b)≤0
α
i
:
=
α
i
+
η
\alpha_{i}:=\alpha_{i}+\eta
αi:=αi+η
b
:
=
b
+
η
y
i
b:=b+\eta y_{i}
b:=b+ηyi
4. 转至2,直到训练集中没有误分类的点
输出w,b
对于随机梯度下降来说,对偶形式更新参数要少。
习题
2.1 Minsky与Papert指出:感知机因为是线性模型,所以不能表示复杂的函数,如异或(XOR)。验证感知机为什么不能表示异或。
首先看一下异或:
简单理解,如果两个数a和b进行异或操作。如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。