文章目录
第二章 感知机
感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别
2.1感知机模型
假设输入空间(特征空间)是 x ∈ R n , 输出空间是 y = { − 1 , 1 } f ( x ) = s i g n ( w ∗ x + b ) w ∈ R n 称之为权值或权值向量, b ∈ R 叫做偏置。 s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 假设输入空间(特征空间)是x\in{R^n},输出空间是y=\{-1,1\}\\f(x)=sign(w*x + b)\\ w\in{R^n}称之为权值或权值向量,b\in{R}叫做偏置。\\ sign(x)= \begin{cases} +1, & \text{x}\ge\text{0} \\ -1, & \text{x}<\text{0} \end{cases} 假设输入空间(特征空间)是x∈Rn,输出空间是y={−1,1}f(x)=sign(w∗x+b)w∈Rn称之为权值或权值向量,b∈R叫做偏置。sign(x)={+1,−1,x≥0x<0
2.2感知机学习策略
2.2.1数据集的可分性
给定一个数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) … ( x N , Y N ) } w ∗ x + b = 0 能将数据集的正实例点和负实例点完全划分到超平面的两侧。 即对 y i = + 1 的实例 i , 有 w ∗ x i + b > 0 , 对所有的 y i = − 1 的实例有 w ∗ x i + b < 0 给定一个数据集T=\{(x_1,y_1),(x_2,y_2)\ldots(x_N,Y_N)\}\\w*x+b=0\\ 能将数据集的正实例点和负实例点完全划分到超平面的两侧。\\即对y_i=+1的实例i,有w*x_i+b >0,对所有的y_i=-1的实例有w*x_i+b<0 给定一个数据集T={(x1,y1),(x2,y2)…(xN,YN)}w∗x+b=0能将数据集的正实例点和负实例点完全划分到超平面的两侧。即对yi=+1的实例i,有w∗xi+b>0,对所有的yi=−1的实例有w∗xi+b<0
2.2.2感知机的学习策略
感知机的损失函数, L ( w , b ) = − ∑ x i ∈ M y i ( w ∗ x i + b ) 感知机的损失函数,L(w,b)=-\sum_{x_i\in M}{y_i(w*x_i +b)} 感知机的损失函数,L(w,b)=−xi∈M∑yi(w∗xi+b)
2.3感知机学习算法
2.3.1 感知机学习算法的原始形式
输入:训练数据集
T
=
{
(
X
1
,
Y
1
)
…
}
其中
y
i
∈
y
=
{
−
1
,
+
1
}
,
i
=
1
、
2
…
N
;
学习率
η
(
0
<
η
≤
1
)
T=\{(X_1,Y_1)\ldots\}其中y_i\in y=\{-1,+1\},i=1、2\ldots N; 学习率\eta(0<\eta\le1)\qquad
T={(X1,Y1)…}其中yi∈y={−1,+1},i=1、2…N;学习率η(0<η≤1)
输出:w,b;感知机模型f(x)=sign(w*x + b)
- 选取初值 w 0 , b 0 w_0,b_0 w0,b0
- 在训练集中选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
- 如果 y i ( w ∗ x i + b ) ≤ 0 y_i(w*x_i + b)\le 0 yi(w∗xi+b)≤0
w ← w + η y i x i b ← b + η y i w \leftarrow w+\eta y_ix_i\\ b \leftarrow b+\eta y_i \qquad w←w+ηyixib←b+ηyi4. 转至2,直到训练集中没有误分类点
2.3.2算法的收敛性
输入:训练数据集 T = { ( X 1 , Y 1 ) … } 其中 y i ∈ y = { − 1 , + 1 } , i = 1 、 2 … N ; T=\{(X_1,Y_1)\ldots\}其中y_i\in y=\{-1,+1\},i=1、2\ldots N; T={(X1,Y1)…}其中yi∈y={−1,+1},i=1、2…N;
- 存在满足条件 ∣ ∣ w ^ o p t ∣ ∣ = 1 的超平面 w ^ o p t ∗ x ^ = w o p t ∗ x + b o p t = 0 ||\hat w_{opt}||=1的超平面 \hat w_{opt} * \hat x = w_{opt}* x + b_{opt}=0 ∣∣w^opt∣∣=1的超平面w^opt∗x^=wopt∗x+bopt=0将训练数据集完全分开;且存在 γ > 0 , 对所有的 i = 1 , 2 , … N \gamma>0,对所有的i=1,2,\ldots N γ>0,对所有的i=1,2,…N
y i ( w ^ o p t ∗ x ^ i ) = y i ( w o p t ∗ x i + b o p t ) ≥ γ y_{i}(\hat w_{opt}* \hat x_i)=y_i(w_{opt}*x_{i} + b_{opt})\ge \gamma yi(w^opt∗x^i)=yi(wopt∗xi+bopt)≥γ
- 令 R = m a x 1 ≤ i ≤ N ∣ ∣ x ^ i ∣ ∣ 令R=\underset {1\le i \le N}{max}||\hat x_i|| 令R=1≤i≤Nmax∣∣x^i∣∣,则感知机在 f ( x ) = s i g n ( w × x + b ) f(x)=sign(w \times x +b) f(x)=sign(w×x+b)在训练集上误分类次数k满足不等式
k ≤ ( R γ ) 2 k\le (\frac{R}{\gamma})^2 k≤(γR)2
2.3.3 感知机学习算法的对偶形式
w,b关于 ( x i , y i ) (x_i, y_i) (xi,yi)的增量分别为 α i y i x i 和 α i y i \alpha_iy_ix_i和\alpha_iy_i αiyixi和αiyi
w = ∑ i = 1 N α i y i x i b = ∑ i = 1 N α i y i w=\sum_{i=1}^{N}\alpha_iy_ix_i \\b=\sum_{i=1}^{N}\alpha_iy_i w=i=1∑Nαiyixib=i=1∑Nαiyi
输入:线性可分的数据集 T = { ( X 1 , Y 1 ) … } 其中 y i ∈ y = { − 1 , + 1 } , i = 1 、 2 … N ; 学习率 η ( 0 < η ≤ 1 ) T=\{(X_1,Y_1)\ldots\}其中y_i\in y=\{-1,+1\},i=1、2\ldots N; 学习率\eta(0<\eta\le1) T={(X1,Y1)…}其中yi∈y={−1,+1},i=1、2…N;学习率η(0<η≤1)
输出: α , \alpha, α,b;感知机模型 f ( x ) = s i g n ( ∑ j = 1 N α i y i x i × x + b ) f(x)=sign\biggl( \sum_{j=1}^{N} \alpha_iy_ix_i \times x+b\biggl) f(x)=sign(∑j=1Nαiyixi×x+b),其中 α = ( α 1 , α 1 , … α N ) T \alpha = (\alpha_1, \alpha_1, \ldots \alpha_N )^T α=(α1,α1,…αN)T
- α ← 0 , b ← 0 \alpha \leftarrow 0, b \leftarrow0 α←0,b←0
- 在训练集中选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
- 如果 y i ( ∑ j = 1 N α i y i x i × x + b ) ≤ 0 y_i\biggl( \sum_{j=1}^{N} \alpha_iy_ix_i \times x+b\biggl)\le0 yi(∑j=1Nαiyixi×x+b)≤0
α i ← α i + η b ← b + η y i \alpha_i \leftarrow \alpha_i + \eta\\ b \leftarrow b+ \eta y_i αi←αi+ηb←b+ηyi
- 转至2 直至没得误分类的数据
Gram矩阵:训练集的内积计算出来以矩阵的形式存储 G = ∣ x i × x j ∣ N × N G = |x_i\times x_j|_{N\times N} G=∣xi×xj∣N×N