机器学习 The optimal margin classi er

来源:互联网 发布:淘宝投诉卖家后没用啊 编辑:程序博客网 时间:2024/06/14 18:18

这个是机器学习中接触支持来向量的时候,首先接触的是知识。
主要思想是,我们对于样本二分类,我们希望找到这样一个平面(超平面):样本的 geometric margin 最大的,其实就是在样本中离超平面的最近的点,然后使得这个最近的点的 geometric margin 最大。

首先我们需要明白一些概念。

function margin and geometric margin ,what is that ?
Function Margin :
我们以sigoid函数为例子,想象一下我们的sigmoid函数,是一个s形的,当我们的自变量远大于0的时候,我们的函数就越接近于1,在logistic regression 中就是,我们能够更加 肯定地说 这个是属于类1的!同理当自变量远小于0的时候我们就可以 非常肯定 这个是属于类0的。 这个就是 function margin 定义的来源啦
function margin 定义中,对y的定义稍微有些区别,y有两种状态,分别是1 和 -1
那么在这里就岔开一下话题,来讨论一下这样做的意义
我们知道在逻辑回归中,y的取值是0或者1,因为那样做的原因是因为,当我们把伯努利方程用 广义线性模型来表示的时候,就会得到用sigmoid函数来表达概率的函数,说白了就是因为 概率的取值是在0和1之间吗
那我们在function margin 把y的值设置在 1 和 -1 之间的原因,是因为我们为了计算最大值。我们在后面会看到,function margin是跟geometric margin 转化来求最大距离的,我们在设置 1和-1之后,我们只要让这个值 达到最大就可以。
我们把function margin定义为:
这里写图片描述
由此我们能看到,如果y等于1 我们为了使得function margin更大,我们要让wTx + b更大,这就意味着 我们队 数据预测更加准确。y等于-1的时候,也是同理。所以我们在数据集上让 function margin 最大就可以了,也就是说调参数,wT 和 b 找出让 function margin 最大。
但是这个时候,问题就出现了,我们之前说 我们队 数据预测更加准确是 在参数不变的情况,对不同的自变量来说的,但是如果我们一旦进入调参的步骤,我么会发现,function margin不能解决什么问题,因为我们可以把wT 和 b 随意扩大任何倍数,function margin 会跟着变大同样的倍数,这对我们预测数据是没有任何帮助的。
所以啊!!我们由此就 引入了 geometric margin的概念。
首先我们必须有一个框架,就是geometric margin的是为了帮助找到最大的 function margin的 (这里的最大要加引号,不是单纯意义的扩大wT 和 b)
先来看一个图:
这里写图片描述

我们定义: 图中 A 到B的距离就是 geometric margin。现在我们用数学公式,来表示这段距离。
图中的w方向的向量是超平面的法向量,这个好理解,就是对超平面进行一阶偏导形成的向量,而在这里我们需要注意的是,我们把超平面梯度方向的那一侧 y值定义为1 ,相反方向为-1。这个只是一种定义,不需要追究为啥,这个是规定的!!!
图中的B点是过A点到超平面的垂点。 (插入:汉语是方便,一个垂点就可以省去很多文字描述)
由此,我们就可以得到B的坐标表示:
这里写图片描述
又由于,B是在分界线上, 所以把B的坐标代入y的表示方程,应该是等于0 即wT x + b = 0.
这里写图片描述

最终geometric margin 的表达式是这样
这里写图片描述
看着很像是 function margin,其实就是分母上多了||W||
由于上面是我们计算y =1 的情况,把 y = -1的情况也包含进来,我们的最终的 geometric margin 是如此表示:
这里写图片描述
而 geometric margin 我们能够注意到,当我们在对w,b进行参数调整的时候,单纯放大倍数是不会影响 值得,这就解决了我们在 function margin中所遇到的问题了

我们从上述中引入了function margin 和 geometric margin之后,我们就可以开始讨论优化的问题了。

到目前为止,我们的结论是,我们就是要让geometric margin 达到最大就可以了
比如这样:
这里写图片描述
但是,我们并不建议这么做,因为对于 ||W|| = 1 来说,不是一个凸集合。注意:在看这部分内容之前,还需要补充一下 凸函数以及凸集合的概念。

我们用function margin来表示
这里写图片描述
这样我们就解决了||w|| = 1 这样的问题

这里写图片描述

这里写图片描述

这样我们就得到了凸函数 以及 凸集合。这样我们就可以尝试用 梯度下降或者 用QP code

上述问题是 我们怎么优化w来获得最优解的问题,但是这种算法往往会比较复杂,想象一下如果一个特征值是1000多个,那w向量长度就是1000,我们接下来也讲的方法就是对这一问题的改进。
记住这个框架!我们接下来的算法是为了改进这上面这个算法,为了提高效率的,以我目前的理解,这个其实就是降维,由于后面的降维内容还没看,先就把观点抛在这

接下来的内容在
机器学习 The optimal margin classi er(2)
http://blog.csdn.net/cuihuijun1hao/article/details/72084804

0 0
原创粉丝点击