机器学习 The optimal margin classier
来源:互联网 发布:淘宝投诉卖家后没用啊 编辑:程序博客网 时间: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 classier(2)
http://blog.csdn.net/cuihuijun1hao/article/details/72084804
- 机器学习 The optimal margin classier
- 机器学习 The optimal margin classier(2)
- 机器学习 The optimal margin classier(3)
- [Coursera机器学习]Multi-class Classication and Neural Networks WEEK4编程作业
- 斯坦福大学机器学习作业题Problem Set #2 Spam classication
- 机器学习基石 8.4 Weighted Classification
- 机器学习技法-4-Soft Margin Support Vector Machine
- 机器学习技法 笔记四 Soft-Margin Support Vector Machine
- 机器学习笔记 - Hard-Margin Support Vector Machine
- 机器学习技法-01-2-Large-Margin Separating Hyperplane
- 机器学习技法-01-5-Reasons behind Large-Margin Hyperplane
- 机器学习技法-01-3-Standard Large-Margin Problem
- 机器学习技法-Soft-Margin Support Vector Machine
- 支持向量机笔记(三) optimal margin classifiers
- 台湾大学林轩田机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine
- 机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine
- ER-学习笔记-特化&泛化
- 机器学习之&&SVM支持向量机入门:Maximum Margin Classifier
- USE OF PERSONAL COMPUTER(PC)
- 关于mongodb的学习
- 如鹏java学习进程 String数组转换Int数组
- mysql多实例配置和主从配置
- Inside Bar
- 机器学习 The optimal margin classier
- Python 2.x中常见字符编码和解码方面的错误及其解决办法 总结
- 数组中的最长连续序列---dp实现
- Hibernate架构
- 勒索病毒来袭!及时备份数据吧!
- 深度学习经验总结
- myeclipse 工具点击close all 项目不再图形化界面,怎么调出来
- Android学习五 网络编程与handler消息机制
- u-boot环境变量与内核MTD分区关系[转载]