什么是机器学习?

1.引言

  为了解决计算机上的问题,我们需要一个算法。算法是应该执行以将输入变换到输出的指令序列。例如,可以设计用于排序的算法。输入是一组数字,输出是它们的有序列表。对于相同的任务,可以有各种算法,并且我们可能有兴趣找到最有效的算法,需要最少数量的指令或存储器或两者。

  然而,对于某些任务,我们没有算法,例如,告诉垃圾邮件来自合法电子邮件。我们知道输入是什么:电子邮件文档,在最简单的情况下是一个字符文件。我们知道输出应该是什么:a是/否输出,指示消息是否是垃圾邮件。我们不知道如何将输入转换为输出。什么可以被视为垃圾邮件的时间和个人的变化。

  我们缺乏知识,我们在数据中弥补。我们可以轻松编译成千上万的示例邮件,其中一些我们知道是垃圾邮件,我们想要的是“学习”什么是垃圾邮件。换句话说,我们希望计算机(机器)自动提取这个任务的算法。没有必要学习排序数字,我们已经有了算法;但有许多应用程序,我们没有一个算法,但有数据示例。

  随着计算机技术的进步,我们目前有能力存储和处理大量的数据,以及通过计算机网络从物理上远程的位置访问它。大多数数据采集设备现在是数字的,并记录可靠的数据。只有当存储的数据被分析并变成我们可以利用例如进行预测的信息时,存储的数据才变得有用。

  我们不知道哪些人可能购买这种冰淇淋的味道,或这本作者的下一本书,或看到这部新电影,或访问这个城市,或点击此链接。如果我们知道,我们不需要对数据进行任何分析;我们只是去写下代码。但是因为我们没有,我们只能收集数据,希望从数据中提取这些和类似问题的答案。

  我们确信,有一个解释我们观察的数据的过程。虽然我们不知道生成数据的过程的细节 - 例如,消费者行为 - 我们知道它不是完全随机的。人们不去超市,随意买东西。当他们买啤酒,他们买的筹码;他们在夏天购买冰淇淋和在冬天购买Glühwein的香料。数据中有某些模式。

  我们可能无法完全识别该过程,但我们相信我们可以构建一个良好和有用的近似。该近似可能不能解释一切,但仍然能够解释数据的某些部分。我们认为虽然识别完整的过程可能不可能,但我们仍然可以检测某些模式或规律。这是机器学习的利基。这样的模式可以帮助我们理解过程,或者我们可以使用这些模式进行预测:假设未来,至少在不久的将来,与收集样本数据时的过去不会有太大的不同,未来的预测也可以预期是正确的。

2.机器学习定义

  第一个机器学习的定义来自于Arthur Samuel。他定义机器学习:在进行特定编程的情况下,给予计算机学习能力的领域。

  第二个定义来自卡内基梅隆大学,Tom定义的机器学习:一个好的学习问题定义如下,他说,一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T 时的性能有所提升。

  机器学习方法对大型数据库的应用称为数据挖掘。在数据挖掘中,处理大量数据以构建具有有价值使用的简单模型,例如,具有高预测准确性。其应用领域丰富:除了零售业,金融银行分析其过去的数据,以建立模型,用于信用应用,欺诈检测和股票市场。在制造中,学习模型用于优化,控制和故障排除。在医学中,学习程序用于医学诊断。在电信中,分析呼叫模式用于网络优化和最大化服务质量。在科学上,物理学,天文学和生物学中的大量数据只能通过计算机进行足够快的分析。万维网是巨大的;它不断增长,并且不能手动地进行搜索相关信息。

  但机器学习不仅仅是一个数据库问题;它也是人工智能的一部分。为了变得聪明,处于变化的环境中的系统应该具有学习的能力。如果系统可以学习并适应这种变化,则系统设计者不需要预见并提供针对所有可能情况的解决方案。

  机器学习也帮助我们找到视觉,语音识别和机器人技术中的许多问题的解决方案。让我们以识别面孔为例:这是一个我们毫不费力的任务;每天我们通过观察他们的面部或从他们的照片,尽管姿势,照明,发型等的差异认识家庭成员和朋友。但我们不知不觉地做,不能解释我们如何做。因为我们不能解释我们的专业知识,我们不能写计算机程序。同时,我们知道面部图像不仅仅是像素的随机集合;面部有结构。它是对称的。有眼睛,鼻子,嘴巴,位于脸上的某些地方。每个人的脸是由这些的特定组合组成的图案。通过分析人的样本面部图像,学习程序捕获该人特有的模式,然后通过检查给定图像中的该模式来识别。这是模式识别的一个示例。

  机器学习是编程计算机以使用示例数据或过去经验来优化性能标准。我们有一个定义了一些参数的模型,学习是计算机程序的执行,以使用训练数据或过去经验来优化模型的参数。该模型可以是预测在未来做出预测,或描述性以从数据获得知识,或两者皆有

  机器学习在构建数学模型中使用统计学理论,因为核心任务是从样本做推理。 计算机科学的作用有两个方面:第一,在培训中,我们需要高效的算法来解决优化问题,以及存储和处理大量的数据。 第二,一旦模型被学习,其表示和用于推断的算法解决方案也需要是高效的。 在某些应用中,学习或推断算法的效率,即其空间和时间复杂度,可能与其预测精度一样重要。

 [1] Alpaydin B E. Introduction to Machine Learning (2nd Edition[J]. 2010.

 

posted @ 2017-02-18 09:59  mat_wu  阅读(1359)  评论(0编辑  收藏  举报