1.1 机器学习的概念
机器学习已经成为了当今的热门话题,但是从机器学习这个概念的诞生到机器学习技术的普遍应用经过了漫长的过程。在机器学习发展的历史长河中,众多优秀的学者为推动机器学习的发展做出了巨大的贡献。
从 1642 年 Pascal 发明的手摇式计算机,到 1949 年 Donald Hebb 提出的赫布理论——解释学习过程中大脑神经元所发生的变化,都蕴含着机器学习思想的萌芽。
事实上,1950 年图灵在关于图灵测试的文章中就已提及机器学习的概念。到了
1952 年,IBM 的亚瑟·塞缪尔(Arthur Samuel,被誉为“机器学习之父”)设计了一款可以学习的西洋跳棋程序。它能够通过观察棋子的走位来构建新的模型,用来提高自己的下棋技巧。塞缪尔和这个程序进行多场对弈后发现,随着时间的推移,程序的棋艺变得越来越好[1]。塞缪尔用这个程序推翻了以往“机器无法超越人类,不能像人一样写代码和学习”这一传统认识,并在 1956 年正式提出了“机器学习”这一概念。他认为“机器学习是在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域”。
对机器学习的认识可以从多个方面进行,有着“全球机器学习教父”之称的 Tom
Mitchell 则将机器学习定义为:对于某类任务 T 和性能度量 P,如果计算机程序在 T 上以 P衡量的性能随着经验 E 而自我完善,就称这个计算机程序从经验 E 学习。这些定义都比较简单抽象,但是随着对机器学习了解的深入,我们会发现随着时间的变迁,机器学习的内涵和外延在不断地变化。因为涉及到的领域和应用很广,发展和变化也相当迅速,简单明了地给出“机器学习”这一概念的定义并不是那么容易。
普遍认为,机器学习(Machine Learning,常简称为 ML)的处理系统和算法是主要通过找出数据里隐藏的模式进而做出预测的识别模式,它是人工智能(Artificial Intelligence,常简称为 AI)的一个重要子领域,而人工智能又与更广泛的数据挖掘(Data Mining,常简称为 DM)和知识发现(Knowledge Discovery in Database,常简称为 KDD)领域相交叉。为了更好地理解和区分人工智能(Artificial Intelligence)、机器学习(Machine Leaning)、数据挖掘(Data Mining)、模式识别(Pattern Recognition)、统计(Statistics)、神经计算(NeuroComputing)、数据库(Databases)、知识发现(KDD)等概念,特绘制其交叉关系如下图所示:机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。其过程可以用下图[2]简单表示:
1.2 机器学习的发展历史
1956 年机器学习的概念由 Arthur Samuel 正式提出。
1965 年,James William Cooley 和 John Tukey 设计了快速傅里叶变换(FFT)算法,用于计算由多个简单函数组合而成的原始信号的正弦曲线的幅度、相位和频率,该算法被广泛应用于各类工程、科学和数学问题中[4]。
1980 年,Kunihiko Fukushima 发明了 neocognitron,它是一个分层的多层人工神经网络,它的出现直接导致了后期卷积神经网络(Convolutional Neural Network,通常简称为 CNN)的发明[5]。
1993 年,免费的、非商业化机器学习以及数据挖掘软件 WEKA 面世,它是由新西兰怀卡托大学研发的[6]。WEKA 作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联规则以及在新的交互式界面上的可视化,它的出现极大地降低了学习机器学习的门槛。
1995 年,贝尔实验室的 Tin Kam Ho 利用随机子空间方法创建随机决策森林(RandomDecision Forests)算法,该算法既可以用于回归也可以用于分类任务,并且很容易查看模型输入特征的相对重要性,是一个高度灵活并且应用广泛的算法[7]。
2010 年,Kaggle 由其联合创始人、首席执行官 Anthony Goldbloom 在墨尔本创立,主要为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台。该平台已经吸引了 80 万名数据科学家的关注,极大地推动了机器学习在全球的推广。
2011 年,IBM 的认知计算系统 Watson 横空出世,在问答节目中首次击败了人类[8]。当年,Watson 身价大涨逐渐成为了 IBM 乃至全球 AI 项目的代表。Watson 当年的成功向人们预示着一个新时代似乎就要开始了。
2012 年,Andrew Ng 团队和 Jeff Dean 团队通过深度学习技术,让 16000 个中央处理器核心在学习了 1000 万张图片后,成功在 YouTube 视频中认出了猫的图像[9],这在当时业界引起了极大的轰动。
2015 年,由 Google 旗下 DeepMind 公司戴密斯·哈萨比斯领衔的团队开发的阿尔法围棋 AlphaGo[10],成为了第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人。其主要工作原理是“深度学习”,其成功使得“深度学习”概念深入人心,并在机器学习的更多广泛领域得到了应用。
2016 年,Evans data 的大数据和高级分析调查发现,超过三分之一的开发者表示他们在大数据和高级分析项目中使用了机器学习技术。微软团队开发了一套能像人类一样识别谈话内容的系统。该团队曾使用卷积(Convolutional)和长短期记忆(LSTM)神经网络开发出Microsoft Cognitive Toolkit(CNTK)。Google Brain 团队公布了 Google Neural MachineTranslation System,这个基于深度学习的系统目前每天被用于处理 1800 万次翻译请求。