您的位置:首页 > 其它

《统计学习方法》-感知机模型学习笔记

2017-09-16 09:46 260 查看
用简单的方法学习
——北北


感知机模型描述

这一部分主要介绍感知机是什么?

假设输入空间(输入空间即为特征空间,由实例的各种特征组成)是χ⊆R*,输出空间是Y={-1,+1}。当输入x∈χ表示实例的特征向量,对应于输入空间(特征向量)的点,输出y∈Y表示实例的类别。由输入空间到输出空间的如下函数:

f(x)=sign(w⋅x+b)

其中,w和b为感知机模型,w∈R*叫做权值或权值向量(在多数情况下,w是一个列向量),b∈R叫做偏置。

Tips:

(1)w·x表示w和x的内积,若w=(w1,w2,w3),x=(x1,x2,x3),则

w⋅x=∑wi⋅xi=w1⋅x1+w2⋅x2+w3⋅x3

(2)sign(x)是一个符号函数,它根据x的输出1或-1

感知机是一种线性分类模型,属于判别模型,其几何解释是线性方程w⋅x+b=0对应于特征空间的一个超平面S(二维情况下,该线性方程退化为一条直线),其中,w是超平面的法向量,b是平面的截距(如果是二维情况下,b就是在坐标轴上的截距),这个超平面将特征空间分为两部分,位于两部分的点分别被分为正负两类。因此,超平面称之为分离超平面(二维情况下是分割线)。



感知机学习策略

这一部分主要介绍如何衡量模型中的参数的好坏。

感知机学习的目标是求得一个能够将训练集正实例和负实例完全正确分开的分离超平面,为在这个寻找超平面的过程中(即确定感知机模型参数w,b),就需要衡量每次得到的模型参数的好坏,那么如何衡量呢?而通常使用损失函数来度量预测值与真实值之间的差距。于是我们在求最好的模型参数就相当于求极小化的损失函数。

再想想感知机的学习目标(将正实例和负实例完全正确分开),如果把分错了类型的点(误分类点)的多少作为衡量呢?效果会怎么样?这样的话,如果模型参数差,那么分错的点就很多,如果模型参数好的话,分错的点就很少,貌似有点道理。但是把误分类点的总数作为损失函数的话,此时的损失函数不是参数w,b的连续可导函数,所以不能直接使用误分类点总数。有没有办法将误分类总数转化为其他的衡量方式呢?于是想到将误分类点到超平面的S的总距离作为损失函数,而就是感知机的学习策略。

首先,输入空间R*中任意一点x0到超平面S的距离可以表示成:

d=1||w|||w⋅x0+b|Tips:

(1)对这个公式的理解可以来源于中学的点到平面的距离公式,

d=|Ax0+By0+Cz0+D|A2+B2+C2−−−−−−−−−−−−√公式中的平面方程为Ax+By+Cz+D=0,点P的坐标(x0,y0,z0),d为点P到平面的距离。

(2)||w||是w的l2范数,即:||w||=w12+w22+...+wn2−−−−−−−−−−−−−−−−−√这个形式看着像传统点到平面公式的分母,实际上,它就是距离公式中的分母,在传统的公式中,分母是各个变量前面系数的平方和开根号,而现在对于超平面:w·x+b=0,变量前面的系数是w,且w是个向量,这就是公式中||w||的由来。同理,公式中的b相当于传统公式中的D。

接下来我们来想想如何打开绝对值得问题,对于误分类的数据(xi,yi)来说,−yi(w⋅xi+b)>0总是成立的,因为当w·xi+b>0时,yi=-1;当w·xi+b<0时,yi=1。故误分类点到超平面的距离是−1||w||⋅yi⋅(w⋅xi+b)

假设误分类点的集合为M,则所有误分类点到超平面S的总距离为−1||w||∑yi⋅(w⋅xi+b)其中,xi∈M。若不考虑1||w||,就得到来感知机学习的损失函数:L(w,b)=−∑yi⋅(w⋅xi+b)

其中,xi∈M。

感知机学习算法
这一部分主要介绍如何找到最好的参数,主要有原始形式的算法和对偶形式的算法。

原始形式



对偶形式(未完待续)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息