您的位置:首页 > 其它

林轩田机器学习基石及技法课程中线性分类器的总结

2017-10-22 10:34 330 查看
概述

什么是机器学习

机器为什么可以学习

如何提高机器学习性能
正则方法

交叉验证

常见线性分类器及其关系
PLA 以及pocket演算法

linear soft-margin

svm

linear SVR

linear ridge regression

总结

to be continue

概述

在林老师的机器学习课程中,我觉得受益最多的是将机器学习中的原理背景以及推导过程进行了详细描述。这里就简单总结下,不足之处还望多多拍砖。

什么是机器学习

机器学习本质是从一堆资料中提取技能。如下图:



整个的学习流程如下:

以信用卡是否通过为例,我们拿到一堆样例资料,假设这堆资料来自一个方法,或者一个概率分布(如果有noise的情况,我们可以将样例假设为来自一个概率分布)。通过这堆资料,在假设空间中,找到一个假设模型,通过这个假设模型进行判断是否通过信用卡进行预测。机器学习的目的就是要使得我们在假设空间中找到的那个模型使得其更加的接近原始的样例的概率分布或者函数。我们的假设空间可以是一个线性模型,比如在特征空间中的所有线条,或者一堆树,找到一棵树。



机器为什么可以学习

机器学习什么时候是不可行的,天下没有免费的午餐:

如下图所示:假设我们的特征空间x由三个bit来决定,那么会有23种样本,输出只有2种,对应的假设空间中有28种函数。如下图所示,x给出5对样例,那么我有8个函数是可以与样例完全匹配的,就是说在256个函数中有8个函数做到误差为0,那么到底哪一个函数才是产生样例的函数呢?这个就没有办法得知了,这就是机器学习不可为之处。本质就是机器学习的复杂度相对样本量多,这个时候机器学习无法工作。



机器学习为什么会工作?本质来说就是通过已有的资料总结出规律,用于未来数据的预测等等。就像我们如何得知大选的结果,一般会采用抽样的方式。这里要讲到一个不等式:霍夫丁不等式,如下:



霍夫丁描述的本质是:如果样本数据和原始数据来自同样的分布,那么从样本是差不多能学习到东西的。



这只是对一个假设函数,如果一个算法在一个假设空间中有多个函数,那么有的算法就就会在一个样本空间中碰巧使得误差很小。



对于像多个假设函数的时候,霍夫丁不等式如下,及时我们遇到最差的样本数据,霍夫丁不等式也会工作,这里描述到vc维,简单的可以想成算法的复杂度。大家有兴趣可以参考:https://en.wikipedia.org/wiki/VC_dimension





上图给我们的信息就是随着vc维的增加,就是模型越来越复杂,比如从lr到gbdt再到深度神经网络,我们能够使得样本的误差越来越小,但是在样本外的误差会先变小然后变大。这就是从欠拟合到过拟合的一个过程。这里就要找到最好的那个模型复杂度。

所以我们要想算法在未来的样例中表现好,不是一味的提升在样本中的误差。而是要算法在未来样本中表现好。

如何提高机器学习性能

从上节中已经得知了单纯的提高算法复杂度,提升样本的误差是没有用的。这样会导致过拟合的发生,如何防止呢?

正则方法

正则方法本质是通过限制模型的复杂度,来使得算法在未来样本表现更好,是防止过拟合的一种方法。比如linear ridge regression 算法,就是岭回归算法。

交叉验证

常见线性分类器及其关系



如上图所示:

PLA 以及pocket演算法

感知机方法应该是最简单的线性分类器了。而pocket算法是在无法线性可分的情况下找到一条使得误差最小的线。传统的感知机算法误差就是0,如果线性可分的话。但是很多情况都不是线性可分的,所以采用pocket算法。不过这种算法性能表现不咋地,一般不采用的。

可以参考:http://blog.csdn.net/cqy_chen/article/details/76783261

linear soft-margin

svm

linear SVR

线性的SVR其实就是把SVM的结果当做regression,

linear ridge regression

线性的岭回归算法,

#

总结

to be continue

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习
相关文章推荐