感知机模型、学习算法、收敛性证明

1、感知机

学习资料:《统计学习方法》,cs229讲义,其他。

感知机是用来进行二类分类的分类模型,而感知机的学习过程就是求出将训练数据进行线性划分的分离超平面过程。下面会给出感知机模型,接着进行学习,最后证明算法的收敛性。

1.1、感知机模型

看下面的图,有两类点,记为-1和+1(负累和正类),我们需要求一条直线(超平面,用 w x + b = 0 wx+b=0 wx+b=0来表示)来将它们进行划分。我们最后需要得到参数 w w w b b b,参数求解的过程就是感知机学习过程了。

在这里插入图片描述

假设输入空间 X X X是m维向量,输出空间 Y = { + 1 , − 1 } Y=\{+1,-1\} Y={+1,1}。输入 x = { x 1 , x 2 , . . . , x m } x=\{x^1,x^2,...,x^m\} x={x1,x2,...,xm}表示实例的特征向量;输出 y y y表示实例的类别。那么感知机模型表示如下:

f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b) f(x)=sign(wx+b)

其中 w w w称为权值, b b b称为偏置, w x = w 1 x 1 + w 2 x 2 + . . . + w m x m wx=w^1x^1+w^2x^2+...+w^mx^m wx=w1x1+w2x2+...+wmxm,当 w x + b &gt; 0 wx+b&gt;0 wx+b>0时候 s i g n ( w x + b ) = + 1 sign(wx+b)=+1 sign(wx+b)=+1,当 w x + b &lt; 0 wx+b&lt;0 wx+b<0 时候 s i g n ( w x + b ) = − 1 sign(wx+b)=-1 sign(wx+b)=1

现在要做的是求出这样的超平面 w x + b = 0 wx+b=0 wx+b=0将空间分成正类和负类,接下来进行模型的学习,求解参数 w w w b b b

1.2、感知机的学习算法

先给出数据集线性可分的定义:

给定一个数据集 T = { ( x 1 , y 1 ) , . . . , ( x n , y n ) } T=\{(x_1,y_1),...,(x_n,y_n)\} T={(x1,y1),...,(xn,yn)},其中 x i x_i xi 是m维向量(m个特征), y i = { + 1 , − 1 } y_i=\{+1,-1\} yi={+1,1}表示类别,如果存在某个超平面 S S S
w x + b = 0 wx+b=0 wx+b=0
能够将训练集的正实例点和负实例点正确的划分到超平面两侧,即:对于 y = + 1 y=+1 y=+1的实例有 w x i + b &gt; 0 wx_i+b&gt;0 wxi+b>0,对于 y = − 1 y=-1 y=1的实例有 w x i + b &lt; 0 wx_i+b&lt;0 wxi+b<0,写到一起也就是 y i ( w x i + b ) &gt; 0 y_i(wx_i+b)&gt;0 yi(wxi+b)>0那么就说数据集 T T T是线性可分的。

如果给定数据集是线性可分的,那么我们就可以去求这样的超平面 w x + b = 0 wx+b=0 wx+b=0,参数 w , b w,b w,b求解过程也就成了感知机学习过程。我们定义损失函数,通过最小化损失函数值来进行参数的求解。

定义一个点 x i x_i xi到超平面 w x + b = 0 wx+b=0 wx+b=0的距离:

1 ∣ ∣ w ∣ ∣ ∣ w x i + b ∣ \frac{1}{||w||}|wx_i + b| w1wxi+b

其中 ∣ ∣ w ∣ ∣ ||w|| w是向量 w w w L 2 L_2 L2范数,举个例子来说,假设超平面表示为 x 1 + 2 x 2 + 3 = 0 x_1+2x_2+3=0 x1+2x2+3=0那么点(1,-2)刚好在上面,而 ( 1 , 1 ) (1,1) (1,1)带入 x 1 + x 2 + 3 x_1+x_2+3 x1+x2+3中结果是6,而权重和偏置变成了原来两倍那么 ( 1 , 1 ) (1,1) (1,1)的距离就成了原来的2倍,所以我们使用了距离除以 L 2 L_2 L2范数进行距离的固定化,这样权重和偏置就算成倍增加那么距离也不会变了。这里叫做集合间隔,而不进行标准化的叫做函数间隔。

对于误分类的数据 ( x i , y i ) (x_i,y_i) (xi,yi),满足 y i ( w x i + b ) &lt; 0 = &gt; − y i ( w x i + b ) &gt; 0 y_i(wx_i+b)&lt;0 =&gt; -y_i(wx_i+b)&gt;0 yi(wxi+b)<0=>yi(wxi+b)>0 ,所以该误分类的点到超平面的距离为:

− 1 ∣ ∣ w ∣ ∣ y i ( w x i + b ) -\frac{1}{||w||}y_i(wx_i + b) w1yi(wxi+b)

1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1可以直接去掉,只要响应的变化内部系数即可,所以所有误分类的点 x i ∈ M x_i \in M xiM到超平面的距离之和为:

J ( w , b ) = − ∑ x i ∈ M y i ( w x i + b ) J(w,b)=- \sum\limits_{x_i \in M}^{} y_i(wx_i + b) J(w,b)=xiMyi(wxi+b)

这就是我们的损失函数(也称做感知机学习的经验风险函数),我们的学习要求使得这个损失函数值最小,显然损失函数的值是大于等于0,只有当超平面将数据集正确划分了,那么就是没有误分类点此时损失函数值就是0。

超平面是连续可导的,所以损失函数也是连续可导,这里要求最小值,所以可以使用梯度下降(比如随机梯度下降)

w j : = w j − α ∂ J ( w , b ) ∂ w j w_j := w_j - \alpha \frac{\partial J(w,b)}{\partial w_j} wj:=wjαwjJ(w,b) for every j(表示第j个特征)
b : = b − α ∂ J ( w , b ) ∂ b b:=b - \alpha \frac{\partial J(w,b)}{\partial b} b:=bαbJ(w,b)

将损失函数带入求导可得:

w j : = w j + α ∑ x i ∈ M y i x i j w_j := w_j + \alpha\sum\limits_{x_i \in M}^{} y_i x_i^j wj:=wj+αxiMyixij
b : = b + α ∑ x i ∈ M y i b := b + \alpha\sum\limits_{x_i \in M}^{} y_i b:=b+αxiMyi
由于是使用随机梯度下降,那么伪代码我们写成下面的形式

f o r i = i 1 − &gt; i M { w j : = w j + α y i x i j ( 针 对 没 个 j 同 时 进 行 ) , b : = b + α y i } for i = i_1 -&gt; i_M \{w_j:= w_j + \alpha y_i x_i^j(针对没个j同时进行),b:=b+\alpha y_i\} fori=i1>iM{wj:=wj+αyixij(j)b:=b+αyi}

具体的算法如下:

  1. 选取初始值 w 0 , b 0 w_0,b_0 w0,b0
  2. 训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
  3. 找误分类点,即 y i ( w x i + b ) &lt; = 0 y_i(wx_i+b)&lt;=0 yi(wxi+b)<=0,那么进行上面的 w w w b b b的更新操作,转到步骤2。直到没有误分类点为止。

1.3、算法的收敛性

对于上面的算法会不会存在,一直找不到这样的超平面导致会一直循环下去呢?答案是不会,也就是说经过有限次迭代可以得到一个将训练集正确划分的超平面,也就是说该算法具有收敛性。

为方便起见,进行如下的转换:
w ‾ = ( w T , b ) \overline w = (w^T,b) w=(wT,b), x ‾ = ( x T , 1 ) T \overline x = (x^T,1)^T x=(xT,1)T,为了方便起见后面将 T T T给去掉了。
那么 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0就可以表示成 w ‾ ⋅ x ‾ = 0 \overline w\cdot \overline x=0 wx=0

下面来进行证明收敛性

给定训练集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } \{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\} {(x1,y1),(x2,y2),...,(xn,yn)}是线性可分的。

(1)、证明存在满足条件 ∣ ∣ w ‾ e ∣ ∣ = 1 ||\overline w_{e}||=1 we=1的超平面 w ‾ e ⋅ x ‾ = w e ⋅ x + b e = 0 \overline w_{e}\cdot \overline x=w_e\cdot x +b_e=0 wex=wex+be=0,将训练集正确分开,且存在 γ &gt; 0 \gamma&gt;0 γ>0,对所有的 i = 1 , 2 , … , n i=1,2,\dots,n i=1,2,,n都有

y i ( w ‾ e ⋅ x ‾ i ) = y i ( w e ⋅ x i + b e ) &gt; = γ y_i(\overline w_{e}\cdot \overline x_i)=y_i(w_e\cdot x_i +b_e)&gt;=\gamma yi(wexi)=yi(wexi+be)>=γ

证明: 由于训练集线性可分,自然就存在超平面 S S S将其正确划分,对于该超平面我们只需要规范一下,或者说同比例增加或者减少参数大小,是的满足 w ‾ = 1 \overline w=1 w=1即可,那么该平面就是我们想要的,记做 w ‾ e ⋅ x ‾ = w e ⋅ x + b e = 0 \overline w_{e}\cdot \overline x=w_e\cdot x +b_e=0 wex=wex+be=0。此时必然满足

y i ( w ‾ e ⋅ x ‾ i ) = y i ( w e ⋅ x i + b e ) &gt; 0 y_i(\overline w_{e}\cdot \overline x_i)=y_i(w_e\cdot x_i +b_e)&gt;0 yi(wexi)=yi(wexi+be)>0,我们将 γ \gamma γ 记做 min ⁡ y i ( w e ⋅ x i + b e ) \min y_i(w_e\cdot x_i +b_e) minyi(wexi+be),所以就得到对任意 i = 1 , 2 , … , n i=1,2,\dots,n i=1,2,,n, 都有 y i ( w ‾ e ⋅ x ‾ i ) = y i ( w e ⋅ x i + b e ) &gt; = γ y_i(\overline w_{e}\cdot \overline x_i)=y_i(w_e\cdot x_i +b_e)&gt;=\gamma yi(wexi)=yi(wexi+be)>=γ

(2)、令 R = max ⁡ i ∈ [ 1 , n ] ∣ ∣ x ‾ i ∣ ∣ R=\max\limits_{i \in [1,n]} ||\overline x_i|| R=i[1,n]maxxi ,则前面提到的感知机算法的误分类次数 k k k(或者说参数的迭代的轮次)满足如下不等式

k &lt; = ( R γ ) 2 k &lt;= (\frac{R}{\gamma})^2 k<=(γR)2

补充:如果满足了(2)那么就说明了算法的收敛性,也就是一定的迭代次数后能得到满足要求的超平面。下面开始证明

假设初始参数 w ‾ 0 = 0 \overline w_0=0 w0=0,如果实例被误分类那么需要继续更新参数。对于第 k − 1 k-1 k1次参数 w ‾ k − 1 \overline w_{k-1} wk1,对应的误分类实例为 x ‾ i \overline x_i xi,由于是误分类很自然的有 y i ( w ‾ k − 1 ⋅ x ‾ i ) = y i ( w k − 1 ⋅ x i + b k − 1 ) &lt; 0 y_i(\overline w_{k-1} \cdot \overline x_i)=y_i(w_{k-1}\cdot x_i + b_{k-1})&lt;0 yi(wk1xi)=yi(wk1xi+bk1)<0

根据前面写的随机梯度下降得到的公式如下(将所有的特征 j j j全部写到了一起,所以没有了 w j w_j wj):

w k = w k − 1 + α y i x i w_k=w_{k-1} + \alpha y_ix_i wk=wk1+αyixi
b k = b k − 1 + α y i b_k=b_{k-1} + \alpha y_i bk=bk1+αyi

k − 1 k-1 k1表示上一轮, k k k表示当前,两个写到一起就是

w ‾ k = w ‾ k − 1 + α y i x ‾ i \overline w_k=\overline w_{k-1}+\alpha y_i\overline x_i wk=wk1+αyixi

(2.1)、证明 w ‾ e ⋅ w ‾ k &gt; = k α γ \overline w_e\cdot \overline w_k&gt;=k\alpha \gamma wewk>=kαγ

证明 w ‾ e ⋅ w ‾ k = w ‾ e ( w ‾ k − 1 + α y i x i ) = w ‾ e ⋅ w ‾ k − 1 + α y i w ‾ e x i &gt; = w ‾ e ⋅ w ‾ k − 1 + α γ &gt; = w ‾ e ⋅ w ‾ k − 2 + 2 α γ &gt; = . . . &gt; = w ‾ e ⋅ w ‾ 0 + k α γ = k α γ \overline w_e\cdot \overline w_k=\overline w_e(\overline w_{k-1} + \alpha y_ix_i) =\overline w_e\cdot\overline w_{k-1} + \alpha y_i \overline w_e x_i&gt;=\overline w_e\cdot\overline w_{k-1}+ \alpha \gamma&gt;=\overline w_e\cdot\overline w_{k-2}+2\alpha \gamma&gt;=...&gt;=\overline w_e\cdot\overline w_{0}+k\alpha \gamma=k\alpha \gamma wewk=we(wk1+αyixi)=wewk1+αyiwexi>=wewk1+αγ>=wewk2+2αγ>=...>=wew0+kαγ=kαγ

(2.2)、证明 ∣ ∣ w ‾ k ∣ ∣ 2 &lt; = k α 2 R 2 ||\overline w_k||^2&lt;=k\alpha^2R^2 wk2<=kα2R2

证明 ∣ ∣ w ‾ k ∣ ∣ 2 = w ‾ k ⋅ w ‾ k = w ‾ k − 1 ⋅ w ‾ k − 1 + 2 α y i w ‾ k − 1 x ‾ i + α 2 ∣ ∣ x ‾ i ∣ ∣ 2 &lt; = ∣ ∣ w ‾ k − 1 ∣ ∣ 2 + α 2 R 2 &lt; = . . . &lt; = k α 2 R 2 ||\overline w_k||^2=\overline w_k\cdot \overline w_k=\overline w_{k-1}\cdot \overline w_{k-1}+2\alpha y_i \overline w_{k-1}\overline x_i + \alpha^2||\overline x_i||^2&lt;=||\overline w_{k-1}||^2 + \alpha^2R^2&lt;=...&lt;=k\alpha^2R^2 wk2=wkwk=wk1wk1+2αyiwk1xi+α2xi2<=wk12+α2R2<=...<=kα2R2

根据(2.1)和(2.2)得到 k α γ &lt; = w ‾ e ⋅ w ‾ k &lt; = ∣ ∣ w ‾ e ∣ ∣ ⋅ ∣ ∣ w ‾ k ∣ ∣ = ∣ ∣ w ‾ k ∣ ∣ &lt; = k α R k\alpha \gamma&lt;=\overline w_e\cdot \overline w_k&lt;=||\overline w_e||\cdot ||\overline w_k||=||\overline w_k||&lt;=\sqrt{k}\alpha R kαγ<=wewk<=wewk=wk<=k αR
= &gt; k 2 α 2 γ 2 &lt; = k α 2 R 2 =&gt; k^2\alpha^2 \gamma^2&lt;=k\alpha^2 R^2 =>k2α2γ2<=kα2R2,最后得到 k &lt; = ( R γ ) 2 k &lt;= (\frac{R}{\gamma})^2 k<=(γR)2

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
统计学习是计算机及其应用领域的一门重要的学科。本书全面系统地介绍了统计学习的主要方法,特别是监督学习方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、em算法、隐马尔可夫模型和条件随机场等。除第1章概论和最后一章总结外,每章介绍一种方法。叙述从具体问题或实例入手,由浅入深,阐明思路,给出必要的数学推导,便于读者掌握统计学习方法的实质,学会运用。为满足读者进一步学习的需要,书中还介绍了一些相关研究,给出了少量习题,列出了主要参考文献。 《统计学习方法》是统计学习及相关课程的教学参考书,适用于高等院校文本数据挖掘、信息检索及自然语言处理等专业的大学生、研究生,也可供从事计算机应用相关专业的研发人员参考。 《统计学习方法》 第1章统计学习方法概论 1.1统计学习 1.2监督学习 1.2.1基本概念 1.2.2问题的形式化 1.3统计学习三要素 1.3.1模型 1.3.2策略 1.3.3算法 1.4模型评估与模型选择 1.4.1训练误差与测试误差 1.4.2过拟合与模型选择 1.5i~则化与交叉验证 1.5.1正则化 1.5.2交叉验证 1.6泛化能力 1.6.1泛化误差 1.6.2泛化误差上界 1.7生成模型与判别模型 .1.8分类问题 1.9标注问题 1.10回归问题 本章概要 继续阅读 习题 参考文献 第2章感知机 2.1感知机模型 2.2感知机学习策略 2.2.1数据集的线性可分性 2.2.2感知机学习策略 2.3感知机学习算法 2.3.1感知机学习算法的原始形式 2.3.2算法收敛性 2.3.3感知机学习算法的对偶形式 本章概要 继续阅读 习题 参考文献 第3章众近邻法 3.1 k近邻算法 3.2 k近邻模型 3.2.1模型 3.2.2距离度量 ·3.2.3 k值的选择 3.2.4分类决策规则 3.3k近邻法的实现:kd树 3.3.1构造af树 3.3.2搜索af树 本章概要 继续阅读 习题 参考文献 第4章朴素贝叶斯法 4.1朴素贝叶斯法的学习与分类 4.1.1基本方法 4.1.2后验概率最大化的含义 4.2朴素贝叶斯法的参数估计 4.2.1极大似然估计 4.2.2学习与分类算法 4.2.3贝叶斯估计 本章概要 继续阅读 习题 参考文献 第5章决策树 5.1决策树模型学习 5.1.1决策树模型 5.1.2决策树与isthen规则 5.1.3决策树与条件概率分布 5.1.4决策树学习 5.2特征选择 5.2.1特征选择问题 5.2.2信息增益 5.2.3信息增益比 5.3决策树的生成 5.3.11d3算法 5.3.2 c4.5的生成算法 5.4决策树的剪枝 5.5cart算法 5.5.1cart生成 5.5.2cart剪枝 本章概要 继续阅读 习题 参考文献 第6章逻辑斯谛回归与最大熵模型 6.1逻辑斯谛回归模型 6.1.1逻辑斯谛分布 6.1.2项逻辑斯谛回归模型 6.1.3模型参数估计 6.1.4多项逻辑斯谛回归 6.2最大熵模型 6.2.1最大熵原理 6.2.2最大熵模型的定义 6.2.3最大熵模型学习 6.2.4极大似然估计 6.3模型学习的最优化算法 6.3.1改进的迭代尺度法 6.3.2拟牛顿法 本章概要 继续阅读 习题 参考文献 第7章支持向量机 7.1线性可分支持向量机与硬间隔最大化 7.1.1线性可分支持向量机 7.1.2函数间隔和几何间隔 7.1.3间隔最大化 7.1.4学习的对偶算法 7.2线性支持向量机与软间隔最大化 7.2.1线性支持向量机 7.2.2学习的对偶算法 7.2.3支持向量 7.2.4合页损失函数 7.3非线性支持向量机与核函数 7.3.1核技巧 7.3.2定核 7.3.3常用核函数 7.3.4非线性支持向量分类机 7.4序列最小最优化算法 7.4.1两个变量二次规划的求解方法 7.4.2变量的选择方法 7.4.3smo算法 本章概要 继续阅读 习题 参考文献 第8章提升方法 8.1提升方法adaboost算法 8.1.1提升方法的基本思路 8.1.2adaboost算法 8.1.3 adaboost的例子 8.2adaboost算法的训练误差分析 8.3 adaboost算法的解释 8.3.1前向分步算法 8.3.2前向分步算法与ad9boost 8.4提升树 8.4.1提升树模型 8.4.2提升树算法 8.4.3梯度提升 本章概要 继续阅读 习题 参考文献 第9章em算法及其推广 9.1em算法的引入 9.1.1em算法 9.1.2em算法的导出 9.1.3em算法在非监督学习中的应用 9.2em算法收敛性 9.3em算法在高斯混合模型学习中的应用 9.3.1高斯混合模型 9.3.2高斯混合模型参数估计的em算法 9.4em算法的推广 9.4.1f函数的极大极大算法 9.4.2gem算法 本章概要 继续阅读 习题 参考文献 第10章隐马尔可夫模型 10.1隐马尔可夫模型的基本概念 10.1.1隐马尔可夫模型的定义 10.1.2观测序列的生成过程 10.1.3隐马尔可夫模型的3个基本问题 10.2概率计算算法 10.2.1直接计算法 10.2.2前向算法 10.2.3后向算法 10.2.4一些概率与期望值的计算 10.3学习算法 10.3.1监督学习方法 10.3.2baum-welch算法 10.3.3baum-welch模型参数估计公式 10.4预测算法 10.4.1近似算法 10.4.2维特比算法 本章概要 继续阅读 习题 参考文献 第11章条件随机场 11.1概率无向图模型 11.1.1模型定义 11.1.2概率无向图模型的因子分解 11.2条件随机场的定义与形式 11.2.1条件随机场的定义 11.2.2条件随机场的参数化形式 11.2.3条件随机场的简化形式 11.2.4条件随机场的矩阵形式 11.3条件随机场的概率计算问题 11.3.1前向后向算法 11.3.2概率计算 11.3.3期望值的计算 11.4条件随机场的学习算法 11.4.1改进的迭代尺度法 11.4.2拟牛顿法 11.5条件随机场的预测算法 本章概要 继续阅读 习题 参考文献 第12章统计学习方法总结 附录a梯度下降法 附录b牛顿法和拟牛顿法 附录c拉格朗日对偶性

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值