专栏首页机器之心观点 | 在工程领域中,机器学习的数学理论基础尤为重要

观点 | 在工程领域中,机器学习的数学理论基础尤为重要

选自arXiv

作者:Paul J. Atzberger

机器之心编译

参与:路、思

数学在机器学习中非常重要,但我们通常只是借助它理解具体算法的理论与实际运算过程。近日加州大学圣巴巴拉分校的 Paul J. Atzberger 回顾了机器学习中的经验风险与泛化误差边界,他认为在科学和工程领域中,我们需要从基本理论与数学出发高效使用现有方法,或开发新方法来整合特定领域与任务所需要的先验知识。

近期研究人员越来越多地关注将机器学习方法应用到科学、工程应用中。这主要是受自然语言处理(NLP)和图像分类(IC)[3] 领域近期发展的影响。但是,科学和工程问题有其独特的特性和要求,对高效设计和部署机器学习方法带来了新挑战。这就对机器学习方法的数学基础,以及其进一步的发展产生了强大需求,以此来提高所使用方法的严密性,并保证更可靠、可解释的结果。正如近期当前最优结果和统计学习理论中「没有免费的午餐」定理所述,结合某种形式的归纳偏置和领域知识是成功的必要因素 [3 , 6]。因此,即使是现有广泛应用的方法,也对进一步的数学研究有强需求,以促进将科学知识和相关归纳偏置整合进学习框架和算法中。本论文简单讨论了这些话题,以及此方向的一些思路 [1 , 4 , 5]。

在构建机器学习方法的理论前,简要介绍开发和部署机器学习方法的多种模态是非常重要的。监督学习感兴趣的是在不完美条件下找出输入数据 x 的标注与输出数据之间的函数关系 f,即 y = f ( x) + ξ,不完美条件包括数据有限、噪声 ξ 不等于 0、维度空间过大或其他不确定因素。其他模态包括旨在发现数据内在结构、找到简洁表征的无监督学习,使用部分标注数据的半监督学习,以及强化学习。本文聚焦监督学习,不过类似的挑战对于其他模态也会存在。

应该强调近期很多机器学习算法的成功(如 NLP、IC),都取决于合理利用与数据信号特质相关的先验知识。例如,NLP 中的 Word2Vec 用于在预训练步骤中获取词标识符的词嵌入表示,这种表示编码了语义相似性 [3]。在 IC 中,卷积神经网络(CNN)的使用非常普遍,CNN 通过在不同位置共享卷积核权重而整合自然图像的先验知识,从而获得平移不变性这一重要的属性 [3]。先验知识的整合甚至包括对这些问题中数据信号的内在层级和构造本质的感知,这促进了深层架构这一浪潮的兴起,深层架构可以利用分布式表征高效捕捉相关信息。

在科学和工程领域中,需要类似的思考才能获取对该领域的洞察。同时我们需要对机器学习算法进行调整和利用社区近期进展,以便高效使用这些算法。为了准确起见,本文对监督学习进行了简要描述。与传统的逼近理论(approximation theory)相反,监督学习的目的不仅是根据已知数据逼近最优解 f,还要对抗不确定因素,使模型在未见过的数据上也能获得很好的泛化性能。这可以通过最小化损失函数 L 来获得,其中 L 的期望定义了真实风险

。L 有很多不同的度量方法,如最小二乘法中的 ℓ (x, y, f) = (f (x) − y)^2,或最大似然方法 ℓ (x, y, f) = − log(p (y|x, f))。但是,R (f) 在实践中是无法计算的,因为模型从数据中获得的关于分布 D 的信息有限,这促进我们在实践中使用替代误差(surrogate error),如经验风险

。从统计学上来说,使用经验风险也有很大的成本,因为当数据量不够大时 R hat 可能不会均匀地收敛至真实风险 R(f)。但是,因为 f 来自离散假设空间 H,且 H 在任意选择的复杂度 c(f) 下可能都是无限空间,若 c (f) 满足

时,你可以在 m 个样本上推出泛化误差边界:

其中,概率 1 − δ 适用于随机数据集 [2]。类似的边界也可以从具备其他复杂度(如 VC 维或 Rademacher 复杂度)的连续假设空间中推导出。这在数学层面上捕捉了当前很多对应 RHS 优化的训练方法和学习算法。常见的选择是适用于有限空间的经验风险最小化,使用 c(f) = log(|H|),其中 c 不再在正则化中发挥作用。

我们可以了解到如何通过对假设空间 H 和 c(f) 的谨慎选择来实现更好的泛化与更优的性能。对于科学和工程应用而言,这可能包括通过设计 c(f) 或限制空间 H 来整合先验信息。例如限制 H 仅保持符合物理对称性的函数、满足不可压缩等限制、满足守恒定律,或者限制 H 满足更常见的线性或非线性 PDE 的类别 [1,4,5]。这可以更好地对齐优秀的 c(f) 和 R hat,并确保更小的真实风险 R(f)。尽管传统上这是机器学习的重点,但这不是唯一策略。

正如近期深度学习方法所展示的那样,你可以使用复杂的假设空间,但不再依赖于随机梯度下降等训练方法,而是支持更低复杂度的模型以仅保留与预测 Y 相关的输入信号 X。类似的机会也存在于科学和工程应用中,这些应用可获得关于输入信号相关部分的大量先验知识。例如,作为限制假设空间的替代方法,训练过程中你可以在输入数据上执行随机旋转,以确保选择的模型可以在对称情况下保持预测结果不变。还有很多利用对输入数据和最终目标的洞察来结合这些方法的可能性。

我们看到即使在本文提到的泛化边界类型方面也可以获取大量新观点。针对改进边界和训练方法做进一步的数学研究,可能对高效使用现有方法或开发新方法来整合先验知识方面大有裨益。我们希望本文可以作为在一般理论和当前训练算法中进行数学研究的开端,开发出更多框架和方法来更好地适应科学和工程应用。

原文地址:https://arxiv.org/pdf/1808.02213.pdf

本文为机器之心编译,转载请联系本公众号获得授权。

本文分享自微信公众号 - 机器之心(almosthuman2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 观点 | 机器学习=「新瓶装旧酒」的数据统计?No!

    随着深度学习的热度开始消退,这个梗最近开始在社交媒体上广为流传,引起了互联网上众人的讥笑。机器学习没什么好激动的,它只是对统计技术的一种补充——这种观点越来越普...

    机器之心
  • 观点 | 如何从一名软件工程师转行做人工智能?

    机器之心
  • 多伦多大学提出注意式吸引器网络,实现渐进式少量次学习

    代码:https://github.com/renmengye/inc-few-shot-attractor-public

    机器之心
  • Java的常见误区与细节

    1 在Java中,没有goto语句。因为大量使用goto语句会降低程序的可读性和可维护性,所以Java语言取消了goto的使用。同时,为了避免程序员自行使用...

    哲洛不闹
  • int 和 Integer 有什么区别?

    int 是 java 的原始数据类型,Integer 是 java 为 int 提供的封装类。

    MickyInvQ
  • Java 常见的 30 个误区与细节!

    1、在Java中,没有goto语句。因为大量使用goto语句会降低程序的可读性和可维护性,所以Java语言取消了goto的使用。同时,为了避免程序员自行使用go...

    java架构师
  • Java 常见的 30 个误区与细节!

    Java技术栈
  • 28.go语言没有类 却可以在结构体或任意类型定义方法

    共2500字,阅读需6分钟 ? 在go语言中没有类。可是,是有方法的。 给结构体定义方法,在对应的 func 和方法名之间,加上方法的接收者就可以了。 比如,我...

    企鹅号小编
  • Golang学习笔记 数据类型和变量

    数据类型 先来介绍一下Golang的数据类型。 布尔型 bool类型代表逻辑值,有真值true和假值false两种取值。 整数类型 整数类型有如下几种,这些整数...

    乐百川
  • 3D视觉技术在机器人抓取作业中的应用实例

    摘要:近年来,机器人自动化领域越来越多地应用3D视觉技术对目标物体进行定位。本文主要研究3D视觉技术在机器人抓取作业中的应用,总结了3D视觉技术在识别、定位物体...

    小白学视觉

扫码关注云+社区

领取腾讯云代金券