统计学习方法-第二章

第二章:感知机算法

  • 感知机是二分类的线性模型,输入实例的特征向量,输出实例的±类别。模型表达如下:
    这里写图片描述
    w·x表示向量w和x的内积。sign是一个映射函数,由线性变换到输出空间(+1,-1)的一个映射。这个映射函数是 这里写图片描述,当w*x+b>=0,y=+1,否则y取-1.

  • 感知机的学习策略
    如果给定一个数据集,如果存在某个超平面S:w·x+b=0,能够将数据集中的正样本点和负样本点全部分开,及全部正确划分到超平面两侧,则这个数据集是线性可分的,否则是线性不可分的。感知机模型假设数据集线性可分。
    为了在空间中找出这样一个超平面,我们需要制定一些规则或者策略,来找到并调整。通常都是确定一个损失函数,感知机模型的损失函数是误分类点到超平面S的总距离。那首先就要知道怎么去表示一个特征点到超平面的距离,我们知道二维平面中点到直线的距离公式为这里写图片描述,其中直线方程为Ax+By+C=0,点P的坐标为(x0,y0),我们可以类比到超平面中,超平面的方程是<w,x>+b=0,注意这里的w,x都是向量表示,一个样本点用Xi表示,则这个样本点到超平面的距离可以表示为这里写图片描述,||w||为w的L2范数,所谓L2范数,指的是向量各元素的平方和然后求平方根(长度),类似于上式中的分母,都是权重中每个元素的平方和开根号。
    如果一点被正确划分,则|w*xi+b|=yi(w*xi+b),若该点被错误分类,则
    |w*xi+b|= - yi(w*xi+b),因此一个误分类点到超平面的距离可以表示成这里写图片描述,假设所有误分类点构成集合M,那么所有误分类点到超平面S的总距离为这里写图片描述,分母是一个二范数肯定是一个正的常数,所以可以先不考虑分母,那么就得到了感知机学习的损失函数:这里写图片描述
    有了损失函数后,就可以随机确定一个超平面(随机初始化w和b,记做w0,b0),然后遍历所有样本点,对于被这个超平面错误分类的点用梯度下降法不断极小化目标函数,即在梯度的反方向上更新参数w和b,那么就要求出损失函数关于参数w,b的梯度,如下所示:
    这里写图片描述,这里的w,b都是向量形式,具体求的时候假如xi被错误分类,更新w的时候只是更新的w向量中的xi。如下所示:这里写图片描述,这里的+号是因为要沿着梯度的反方向更新(可以看上面的梯度是带-号的,加上梯度的反方向就变成了正的),式子中的η是学习速率,梯度只是决定下一步该往哪个方向走更好,而每一步走多远即步幅多大由η决定。通过这样的一次迭代后(一次迭代是更新w权重向量的一次过程,要遍历所有样本点),可以调整超平面同时也使得损失函数变小,当调整若干次之后,损失函数会变小到0,这时候的超平面就可以正确分类所有的样本点了。
    -感知机学习算法的对偶形式
    上面的感知机的表达是其原始形式,其有一个特点就是在多维空间中运算量很大,因此提出了它的对偶形式的表达,所谓对偶就是从另一个不同的角度去解答相似问题,但是问题的解是近似的,甚至是一样一样的。对偶形式不仅可以简化计算量还有很多优良的性质,在后面的SVM的学习中也会用到对偶形式的表达。
    上面提到对误分类点(xi,yi)可以通过这里写图片描述来逐步修改参数w,b。假如最终修改了m次,则最终的w和原始的w0相比,增加了miηxiyi。令αi=miη,则这个增量可以表示成αixiyi,最后学习到的w,b可以表示成这里写图片描述,α表示误分次数是一个向量。如果一个误分类样本点更新次数越多,则它离分类超平面越近,越难正确分类,可以理解为稍微动一下就会影响其分类正确性。总结一下感知机算法的对偶形式的表达,其实只是w的表达形式不同了:
    这里写图片描述
    误分类点的表示及权重的更新如下:
    这里写图片描述

  • 下面用书上的一个例子具体解释一下上面的公式:三个样本,正样本是这里写图片描述,负样本是这里写图片描述
    (1),按照书上的说法,初始化w=(0,0,0),b=0,α=(0,0,0),学习速率η=1.
    (2)因为上面出现了內积,假如x1被错误分类,则需要求出內积(x1,x1),(x2,x1),(x3,x1),这些样本确定后就是死的,没必要每次都求,所以可以提前把这些值都求出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵(坚决反对八股形式的表达。。不过该有的术语还是要有的,这个知道就可以了),就是先计算出各个样本的点积,然后列到矩阵内,就可以减少重复计算了。对于上面三个样本点计算出来的Gram矩阵是这里写图片描述.
    对于样本x1,计算这里写图片描述,满足<=0的条件,所以x1是被误分的,更新α0=α0+η=1,b=b+ηy1=1;依次类推对于x2,计算出来=22没有被误分,不用更新α2,对于x3,计算出=7,所以不用更新。至此遍历完所有的样本,一次迭代完成,α更新为(1,0,0),b=1.按照这个过程迭代多次直到所有样本都正确分类(计算出来都是>0),下面列出迭代直至收敛的过程
    这里写图片描述

  • 注意:原始形式与对偶形式得到的解是不唯一的,及在多维空间中存在多个这样的超平面,可以把样本点分开,那么到底哪一个才是最好的超平面呢?由此就可以引出二分类的最大间隔分类器的SVM问题了。

部分参考:http://www.crocro.cn/post/268.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值