社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

稳定学习在因果推理和机器学习之间建立了一些共同点

人工智能学家 • 4 年前 • 625 次点击  
编辑/绿萝
从搜索引擎到电子商务,再到社交媒体平台,机器学习已经被用于各种数字服务预测,从而培育了蓬勃发展的数字经济。在这些场景中,机器学习技术的预测准确性和效率是优化的目标,但错误预测的潜在风险并不那么重要。
然而,近年来,机器学习已应用于更广泛的领域,甚至进入了医疗保健、工业制造、金融和司法等高风险领域。在这些领域,机器学习算法所犯的错误可能会带来巨大的风险,并且错误会对安全、道德和正义等社会问题产生重大影响,尤其是当算法预测在决策过程中发挥重要作用时。
近日,来自清华大学计算机科学与技术系崔鹏和斯坦福大学商学院 Susan Athey 在《Nature Machine Intelligence》上合作发表题为「Stable learning establishes some common ground between causal inference and machine learning」的前瞻性文章。研究人员指出:如果预测的稳定性、可解释性和公平性很重要,因果关系的想法也可用于改善机器学习、预测建模的据点。
为了弥合因果推理中精确建模的传统与机器学习中的黑盒方法之间的差距,提出并开发了稳定学习作为共同点的来源。该观点阐明了机器学习模型的风险来源,并讨论了将因果关系引入学习的好处。从因果推理和学习两方面阐述了稳定学习所解决的基本问题,并讨论了与可解释性和公平性问题的关系。

需要解决的关键因素

稳定性
基于观察到的特征,使用在训练数据集上估计的模型来预测未来的结果值是一个标准的机器学习问题。当测试数据和训练数据来自同一分布时,许多学习算法被提出并被证明是成功的。然而,对于给定的训练数据分布,性能最好的模型通常会利用特征之间的细微统计关联,这使得它们在应用于分布与训练数据分布不同的测试数据时可能更容易出现预测错误。在实际应用中,从训练到测试的分布转变通常是不可避免的。结果是,机器学习算法在分布变化未知的不同测试环境中应用时性能不稳定,从而使其不可靠。
可解释性
由于在许多应用中遇到的高度复杂性,期望机器学习算法产生人类可以依赖的如此高精度的预测或规定结果是不现实的。尤其是在高风险领域,或在难以量化决策的所有重要后果的环境中,最好让人类留在决策循环中并充当最终的看门人。这需要一种通用的语言来让算法和人类理解和合作。目前大多数现成的机器学习模型都是黑盒模型:算法过程和预测结果都不容易向人类解释。尽管存在一系列关于可解释 AI 的研究,但大多数研究试图部分解释黑盒模型,而不是设计本质上可解释的模型。
公平
随着最近将机器学习应用于社会问题的趋势,公平问题引起了研究人员和公众的极大关注。主流机器学习算法可能会放大数据中存在的偏差,从而导致不公平的结果。
在下文中,将讨论此类风险的一些关键驱动因素,以及从因果推理中解决这些风险的想法所面临的机遇和挑战。
然后,介绍了稳定学习的发展,目的是找到因果推理和机器学习之间的共同点及其对解决可解释性和公平性问题的影响。

虚假相关是风险的主要来源

机器学习模型,以监督学习为例,最终学习输入变量和输出变量之间的线性或非线性相关关系。也就是说,相关性是这些学习算法的统计基础。数据中的相关性可能由于多种原因而出现。几个重要的场景如图 1 所示。

图 1:产生相关性的三种方式。

因果关系
当两个变量中的一个是另一个变量的直接或间接原因时,它们之间存在关联,如图 1a 所示。这种类型的关系反映了变量之间内在和普遍的依赖关系,并且在不同的环境中保持不变,即使幅度取决于上下文。
混杂
当两个变量有共同的原因(即混杂因素)时,它们将相互关联,如图 1b 所示。
数据选择偏差
数据选择偏差在以不同于目标群体的方式选择数据的实际情况下是常见的,甚至是不可避免的。图 1c 显示了一个典型案例。鉴于数据选择偏差通常是无意中引起的,因此这种虚假的相关性可能难以提前识别。如果训练数据分布与测试数据不同,则预测将不准确。
在这三种产生相关性的方式中,只有因果关系产生的相关性反映了变量之间的内在依赖关系;另外两种类型是对特征的联合分布和数据收集过程敏感的虚假相关。然而,在今天的现成机器学习中,黑盒模型甚至没有尝试区分产生这些相关性的三种不同方式。因此,它们的预测性能在很大程度上取决于测试分布与训练分布的变化程度,从而导致在不同的测试分布下性能不稳定。同时,基于虚假相关性的预测模型也可能是不公平的。为了从根本上解决稳定性、可解释性和公平性的风险,我们需要在机器学习框架中接受并强调因果关系。

预测建模中因果关系的挑战和机遇

因果模型与生成数据的基础过程相匹配。在图 2 中,展示了随着时间的推移生成数据集的物理过程。由于预测问题的本质,分析师正试图使用结果前变量来预测未来和看不见的结果。

图 2:随着时间的推移,生成用于预测建模的数据集的物理过程。

使用观测数据估计因果效应需要强有力的假设。一种最流行的方法可以描述如下。第一个假设称为无混淆。第二个假设是稳定的单位处理值假设。第三,重叠假设要求以观察到的混杂因素的每个可能实现为条件,所有单位分配给每个治疗条件的概率均非零。
不幸的是,这些假设大多是无法检验的。在大规模、多治疗随机对照试验之外,当有许多可能的治疗方法时,要找到可以证明相关假设合理的环境可能极具挑战性。同时,难以确定因果模型的有效性。
一般来说,如果能够识别和估计真正的因果结构,那么预测问题自然可以作为副产品来解决。但要遵循这条技术路径,我们必须解决因果推理的所有挑战。在现实数据集中这样做可能是不可能的。预测建模即使没有完全解决因果推理问题所需的数据,也可以进行近似或改进。预测建模更容易的另一个原因是预测结果的基本事实是可用的。因此,可以避免由因果推理的基本问题引起的验证挑战。
因此,研究人员认为应该在机器学习和因果推理之间建立共同点。提出并开发了稳定学习框架作为实现这一目标的一种方法。

稳定学习的定位与发展

与传统的机器学习设置不同,我们不维持测试数据集与训练数据来自相同分布的假设。给定来自环境 e ∈ E 的训练数据,稳定学习旨在学习一个预测模型,该模型可以在 E 中的任何可能环境上实现一致的良好性能。
图 3 中说明了不同学习范式的关系。我们根据测试分布的学习目标将学习问题分为 IID 学习、迁移学习和稳定学习。

图 3:不同学习范式的比较。

与上面提到的学习范式相比,稳定学习的目标是更现实的问题设置。一方面,我们不假设在测试分布上有任何强先验的可用性,例如在 2D 学习或迁移学习的问题中。另一方面,我们不假设在训练数据中存在多个环境,如在域泛化中。同时,稳定学习对模型的泛化能力提出了更高的标准。
  • 从因果关系的角度稳定学习
  • 从统计学习的角度稳定学习
  • 弥合因果关系和学习观点

可解释性和公平性的含义

在实际应用中,稳定性、可解释性和公平性通常是共同需要的。由于这些属性本质上与因果关系相关,因此受因果关系启发的稳定学习可能会提供可解释性和公平性的含义。
在可解释人工智能的研究中,部分依赖图通常被用作一种诊断技术,以深入了解模型预测中特定特征的重要性。稳定的学习模型与因果关系的概念和可解释性的评估指标(例如部分依赖图)一致,自然保证了它们的可解释性。
关于公平,主流研究提出了各种衡量群体公平和个体公平的指标。与通常直接应用于观测数据的现有指标相比,因果推理可以为框架公平问题提供生成角度。在稳定学习中,在合理的假设下,我们最终会利用直接的因果变量来预测结果,这样可以避免虚假相关引起的公平问题。最近,研究人员在公平问题和稳定性问题之间建立了密切联系,使稳定学习成为解决公平问题的首选方法。

结论

如果我们期望这些算法得到广泛应用,那么迫切需要解决机器学习算法的稳定性、可解释性和公平性问题。然而,大多数关于这些主题的研究都试图纠正当前的模型(例如,深度学习模型),这些模型本质上与这些目标背道而驰。我们认为,这些问题是当今学习范式的根本限制,需要从根本上加以解决。尽管存在长期的历史争论,但「预测的基础、相关性与因果关系应该是什么?」的整个问题需要重新审视。
因果推理的最新进展——尤其是在观察研究中——可以为机器学习提供更多的见解和理论支持。
稳定学习是试图找到这两个方向之间的共同点。如何合理放宽严格的假设以匹配「野外」的应用场景,并在不牺牲预测能力的情况下让机器学习更值得信赖,是未来稳定学习需要解决的关键问题。

论文链接:https://www.nature.com/articles/s42256-022-00445-z

人工智能 × [ 生物 神经科学 数学 物理 材料 ]

「ScienceAI」关注人工智能与其他前沿技术及基础科学的交叉研究与融合发展。

欢迎关注标星,并点击右下角点赞和在看。

点击阅读原文,加入专业从业者社区,以获得更多交流合作机会及服务。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129556