第二章 感知机(perceptron)
2.1
感知机模型
-
定义2.1:感知机模型
-
输入空间: X ⊆ R n \mathcal{X} \subseteq R^n X⊆Rn
-
输出空间: Y = { + 1 , − 1 } \mathcal{Y} = \{+1,-1\} Y={ +1,−1}
-
输入特征向量: x ∈ X \mathcal{x} \in \mathcal{X} x∈X
- 实例的特征向量
-
输出值: y ∈ Y \mathcal{y} \in \mathcal{Y} y∈Y
- 实例类别
-
输入空间 -> 输出空间:
f ( x ) = s i g n ( w ∗ x + b ) (2.1) f(x) = sign(\mathcal{w} \mathcal{*} \mathcal{x}+b) \tag{2.1} f(x)=sign(w∗x+b)(2.1)其中(2.1):
-
w ∈ R n \mathcal{w} \in R^n w∈Rn为权值(weight)
-
b ∈ R \mathcal{b} \in R b∈R为偏置(bias)
-
sign为符号函数:
s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 (2.2) sign(x) = \begin{cases} +1,x≥0\\ -1,x<0 \end{cases}\tag{2.2} sign(x)={ +1,x≥0−1,x<0(2.2)
-
-
-
感知机是一种线性分类模型,属于判别模型。
- 其原理近似于二维平面内的一次线性规划问题( l : y = k x + b l : y = kx+b l:y=kx+b ) 。
- 映射到空间中,直线 l 映射为超平面 S ,直线斜率 k \mathcal{k} k 映射为超平面的法向量 w \mathcal{w} w ,直线截距 b \mathcal{b} b 映射为超平面截距 b \mathcal{b} b 。
- 这个超平面将特征空间分为两部分,具有同一属性的不同特征的样本集合(特征空间)被分为两个部分。因此,超平面S也称为分离超平面。
-
注意:
- 在平面上的一次线性分类中,可被直线分为两部分的点集中的任意一点( x n , y n x_n,y_n xn,yn)均满足:
y n > k ∗ x n + b ∣ ∣ y n < k ∗ x n + b y_n > k * x_n + b || y_n < k*x_n + b yn>k∗xn+b∣∣yn<k∗xn+b
而在感知机公式中,我们设
y n = s i g n ( p n ) y_n = sign(p_n) yn=sign(pn)不考虑分类结果到分类标识的转化(sign),其满足的条件为:
p n > 0 ∣ ∣ p n < 0 p_n > 0 || p_n < 0 pn>0∣∣pn<0
即:
w ∗ x + b > 0 ∣ ∣ w ∗ x + b < 0 \mathcal{w} * x + b > 0 || \mathcal{w} * x + b < 0 w∗x+b>0∣∣w∗x+b<0
如果将其简单的与线性规划作对比,我们不难发现,他们之间还是存在一些差别的:为什么感知机的判断标准是与 0 比较呢?难道所有的点在二维平面上的函数值都为 0 么?又该如何解释并统一这种差别呢?
- 个人认为,平面上的直线完成的简单线性划分的判断标准不是0而是其他整数,是因为其空间的特征向量是经过旋转的,我们用固定的x轴和y轴来度量所有点的分类;而当上升到超平面与n维特征空间时,我们的度量标准就仅以我们当前的分类方式产生的特征向量为标准。
- 更进一步,我们也可以由此出发,将平面上的线性规划问题转化为与感知机相类似的形式:只需将平面旋转至x轴正向与分类直线的法向量平行,再将坐标系平移至x轴与分类直线重合(或者将平面上所有点都投影到一条与分类直线垂直的直线上),即可得到相同结果(不便插图,请读者自行尝试)。此时的“x轴”即为分类直线,“y轴”即为点的特征取值范围,与分类直线垂直。
- 再回到感知机的公式中,对于 n 维特征空间 N 和 n-1维超平面 α ,我们不便理解旋转这一概念。可以变通一下,将空间 N 中的所有点投影到一个与超平面 α 正交的超平面 β 上,类比上一点的方案2,即可得到共性。
- 在平面上的一次线性分类中,可被直线分为两部分的点集中的任意一点( x n , y n x_n,y_n xn,yn)均满足:
2.2
感知机学习策略
2.2.1 数据集的线性可分性:
- 定义2.2:数据集的线性可分性:
- 对于数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T = \{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={ (x1,y1),(x2,y2),⋯,(xN,yN)}
其中 x i ∈ X , y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , . . . , N x_i \in \mathcal{X},y_i \in\mathcal{Y} = \{+1,-1\},i = 1,2,...,N x
- 对于数据集