
1.1 机器学习的定义
机器学习算法是一类从数据中自动分析、获得规律,并利用规律对未知数据进行预测的方法。在算法设计方面,机器学习理论关注可以实现的、行之有效的学习算法。很多推论问题是无程序可循的,所以部分机器学习研究开发容易处理的近似算法。
机器学习已经有了十分广泛的应用,如数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等。
1.1.1 概论
自从计算机被发明以来,人们就想知道它们能不能学习。如果我们理解了计算机学习的内在机制,即怎样使它们根据经验来提高机制,那么影响将是空前的。想象一下,在未来,计算机能从医疗记录中学习,获取治疗新疾病的有效方法;住宅管理系统分析住户的用电模式,以降低能源消耗;个人软件助理跟踪用户的兴趣,并为其选择最感兴趣的在线新闻……对计算机学习的成功理解将开辟出全新的应用领域,并使其计算能力和可定制性上升到新的层次。同时,透彻地理解机器学习的信息处理算法,也有助于更好地理解人类的学习能力。
目前,人们还不知道怎样才能使计算机的学习能力和人类相媲美。然而,一些针对特定学习任务的算法已经产生。关于学习的理论认识已逐步形成。人们开发出了很多实践性的计算机程序来实现不同类型的学习,一些商业化的应用也已经出现。例如,对于语音识别这样的课题,至今为止,基于机器学习的算法明显胜过其他方法。在数据挖掘领域,机器学习算法理所当然地得到应用,从包含设备维护记录、借贷申请、金融交易、医疗记录等类似信息的大型数据库中发现有价值的信息。随着人们对计算机理解的日益成熟,机器学习必将在计算机科学和技术中扮演越来越重要的角色。
通过一些特定的成就,我们可以看到这门技术的现状:计算机已经能够成功地识别人类的讲话(Waibel 1989;Lee 1989)、预测脑炎患者的康复率(Cooper et al.1997)、检测信用卡欺诈、在高速公路上驾驶(Pomerleau 1989)、以接近人类世界冠军的水平对弈西洋双陆棋游戏(Tesauro 1992,1995)。已有了很多理论成果能够对训练样例数量、假设空间大小、假设错误率三者间的基本关系进行刻画。我们正在开始获取人类和动物学习的原始模型,用于理解它们和计算机学习算法之间的关系。在过去的十年中,无论是应用、算法、理论,还是生物系统的研究,都取得了令人瞩目的进步。
机器学习的几种应用主要表现在以下方面:
1.识别人类讲话
所有成功的语音识别系统都使用了某种形式的机器学习技术。例如,Sphinx 系统可学习特定讲话者的语音识别策略,从检测到的语音信号中识别出基本的音素(phoneme)和单词。神经网络学习方法和隐式马尔可夫模型(hidden Markov model)的学习方法在语音识别系统中也非常有效,它们可以让系统自动适应不同讲话者、词汇、麦克风特性和背景噪声等。类似技术在很多信号解释课题中有应用潜力。
2.驾驶车辆
机器学习算法已被应用于训练计算机控制,使其在各种类型的道路上正确行驶。例如,ALVINN系统(Pomer leau 1988)已经利用它学会的策略独自在高速公路的其他车辆之间奔驰,并以70英里(1英里约为1.6千米)的时速行驶了90英里。类似技术可能在很多基于传感器的控制问题中得到应用。
3.分类新的天文结构
机器学习算法已经被应用于从各种大规模数据库中发现隐藏的一般规律。例如,决策树学习算法已经被美国国家航空航天局(NASA)用来分类天体,数据来自第二帕洛马天文台太空调查(Fayyad et al.1995)。这一系统现在被用于自动分类太空调查中的所有天体,其中包含3TB的图像数据。
4.以世界级的水平对弈西洋双陆棋
最成功的博弈类(如西洋双陆棋)计算机程序基于机器学习算法。例如,世界上最好的西洋双陆棋程序TD-Gammon(Tesauro 1992,1995)是通过和自己对弈一百万次以上来学习策略的。现在它的水平与人类的世界冠军相当。类似技术被应用于许多实际问题,这需要高效地搜索庞大的空间。
1.1.2 机器学习发展历程
机器学习是人工智能研究较为年轻的分支,它的发展过程大体可分为4个阶段。
第一阶段是从20世纪50年代中叶到60年代中叶,属于热烈时期。
第二阶段是从20世纪60年代中叶到70年代中叶,称为冷静时期。
第三阶段是从20世纪70年代中叶到80年代中叶,称为复兴时期。
机器学习的最新阶段始于1986年。机器学习进入新阶段主要表现在下列几个方面:
(1)机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学及数学、自动化和计算机科学,形成机器学习理论基础。
(2)结合各种学习方法,以取长补短的多种形式集成学习系统的研究正在兴起。特别是连接学习与符号学习的耦合,可以更好地解决连续性信号处理中知识与技能的获取,使求解问题受到重视。
(3)机器学习与人工智能各种基础问题的统一性观点正在形成。例如,学习与问题求解结合进行、知识表达学习的观点与智能系统SOAR的组块学习结合。类比学习与问题求解结合基于案例的方法已成为经验学习的重要方向。
(4)各种学习方法的应用范围不断扩大,一部分已形成商品。归纳学习的知识获取工具已在诊断类专家系统中广泛使用。连接学习在声、图、文识别中占优势。分析学习已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。
(5)与机器学习有关的学术活动空前活跃。国际上除每年一次的大型机器学习研讨会外,还有计算机学习理论会议及遗传算法会议。
1.1.3 机器学习算法的分类
在机器学习中,根据任务的不同,可以分为监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)、半监督学习(Semi-Supervised Learning)和增强学习(Reinforcement Learning)。
监督学习的训练数据包含类别信息,如在垃圾邮件检测中,其训练样本包含邮件的类别信息:垃圾邮件和非垃圾邮件。在监督学习中,典型的问题是分类(Classification)和回归(Regression),典型的算法有Logistic Regression、BP神经网络算法和线性回归算法。
与监督学习不同的是,无监督学习的训练数据中不包含任何类别信息。在无监督学习中,其典型的问题为聚类(Clustering)问题,代表算法有K-Means算法、DBSCAN算法等。
半监督学习的训练数据中一部分数据包含类别信息,另一部分数据不包含类别信息,是监督学习和无监督学习的融合。在半监督学习中,其算法一般在监督学习的算法上进行扩展,使之可以对未标注数据建模。
1.1.4 通用机器学习算法
整体来说,通用机器学习算法主要有以下10种,本书对这10种机器学习算法展开介绍。
(1)朴素贝叶斯分类器算法。
(2)K均值聚类算法。
(3)支持向量机算法。
(4)Apriori算法。
(5)线性回归。
(6)逻辑回归。
(7)人工神经网络。
(8)随机森林。
(9)决策树。
(10)最近邻算法。