机器学习笔记一——感知机

一、感知机模型

感知机是二分类线性分类模型。感知机对应于输入空间(即特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。

定义
假设输入空间是 X ⊆ R n \mathcal{X}\subseteq\bm R^n XRn,输出空间是 Y = { + 1 , − 1 } \mathcal{Y}=\{+1, -1\} Y={+1,1}。输入 x ∈ X x\in\mathcal{X} xX表示实例的特征向量,输出 y ∈ Y y\in\mathcal Y yY,由输入空间到输出空间的如下函数 f ( x ) = s i g n ( ω ⋅ x + b ) (1) f(x)=sign(\omega\cdot x + b)\tag1 f(x)=sign(ωx+b)(1)
称为感知机。其中 ω ∈ R n \omega\in\bm R^n ωRn叫做权值或权值向量, b ∈ R b\in\bm R bR叫做偏置, ω ⋅ x \omega\cdot x ωx表示内积。

感知机模型的假设空间是定义在特征空间中的所有线性分类模型,即函数集合 { f ∣ f ( x ) = ω ⋅ x + b } \{f|f(x)=\omega\cdot x + b\} {ff(x)=ωx+b}

几何解释
ω ⋅ x + b = 0 \omega\cdot x + b=0 ωx+b=0对应于特征空间 R n \bm R^n Rn中的一个超平面 S S S,其中 ω \omega ω是超平面的法向量, b b b是超平面的截距,这个超平面将特征空间划分为两个部分,从而达到分类的效果。

二、感知机学习策略

2.1 数据集的线性可分性

给定一个数据集 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 = R n , y i ∈ { + 1 , − 1 } , i = 1 , 2 , ⋯   , N x_i\in\mathcal X=\bm R^n, y_i\in\{+1, -1\}, i=1,2,\cdots, N xiX=Rn,yi{+1,1},i=1,2,,N。如果存在某个超平面 S : ω ⋅ x + b = 0 S: \omega\cdot x + b=0 S:ωx+b=0,能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即对所有 y i = + 1 y_i=+1 yi=+1的实例,有 ω ⋅ x + b > 0 \omega\cdot x + b>0 ωx+b>0;对所有 y i = − 1 y_i=-1 yi=1的实例,有 ω ⋅ x + b < 0 \omega\cdot x + b<0 ωx+b<0,则称数据集 T T T线性可分,否则称线性不可分。

2.2 感知机学习策略

假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正负实例点完全正确分开的分离超平面,即确定参数 ω \omega ω b b b,即定义损失函数并将损失函数极小化。

可选择损失函数为误分类点到超平面 S S S的总距离(如果选误分类点的总数,那么损失函数不是参数 ω \omega ω b b b的连续可导函数,不易优化)。

对于误分类的点的集合为 M M M,有数据点 ( x i , y i ) ∈ M (x_i, y_i)\in M (xi,yi)M,那么 − y i ( ω ⋅ x i + b ) > 0 -y_i(\omega\cdot x_i + b)>0 yi(ωxi+b)>0总成立,所以数据点 ( x i , y i ) (x_i, y_i) (xi,yi)到超平面的距离为 − 1 ∣ ∣ ω ∣ ∣ y i ( ω ⋅ x i + b ) -\frac{1}{||\omega||}y_i(\omega\cdot x_i + b) ω1yi(ωxi+b),从而有所有误分类点到超平面的总距离为 − 1 ∣ ∣ ω ∣ ∣ ∑ x i ∈ M y i ( ω ⋅ x i + b ) (2) -\frac{1}{||\omega||}\sum_{x_i\in M}y_i(\omega\cdot x_i + b)\tag2 ω1xiMyi(ωxi+b)(2)
所以损失函数可以定义为 L ( ω , b ) = − ∑ x i ∈ M y i ( ω ⋅ x i + b ) (3) L(\omega, b)=-\sum_{x_i\in M}y_i(\omega\cdot x_i + b)\tag3 L(ω,b)=xiMyi(ωxi+b)(3)

三、感知机学习算法

3.1 原始形式

( 3 ) (3) (3)式给出了感知机的损失函数,可采用随机梯度下降法进行求解参数。经计算可知: ▽ ω L ( ω , b ) = − ∑ x i ∈ M y i x i (4) \bigtriangledown_{\omega}L(\omega, b)=-\sum_{x_i\in M}y_ix_i\tag4 ωL(ω,b)=xiMyixi(4)
▽ b L ( ω , b ) = − ∑ x i ∈ M y i (5) \bigtriangledown_{b}L(\omega, b)=-\sum_{x_i\in M}y_i\tag5 bL(ω,b)=xiMyi(5)
所以有如下算法:

  1. 选取初值 ω 0 , b 0 \omega_0, b_0 ω0,b0
  2. 在训练数据集中随机选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
  3. 如果 ( x i , y i ) (x_i, y_i) (xi,yi)为误分类点,即 y i ( ω ⋅ x i + b ) ≤ 0 y_i(\omega\cdot x_i+b)\le0 yi(ωxi+b)0,那么 ω ⟵ ω + η y i x i (6) \omega\longleftarrow\omega+\eta y_ix_i\tag6 ωω+ηyixi(6) b ⟵ b + η y i (7) b\longleftarrow b+\eta y_i\tag7 bb+ηyi(7)
  4. 转至 2 2 2,直至训练集中没有误分类点

直观上的解释就是:当一个实例点被误分类,即位于超平面的错误一侧时,调整 ω \omega ω b b b的值,从而调整超平面的位置,以减少误差分类点与超平面间的距离。

3.2 算法的收敛性

对于线性可分数据集,感知机学习算法原始形式收敛,即经过有限次的迭代可以得到一个将训练数据集完全正确划分的分离超平面。但感知机学习算法存在许多解,这些解即依赖于初值的选择,也依赖于误分类点的选择顺序。

3.3 对偶形式

如何理解感知机学习算法的对偶形式?
基本思想是将 ω \omega ω b b b表示成实例 x i x_i xi和标记 y i y_i yi的线性组合的形式,通过求解其系数而求得 ω \omega ω b b b

由原始形式可知,对误分类点 ( x i , y i ) (x_i, y_i) (xi,yi),通过 ω ⟵ ω + η y i x i \omega\longleftarrow\omega+\eta y_ix_i ωω+ηyixi b ⟵ b + η y i b\longleftarrow b+\eta y_i bb+ηyi逐步修改 ω \omega ω b b b,设修改了 n i n_i ni次,则 ω \omega ω b b b关于 ( x i , y i ) (x_i, y_i) (xi,yi)的增量分别是 α i y i x i \alpha_iy_ix_i αiyixi α i y i \alpha_iy_i αiyi,其中 α i = n i η \alpha_i=n_i\eta αi=niη。这样,最后 ω = ∑ j = 1 N α j y j x j (8) \omega=\sum\limits_{j=1}^N\alpha_jy_jx_j\tag8 ω=j=1Nαjyjxj(8) b = ∑ j = 1 N α j y j (9) b=\sum\limits_{j=1}^N\alpha_jy_j\tag9 b=j=1Nαjyj(9)

  1. 选取初值 α i = 0 , b = 0 , i = 1 , 2 ⋯   , N \alpha_i=0, b=0, i=1,2\cdots, N αi=0,b=0,i=1,2,N
  2. 在训练数据集中随机选取数据 ( x i , y i ) (x_i, y_i) (xi,yi)
  3. 如果 ( x i , y i ) (x_i, y_i) (xi,yi)为误分类点,即 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ≤ 0 y_i(\sum\limits_{j=1}^N\alpha_jy_jx_j\cdot x_i+b)\le0 yi(j=1Nαjyjxjxi+b)0,那么 α i ⟵ α i + η (10) \alpha_i\longleftarrow\alpha_i+\eta\tag{10} αiαi+η(10) b ⟵ b + η y i (11) b\longleftarrow b+\eta y_i\tag{11} bb+ηyi(11)
  4. 转至 2 2 2,直至训练集中没有误分类点

与原始形式一样,对偶形式也是收敛的,而且存在多个解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值