机器学习到底是什么,如何运用这项技术?
作者头像
  • zhoujiedc
  • 2020-03-10 17:19:20 1

人工智能与机器学习

人们常常对人工智能(AI)、机器学习(ML)、深度学习(DL)、机器视觉(CV)和自然语言处理(NLP)之间的关系感到困惑。从科普角度来看,人工智能涵盖了所有这些概念,而机器学习是人工智能的一个分支,深度学习则是机器学习中的一种特定方法。至于机器视觉和自然语言处理,则是人工智能领域中的两个具体应用,通常会用到深度学习技术。

什么是机器学习?

机器学习是一个复杂而又难以解释的概念。有人认为机器学习是一个“优化问题”,有人认为它是“编程概念”,还有人认为它是“统计推断”。这些说法都有一定的道理。我个人比较赞同Tom Mitchell关于“学习任务”的定义:

每项机器学习任务都可以明确地定义为三个要素:1) 学习任务T;2) 训练过程E;3) 模型性能P。学习过程就是通过训练过程E逐步提升模型性能P,以完成任务T。

例如,我们想要创建一个模型来区分猫和狗的图片(任务T)。为了提高模型的准确性(模型性能P),我们会不断向模型提供猫和狗的图片(训练过程E)。在这个过程中,最终形成的模型就是机器学习的结果。人类学习和机器学习有许多相似之处。比如,为了在高考中取得好成绩(任务T),小王每天做10套模拟试题(训练过程E),并通过模拟考试来检测自己的错误率(模型性能P)。

然而,机器学习与人类学习也有许多差异: 1. 标准化和可复制性:机器学习可以标准化学习过程,从而提取出学习结果(模型),使得结果可迁移和可复制。相比之下,人类的知识往往迁移成本较高,难以直接传授。 2. 数据依赖性:机器可以从大量数据中学习,而人类则受到数据量的限制。随着硬件的发展和数据量的积累,机器学习模型可以从海量数据中学习,而人类大脑则做不到这一点。另一方面,人类擅长小样本学习和举一反三,比如只需看几张猫狗图片就能大致理解,而机器则需要更多的数据。 3. 任务复杂度:机器学习擅长解决清晰定义的任务,如判断猫和狗,而人类则更擅长处理复杂且模糊的问题。例如,在复杂情况下做出判断,拥有更好的全局观。

机器学习和人类学习在许多方面存在差异,以上只是其中的一部分。很明显,现阶段机器更适合处理简单任务和大量数据的高效预测,而人类更擅长在复杂情境下处理有限数据的决策。

机器学习任务的复杂度

机器学习的最终成果通常是一个“模型”。从另一个角度来看,机器学习其实是在寻找一个映射函数,使得输入经过处理后得到期望的输出。以猫狗分类为例,我们希望输入猫和狗的图片(输入X)后得到正确的分类结果(输出Y),这一过程就是寻找合适的分类器的过程。

如果我们假设这个映射函数符合某种形式,那么学习过程就是确定参数的过程。这也是为什么机器学习可以被理解为一个优化问题或参数寻优的过程。在求解最优参数时,通常没有闭式解,即很难得到明确的答案。因此,需要使用各种优化算法来求解,而大多数优化问题无法得到最佳答案。这就是为什么我们很少能得到“完美的机器学习”模型。

通过下面的例子,我们可以看到机器学习的成功与否取决于多个因素: - 任务T的定义是否明确,复杂度有多高。任务越复杂,学习难度越大,例如分辨图片比识别数字更加复杂。 - 训练E的难度,包括可用数据量、训练成本、硬件支持等。任务越复杂,对模型假设的要求越高,所需的搜索和优化空间越大。 - 评估标准P是否合适,如果选择了不适当的评估指标,可能会导致错误的结果。例如,在分辨猫狗时,评估是否能正确识别图片中动物的数量是不合适的。

可以看出,机器学习中的每个环节都是相互关联的。在整个过程中,不可避免地会引入各种人为先验假设。例如,我们可能基于经验假设正确的模型是一个二次函数,但如果实际情况并不是这样,就会引入人为偏差,影响模型的学习效果。同样,即使假设正确,如果数据量不足,也很难找到最优参数。另一个常见的问题是过拟合,即模型在训练数据上表现很好,但在新数据上表现不佳。

从实际角度来看,PAC学习理论(概率近似正确)可以帮助我们估算某个学习任务的过拟合误差边界。PAC理论中的边界取决于训练数据的数量和模型假设空间的复杂度。虽然在实际场景中衡量学习任务的复杂度并不容易,但可以得出一个大致结论:简单且正确的模型假设加上大量的训练数据,可以构建出优秀的机器学习模型。

如何运用机器学习?

将机器学习应用于各个行业是一个既具有价值又充满挑战的任务。除了上述的基础理论,还需要选择合适的任务来实现。从我为客户提供的咨询经验来看: - 认知偏差:首先需要认识到,机器学习并不是万能药,也不是魔法,更不是骗局。它不会立即改变所有人的工作方式。因此,使用机器学习技术时要有耐心,不要期望过高。 - 迭代过程:机器学习的过程通常是迭代的。我们通常推荐“半自动系统”或“混合系统”,即结合人类经验和机器学习模型,而不是一步到位。例如,现在想用机器学习优化信用卡欺诈检测系统。可以同时使用现有的规则系统和机器学习系统,并找到两者的平衡点。如果两者结果一致,则接受其判断;如果不一致,则需要人工验证,并重新训练模型。随着训练数据的增加和准确性提高,该系统会变得越来越智能,最终取代现有系统。 - 合理预期:在合理预期的基础上,选择适当的方向来应用机器学习模型。一般来说,建议从“问题定义明确、数据充足、能提供关键价值”的方向入手,每次尝试解决一个小问题。例如,预测一家公司的收入比预测其股价走势更容易,因为后者受更多复杂因素影响。 - 利用现有工具:市场上已经有很多针对各种任务的工具库和解决方案。例如,通用机器学习工具库Scikit-Learn、更侧重于深度学习的TensorFlow和PyTorch、分布式机器学习框架PySpark、图形化平台ML Studio以及各种面向视觉和自然语言处理的API服务。使用这些现成的成熟工具,可以快速判断是否值得投入机器学习。

总结

综上所述,机器学习可以被视为一种与人类学习方式相似的方法,各有优势。进入21世纪以来,随着硬件和数据量的发展,高精度的机器学习模型变得越来越可行,尤其是在机器视觉和自然语言处理领域取得了许多突破。然而,我们仍需认识到机器学习不是全新的概念,也不会让每个人失业。从实用角度来看,机器学习模型的效果与问题复杂度、可用数据量及正确的评估方法密切相关。从应用角度来看,传统企业应从“问题定义明确、数据量大、利润高的问题”入手,引入混合模型,结合人类经验和机器学习进行预测。从降低成本的角度出发,要善于利用现有的工具和成熟的模型,快速迭代。

    本文来源:图灵汇
责任编辑: : zhoujiedc
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
这项运用机器到底如何学习什么技术
    下一篇