本文是笔者在学习Machine Learning: A Bayesian and Optimization Perspective, 2nd Edition第18章内容时所记的笔记,主要对感知器模型进行了探讨,也一并对以往学习中所遇到的模型进行了简单的归纳和总结,适于机器学习和深度学习的初学者,鉴于本人也仍处于入门阶段,欢迎大家留言探讨~
文中出现的所有图片均为个人原创,使用geogebra绘制
感知器模型(the perceptron)
文章目录
- 感知器模型(the perceptron)
* - 1、代价函数(cost function)
- 2、代价函数的性质
- 备注1:多种模型的代价函数对比
- 3、感知器算法(perceptron algorithm)
- 备注2:多种模型的算法归纳
- 4、感知器算法的原理
- 5、感知器算法的几何解释
- 对不同条件下感知器算法几何解释的总结
- 参考资料
1、代价函数(cost function)
在每个样本的特征向量x n x_{n}x n 末尾添加一个常数1分量,把线性分类器写成θ T x \theta^{T}x θT x的形式,如果令当前错分的样本集合为Y \mathcal{Y}Y,那么感知器的cost function是:
J ( θ ) = − ∑ n : x n ∈ Y y n θ T x n = − ( ∑ n : x n ∈ Y y n x n T ) θ J(\theta) = -\sum_{n:x_{n} \in \mathcal{Y}}y_{n}\theta^{T}x_{n} = -\left(\sum_{n:x_{n} \in \mathcal{Y}}y_{n}x_{n}^{T}\right)\theta J (θ)=−n :x n ∈Y ∑y n θT x n =−(n :x n ∈Y ∑y n x n T )θ
在二分类中,可以简单使用y n θ T x n y_{n}\theta^{T}x_{n}y n θT x n 的符号来判别样本( y n , x n ) (y_{n}, x_{n})(y n ,x n ) 是否分类正确(y n ∈ { 1 , − 1 } y_{n}\in{1,-1}y n ∈{1 ,−1 }),即如果y n θ T x n > 0 y_{n}\theta^{T}x_{n}>0 y n θT x n >0,那么分类正确,如果y n θ T x n < 0 y_{n}\theta^{T}x_{n},那么分类错误
2、代价函数的性质
perceptron cost总是非负,因为它只考虑被错分类的样本,而错分类的样本y n θ T x n < 0 y_{n}\theta^{T}x_{n},如果y n θ T x n = 0 y_{n}\theta^{T}x_{n}=0 y n θT x n =0,那么说明这个样本刚好在hyperplane(decision boundary)上,它同样被归类为分类错误(这只是为了讨论方便而下的定义,并不绝对),只有当Y = ∅ \mathcal{Y} = \emptyset Y =∅,即J ( θ ) = 0 J(\theta) = 0 J (θ)=0时才能得到一个符合要求的解
要注意,J ( θ ) J(\theta)J (θ) 是一个分段线性的连续函数,在有些点上不可导,θ \theta θ的选取直接关系到每个x n x_{n}x n 是否属于Y \mathcal{Y}Y,因此,不能使用传统的gradient descent方法来最小化cost function(但J ( θ ) J(\theta)J (θ)确实是凸函数,能够应用基于subgradient的方法)
按照代价函数在第二个等号后的写法,J ( θ ) J(\theta)J (θ)确实可以被视作有关θ \theta θ的线性函数,但每当θ \theta θ变化时,训练集中的点与hyperplane的相对位置也变化了,所以集合Y \mathcal{Y}Y也会变化,此时J ( θ ) J(\theta)J (θ)也变为了另一个关于θ \theta θ的线性函数
备注1:多种模型的代价函数对比
remark:有许多分类模型的二分类情况都可以使用y n θ T x n y_{n}\theta^{T}x_{n}y n θT x n 的符号来判别是否分类正确,并且,它们的cost function都与y n θ T x n y_{n}\theta^{T}x_{n}y n θT x n 有关,可以被写为以y n θ T x n y_{n}\theta^{T}x_{n}y n θT x n 为自变量的函数,考察这些模型中单个样本( y n , x n ) (y_{n}, x_{n})(y n ,x n )对cost function的贡献,归纳于下表:
ModelLoss of a single
( y n , x n ) (y_{n}, x_{n})(y n ,x n )
pair
ERM1 { y n θ T x n < 0 } 1{y_{n}\theta^{T}x_{n} logistic regressionlog ( 1 + exp ( − y n θ T x n ) ) \log(1+\exp(-y_{n}\theta^{T}x_{n}))lo g (1 +exp (−y n θT x n )) perceptronmax { 0 , − y n θ T x n } \max{0,-y_{n}\theta^{T}x_{n}}max {0 ,−y n θT x n } soft margin SVMmax { 0 , 1 − y n θ T x n } \max{0,1-y_{n}\theta^{T}x_{n}}max {0 ,1 −y n θT x n }
1 { ⋅ } 1{\cdot}1 {⋅}是indicator,如果括号内的逻辑表达式为真,那么函数值为1,否则为0
logistic regression有概率意义上的解释,即整个训练实际上是MLE(maximum likelihood estimation),但可以把likelihood取负号,并把它视作cost function;依据上表中的结果, 从某种意义上说,logistic regression、perceptron和soft margin SVM都可以被视为ERM的approximation
3、感知器算法(perceptron algorithm)
perceptron模型的更新方式(perceptron algorithm):
θ ( i ) = θ ( i − 1 ) + μ i ∑ n : x n ∈ Y y n x n \theta^{(i)} = \theta^{(i – 1)} + \mu_{i} \sum_{n:x_{n}\in\mathcal{Y}}y_{n}x_{n}θ(i )=θ(i −1 )+μi n :x n ∈Y ∑y n x n
使用上述更新方式, 可以证明,perceptron algorithm一定可以在有限次迭代内收敛,μ i \mu_{i}μi 是学习率(可能随迭代步骤而变化),需要选取适合的μ i \mu_{i}μi 以保证算法收敛
perceptron algorithm可以被解释为一种基于subgradient的方法
该算法还有另一种每次迭代只使用一个样本的形式,如果把训练集中的样本重新编号,( y ( 1 ) , x ( 1 ) ) , ( y ( 2 ) , x ( 2 ) ) , . . . , ( y ( N ) , x ( N ) ) (y_{(1)},x_{(1)}),(y_{(2)},x_{(2)}),…,(y_{(N)},x_{(N)})(y (1 ),x (1 )),(y (2 ),x (2 )),…,(y (N ),x (N )),( y ( i ) , x ( i ) ) (y_{(i)},x_{(i)})(y (i ),x (i ))表示在第i i i次迭代过程中使用的样本,那么更新规则如下:
θ ( i ) = { θ ( i − 1 ) + μ i y ( i ) x ( i ) ( y ( i ) , x ( i ) ) is missclassified by θ ( i − 1 ) θ ( i − 1 ) otherwise \theta^{(i)} = \left { \begin{array}{l} \theta^{(i – 1)} + \mu_{i}y_{(i)}x_{(i)} &(y_{(i)},x_{(i)})\text{ is missclassified by }\theta^{(i – 1)}\ \theta^{(i – 1)} &\text{otherwise} \end{array} \right.θ(i )={θ(i −1 )+μi y (i )x (i )θ(i −1 )(y (i ),x (i ))is missclassified by θ(i −1 )otherwise
这种更新方式被称为pattern-by-pattern的,也可以被视作一种类似于online learning的方式(在上述算法中,样本总数是确定的,而online learning中,样本不断出现,样本总数不确定)
每当算法使用过训练集中的全部数据,即经过了N N N次迭代,就称为完成了一个epoch,完成一个epoch之后,再用同样的方式再继续训练,经过有限个epoch后,算法会收敛
同样地,需要考虑μ i \mu_{i}μi 的选取,只有选取合适的μ i \mu_{i}μi 才能保证算法收敛, 但在上述两种perceptron algorithm中,即使μ i \mu_{i}μi 是一个正的常数,仍然可以保证算法的收敛性
备注2:多种模型的算法归纳
remark:如果使用pattern-by-pattern的方式,许多模型的算法都可以被写为:
θ ( i ) = θ ( i − 1 ) + μ i ( y n − h θ ( x n ) ) x n \theta^{(i)} = \theta^{(i – 1)} + \mu_{i}(y_{n} – h_{\theta}(x_{n}))x_{n}θ(i )=θ(i −1 )+μi (y n −h θ(x n ))x n
例如:linear regression、logistic regression、perceptron,linear regression的算法中,h θ ( x n ) = θ T x n h_{\theta}(x_{n}) = \theta^{T}x_{n}h θ(x n )=θT x n ,logistic regression的算法中,h θ ( x n ) = sigmoid ( θ T x n ) h_{\theta}(x_{n}) = \text{sigmoid}(\theta^{T}x_{n})h θ(x n )=sigmoid (θT x n ),perceptron algorithm中,h θ ( x n ) = sgn ( θ T x n ) h_{\theta}(x_{n}) = \text{sgn}(\theta^{T}x_{n})h θ(x n )=sgn (θT x n )
在perceptron algorithm中,如果令μ i = 0.5 \mu_{i} = 0.5 μi =0 .5,那么当出现分类错误时:
θ ( i ) = θ ( i − 1 ) + μ i ( y n − h θ ( x n ) ) x n = θ ( i − 1 ) + { x n y n = 1 , θ T x n < 0 − x n y n = − 1 , θ T x n > 0 = θ ( i − 1 ) + y n x n \begin{aligned} \theta^{(i)} &= \theta^{(i – 1)} + \mu_{i}(y_{n} – h_{\theta}(x_{n}))x_{n}\ &=\theta^{(i – 1)} + \left { \begin{array}{l} x_{n} &y_{n} = 1,\theta^{T}x_{n} < 0\ -x_{n} &y_{n} = -1,\theta^{T}x_{n} > 0 \end{array}\right.\ &= \theta^{(i – 1)} + y_{n}x_{n} \end{aligned}θ(i )=θ(i −1 )+μi (y n −h θ(x n ))x n =θ(i −1 )+{x n −x n y n =1 ,θT x n <0 y n =−1 ,θT x n >0 =θ(i −1 )+y n x n
所以,在perceptron algorithm中,θ ( i ) = θ ( i − 1 ) + μ i ( y n − h θ ( x n ) ) x n \theta^{(i)} = \theta^{(i – 1)} + \mu_{i}(y_{n} – h_{\theta}(x_{n}))x_{n}θ(i )=θ(i −1 )+μi (y n −h θ(x n ))x n 和之前所描述的更新规则实际上是等价的
4、感知器算法的原理
pattern-by-pattern的更新模式,是一种典型的reward-punishment方式,即如果迭代中选取的样本分类正确,那么不更新参数(reward),但如果样本分类错误,那么需要做对应的更新(punishment)
这种更新方式的意义是很明确的,如果令学习率为常数1, 当某个样本被错分类时,有:
θ ( i ) = θ ( i − 1 ) + y ( i ) x ( i ) \theta^{(i)} = \theta^{(i – 1)} + y_{(i)}x_{(i)}θ(i )=θ(i −1 )+y (i )x (i )
那么,假如原本的θ ( i − 1 ) T x ( i ) < 0 {\theta^{(i – 1)}}^{T}x_{(i)} < 0 θ(i −1 )T x (i )<0,y ( i ) = 1 y_{(i)} = 1 y (i )=1,那么在更新之后:
θ ( i ) T x ( i ) = θ ( i − 1 ) T x ( i ) + x ( i ) T x ( i ) {\theta^{(i)}}^{T}x_{(i)} = {\theta^{(i – 1)}}^{T}x_{(i)} + x_{(i)}^{T}x_{(i)}θ(i )T x (i )=θ(i −1 )T x (i )+x (i )T x (i )
其中,x ( i ) T x ( i ) ⩾ 0 x_{(i)}^{T}x_{(i)} \geqslant 0 x (i )T x (i )⩾0,因此,算法在更新时,总是会想办法”修正”θ ( i − 1 ) T x ( i ) {\theta^{(i – 1)}}^{T}x_{(i)}θ(i −1 )T x (i )的符号,尽量使θ ( i ) T x ( i ) {\theta^{(i)}}^{T}x_{(i)}θ(i )T x (i )的符号与y ( i ) y_{(i)}y (i )相匹配
5、感知器算法的几何解释
值得一提的是, pattern-by-pattern的更新模式也有一种较为直观的几何解释,同样地,令学习率为常数1, 考虑某个样本被错分类时的情况:
θ ( i ) = θ ( i − 1 ) + y ( i ) x ( i ) \theta^{(i)} = \theta^{(i – 1)} + y_{(i)}x_{(i)}θ(i )=θ(i −1 )+y (i )x (i )
在许多资料中,都有简单提及perceptron algorithm的几何解释,但大多数没有深入展开讨论,甚至有部分资料混淆了参数向量θ \theta θ和法向量的概念,所以在这里,我使用一种更为严谨的方式,深入探讨在二维情况下perceptron algorithm的几何解释
首先要注意, θ \theta θ 实际上并不是hyperplane的法向量(θ \theta θ 还包括常数项),另外,为了方便讨论,此处把hyperplane暂且表示为w T x + b = 0 w^{T}x+b = 0 w T x +b =0的形式,以区分法向量和常数,可以”不那么严谨”地认为:w w w作为法向量,主要控制hyperplane的方向,而b b b作为常数,主要控制hyperplane的位置
从几何角度出发理解上式时,应该分两个步骤考虑:
- hyperplane的方向变化:即w w w 的更新(绕某一点旋转)
- hyperplane的位置变化:即在w w w 更新之后再进行b b b 的更新(平移)
如果在第i i i次更新之前,hyperplane是w T x + b = 0 w^{T}x + b = 0 w T x +b =0,对于第i i i次更新,先进行步骤1,考虑( w + y ( i ) x ( i ) ) T x + b = 0 (w+y_{(i)}x_{(i)})^{T}x + b = 0 (w +y (i )x (i ))T x +b =0的位置,之后再考虑步骤2,即( w + y ( i ) x ( i ) ) T x + ( b + y ( i ) ) = 0 (w+y_{(i)}x_{(i)})^{T}x + (b + y_{(i)}) = 0 (w +y (i )x (i ))T x +(b +y (i ))=0的位置
这里仅以二维平面上的情况为例,结合图片逐步示意:
如果错分类点x ( i ) x_{(i)}x (i )和hyperplane的相对位置如下图所示,并且y ( i ) = 1 y_{(i)} = 1 y (i )=1,但w T x ( i ) + b < 0 w^{T}x_{(i)} + b < 0 w T x (i )+b <0
【步骤1】:在坐标系中找到( w + x ( i ) ) T x + b = 0 (w+x_{(i)})^{T}x + b = 0 (w +x (i ))T x +b =0的位置
为了把点x ( i ) x_{(i)}x (i )和hyperplane的法向量直接相加,需要引入 直线系的概念,直线系,即满足一定条件的直线的集合,例如,与直线A x + B y + C = 0 Ax + By + C = 0 A x +B y +C =0平行的所有直线是:A x + B y + λ = 0 Ax + By + \lambda = 0 A x +B y +λ=0,其中,λ \lambda λ是任意常数;过一个定点( x 0 , y 0 ) (x_{0},y_{0})(x 0 ,y 0 )的所有直线是:λ 1 ( x − x 0 ) + λ 2 ( y − y 0 ) = 0 \lambda_{1}(x – x_{0}) + \lambda_{2}(y – y_{0}) = 0 λ1 (x −x 0 )+λ2 (y −y 0 )=0,其中,λ 1 \lambda_{1}λ1 和λ 2 \lambda_{2}λ2 是不同时为零的任意常数
这里引入的直线系可以表示过两条给定直线交点的所有直线,直线系方程是:λ 1 ( A 1 x + B 1 y + C 1 ) + λ 2 ( A 2 x + B 2 y + C 2 ) = 0 \lambda_{1}(A_{1}x + B_{1}y + C_{1}) + \lambda_{2}(A_{2}x + B_{2}y + C_{2}) = 0 λ1 (A 1 x +B 1 y +C 1 )+λ2 (A 2 x +B 2 y +C 2 )=0,即同时过直线l 1 : A 1 x + B 1 y + C 1 = 0 l_{1}:A_{1}x + B_{1}y + C_{1} = 0 l 1 :A 1 x +B 1 y +C 1 =0和直线l 2 : A 2 x + B 2 y + C 2 = 0 l_{2}:A_{2}x + B_{2}y + C_{2} = 0 l 2 :A 2 x +B 2 y +C 2 =0交点的所有直线,其中,λ 1 \lambda_{1}λ1 和λ 2 \lambda_{2}λ2 是不同时为零的任意常数
之所以这个方程可以表示过两直线交点的所有直线,是因为:
- 显然,l 1 l_{1}l 1 和l 2 l_{2}l 2 的交点满足直线系方程,即该直线系中的任意一条直线,都应该经过这个交点
- 如果l 1 l_{1}l 1 和l 2 l_{2}l 2 有交点,则说明两直线不平行,即法向量( A 1 , B 1 ) (A_{1},B_{1})(A 1 ,B 1 )和( A 2 , B 2 ) (A_{2},B_{2})(A 2 ,B 2 )是线性无关的,并且,λ 1 \lambda_{1}λ1 和λ 2 \lambda_{2}λ2 是不同时为零的任意常数,那么,λ 1 ( A 1 , B 1 ) + λ 2 ( A 2 , B 2 ) \lambda_{1}(A_{1},B_{1}) + \lambda_{2}(A_{2},B_{2})λ1 (A 1 ,B 1 )+λ2 (A 2 ,B 2 )可以表示平面上的任意非零向量,即该直线系中直线的法向量是任意的
如果记从原点指向x ( i ) x_{(i)}x (i )的向量为x ( i ) → = ( p , q ) \overrightarrow{x_{(i)}} = (p,q)x (i )=(p ,q ),法向量w → = ( w 1 , w 2 ) \overrightarrow{w} = (w_{1},w_{2})w =(w 1 ,w 2 ),那么直线( w + x ( i ) ) T x + b = 0 (w+x_{(i)})^{T}x + b = 0 (w +x (i ))T x +b =0可以被写为:
( w + x ( i ) ) T x + b = ( w 1 x 1 + w 2 x 2 + b ) + ( p x 1 + q x 2 ) = 0 (w+x_{(i)})^{T}x + b = (w_{1}x_{1} + w_{2}x_{2} + b) + (px_{1} + qx_{2}) = 0 (w +x (i ))T x +b =(w 1 x 1 +w 2 x 2 +b )+(p x 1 +q x 2 )=0
所以, 直线( w + x ( i ) ) T x + b = 0 (w+x_{(i)})^{T}x + b = 0 (w +x (i ))T x +b =0 一定属于直线系λ 1 ( w 1 x 1 + w 2 x 2 + b ) + λ 2 ( p x 1 + q x 2 ) = 0 \lambda_{1}(w_{1}x_{1} + w_{2}x_{2} + b) + \lambda_{2}(px_{1} + qx_{2}) = 0 λ1 (w 1 x 1 +w 2 x 2 +b )+λ2 (p x 1 +q x 2 )=0 (即λ 1 = λ 2 = 1 \lambda_{1} = \lambda_{2} = 1 λ1 =λ2 =1 的特殊情况),故直线( w + x ( i ) ) T x + b = 0 (w+x_{(i)})^{T}x + b = 0 (w +x (i ))T x +b =0一定经过w 1 x 1 + w 2 x 2 + b = 0 w_{1}x_{1} + w_{2}x_{2} + b = 0 w 1 x 1 +w 2 x 2 +b =0和p x 1 + q x 2 = 0 px_{1} + qx_{2} = 0 p x 1 +q x 2 =0的交点
显然, p x 1 + q x 2 = 0 px_{1} + qx_{2} = 0 p x 1 +q x 2 =0 是以x ( i ) → \overrightarrow{x_{(i)}}x (i ) 为法向量,并且过原点的直线,在图中用虚线作出p x 1 + q x 2 = 0 px_{1} + qx_{2} = 0 p x 1 +q x 2 =0,并找到这个交点,记交点为P点,并且,在P点出做出法向量w → \overrightarrow{w}w:
接下来,需要确定直线( w + x ( i ) ) T x + b = 0 (w+x_{(i)})^{T}x + b = 0 (w +x (i ))T x +b =0的方向,让向量w → \overrightarrow{w}w与x ( i ) → \overrightarrow{x_{(i)}}x (i )相加,记两向量之和为v → \overrightarrow{v}v,之后过P点做出垂直于v → \overrightarrow{v}v的直线,即v T x + b = 0 v^{T}x + b = 0 v T x +b =0,在图中使用红色标示:
要注意,x ( i ) → \overrightarrow{x_{(i)}}x (i ) 本身有可能垂直于w T x + b = 0 w^{T}x + b = 0 w T x +b =0 ,即w 1 x 1 + w 2 x 2 + b = 0 w_{1}x_{1} + w_{2}x_{2} + b = 0 w 1 x 1 +w 2 x 2 +b =0 和p x 1 + q x 2 = 0 px_{1} + qx_{2} = 0 p x 1 +q x 2 =0 可能会出现无交点的情况,此时,步骤1中hyperplane只平移,不旋转,鉴于x ( i ) x_{(i)}x (i )被分类错误,w → \overrightarrow{w}w和x ( i ) → \overrightarrow{x_{(i)}}x (i )总是指向相反的方向,故平移的方向及平移的距离与∣ ∣ w → ∣ ∣ ||\overrightarrow{w}||∣∣w ∣∣和∣ ∣ x ( i ) → ∣ ∣ ||\overrightarrow{x_{(i)}}||∣∣x (i )∣∣的相对大小有关,如果∣ ∣ w → ∣ ∣ > ∣ ∣ x ( i ) → ∣ ∣ ||\overrightarrow{w}|| > ||\overrightarrow{x_{(i)}}||∣∣w ∣∣>∣∣x (i )∣∣,那么hyperplane将会朝着w → \overrightarrow{w}w的方向平移,如果∣ ∣ w → ∣ ∣ < ∣ ∣ x ( i ) → ∣ ∣ ||\overrightarrow{w}|| < ||\overrightarrow{x_{(i)}}||∣∣w ∣∣<∣∣x (i )∣∣,那么hyperplane将会朝着x ( i ) → \overrightarrow{x_{(i)}}x (i )的方向平移
【步骤2】:在坐标系中找到v T x + b + 1 = 0 v^{T}x + b + 1 = 0 v T x +b +1 =0的位置
显而易见地,为了完成步骤2, 只需要在完成步骤1的基础上,把直线v T x + b = 0 v^{T}x + b = 0 v T x +b =0 进行平移即可,所以,需要确定平移的方向, 可以通过直线在x 2 x_{2}x 2 轴上的截距来辅助判断
同样地,记v → = ( v 1 , v 2 ) \overrightarrow{v} = (v_{1},v_{2})v =(v 1 ,v 2 ),求出v T x + b = 0 v^{T}x + b = 0 v T x +b =0和v T x + b + 1 = 0 v^{T}x + b + 1= 0 v T x +b +1 =0在x 2 x_{2}x 2 轴上的截距,即:
x 2 -intercept of v T x + b = 0 : − b v 2 x 2 -intercept of v T x + b + 1 = 0 : − b + 1 v 2 x_{2}\text{-intercept of }v^{T}x + b = 0:-\frac{b}{v_{2}}\ \quad\ x_{2}\text{-intercept of }v^{T}x + b + 1 = 0:-\frac{b + 1}{v_{2}}x 2 -intercept of v T x +b =0 :−v 2 b x 2 -intercept of v T x +b +1 =0 :−v 2 b +1
从上图中观察向量v → \overrightarrow{v}v的方向,不难看出v 2 > 0 v_{2} > 0 v 2 >0,所以,v T x + b + 1 = 0 v^{T}x + b + 1= 0 v T x +b +1 =0在x 2 x_{2}x 2 轴上的截距应小于v T x + b = 0 v^{T}x + b = 0 v T x +b =0在x 2 x_{2}x 2 轴上的截距,即应该向下平移:
事实上,因为− 1 / v 2 -1/v_{2}−1 /v 2 的符号总是与v 2 v_{2}v 2 的符号相反, 所以v T x + b + 1 = 0 v^{T}x + b + 1= 0 v T x +b +1 =0 一定会朝着与法向量v → \overrightarrow{v}v 相反的方向平移,并且,平移前后两条平行线间的距离是1 / ∣ ∣ v → ∣ ∣ 1/||\overrightarrow{v}||1 /∣∣v ∣∣, 即平移的距离大小与法向量的模长成反比
; 对不同条件下感知器算法几何解释的总结
summary:此处只讨论了y ( i ) = 1 y_{(i)} = 1 y (i )=1,w T x ( i ) + b < 0 w^{T}x_{(i)} + b < 0 w T x (i )+b <0,并且在步骤1更新之后v T x ( i ) + b > 0 v^{T}x_{(i)} + b > 0 v T x (i )+b >0的情况,其他情况也可以做类似的讨论,这里只使用图片进行简单示意:
y ( i ) = 1 y_{(i)} = 1 y (i )=1,w T x ( i ) + b < 0 w^{T}x_{(i)} + b < 0 w T x (i )+b <0,在步骤1更新之后v T x ( i ) + b > 0 v^{T}x_{(i)} + b > 0 v T x (i )+b >0(上述讨论的情况):
y ( i ) = 1 y_{(i)} = 1 y (i )=1,w T x ( i ) + b < 0 w^{T}x_{(i)} + b < 0 w T x (i )+b <0,在步骤1更新之后v T x ( i ) + b < 0 v^{T}x_{(i)} + b < 0 v T x (i )+b <0:
y ( i ) = − 1 y_{(i)} = -1 y (i )=−1,w T x ( i ) + b > 0 w^{T}x_{(i)} + b > 0 w T x (i )+b >0,在步骤1更新之后v T x ( i ) + b < 0 v^{T}x_{(i)} + b < 0 v T x (i )+b <0:
y ( i ) = − 1 y_{(i)} = -1 y (i )=−1,w T x ( i ) + b > 0 w^{T}x_{(i)} + b > 0 w T x (i )+b >0,在步骤1更新之后v T x ( i ) + b > 0 v^{T}x_{(i)} + b > 0 v T x (i )+b >0:
从以上讨论中,可以看出,在遇到被分类错误的样本x ( i ) x_{(i)}x (i )时, perceptron algorithm总是根据x ( i ) x_{(i)}x (i ) 更新hyperplane,通过旋转和平移,尽可能地使x ( i ) x_{(i)}x (i )被分类正确
另外, 考虑一种极端情况:∣ ∣ w → ∣ ∣ ||\overrightarrow{w}||∣∣w ∣∣很大,且∣ ∣ w → ∣ ∣ ≫ ∣ ∣ x ( i ) → ∣ ∣ ||\overrightarrow{w}||\gg||\overrightarrow{x_{(i)}}||∣∣w ∣∣≫∣∣x (i )∣∣,在这种极端情况下,即使进行了更新,w → \overrightarrow{w}w的方向也几乎不会改变,即在步骤1中,hyperplane几乎不旋转,并且,在步骤2中,平移的距离反比于∣ ∣ v → ∣ ∣ ||\overrightarrow{v}||∣∣v ∣∣,所以hyperplane也几乎不平移, 因此,在∣ ∣ w → ∣ ∣ ||\overrightarrow{w}||∣∣w ∣∣ 已经很大的情况下,perceptron algorithm的更新总是收效甚微,hyperplane几乎不会受训练数据影响
在更高维的空间中,上讨论中所使用的方法同样可以推而广之
参考资料
[1] Machine Learning: A Bayesian and Optimization Perspective, 2nd Edition, Sergios Theodoridis, Chapter 18 Neural Networks and Deep Learning, 18.2 The Perceptron
Original: https://blog.csdn.net/weixin_43583429/article/details/119922794
Author: HJF.exe
Title: 深度学习第一课:感知器模型(the perceptron)及其算法的几何解释
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/665513/
转载文章受原作者版权保护。转载请注明原作者出处!