《西瓜书笔记》(1)机器学习概述
什么是机器学习?《西瓜书》指的是周志华老师的《机器学习》著作
机器学习致力于通过计算的手段,利用经验来改善系统自身性能的学科
经验通常是以“数据”的形式体现,或者上一次训练的错误
机器学习的本质任务是预测。
学习任务的分类:若我们预测的是离散值,如西瓜是好瓜还是坏瓜,此类学习任务是分类若我们预测的是连续值,如西瓜的成熟度,此类学习任务是回归若西瓜本身没有任何标签(好的,坏的,浅色的,深色的等),我们根据潜在的概念划分,此类学习任务是聚类
根据训练数据是否有标签,可以将学习任务大致分为监督学习(分类,回归)和无监督学习(聚类)
机器学习实际上是“归纳学习”归纳和演绎是科学推理的两大基本手段归纳:特殊到一般——泛化过程演绎:一般到特殊——特化过程
机器学习这种“从样例中学习”的过程是属于归纳学习
问题:归纳学习的结果唯一吗?答案是不唯一的。可能存在很多种假设都会与训练集的样本完全符合那选择哪一个呢?这就看归纳偏好了归纳偏好任何一个有效的机器学习算法都会有其归纳偏好,如果接受训练集上两个等效的假设,那么在测试集上就无法产生确定的结果。
归纳偏好的本质:确定那个模型更好
问题:如何选择那个模型更好呢?哪个更好其实是一个“价值观”的问题,“奥卡姆剃刀”是一种常用的基本原则:若多个假设与观察一致,选择最简单的那个如我们认为“更平滑”为“更简单”,如下图,那我们应该选择A(实线)的模型,而不是B(虚线)
两个算法的比较问题:刚刚根据“奥卡姆剃刀”原则选择A模型,但A模型一定就比B模型好嘛?万一出现下图的情况呢?
加入测试数据——白色点为测试数据此时NFL定理(No Free Lunch Theorem :天下没有免费的午餐)给了我们启发:如果所有“问题”出现的机会相等、或所有问题同等重要(前提),学习算法的期望性能相等(结果)。也就是说如果未来所有事情可能出现的所有情况都是等可能的,那预测就没有任何意义了NFL定理给我们的启发:
脱离具体问题,空泛谈论“什么学习算法更好”毫无意义算法的优劣是相对的学习算法的归纳偏好与实际问题匹配是解决问题的核心NFL定理的推导假设:
样本空间基于训练数据X产生假设h的概率则在训练集之外的所有样本上的误差为
训练集之外的所有样本上的误差对于二分类问题,设f为真正的分类函数,可能f有多个。假设其均匀分布,那么对于某个算法a,它在训练集以外的所有样本的误差就可以表示成:
训练集以外的所有样本的误差由乘法分配率可以化为:乘法分配率化简后由于f均匀分布,则有一半的f对x的预测与h(x)不一致·,上式中最后一项可以被化简:
一半的f对x的预测与h(x)不一致又由全概率公式,或者说概率的可列可加性,下面这一项(上式中间那一项)其实等于1
概率的可列可加性如此一来,a就在公式中消失了,于是最后的结果就是:
最后的结果所以说无论是什么算法,它在训练集以外所有样本上的误差都是上式表示的结果。这就是NFL定理的推导。
机器学习的发展二十世纪五十年代中后期,基于神经网络的“连接主义”出现
六七十年代,基于逻辑表示的“符号主义”出现
二十世纪八十年代,“从样例中学习”的一大主流是符号学习主义,其中包括决策树和基于逻辑的学习
二十世纪九十年代“从样例中学习”的另一主流技术——基于神经网络的连接主义通过解决NP难题(“流动推销员”)又一次引起人们的关注
二十世纪九十年代中期,“统计学习”闪亮登场并迅速占据主流舞台,代表技术有支持向量机(SVM)
二十一世纪初,连接主义学习又卷土重来,掀起“深度学习”浪潮
···
知道大家可能对历史不太感兴趣,上面也是只列举了一下比较重大的突破节点,从中可以看出不同流派的螺旋式发展构成了我们现在的机器学习的学科领域。
参考http://www.jianshu.com/p/cbe8e0fe7b2c
开源最前线(ID:OpenSourceTop) 猿妹综合整理
西瓜书《机器学习》是机器学习的必读书籍。作为该领域的入门教材,在内容上尽可能涵盖机器学习基础知识的各方面。 适合大学三年级以上的理工科本科生和研究生,以及具有类似背景的对机器学 习感兴趣的人士
虽然周志华教授已经尽可能少地使用数学知识,但是,还是没法避免必要的数学知识填充,基础较为薄弱的学生仍然觉得不好理解,这里猿妹和大家推荐一份《机器学习》的学习笔记——Machine-learning-learning-notes
这份笔记出自一名叫Vay-keen的深圳大学学生,该笔记记录了其在学习这本书的过程中的理解思路以及一些有助于消化书内容的拓展知识。
目前,这份笔记已经在Github上获得 1421 个Star,360 个Fork,共提交了 24 次commits(Github地址:https://github.com/Vay-keen/Machine-learning-learning-notes)
笔记共分为17个部分,笔记的前一部分主要是对机器学习预备知识的概括,包括机器学习的定义/术语、学习器性能的评估/度量以及比较,之后将主要对具体的学习算法进行理解总结。
笔记详细到什么程序呢?这里我们附上一小段笔记展示:
线性回归
回归就是通过输入的属性值得到一个预测值,利用上述广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而进行分类呢?线性几率回归正是研究这样的问题。对数几率引入了一个对数几率函数(logistic function),将预测值投影到0-1之间,从而将线性回归问题转化为二分类问题
若将y看做样本为正例的概率,(1-y)看做样本为反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。因此这个模型称为“对数几率回归”(logistic regression),也有一些书籍称之为“逻辑回归”。下面使用最大似然估计的方法来计算出w和b两个参数的取值,下面只列出求解的思路,不列出具体的计算过程
最常见的性能度量
在回归任务中,即预测连续值的问题,最常用的性能度量是“均方误差”(mean squared error),很多的经典算法都是采用了MSE作为评价函数,想必大家都十分熟悉。
在分类任务中,即预测离散值的问题,最常用的是错误率和精度,错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例,易知:错误率+精度=1。
下一篇:一键GHOST硬盘版怎么用
发表评论