首页 > Python机器学习 阅读数:68

什么是机器学习,机器学习简介

提到机器学习,追根溯源,我们需要先知道什么是“学习”。

著名学者、1975 年图灵奖获得者、1978 年诺贝尔经济学奖获得者,赫伯特·西蒙(Herbert Simon)教授曾对“学习”下过一个定义:如果一个系统,能够通过执行某个过程,就此改进它的性能,那么这个过程就是学习。

在西蒙看来,学习的核心目的就是改善性能。其实对于人而言,这个定义也是适用的。如果我们仅仅进行低层次的重复性学习,而没有达到认知升级的目的,那么即使表面看起来非常勤奋,其实也仅仅是一个“伪学习者”,因为我们的性能并没有得到改善。

西蒙认为,对于计算机系统而言,通过运用数据及某种特定的方法(比如统计方法或推理方法)来提升机器系统的性能,就是机器学习(Machine Learning,简称 ML)。


英雄所见略同。在经典教材《机器学习》中,著名学者、卡耐基梅隆大学教授,汤姆·米切尔(Tom Mitchell)也给“机器学习”下了更为具体(其实也很抽象)的定义:对于某类任务(Task,简称 T)和某项性能评价准则(Performance,简称 P),如果一个计算机程序在 T 上,以 P 作为性能的度量,随着经验(Experience,简称 E)的积累,不断自我完善,那么我们称这个计算机程序从 E 中进行了学习。

比如,学习围棋的程序 AlphaGo,它可以通过和自己下棋获取经验,那么,它的任务 T 就是“参与围棋对弈”,它的性能 P 就是用“赢得比赛的概率”来度量的。类似地,学生的任务 T 就是“上课、看书、写作业”,他们的性能 P 就用“考试成绩”来度量。

米切尔认为,对于一个学习问题,我们需要明确三个特征:任务的类型、衡量任务性能提升的标准,以及获取经验的来源。


事实上,看待问题的角度不同,对机器学习的定义也略有不同。

比如,支持向量机(SVM)的主要提出者弗拉基米尔·万普尼克(Vladimir Vapnik),在其著作《统计学习理论的本质》中就提出:机器学习就是一个基于经验数据的函数估计问题。而另一本由斯坦福大学统计系的特雷弗·哈斯蒂(Trevor Hastie)等人编写的经典著作《统计学习基础》中则提到,机器学习就是抽取重要的模式和趋势,理解数据的内涵表达,即从数据中学习。

这三个有关机器学习的定义,各有侧重,各有千秋。米切尔的定义强调学习的效果;万普尼克的定义侧重机器学习的可操作性;而哈斯蒂等人的定义则突出了学习任务的分类。但三者共同的特点在于,都强调了经验和数据的重要性,都认可机器学习提供了从数据中提取知识的方法。