《人工智能》机器学习 - 第6章感知机模型(一 理论讲解)
6.1引言
PLA全称是Perceptron Linear Algorithm,即线性感知机算法,属于一种最简单的感知机(Perceptron)模型。感知机(perceptron)是二分类的线性分类模型,它的基本结构如图1所示,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型,解决的问题是分类问题。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机模型对新的输入实例进行分类。感知机算法是1957年由Rosenblatt提出的,是支持向量机(SVM)和神经网络的基础,学好感知机对SVM和神经网络大有裨益。
图1感知机模型
其中,xix_ixi是输入,wiw_iwi 表示权重系数,bbb表示偏移常数。
依照统计学习三要素来说:
- 模型:符号函数(判别模型);
- 策略:损失函数:误分点到超平面距离之和;
- 算法:利用梯度下降算法进行优化。
好了,开始学习感知机算法吧,本章的目标(目的)是,求出将训练数据进行线性划分的分类超平面,为此导入误分类的损失函数,利用梯度下降法对损失函数进行最小化,求的感知机模型。
6.2感知机模型
6.2.1感知机模型定义
假设输入空间(特征空间)是 χ⊆Rn\chi\subseteq R^nχ⊆Rn,输出空间是Y=+1,−1Y={+1,-1}Y=+1,−1 。输入x⊆χx \subseteq\chix⊆χ表示实例的特征向量,对应于输入空间(特征空间)的点;输出 y⊆Yy\subseteq Yy⊆Y表示实例的类别。由输入空间到输出空间的如下函数:
f(x)=sign(w⋅x+b)\color{red}f(x)=sign(w\cdot x+b)f(x)=sign(w⋅x+b)
称为感知机。其中,其中,www和bbb为感知机的模型参数,w⊆Rnw\subseteq R^nw⊆Rn叫作权值(weight)或权值向量(weight vector),b⊆Rb\subseteq Rb⊆R叫做偏置(bias),w⋅xw\cdot xw⋅x表示www和xxx的内积,sign()sign()sign()是符号函数:
sign(x)={+1x≤0−1x<0sign(x)= \begin{cases} +1& {x\leq0}\\ -1& {x<0} \end{cases}sign(x)={+1−1x≤0x<0
感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型或者线性分类器,即函数集合:
{f∣f(x)=w⋅x+b}\{f|f(x)=w\cdot x+b\}{f∣f(x)=w⋅x+b}
6.2.2感知机模型几何解释
线性方程w⋅x+b=0w\cdot x+b=0w⋅x+b=0对应于特征空间RnR^nRn中的一个超平面SSS,其中www是超平面的法向量,bbb是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点(特征向量)被分为正负两类,因为超平面SSS称为分类超平面(separating hyperplane)。
图2
【注1】超平面
在RnR^nRn空间中的超平面为:
w⃗⋅x⃗+b=0\vec{w}\cdot \vec{x}+b=0w⋅x+b=0
在几维空间中,向量w⃗,x⃗\vec{w},\vec{x}w,x就是几维的。当然,w⃗,x⃗\vec{w},\vec{x}w,x属于该空间。在二维空间下,该方程表示一条直线,直线是平面的超平面。三维空间下,该方程表示一个平面,平面是空间的超平面。
【注2】点到超平面的距离
向量的投影:给定两个向量u⃗,v⃗\vec{u},\vec{v}u,v ,求w⃗\vec{w}w在x⃗\vec{x}x上的投影长度,向量间的夹角为cosθcosθcosθ。
图3
d=∣u⃗∣cosθd=|\vec{u}|cos\thetad=∣u∣cosθ,cosθ=u⃗⋅v⃗∣u⃗∣∣v⃗∣cos\theta=\frac{\vec{u}\cdot\vec{v}}{|\vec{u}||\vec{v}|}cosθ=∣u∣∣v∣u⋅v ,综上,d=u⃗⋅v⃗∣v⃗∣d=\frac{\vec{u}\cdot\vec{v}}{|\vec{v}|}d=∣v∣u⋅v .
点到超平面的距离:假设x0x_0x0是超平面w⃗⋅x⃗+b=0\vec{w}\cdot \vec{x}+b=0w⋅x+b=0上任意一点,则点xxx到超平面的距离为x−x0x-x_0x−x0在超平面法向量w⃗\vec{w}w上的投影长度:
d=∣∣w(x−x0)+b∣∣∣∣w∣∣=∣∣wx−wx0+b∣∣∣∣w∣∣=∣∣wx⃗+b∣∣∣∣w∣∣d=\frac{||w(x-x_0)+b||}{||w||}=\frac{||wx-wx_0+b||}{||w||}=\frac{||w\vec{x}+b||}{||w||}d=∣∣w∣∣∣∣w(x−x0)+b∣∣=∣∣w∣∣∣∣wx−wx0+b∣∣=∣∣w∣∣∣∣wx+b∣∣
则原点到超平面的距离−b∣∣w∣∣-\frac{b}{||w||}−∣∣w∣∣b为 。
感知机的学习:由训练数据集 T={(x1,y1),(x2,y2),...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}T={(x1,y1),(x2,y2),...(xN,yN)}(实例的特征向量以及类别),其中,xi∈χ⊆Rnx_i\in \chi \subseteq R^nxi∈χ⊆Rn, yi∈Y⊆={+1,−1}y_i\in Y \subseteq =\{+1,-1\}yi∈Y⊆={+1,−1} ,i=1,2,3,...,Ni=1,2,3,...,Ni=1,2,3,...,N ,求得感知机模型,也就是求出参数www和bbb。
感知机的预测:通过学习得到的感知机模型,对于新的输入实例给出其对应的输出类别。
6.3感知机策略
给定一个数据集, T={(x1,y1),(x2,y2),...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}T={(x1,y1),(x2,y2),...(xN,yN)},xi∈χ⊆Rnx_i\in \chi \subseteq R^nxi∈χ⊆Rn, yi∈Y⊆={+1,−1}y_i\in Y \subseteq =\{+1,-1\}yi∈Y⊆={+1,−1} ,i=1,2,3,...,Ni=1,2,3,...,Ni=1,2,3,...,N 。如果存在某个超平面:
w⋅x+b=0w\cdot x+b=0w⋅x+b=0
能够将数据集的正实例和负实例完全正确地划分到超平面的两侧,即对所有yi=±1y_i=\pm1yi=±1的实例iii,有:w⋅xi+b>0w\cdot x_i+b>0w⋅xi+b>0;对所有y=−1y=-1y=−1的实例iii,有w⋅xi+b<0w\cdot x_i+b<0w⋅xi+b<0 ,则称数据集TTT为线性可分数据集(Linear separable dataset);否则,称数据集TTT线性不可分。
假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面,为了找出这样的超平面,即确定感知机模型的参数w,bw,bw,b,需要确定一个学习策略,即定义(经验)损失函数并将损失函数最小化。
损失函数的一个自然选择是误分类点的总数,但是这样的损失函数不是参数w,bw,bw,b的连续可导函数,不宜优化。损失函数的另一个选择是误分类点到超平面SSS的总距离,这是感知机所采用的。为此,首先,写出输入空间RnR^nRn中任意一点x0x_0x0 ,到超平面SSS的距离(点到直线的距离):
1∣∣w∣∣∣w⋅x0+b∣\frac{1}{||w||}|w\cdot x_0+b|∣∣w∣∣1∣w⋅x0+b∣
其中∣∣w∣∣||w||∣∣w∣∣是www的L2L_2L2范数。
其次,对于误分类点(xi,yi)(x_i,y_i)(xi,yi)来说,
−yi(w⋅xi+b)>0-y_i(w\cdot x_i+b)>0−yi(w⋅xi+b)>0
成立。因为当w⋅x0+b>0w\cdot x_0+b>0w⋅x0+b>0时 ,yi=−1y_i=-1yi=−1,而当w⋅xi+b<0w\cdot x_i+b<0w⋅xi+b<0时,yi=±1y_i=\pm1yi=±1 。因此误分点xix_ixi到超平面SSS的距离可以写成如下公式:
−1∣∣w∣∣yi(w⋅x0+b)-\frac{1}{||w||}y_i(w\cdot x_0+b)−∣∣w∣∣1yi(w⋅x0+b)
这样,假设超平面SSS的误分类点集合为MMM,那么所有误分类点到超平面SSS的总距离为:
−1∣∣w∣∣∑xi⊆Myi(w⋅x0+b)-\frac{1}{||w||}\sum_{x_i\subseteq M}y_i(w\cdot x_0+b)−∣∣w∣∣1∑xi⊆Myi(w⋅x0+b)
不考虑 1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1,则得到感知机学习的损失函数。
【注】不考虑1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1的原因.
1、1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1 恒为正,不影响−yi(w⋅xi+b)-y_i(w\cdot x_i+b)−yi(w⋅xi+b)正负的判断,也就是不影响学习算法的中间过程。因为感知机学习算法是误分类驱动的(只有当出现误分类时才去调整模型,或者说损失函数只与误分类点有关),这里需要注意的是,所谓的“误分类驱动”指的是我们只需要判断 −yi(w⋅xi+b)-y_i(w\cdot x_i+b)−yi(w⋅xi+b)的正负来判断分类的正确与否,而1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1并不影响正负值的判断,所以1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1 对感知机学习算法的中间过程可有可无。
2、1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1 不影响感知机学习算法的最终结果,因为感知机学习算法最终的终止条件是所有的输入都被正确的分类,即不存在误分类点,则此时的损失函数为0,对应于−1∣∣w∣∣yi(w⋅xi+b)-\frac{1}{||w||}y_i(w\cdot x_i+b)−∣∣w∣∣1yi(w⋅xi+b) ,即分子为0.则可以看出 1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1 对最终结果也无影响。
综上所述,即使忽略 1∣∣w∣∣\frac{1}{||w||}∣∣w∣∣1 ,也不会对感知机学习算法的执行过程产生任何影响,反而还能简化运算,提高算法执行效率。
给定一个数据集,T={(x1,y1),(x2,y2),...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}T={(x1,y1),(x2,y2),...(xN,yN)} ,xi∈χ⊆Rnx_i\in \chi \subseteq R^nxi∈χ⊆Rn, yi∈Y⊆={+1,−1}y_i\in Y \subseteq =\{+1,-1\}yi∈Y⊆={+1,−1} ,i=1,2,3,...,Ni=1,2,3,...,Ni=1,2,3,...,N 。感知机sign(w⋅x+b)sign(w\cdot x+b)sign(w⋅x+b)学习的损失函数定义为:
L(w,b)=−∑xi⊆Myi(w⋅xi+b)L(w,b)=-\sum_{x_i\subseteq M}y_i(w\cdot x_i+b)L(w,b)=−∑xi⊆Myi(w⋅xi+b)
其中,MMM为误分类点的集合,这个损失函数就是感知机学习的经验风险函数。
显然,损失函数L(w,b)L(w,b)L(w,b)是非负的。如果没有误分类点,损失函数值就是0。而且误分类点越少,误分类点离超平面越近,都会使得损失函数值越小。一个特定的样本点的损失函数:在误分类时是参数w,bw,bw,b的线性函数,在正确分类的时候是0,因此,给定训练数据集TTT,损失函数L(w,b)L(w,b)L(w,b)是w,bw,bw,b的连续可导函数。
总之,感知机学习的策略是在假设空间中选取使得损失函数式最小的模型参数w,bw,bw,b,即感知机模型。
6.4感知机学习算法
6.4.1感知机算法的原始形式
给定一个数据集T={(x1,y1),(x2,y2),...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}T={(x1,y1),(x2,y2),...(xN,yN)} ,xi∈χ⊆Rnx_i\in \chi \subseteq R^nxi∈χ⊆Rn, yi∈Y⊆={+1,−1}y_i\in Y \subseteq =\{+1,-1\}yi∈Y⊆={+1,−1} ,i=1,2,3,...,Ni=1,2,3,...,Ni=1,2,3,...,N 。求参数 w,bw,bw,b,使其为以下损失函数极小化问题的解:
minw,b(L(w,b))=−∑xi⊆Myi(w⋅xi+b)\underset{w,b}{min}(L(w,b))=-\sum_{x_i\subseteq M}y_i(w\cdot x_i+b)w,bmin(L(w,b))=−∑xi⊆Myi(w⋅xi+b)
其中,MMM为误分类点的集合。
感知机学习算法是误分类驱动的,具体采用随机梯度下降算法。首先,任意选择一个超平面w0,b0w_0,b_0w0,b0 ,然后用梯度下降算法不断极小化目标函数。极小化过程中不是一次使MMM中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
假设误分类点集合MMM时固定的,那么损失函数L(w,b)L(w,b)L(w,b)的梯度由:
▽wL(w,b))=−∑xi⊂Myixi\bigtriangledown_wL(w,b))=-\sum_{x_i\subset M}y_ix_i▽wL(w,b))=−∑xi⊂Myixi
▽bL(w,b))=−∑xi⊂Myixi\bigtriangledown_bL(w,b))=-\sum_{x_i\subset M}y_ix_i▽bL(w,b))=−∑xi⊂Myixi
给出。
随机选取一个误分类点(xi,yi)(x_i,y_i)(xi,yi),对w,bw,bw,b进行更新:
w←w+ηyixiw \leftarrow w +\eta y_ix_iw←w+ηyixi
b←+ηyib\leftarrow+\eta y_ib←+ηyi
其中,η(0<η≤1)\eta(0<\eta \leq 1)η(0<η≤1)是步长,在统计学习中又称为学习率(learning rate)。这样,通过迭代,可以期待损失函数L(w,b)L(w,b)L(w,b)不断缩小,直到为0,综上所述,得到如下算法:
算法:感知机算法的原始形式
输入:训练数据集,T={(x1,y1),(x2,y2),...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}T={(x1,y1),(x2,y2),...(xN,yN)} ,其中,xi∈χ⊆Rnx_i\in \chi \subseteq R^nxi∈χ⊆Rn, yi∈Y⊆={+1,−1}y_i\in Y \subseteq =\{+1,-1\}yi∈Y⊆={+1,−1} ,i=1,2,3,...,Ni=1,2,3,...,Ni=1,2,3,...,N ,学习率η(0<η≤1)\eta(0<\eta \leq 1)η(0<η≤1) ;
输出:w,bw,bw,b ;感知机模型f(x)=sign(w⋅x+b)f(x)=sign(w\cdot x+b)f(x)=sign(w⋅x+b) 。
(1)选取初值 w0,b0w_0,b_0w0,b0;
(2)在训练集中选取数据(xi,yi)(x_i,y_i)(xi,yi);
(3)如果yi(w⋅xi+b)≤0y_i(w\cdot x_i+b)\leq 0yi(w⋅xi+b)≤0
w←w+ηyixiw \leftarrow w +\eta y_ix_iw←w+ηyixi
b←+ηyib\leftarrow+\eta y_ib←+ηyi
(4)转至(2),直到训练集中没有误分点。
这种学习算法直观上有如下解释,当一个实例点被误分类,即位于分离超平面错误的一侧时,则调整w,bw,bw,b的值,使分离超平面向该误分类点的一侧移动,以减少误分类点与超平面之间的距离,直到超平面越过该误分类点,使其被正确分类。
感知机学习算法由于采不同的初始值(w0,b0)(w_0,b_0)(w0,b0)或者选取不同的误分类点(因为在选取误分类点的时候是随机选取的),最终解可以不同。
例1(原始形式求解)
如下图所示的训练集,真正实例点是xi=(3,3)Tx_i=(3,3)^Txi=(3,3)T ,x2=(4,3)Tx_2=(4,3)^Tx2=(4,3)T ,负实例点是x3=(1,1)Tx_3=(1,1)^Tx3=(1,1)T ,试用感知机算法的原始形式求感知机模型f(x)=sign(w⋅x+b)f(x)=sign(w\cdot x+b)f(x)=sign(w⋅x+b) 。这里,w=(w(1),w(2))Tw=(w^{(1)},w^{(2)})^Tw=(w(1),w(2))T ,x=(x(1),x(2))Tx=(x^{(1)},x^{(2)})^Tx=(x(1),x(2))T 。
图4感知机实例
解:构建最优问题: minw,b(L(w,b))=−∑xi⊆Myi(w⋅xi+b)\underset{w,b}{min}(L(w,b))=-\sum_{x_i\subseteq M}y_i(w\cdot x_i+b)w,bmin(L(w,b))=−∑xi⊆Myi(w⋅xi+b)
根据上述算法求解得到 w,b,η=1w,b,\eta =1w,b,η=1。
(1)取初值,w0=0,b0=0w_0=0,b_0=0w0=0,b0=0 ;
(2)对xi=(3,3)Tx_i=(3,3)^Txi=(3,3)T ,yi(w0⋅xi+b0)=0y_i(w_0\cdot x_i+b_0)=0yi(w0⋅xi+b0)=0,未能被正确分类,更新w,bw,bw,b
w1=w0+y1x1=(3,3)Tw_1=w_0+y_1x_1=(3,3)^Tw1=w0+y1x1=(3,3)T,b1=b0+y1=1b_1=b_0+y_1=1b1=b0+y1=1
得到线性模型
w1x+b1=3x(1)+3x(2)+1w_1x+b_1=3x^{(1)}+3x^{(2)}+1w1x+b1=3x(1)+3x(2)+1
(3)对x1,x2x_1,x_2x1,x2 ,显然,yi(w1⋅xi+b1)>0y_i(w_1\cdot x_i+b_1)>0yi(w1⋅xi+b1)>0 被正确分类,不修改 w,bw,bw,b
对 x3=(1,1)Tx_3=(1,1)^Tx3=(1,1)T, y3(w1⋅x3+b1)<0y_3(w_1\cdot x_3+b_1)<0y3(w1⋅x3+b1)<0 被误分类,更新 w,bw,bw,b
w2=w1+y3x3=(2,2)Tw_2=w_1+y_3x_3=(2,2)^Tw2=w1+y3x3=(2,2)T,b2=b1+y3=0b_2=b_1+y_3=0b2=b1+y3=0
得到线性模型
w2x+b2=2x(1)+2x(2)w_2x+b_2=2x^{(1)}+2x^{(2)}w2x+b2=2x(1)+2x(2)
如此循环下去,直到
w7=(1,1)Tw_7=(1,1)^Tw7=(1,1)T,b7=−3b_7=-3b7=−3
w7x+b7=x(1)+x(2)−3w_7x+b_7=x^{(1)}+x^{(2)}-3w7x+b7=x(1)+x(2)−3
对于所有的分类点,没有误分类点,损失函数最小。
分类超平面为:x(1)+x(2)−3x^{(1)}+x^{(2)}-3x(1)+x(2)−3
感知机模型为: f(x=sign(x(1)+x(2)−3)f(x=sign(x^{(1)}+x^{(2)}-3)f(x=sign(x(1)+x(2)−3)
迭代过程表:
表1求解的迭代过程
这是在计算中误分点先后取 得到的分离超平面和感知机模型,如果在计算中误分点依次取 ,那么得到的分离超平面是 。可知,感知机模型算法由于采用不同的初值或选取不同的误分类点,解可以不同。
【注】收敛性证明:
《Convergence Proof for the Perceptron Algorithm》
6.4.1感知机算法的对偶形式
对偶形式的基本想法是,将w和b表示为实例 和标记 的线性组合的形式,通过求解其系数而求得www和bbb。假设设初始值w0,b0w_0,b_0w0,b0均为0,。对误分类点xi,yix_i,y_ixi,yi通过
αi←αi+ηyixi\alpha_i\leftarrow\alpha_i+\eta y_ix_iαi←αi+ηyixi
b←+ηyib\leftarrow+\eta y_ib←+ηyi
逐步修改www,bbb,设修改nnn次,则w,bw,bw,b关于xi,yix_i,y_ixi,yi的增量分别是和,这里,这样从学习过程中,不难看出,最后学习得到的w,bw,bw,b可以分别表示为
∑i=1Nαiyixi\sum_{i=1}^{N}\alpha_iy_ix_i∑i=1Nαiyixi
b=∑i=1Nαiyib=\sum_{i=1}^{N}\alpha_i y_ib=∑i=1Nαiyi
其中,αi>=0\alpha_i>= 0αi>=0 ,i=1,2,...,Ni=1,2,...,Ni=1,2,...,N当η=1\eta =1η=1时,表示第iii个实例点由于误分而进行更新的次数,实例点更新的次数越多,意味着它离分离超平面越近,也就越难分类。
算法:感知机算法的对偶形式
输入:训练数据集,T={(x1,y1),(x2,y2),...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}T={(x1,y1),(x2,y2),...(xN,yN)},其中,xi∈χ⊆Rnx_i\in \chi \subseteq R^nxi∈χ⊆Rn, yi∈Y⊆={+1,−1}y_i\in Y \subseteq =\{+1,-1\}yi∈Y⊆={+1,−1} ,i=1,2,3,...,Ni=1,2,3,...,Ni=1,2,3,...,N ,学习率 η(0<η≤1)\eta(0<\eta\leq 1)η(0<η≤1);
输出:α,b\alpha,bα,b;感知机模型 f(x)=sign(∑j=1Nαjyjxj⋅xi+b)f(x)=sign(\sum_{j=1}^{N}\alpha_jy_jx_j\cdot x_i+b)f(x)=sign(∑j=1Nαjyjxj⋅xi+b)。
(1) a←0,a\leftarrow0,a←0, b←0b\leftarrow0b←0;
(2)在训练集中选取数据(xi,yi)(x_i,y_i)(xi,yi);
(3)如果 yi(∑j=1Nαjyjxj⋅xi+b)≤0y_i(\sum_{j=1}^{N}\alpha_jy_jx_j\cdot x_i+b) \leq0yi(∑j=1Nαjyjxj⋅xi+b)≤0
αi←αi+η\alpha_i\leftarrow\alpha_i+\etaαi←αi+η
b←+ηyib\leftarrow+\eta y_ib←+ηyi
(4)转至(2),直到训练集中没有误分点。
对偶形式中训练实例仅以内积的形式出现,为了方便,可以预先将训练集中实例间的内积计算出来,并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵:
G=[xi⋅xj]N×NG=[x_i\cdot x_j]_{N\times N}G=[xi⋅xj]N×N
例2(对偶形式求解)
数据同例1,使用感知机学习算法的对偶形式求解感知机模型。
解:
(1)取 αj=0\alpha_j=0αj=0i=1,2,3i=1,2,3i=1,2,3 ,b=0b=0b=0,η=1\eta=1η=1
(2)计算Gram矩阵
(3)G=[1821621257672]G=\left[ \begin{matrix} 18 & 21 & 6 \\ 21 & 25 & 7 \\ 6 & 7 & 2 \end{matrix} \right] \tag{3}G=⎣⎡1821621257672⎦⎤(3)
(3)误分条件
yi(∑j=1Nαjyjxj⋅xi+b)≤0y_i(\sum_{j=1}^{N}\alpha_jy_jx_j\cdot x_i+b) \leq0yi(∑j=1Nαjyjxj⋅xi+b)≤0
参数更新
αi←αi+1,b←+yi\alpha_i\leftarrow\alpha_i+1,b\leftarrow+y_iαi←αi+1,b←+yi
(4)迭代,对于x1=(3,3)T,yi(0∗yix1⋅x1+b0)=0x_1=(3,3)^T,y_i(0 *y_ix_1\cdot x_1+b_0)=0x1=(3,3)T,yi(0∗yix1⋅x1+b0)=0,未被正确分类,更新α,b\alpha,bα,b
此时α1=0,α2=0,α3=0,b=0\alpha_1=0,\alpha_2=0,\alpha_3=0,b=0α1=0,α2=0,α3=0,b=0
α1=α1+1,b=b+1,\alpha_1=\alpha_1+1,b=b+1,α1=α1+1,b=b+1,
因此α1=1,α2=0,α3=0,b=1\alpha_1=1,\alpha_2=0,\alpha_3=0,b=1α1=1,α2=0,α3=0,b=1
yi(∑j=13αjyjxj⋅xi+b)=(α1y1x1+α2y2x2+α3y3x3)x+b=(α1y1x1)⋅x+b=(3,3)T⋅x+1y_i(\sum_{j=1}^{3}\alpha_jy_jx_j\cdot x_i+b) =(\alpha_1y_1x_1+\alpha_2y_2x_2+\alpha_3y_3x_3)x+b =(\alpha_1y_1x_1)\cdot x+b =(3,3)^T\cdot x +1yi(∑j=13αjyjxj⋅xi+b)=(α1y1x1+α2y2x2+α3y3x3)x+b=(α1y1x1)⋅x+b=(3,3)T⋅x+1
如此循环下去,结果如表2.
(5)
w=2x1+0x2−5x3=(1,1)Tw=2x_1+0x_2-5x_3=(1,1)^Tw=2x1+0x2−5x3=(1,1)T
b=−3b=-3b=−3
分类超平面为:
x(1)+x(2)−3=0x^{(1)}+x^{(2)}-3=0x(1)+x(2)−3=0
感知机模型为:
f(x)=sign(x(1)+x(2)−3)f(x)=sign(x^{(1)}+x^{(2)}-3)f(x)=sign(x(1)+x(2)−3)
迭代过程如下:
表2迭代过程
对照例1,结果一致,迭代步骤相互对照,且解也有多个。
参考文献:
[1]统计学习方法,李航
《人工智能》机器学习 - 第6章感知机模型(一 理论讲解)相关推荐
- 机器学习(第二章)—— 模型评估
目录 一.评估指标的局限性 二.ROC曲线 三.余弦距离的应用 四.A/B测试的陷阱 五.模型的评估方法 六.超参数优化 七.过拟合与欠拟合 准确率的局限性 精确率与召回率的权衡 平方根误差的&quo ...
- 《机器学习》 —— 第二章:模型评估与选择 学习笔记
2.1 经验误差与过拟合 把分类错误的样本数占样本总数的比例称为"错误率"(error rate),即如果在m个样本中有a个样本分类错误,则错误率E=a/m:相应的,1-a/m称为 ...
- 机器学习中的集成学习模型实战完整讲解
2019-12-03 13:50:23 集成学习模型实践讲解 --沂水寒城 无论是在机器学习领域还是深度学习领域里面,通过模型的集成来提升整体模型的性能是一件非常有效的事情,当前我们所接触到的比较成熟 ...
- 【人工智能系列经典图书翻译】可解释机器学习(第二版) 第8章 全局模型无关方法
第 8 章 全局模型无关方法 全局方法描述了机器学习模型的一种惯例做法.与全局方法相对应的是局部方法.全局方法通常表示为基于数据分布的预期值.例如,部分依赖图是一个特征效应图,是所有其他特征都被边缘化 ...
- 机器学习历程——人工智能基础与应用导论(8)(神经网络——感知机模型)
一.概念 1.感知机模型--线性分类器,用于二分类问题.(正类+1.负类-1) 2.物理意义 将输入的空间划分为正负两类分离超平面y={+1,-1}. 3.定义函数 f(x) = sign(wx+b) ...
- 一篇详解带你再次重现《统计学习方法》——第二章、感知机模型
个性签名:整个建筑最重要的是地基,地基不稳,地动山摇. 而学技术更要扎稳基础,关注我,带你稳扎每一板块邻域的基础. 博客主页:七归的博客 专栏:<统计学习方法>第二版--个人笔记 创作不易 ...
- 今日机器学习概念:感知机模型
点击上方"AI有道",选择"设为星标" 关键时刻,第一时间送达! 感知机模型是机器学习二分类问题中的一个非常简单的模型.它的基本结构如下图所示: 感知机的运算过 ...
- 机器学习第四章之逻辑回归模型
逻辑回归模型 4.1 逻辑回归模型算法原理 4.1.1 逻辑回归模型的数学原理(了解) 4.1.2 逻辑回归模型的代码实现(重要) 4.1.3 逻辑回归模型的深入理解 4.2 案例实战 - 股票客户流 ...
- 机器学习(周志华) 参考答案 第十四章 概率图模型 14.9
机器学习(周志华西瓜书) 参考答案 总目录 http://blog.csdn.net/icefire_tyh/article/details/52064910 机器学习(周志华) 参考答案 第十四章 ...
最新文章
- 在nodejs中的集成虹软人脸识别
- TensorFlow 对数据集标记的xml文件解析记录
- 《OpenGL ES应用开发实践指南:Android卷》—— 2.2 不要从头开始
- Redis服务器的启动过程分析
- 各种与视频编解码以及视频图像处理的应用相关的新技术,新方法,各种软件开发相关的算法,思想。...
- Eclipse汉化插件
- ios 给网页传值_iOS开发—页面传值汇总
- 如何在RedHat 5.4上使用免费的YUM源
- 华为NP课程笔记26-VXLAN概述
- SpringBoot更换Apache Log4 2.15.0-rc2j漏洞补丁
- java生成二维码,并在前端展示。
- 小米开盘大跌超 5 % ;今日头条或联合网易做游戏;YurunHttp 3.0 发布 | 极客头条...
- Re:从零开始的领域驱动设计
- php报错:PHP Startup Unable to load dynamic library
- 【论文学习】UPHDR-GAN: Generative Adversarial Network forHigh Dynamic Range Imaging with Unpaired Data
- 堪称完美,仅用了330页直接封神,被大家吹爆的RocketMQ笔记
- 福州大学计算机网络技术实验室,实验室提升福州大学网络实践教学能力
- numpy的unwrap函数
- 基于java的企业合同管理系统的设计及开发
- AABB是否和视锥体相交