要理解机器学习首先要明白他的定义,很多人给出了定义“
学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。比如,Langley(1996) 定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在
经验学习中改善具体算法的性能”。(Machine learning is a science of the artificial. The field's main objects of study are artifacts, specifically algorithms that improve their performance with experience.')Tom Mitchell的机器学习(1997)对
信息论中的一些概念有详细的解释,其中定义机器学习时提到,“机器学习是对能通过
经验自动改进的计算机算法的研究”。(Machine Learning is the study of computer algorithms that improve automatically through experience.)Alpaydin(2004)同时提出自己对机器学习的定义,“机器学习是用数据或以往的
经验,以此优化计算机程序的性能标准。”(Machine learning is programming computers to optimize a performance criterion using example data or past experience.)”“机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问”
从上面定义,我们可以总结出“学习”,“经验”或者“已有数据”,目的是识别现有智慧和新知识。
“学习是一项复杂的智能活动,学习过程与推理过程是紧密相连的,按照学习中使用推理的多少,机器学习所采用的策略大体上可分为4种——机械学习、通过传授学习、类比学习和通过事例学习。学习中所用的推理越多,系统的能力越强。”
基于学习策略的分类 学习策略是指学习过程中系统所采用的推理策略。一个学习系统总是由学习和环境两部分组成。由环境(如书本或教师)提供信息,学习部分则实现信息转换,用能够理解的形式记忆下来,并从中获取有用的信息。在学习过程中,学生(学习部分)使用的推理越少,他对教师(环境)的依赖就越大,教师的负担也就越重。学习策略的分类标准就是根据学生实现信息转换所需的推理多少和难易程度来分类的,依从简单到复杂,从少到多的次序分为以下六种基本类型:
1)机械学习(Rote learning)学习者无需任何推理或其它的知识转换,直接吸取环境所提供的信息。如
塞缪尔的跳棋程序,
纽厄尔和
西蒙的LT系统。这类学习系统主要考虑的是如何索引存贮的知识并加以利用。系统的学习方法是直接通过事先编好、构造好的程序来学习,
学习者不作任何工作,或者是通过直接接收既定的事实和数据进行学习,对输入信息不作任何的推理。
2)示教学习(Learning from instruction或Learning by being told)学生从环境(教师或其它信息源如教科书等)获取信息,把知识转换成内部可使用的表示形式,并将新的知识和原有知识有机地结合为一体。所以要求学生有一定程度的推理能力,但环境仍要做大量的工作。教师以某种形式提出和组织知识,以使学生拥有的知识可以不断地增加。这种学习方法和人类社会的学校教学方式相似,学习的任务就是建立一个系统,使它能接受教导和建议,并有效地存贮和应用学到的知识。目前,不少专家系统在建立知识库时使用这种方法去实现知识获取。示教学习的一个典型应用例是FOO程序。
3)演绎学习(Learning by deduction)学生所用的推理形式为演绎推理。推理从公理出发,经过逻辑变换推导出
结论。这种推理是"保真"变换和特化(specialization)的过程,使学生在推理过程中可以获取有用的知识。这种学习方法包含宏操作(macro-operation)学习、知识编辑和组块(Chunking)技术。演绎推理的逆过程是归纳推理。
4)类比学习(Learning by analogy)利用二个不同领域(源域、目标域)中的知识相似性,可以通过类比,从源域的知识(包括相似的特征和其它性质)推导出目标域的相应知识,从而实现学习。类比学习系统可以使一个已有的
计算机应用系统转变为适应于新的领域,来完成原先没有设计的相类似的功能。类比学习需要比上述三种学习方式更多的推理。它一般要求先从知识源(源域)中检索出可用的知识,再将其转换成新的形式,用到新的状况(目标域)中去。类比学习在人类科学技术发展史上起着重要作用,许多科学发现就是通过类比得到的。例如著名的
卢瑟福类比就是通过将原子结构(目标域)同太阳系(源域)作类比,揭示了原子结构的奥秘。
5)基于解释的学习(Explanation-based learning, EBL)学生根据教师提供的目标概念、该概念的一个例子、领域理论及可操作准则,首先构造一个解释来说明为什该例子满足目标概念,然后将解释推广为目标概念的一个满足可操作准则的充分条件。EBL已被广泛应用于知识库求精和改善系统的性能。著名的EBL系统有迪
乔恩(G.DeJong)的GENESIS,
米切尔(T.Mitchell)的LEXII和LEAP, 以及明顿(S.Minton)等的PRODIGY。
6)归纳学习(Learning from induction)归纳学习是由教师或环境提供某概念的一些实例或反例,让学生通过归纳推理得出该概念的一般描述。这种学习的推理工作量远多于示教学习和演绎学习,因为环境并不提供一般性概念描述(如公理)。从某种程度上说,归纳学习的推理量也比类比学习大,因为没有一个类似的概念可以作为"源概念"加以取用。归纳学习是最基本的,发展也较为成熟的学习方法,在人工智能领域中已经得到广泛的研究和应用。
基于所获取知识的表示形式分类 学习系统获取的知识可能有:行为规则、物理对象的描述、问题求解策略、各种分类及其它用于任务实现的知识类型。
对于学习中获取的知识,主要有以下一些表示形式:
1)代数表达式参数学习的目标是调节一个固定函数形式的代数表达式参数或系数来达到一个理想的性能。
2)决策树用
决策树来划分物体的类属,树中每一内部节点对应一个物体属性,而每一边对应于这些属性的可选值,树的叶节点则对应于物体的每个基本分类。
3)形式文法在识别一个特定语言的学习中,通过对该语言的一系列表达式进行归纳,形成该语言的形式文法。
4)产生式规则产生式规则表示为条件—动作对,已被极为广泛地使用。学习系统中的学习行为主要是:生成、泛化、特化(Specialization)或合成产生式规则。
5)形式逻辑表达式形式逻辑表达式的基本成分是命题、谓词、变量、约束变量范围的语句,及嵌入的逻辑表达式。
6)图和网络有的系统采用图匹配和图转换方案来有效地比较和索引知识。
7)框架和模式(schema)每个框架包含一组槽,用于描述事物(概念和个体)的各个方面。
8)计算机程序和其它的过程编码 获取这种形式的知识,目的在于取得一种能实现特定过程的能力,而不是为了推断该过程的内部结构。
9)神经网络这主要用在联接学习中。学习所获取的知识,最后归纳为一个神经网络。
10)多种表示形式的组合有时一个学习系统中获取的知识需要综合应用上述几种知识表示形式。
根据表示的精细程度,可将知识表示形式分为两大类:泛化程度高的粗粒度符号表示、??泛化程度低的精粒度亚符号(sub-symbolic)表示。像决策树、形式文法、产生式规则、形式逻辑表达式、框架和模式等属于符号表示类;而代数表达式参数、图和网络、神经网络等则属亚符号表示类。
按应用领域分类 最主要的应用领域有:专家系统、认知模拟、规划和问题求解、
数据挖掘、网络信息服务、图象识别、故障诊断、自然语言理解、机器人和博弈等领域。
从机器学习的执行部分所反映的任务类型上看,目前大部分的应用研究领域基本上集中于以下两个范畴:分类和问题求解。
(1)分类任务要求系统依据已知的分类知识对输入的未知模式(该模式的描述)作分析,以确定输入模式的类属。相应的学习目标就是学习用于分类的准则(如分类规则)。
(2)问题求解任务要求对于给定的目标状态,??寻找一个将当前状态转换为目标状态的动作序列;机器学习在这一领域的研究工作大部分集中于通过学习来获取能提高问题求解效率的知识(如搜索控制知识,启发式知识等)。
综合分类综合考虑各种学习方法出现的历史渊源、知识表示、推理策略、结果评估的相似性、研究人员交流的相对集中性以及应用领域等诸因素。将机器学习方法[1]区分为以下六类:
1)经验性归纳学习(empirical inductive learning)。经验性归纳学习采用一些数据密集的经验方法(如版本空间法、ID3法,定律发现方法)对例子进行归纳学习。其例子和学习结果一般都采用属性、
谓词、关系等符号表示。它相当于基于学习策略分类中的归纳学习,但扣除联接学习、遗传算法、加强学习的部分。
2)分析学习(analytic learning)分析学习方法是从一个或少数几个实例出发,运用领域知识进行分析。其主要特征为:
·推理策略主要是演绎,而非归纳;
·使用过去的问题求解经验(实例)指导新的问题求解,或产生能更有效地运用领域知识的搜索控制规则。
分析学习的目标是改善系统的性能,而不是新的概念描述。分析学习包括应用解释学习、演绎学习、多级结构组块以及宏操作学习等技术。
3)类比学习它相当于基于学习策略分类中的类比学习。目前,在这一类型的学习中比较引人注目的研究是通过与过去经历的具体事例作类比来学习,称为基于范例的学习(case_based learning),或简称范例学习。(
阿里"小而美"就是这个)
4)遗传算法(genetic algorithm)遗传算法模拟生物繁殖的突变、交换和
达尔文的自然选择(在每一
生态环境中适者生存)。它把问题可能的解编码为一个向量,称为个体,向量的每一个元素称为基因,并利用目标函数(相应于
自然选择标准)对群体(个体的集合)中的每一个个体进行评价,根据评价值(适应度)对个体进行选择、交换、变异等遗传操作,从而得到新的群体。遗传算法适用于非常复杂和困难的环境,比如,带有大量噪声和无关数据、事物不断更新、问题目标不能明显和精确地定义,以及通过很长的执行过程才能确定当前行为的价值等。同神经网络一样,遗传算法的研究已经发展为人工智能的一个独立分支,其代表人物为霍勒德(J.H.Holland)。
5)联接学习典型的联接模型实现为
人工神经网络,其由称为神经元的一些简单计算单元以及单元间的加权联接组成。()
6)加强学习(reinforcement learning) 加强学习的特点是通过与环境的试探性(trial and error)交互来确定和优化动作的选择,以实现所谓的序列决策任务。在这种任务中,学习机制通过选择并执行动作,导致系统状态的变化,并有可能得到某种强化信号(立即回报),从而实现与环境的交互。强化信号就是对系统行为的一种标量化的奖惩。系统学习的目标是寻找一个合适的动作选择策略,即在任一给定的状态下选择哪种动作的方法,使产生的动作序列可获得某种最优的结果(如累计立即回报最大)。
在综合分类中,经验归纳学习、遗传算法、联接学习和加强学习均属于归纳学习,其中经验归纳学习采用符号表示方式,而遗传算法、联接学习和加强学习则采用亚符号表示方式;分析学习属于演绎学习。
实际上,类比策略可看成是归纳和演绎策略的综合。因而最基本的学习策略只有归纳和演绎。
从学习内容的角度看,采用归纳策略的学习由于是对输入进行归纳,所学习的知识显然超过原有系统知识库所能蕴涵的范围,所学结果改变了系统的知识演绎闭包, 因而这种类型的学习又可称为知识级学习;而采用演绎策略的学习尽管所学的知识能提高系统的效率,但仍能被原有系统的知识库所蕴涵,即所学的知识未能改变系统的演绎闭包,因而这种类型的学习又被称为符号级学习。
按学习形式分类1)监督学习(supervised learning) 监督学习,即在机械学习过程中提供对错指示。一般实在是数据组中包含最终结果(0,1)。通过算法让机器自我减少误差。这一类学习主要应用于分类和预测 (regression & classify)。
在统计中,回归,判别分析被包装成了机械学习
2)非监督学习(unsupervised learning) 非监督学习又称归纳性学习(clustering)利用K方式(Kmeans),建立中心(centriole),通过循环和递减运算(iteration&descent)来减小误差,达到分类的目的。 (聚类本质)
3)非监督学习(semisupervised learning) ,(先聚类,在判别分析)