书目:周志华, 《机器学习》, 清华大学出版社.
这是一本面向中文读者的机器学习教科书,为了使尽可能多的读者通过本书对机器学习有所了解,作者试图尽可能少使用数学知识. 然而,少量的概率、统计、代数、优化、逻辑知识似乎不可避免,因此,本书更适合大学三年级以上的理工科本科生和研究生,以及具有类似背景的对机器学习感兴趣的人士.
随着 alphaGo 的成名,机器学习、数据挖掘、人工智能等已经成为网络热词,一位朋友毫不夸张地告诉我,“如果说前十年不会计算机就是与时代落伍,那么后十年不了解机器学习也会被称作 out-man”。出于自身对计算机科学的兴趣和“舆论大势所趋”,笔者决定去敲敲机器学习的大门,尽力不做“凹凸曼”。周志华老师在《机器学习》一书的序言中说明了教材的适用人群,笔者也勉强算作合适吧,因此选择它作为入门读物。笔者航空专业出身,曾经业余地研究过流体的数值计算方法。希望这些数理和代数知识能够有所帮助!
机器学习是什么
机器学习打破“alphaGo神话”
机器学习是计算机科学的自学科,从人工智能领域的模式识别和计算学习理论发展而来。 原来机器学习由来已久,以前常常听说的模式识别、人工智能、图像识别、语音识别都是机器学习的兄弟姊妹。新闻中的 google 无人驾驶车、《纸牌屋》里总统竞选的网络搜索策略都属于机器学习的范畴,在国内大家的生活中淘宝的拍照搜索也是机器学习的研究成果之一。
定义与区别
"Field of study that gives computers the ability to learn without being explicitly programmed"。 周老师的翻译是这样:不显示编程地赋予计算机能力地研究领域。也就是说机器学习研究和构建的是一种特殊算法,能够让计算机自己在数据中学习从而进行预测。与以前计算机程序的最大不同是,机器学习的功能并不单单是程序之前设计好的,而是能够自我提升。考虑到笔者的学科背景,计算机在上个世纪的大部分工作内容都与数值计算相关,也就是反复迭代代码预定义的循环语句。但是,机器学习让计算机能够对样本进行学习,然后预测新样本的结果。
那么另一个问题来了,分析样本并预测不是系统辨识(属于动力学与控制学科范畴)的研究内容么?根据试验采集的离散点辨识出系统模型,然后就可以进行预测。是的,机器学习和系统辨识很相似,广义的系统辨识应该是包含机器学习的(笔者见解)。因为广义的系统辨识包含两大类:一方面是对已知(或部分已知)模型进行参数估计,另一方面是通过神经网络等方法对黑箱模型的辨识。从这个角度看,后者应当是与机器学习相同的,但是前者(狭义的系统辨识)则不是。狭义系统辨识属于白箱或者灰箱问题,即在进行样本分析之前研究人员已经根据物理规律建立了被控对象的模型(输入输出关系),那么数据分析的目的就是对模型参数的优化估计,并不进行学习。如果被控对象是黑箱模型,那么数据分析的目的就是构建从输入到输出的关系,这层关系就是通过机器的学习能力而实现的,并不是研究者之前预定义的。从最终目的上看,机器学习和系统辨识都是为了更好的预测新样本。
基本术语
- 数据集、示例、属性、属性空间、样本空间:与统计和面向对象编程语言中的概念相同
- 分类(classification)和回归(regression):预测离散还是连续值
- 聚类(clustering):在训练中将样本分成若干组,通常对应潜在概率,是事先并不知晓的,并且学习过程中使用的训练样本并不拥有标记信息
- 监督(supervised)学习和非监督(unsupervised)学习:分类和回归是前者,聚类是后者
- 泛化(generalisation)能力:学习得到的模型对新样本的适应能力
- 归纳(induction)与演绎(reduction):前者是特殊到一般的泛化,后者是一般到特殊的特化(specialisation)
- 归纳偏好:在学习过程中对某种类型假设的偏好,即“价值观”
- NFL:Non Free Lunch,无论算法优劣,他们得到的期望性能竟然是相同的,因此脱离具体问题的空泛化谈论算法优劣是毫无意义的
发展历程
机器学习是人工智能研究发展到一定阶段的必然产物。
- 20世纪80年代,符号主义学习
- 20世纪90年代中期之前,基于神经网络的连接主义学习
- 20世纪90年代中期,统计学习,代表性技术是支持向量机(support vector machine, SVM)和“核方法”(kernel methods)
- 21世纪初,深度学习,狭义地说就是“很多层”的神经网络,数据量大、计算能力强
大数据时代应用的三大关键技术:
- 机器学习:提供数据分析能力
- 云计算:提供数据处理能力
- 众包(crowdsourcing):提供数据标记能力
数据挖掘的两大支撑:机器学习和数据库
网友评论