第二章--感知机---(2)

1.模型简介

  • 感知机是根据输入实例的特征向量 x x x对其进行二类分类的线性分类模型
  • 算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。
  • 算法简单且易于实现。原始形式中,首先任意选取一个超平面,然后用梯度下降法不断极小化目标函数。在这个过程中一次随机选取一个误分类点使其梯度下降。
  • 感知机学习算法是误分类驱动,采用随机梯度下降。
  • 当训练数据集线性可分时,感知机学习算法是收敛的。且在训练数据集上的误分类次数 k ≤ ( R γ ) 2 , k \leq (\frac{R}{\gamma})^2, k(γR)2,其中 R = R= R=max ∣ ∣ x i ^ ∣ ∣ , γ ≤ y i ( w o p t ⋅ x + b o p t ) ||\hat{x_i}||,\gamma\leq y_i(w_{opt} \cdot x+b_{opt}) xi^,γyi(woptx+bopt)
  • 当训练数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能有所不同。
  • 当训练集线性不可分时,算法不收敛,迭代结果发生震荡

2.假设函数

f ( x ) = sign ⁡ ( w ⋅ x + b ) f(x)=\operatorname{sign}(w \cdot x+b) f(x)=sign(wx+b)其中, w , b 是 感 知 机 参 数 , w ⋅ x 是 w 和 x 的 内 积 , s i g n 是 符 号 函 数 : 当 x ≥ 0 时 为 1 , 反 之 为 0 w,b是感知机参数,w \cdot x是w和x的内积,sign是符号函数:当x\geq 0时为1,反之为0 w,bwxwxsignx010

3.损失函数

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)=xiMyi(wxi+b)

4.算法的原始形式

输入:训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … … , ( x m , y m ) } , x ∈ R n , y i ∈ { − 1 , + 1 } , 学 习 率 : η ( 1 &lt; η ≤ 1 ) T=\lbrace(x_1,y_1),(x_2,y_2),……,(x_m,y_m)\rbrace,x\in R^n,y_i \in \lbrace -1,+1\rbrace,学习率:\eta(1&lt;\eta \leq 1) T={(x1,y1),(x2,y2),,(xm,ym)},xRn,yi{1,+1},:η(1<η1)
输出:感知机参数 w , b 和 感 知 机 模 型 f ( x ) = sign ⁡ ( w ⋅ x + b ) w,b和感知机模型f(x)=\operatorname{sign}(w \cdot x+b) w,bf(x)=sign(wx+b)
实施过程:
\qquad (1) 选择初值 w 0 , b 0 w_0,b_0 w0,b0
\qquad (2) 在训练集选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
\qquad (3) 如果 y i ( w ⋅ x i + b ) ≤ 0 , 更 新 w 和 b : y_i(w \cdot x_i+b)\leq0,更新w和b: yi(wxi+b)0,wb w : = w + η y i x i , b : = b + η y i w:=w+\eta y_i x_i,\qquad b:=b+\eta y_i w:=w+ηyixi,b:=b+ηyi \qquad (4) 回到(2),直至训练集没有误分类点

5.算法的对偶形式

输入:训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … … , ( x m , y m ) } , x ∈ R n , y i ∈ { − 1 , + 1 } , 学 习 率 : η ( 1 &lt; η ≤ 1 ) T=\lbrace(x_1,y_1),(x_2,y_2),……,(x_m,y_m)\rbrace,x\in R^n,y_i \in \lbrace -1,+1\rbrace,学习率:\eta(1&lt;\eta \leq 1) T={(x1,y1),(x2,y2),,(xm,ym)},xRn,yi{1,+1},:η(1<η1)
输出:参数 α , b \alpha,b α,b和感知机模型 f ( x ) = sign ⁡ ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=\operatorname{sign}(\sum_{j=1}^{N}\alpha_jy_jx_j \cdot x+b) f(x)=sign(j=1Nαjyjxjx+b),其中 α = ( α 1 , α 1 , … … , α m ) T \alpha=(\alpha_1,\alpha_1,……,\alpha_m)^T α=(α1,α1,,αm)T
实施过程:
\qquad (1) 初始化 α \alpha α b b b趋于 0 0 0
\qquad (2) 在训练集选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
\qquad (3) 如果 y i ( ∑ j = 1 N α j y j x j ⋅ x + b ) ≤ 0 y_i(\sum_{j=1}^{N}\alpha_jy_jx_j \cdot x+b)\leq0 yi(j=1Nαjyjxjx+b)0,更新 α i 和 b : \alpha_i和b: αib α i : = α i + η , b : = b + η y i \alpha_i:=\alpha_i+\eta,\qquad b:=b+\eta y_i αi:=αi+η,b:=b+ηyi \qquad (4) 回到(2),直至训练集没有误分类点
注意:对偶形式中训练实例以内积的形式出现,为了方便,可预先计算训练集实例之间的Gram矩阵, G = [ x i ⋅ x j ] m × m G=[x_i \cdot x_j]_{m\times m} G=[xixj]m×m
Gram矩阵计算举例:
如样本点为 ( x 1 , y 1 ) = ( ( 3 , 3 ) T , 1 ) , ( x 2 , y 2 ) = ( ( 4 , 3 ) T , 1 ) , ( x 3 , y 3 ) = ( ( 1 , 1 ) T , 0 ) (x_1,y_1)=((3,3)^T,1),(x_2,y_2)=((4,3)^T,1),(x_3,y_3)=((1,1)^T,0) (x1,y1)=((3,3)T,1),(x2,y2)=((4,3)T,1),(x3,y3)=((1,1)T,0),则Gram矩阵为: G = ( 3 3 4 3 1 1 ) × ( 3 4 1 3 3 1 ) = ( 18 21 6 21 25 7 6 7 2 ) G= \begin{pmatrix}3&amp; 3 \\4&amp;3 \\ 1&amp;1\\\end{pmatrix}\times\begin{pmatrix}3&amp; 4&amp;1 \\3&amp;3&amp;1\\\end{pmatrix}=\begin{pmatrix}18&amp; 21 &amp; 6 \\21 &amp;25&amp; 7 \\ 6&amp;7&amp;2\\\end{pmatrix} G=341331×(334311)=1821621257672

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值