在开始学习各种不同类型的机器学习算法之前,首先了解一下背景材料是很有帮助的。它们包括各种算法的执行目标是什么,以及它们适用于人工智能领域的哪些方面。这篇文章将涵盖通常的人工智能研究中的各种学习类型,为每种学习方式提供Example,并且我将尝试为不同的学习算法提供适当的检验。这是机器学习系列的第一篇文章,是之后一系列文章的引论,目的是让我们对有关机器学习算法中特定概念有一些了解。
·机器学习的类型问题
在人工智能领域,有几类主要的问题,机器学习就是其中之一。机器学习的目标并不完全是寻找意识那么刺激,不过从某些方面说,它更有可能接近达到传统人工智能研究的目标。机器学习的目的是:设计一种算法,可以让计算机进行学习。
学习当然并不一定是指意识学习。它更像是从数据中寻找统计规律,或者发现一些模式。因此,在接到一个学习任务时,很多机器学习算法很难像用你那种方式去工作。然而,学习算法却可以在那些难以学习的环境中赋予其洞察力。
·分类和决策问题
学习算法分为几个不同的类别。一类是预期的结果来自算法。例如一些分类问题。你可以从一些公共资料中了解这些问题;一个通常的分类问题的例子是让计算机学习怎样识别笔迹。事实上,现在的笔迹识别方法非常完善,一些特定解决方案的识别率可以达到百分之九十九以上(如果排除一些零乱笔迹的话非常好)。大部分数字识别的工作可以由神经网络来完成,但最近支持向量机也被证明可以在分类方面做得更好。
监督学习也可以被用于医学诊断——例如给计算机输入潜在癌症患者的症状,以及患者是否真的感染了癌症的信息,计算机将会学习怎样区分癌症患者,以及患者是否被误诊。这种学习可以使用神经网络或者支持向量机,不过用决策树也可以实现类似的功能。
决策树是一类相对比较简单的分类技术,它的决策依赖于一个由问题和答案构成的树:如果对于问题的答案是“yes”,则算法执行下一个分枝;如果回答为“no”,则算法转向其他的分枝。最终,算法抵达的叶子节点就是最终分类。
与神经网络相比,学习决策树不需要频繁的调试工作参数,并且相当简单明确。此外还有一些算法,比如ada-boost等可以迅速提高它的性能。在下文中我们将看到决策树和神经网络的详细介绍。现在我们只需要知道,即使是简单明确的算法也可以做很多事情。你可以在几乎任何条件下使用决策树,你只需要适当数目的标志以及一个分类系统,就可以期待合理的结果(尽管很有可能无法解决)。
最后一个让你开胃的分类学习例子是语音识别——通常计算机将得到一套由声音构成的训练实例,以及与声音相对应的单词。这种类型的学习通常交给神经网络来完成,虽然很难想象,但用决策树来完成这类问题也很简单。另一种机器学习的方法被称为隐马尔科夫模型,为了处理这类时间序列数据,它经过了特别的设计,因此在语音识别方面该模型表现颇佳。
另外一些常见的学习类型不是被设计用于为输入创建分类,而是作出决定;它们统称决策问题。通常来说,决策问题需要根据世界的状态作出一些假设,并使它们易于处理。决策程序可能是一次性的,在这种情况下仅仅需要作出单一的决定,也可能是重复的,在这种情况下计算机可能需要做出多重决定。如果今后需要作出多重决策的话,决策程序将变得更加棘手,因为它不但需要考虑到行为的直接后果,而且要兼顾通过某种渠道获取信息的可能行为。
决策问题中有一类用于理解的通用框架借用了一个经济学概念,称作效用函数。它为计算机(或“智能体”,即Agent,译者注)执行一项操作赋予某些分值。效用函数并非事先知道(此处应指效用函数事先不清楚行为的后果,或不知道赋予多少分值合适,译者注)——智能体必须学习那些是有效的,可以带来回报的行为,以及哪些是无效的,或者带来负回报的行为。