用归纳偏置来增强你的模型性能

2020-11-24 10:48:00
刘大牛
转自文章
230

本文为大家展示了在机器学习模型中编码现实生活中的对称性可以将其准确性提高几个数量级。



对称无处不在,围绕在我们生活左右。


从雪花美丽的规则形状和罗马花椰菜的自相似(分形)结构,到蜂巢的六角形图案。大自然似乎在寻找对称。事实上,我们存在的法则实在是太多了:物理学家谈到时空中的平移对称(“穿过”)。他们的意思是,像万有引力这样的力在数百万年前和现在的作用方式是一样的,在悉尼和纽约之间没有差别。旋转对称是自然最喜欢的另一种形式,简单地说就是当你从不同角度看一个物体时,它的属性不会改变。对称的例子不胜枚举,其中一些比其他的更容易理解(比如洛伦兹对称,它说明在惯性系中光速是相同的,这可以被不太懂物理的人所理解)。尽管其中一些对称性对人类来说是显而易见的,但令人惊讶的是,大多数机器学习模型都对它们的存在视而不见。让我以我自己的工作为例:

大致来说,我的研究目标是利用机器学习仅从结构信息来预测分子的性质。这意味着,我得到一列原子和它们的坐标。对于一个水分子,它看起来是这样的:
原子的坐标可以方便地归纳成一个矩阵,矩阵的行对应于原子,列分别对应于x、y和z的位置。我想预测需要多少能量需要把分子分解成它的组成原子(原子化能量)。我可以通过训练神经网络F来做到这一点,它使用原始坐标作为特征并输出能量:
假设我成功地在一个大且不同的分子数据集上训练了这个神经网络,我想找到以下水分子的原子化能量:

你可能已经注意到了,它只是原始分子的一个旋转版本。因此,它应该具有相同的原子化能。我们能保证神经网络会遵守这个旋转对称吗?不幸的是,没有。

更糟糕的是,如果我们简单地交换两个氢原子。网络可能会再次给出一个完全不同的答案。相同原子的顺序没有物理意义,只是神经网络训练出来的人为产物。理想情况下,我们希望神经网络的输出尊重这种排列对称(排列:“交换事物的顺序”),但如何做到呢?

在化学和物理应用机器学习的早期,研究者很快意识到模型需要观察这些对称性才能足够精确。因此,人们投入了大量的精力来研究如何在机器学习算法体现出对称性。现在,这通常是通过巧妙的特征工程和神经网络设计相结合来实现的。关于这些方法的全面评述可以在这里(https://aip.scitation.org/doi/full/10.1063/1.4966192)找到[1]。所有这些方法都有一个共同点,就是它们以某种形式向学习算法引入了归纳偏置。

学习算法的归纳偏置是一组假设,学习者用来预测未遇到[2]的给定输入的输出。


在旋转对称的情况下,这种归纳偏置可以表述为假设:“任何在旋转下不变的信息可以而且应该被忽略。” 不管你是否意识到这一点,如果你以前使用过任何机器学习模型,你就会遇到归纳偏置:
  • 线性回归是基于因变量与协变量之间存在线性关系的假设。

  • k近邻分类器假设特征空间中的邻近转换为输出空间中的邻近。

  • 卷积神经网络假设输出在很大程度上不受输入转换的影响(不考虑边界条件)。

虽然所有这些标准算法都有一些内在的偏差,但我想通过一个例子来演示如何引入额外的假设可以大大提高模型的准确性。


例子:房地产价格模型


想象下面的场景:


您的客户对买卖房地产感兴趣,并要求您创建一个机器学习模型,准确预测建筑物的公平市场价值。幸运的是,训练数据很容易获得,但有些有限(约1000个样本)。更复杂的是,这栋建筑的任何信息都是以房屋单元为单位给出的,除了价格是以整栋建筑为单位给出的。


为了简化我们的分析,让我们假设每个建筑包含10个单元,我们有关于每个单元的以下信息:
  • 单元类型:零售,办公,生活空间

  • 单元面积:以平方英尺为单位

  • 房间数量

  • 窗户与墙壁的比率

  • 单元在哪一层(以楼层总数的比率给出)

我们的数据以表格形式,有1000行(样本数量)和51列(5个特征 10个单元+总价)。让我们把模型输入(前50列)写成设计矩阵X,因变量写成向量y。


线性回归(LR)


普通 LR


对于任何回归任务来说,一个好的起点总是线性回归,它的目标是选择权重w,以便模型预测的平均平方误差最小化。

为了分析这个模型基于我们的数据表现得有多好,我们可以查看与训练集大小相关的泛化误差(测试集上的误差)。绘制我们的结果,我们得到了通常所说的学习曲线:
注意,我们已经包含了一个基线模型,它仅仅预测了训练集的平均价格。我们可以从这张图中推断出几件事。我们看到,对于非常小的训练集,基线模型比LR更准确,然而,当我们使用更大的数据集时(注意log-log坐标!),我们可以在基线上进行改进。但是100万美元的均方根误差(RMSE)并不是很好的表现,它对我们虚构的客户也没有用处。我们希望能做得更好…


置换不变LR


让我们想想对称性的问题:在设计矩阵X中以何种顺序罗列单元重要吗?答案显然是否定的。我们可以将第1-5列与第6-10列互换,但该建筑仍然拥有相同的净值。然而,我们的普通LR并不能准确地捕捉到这一点,因为不能保证权重1−5和6−10是相同的。目标很明确:我们需要我们的模型在单元排列下保持不变。


让我们考虑一个稍微不同的版本,我们的设计矩阵,我们将称之为 。考虑每单元(每5列一组)作为一个单独的数据点,矩阵原始X转化后维数为10000a✖5由。线性回归则为

z是每个单元的价格。不幸的是我们无法得知z(潜变量),但是我们可以假设z和y之间的关系。由于我们想保持在线性模型的范围内,我们得到:
 

简而言之,就是一栋楼的价格是这栋楼内每一单元价格的总和。通过引入一个适当的矩阵L,我们可以用矩阵L表示所有建筑物i的总和:

线性回归模型可以写成:

意味着我们总结一个建筑所有单元的特征,所以我们只使用建筑总面积而不是每个单元的面积。所以对于线性回归来说,强加排列对称真的是一个微不足道的任务。当我们转到内核方法时,使用这种更抽象的表示法的优势将变得清晰起来。

使用置换不变LR,我们得到以下学习曲线:

虽然我们看到了小数据集的实质性改善,但模型似乎没有从数据中学到很多东西,导致曲线平坦。这表明线性模型的表达能力不足以捕获训练数据中包含的所有细节。显然,线性假设过于强烈,对于一个“健康”模型,我们期望学习曲线在对数-对数坐标(表示预期的幂律行为)上是线性的[3]。


高斯过程回归(GPR)


普通GPR


让我们考虑一个更复杂的模型。我们有几个选择:神经网络当然很受欢迎,但对于如此小的数据集来说显然不可靠。有效的选择是基于树的方法和k-means方法。我个人最喜欢的是基于核函数的方法,特别是高斯过程回归(GPR)。


我们正在寻找一个函数 映射输入,或自变量x对因变量y(价格)。在高斯过程回归中,我们用贝叶斯方法先找到这个函数,即首先在所有可能的f上指定一个高斯先验分布,然后对观测数据点(X,y)进行条件处理(即基于先验和一定的假设(联合高斯分布)计算得到高斯过程后验分布的均值和协方差。)。这个先验通过协方差矩阵为k的高斯过程定义:

高斯过程是随机变量的集合,任意有限个数的随机变量都具有联合高斯分布[4]。对于x的任何值,输出 遵循正态分布。进一步,两个距离较远的点x和x’点的输出在在定义为 的协方差条件下是联合正态分布的。在实践中,这意味着我们可以通过选择一个合适的协方差函数(也称为核) 来确定拟合函数f的形状。


一种非常流行的核函数选择是平方指数协方差(有时也称为径向基函数)。选择这个内核,我们基本上设定f是光滑的,因为当点很近时(即 很小),点之间将是高度相关的。让我们回到我们的例子。一旦我们在训练数据上设定高斯过程的条件,我们就可以在测试集上做出预测。

用我们设计的矩阵x和目标值y,给出了模型的预测。这看起来非常类似于线性回归,除了 已经取代了X。因为w的参数方程是线性的,它仍然是直接可解的:

注意,我们引入参数 并乘以单位矩阵。该参数用于拟合数据中的噪声,同时有助于避免矩阵求逆时的数值问题。
将我们的训练数据代入这些方程,我们得到以下学习曲线: 

嗯,这不是很有效。虽然我们给了模型比LR更多的表达能力,但它的测试误差仍然与后者量级可比。我们的模型似乎对数据过拟合了。


置换不变GPR


我们把置换不变性加回去。和前面一样,我们想解决辅助问题。
其中 ,矩阵L与线性回归问题中相同。


在处理了一些项之后,我们得到了下面的方程:

重新定义:

修正GPR的原始形式:

特别好!通过使用对称不变性,我们已经能够将最佳测试误差从大约70万美元减少到3万美元。此外,缩放是线性的(在对数-对数尺度上),这表明如果需要,我们可以通过收集更多的数据来进一步提高模型的准确性。


回到科学


我希望我已经能够说服您,有时候在用机器学习模型拟合数据之前,值得停下来三思。通过简单地识别数据中的对称性,我们已经能够将模型的准确性提高20倍以上。作为一个小小的奖励,如果你理解了这篇文章的所有内容,你实际上离成为一个计算化学家又近了一步。


为什么这么说呢?如果你把“建筑”换成“分子”,把“单元”换成“原子”,我们基本上建立了一个化学和材料科学研究人员常用的模型[5]。通过把分子表示成原子贡献的组合,这个模型可以预测一个分子的性质,比如它的能量。就像在我们的例子中,这些原子的贡献是未知的——我们只知道整个分子的能量——但是我们仍然可以用潜在变量z来描述这个问题,从而使它置换不变。


参考文献:

[1] Behler, Jörg. “Perspective: Machine learning potentials for atomistic simulations.” The Journal of chemical physics 145.17 (2016): 170901.

[2] https://en.wikipedia.org/wiki/Inductive_bias

[3] C. Cortes, L. D. Jackel, S. A. Solla, V. Vapnik, and J. S. Denker, Learning Curves: Asymptotic Values and Rate of Convergence, Advances in Neural Information Processing Systems (Curran Associates, Inc., 1994),

pp. 327–334

[4] C. E. Rasmussen & C. K. I. Williams, Gaussian Processes for Machine Learning, the MIT Press, 2006, ISBN 026218253X. c 2006 Massachusetts Institute of Technology

[5] Bartók, Albert P., et al. “Gaussian approximation potentials: The accuracy of quantum mechanics, without the electrons.” Physical review letters 104.13 (2010): 136403.

原文标题:

Supercharge your model performance with inductive bias

原文链接: 

https://towardsdatascience.com/supercharge-your-model-performance-with-inductive-bias-48559dba5133

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

理论 机器学习
发表评论
评论通过审核后显示。
文章分类
联系我们
联系人: 透明七彩巨人
Email: weok168@gmail.com