写在最前面
如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习(参考《机器学习/深度学习入门资料汇总》),现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了对书中核心及重点内容进行记录,同时,也会增加自己的理解,包括过程中的疑问,并尽量的和实际的工程应用和现实场景进行结合,使得知识不只是停留在理论层面,而是能够更好的指导实践。记录笔记,一方面,对于自己,是对先前学习过程的总结和补充。 另一方面,相信这个系列学习过程的记录,也能为像我一样入门机器学习和深度学习同学作为学习参考。
基本术语
在学习过程中,最让人觉得枯燥的内容之一便是[术语]了。[术语]对内容或原理做了抽象和概括,所以开始的时候不容易接受,并且容易混淆。但术语又很神奇,掌握了术语后,发现对很多复杂的原理或流程进行表述变得容易。最重要的是,当自己能够自如的听懂术语并使用术语时,自己也不知不觉的从“外行”变成了“内行”(脑补《智取威虎山》的场景:“天王盖地虎”,“宝塔镇河妖”)。下面我们会实际的场景出发,这样术语的理解和消化也会变的容易。
《机器学习》这本书的封面是一堆西瓜,而书中的大多数方法和模型也是以西瓜的例子进行展开和分析的。这个西瓜的例子很简单,就是给你一堆西瓜的已知特征如(色泽、根蒂、敲声),来判断西瓜的未知特性,如是否成熟或成熟程度。
- 数据集
西瓜的已知特性集合(如色泽、根蒂、敲声,以及是否成熟或成熟程度); - 特征向量
把数据集中的特征用向量表示; - 维数
特征的个数; - 分类
判断好瓜还是坏瓜(离散值); - 回归
判断成熟程度(连续值,如成熟度为0.98); - 聚类
将西瓜自动分为“本地瓜”,“外地瓜”(“本地瓜”和“外地瓜”这些概念我们事前是不知道的); - 监督学习
训练数据有标记信息(如分类、回归) - 无监督学习
训练数据没有标记信息(如聚类) - 独立同分布
假设样本空间中全部个体样本都服从一个未知的分布,同时,每个样本都是独立的从这个分布上采样获得的;
归纳偏好
任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上的等效假设所迷惑,而无法产生确定的学习结果。
归纳偏好的一个一般性原则便是“奥卡姆剃刀”。它是一种常用的、自然科学中最基本的原则,即“若有多个假设与观察一直,则选最简单的那个”
“没有免费午餐”定理(No Free Lunch Theorem,简称NFL定理)说明所有的学习算法的期望性能是相同的。我们只关注自己正在解决的问题,希望为它找到一个解决方案,至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案,我们并不关心。脱离具体问题,空泛谈论“什么学习算法更好”毫无意义。
发展历程
主流技术演进:
- 二十世纪八十年代-符号主义学习
代表包括决策树和基于逻辑的学习。但由于学习过程面临的假设空间太大、复杂度极高,因此,问题规模稍大就难以有效进行学习,九十年代中期后这方面的研究相对陷入低潮; - 二十世纪九十年代中期之前-基于神经网络的连接学习
连接主义在二十世纪五十年代取得了大发展,同时也遇到了很大的障碍,如图灵得主M.Minsky和S.Papert在1969年指出,(当时的)神经网络只能处理线性分类,甚至对“异或”这么简单的问题都处理不了。1983年,J.J Hopfield利用神经网络求解“流动推销员问题”这个著名的NP难题取得重大进展,使得连接注意重新受到人们关注。1986年,D.E. Rumelhart等人重新发明了著名的BP(反向传播)算法,产生了深远影响。神经网络学习过程涉及大量参数,而参数的设置缺乏理论指导,主要靠手工“调参”;夸张一点说,参数调节上失之毫厘,学习结果可能谬以千里。 - 二十世纪九十年代中期-统计学习
代表性技术是支持向量机以及更一般的核方法。这方面的研究早在二十世纪六七十年代就已开始。统计学习与连接主义学习有密切的联系。支持向量机被普遍接受后,核技巧(kernel rick)被人们用到了机器学习的几乎每个角落,核方法也逐渐成为机器学习的基本内容之一。 - 二十一世纪初-深度学习
深度学习,狭义的说就是“很多层”的神经网络。深度学习虽然缺乏严格的理论基础,但它显著的降低了机器学习应用者的门槛,为机器学习技术走向工程实践带来了便利。深度学习火热有两个基本原因:数据大了、计算能力强了。深度学习模型拥有大量数据,若数据样本少,则很容易“过拟合”;如此复杂的模型,如此大的数据样本,若缺乏强力计算设备,根本无法求解。
事实上,图灵在1950年关于图灵测试的文章中,就曾提到了机器学习的可能。二十世纪五十年代初已有机器学习的相关研究。五十年代中后期基于神经网络的“连接主义”学习开始出现。在六七十年代,基于逻辑表示的“符号主义”学习技术蓬勃发展。以决策理论为基础的学习以及强化学习技术等也得到发展。二十多年后红极一时的统计学习理论的一些奠基性结果也是在这个时期获得的。
应用现状
大数据时代三大关键技术:机器学习、云计算、众包(ImageNet的数据标记便采用了众包形式);
机器学习领域和数据库领域是数据挖掘的两大支撑;
2004年3月,在美国DARPA组织的自动驾驶车比赛中,斯坦福大学机器学习专家小组研制的参赛车获得冠军(无人驾驶很早就起步了)。