《因果科学周刊》第5期:OOD 泛化

2023-11-12

为了帮助大家更好地了解因果科学的最新科研进展和资讯,我们因果科学社区团队本周整理了第5期《因果科学周刊》,推送近期因果科学值得关注的论文和资讯信息。本期的主题是”OOD 泛化“,另外在“近期社区活动”专栏,我们将介绍清华副教授崔鹏在 NeurIPS 2020中国预讲会上,所作主题报告「稳定学习:发掘因果推理和机器学习的共同基础」中的精彩观点。

本期作者:闫和东 许雄锐 陈天豪 杨二茶 龚鹤扬 张天健 方文毅 郭若城

1. OOD 泛化简介

Out-of-distribution(OOD) 泛化是一种 Systemactic 泛化,很多人对 OOD 问题的关注是从 Bengio 开始的,传统上一些做法是认为OOD=Novelty Detection=Outlier Detection,但是本文完全不讨论 OOD detection 相关内容.

图1:Bengio 目前第一的研究兴趣

Bengio 表示传统机器学习一半是基于独立同分布(IID)的数据分布假设,但实际现状是很多真实场景下我们感兴趣的数据往往是出现次数非常少的数据,也就是我们在处理时需要关注更多的是 OOD,也就是在数据中出现较少的分布,这需要我们在机器学习算法中有新的数据假设。尤其是从 Agent 的角度来考虑,考虑哪些是影响数据分布变化的因素,以及不同分布的可组合性等很重要。

图2:从 IID 到 OOD (Bengio)

元学习(学习学习的模型)是可能实现机器学习到 OOD 和模型快速迁移的一个办法。说到 OOD,究其原因是有行为的变化,或者是用户行为对于数据的干预。元学习的知识表示,e.g. 变量之间的因果结构, 可以有效帮助 OOD 泛化,这里的挑战是如何学习到未知干预变量的因果知识。

作为因果结合机器学习的一个具体方向,下面是我们邀请亚利桑那州立大学在读博士郭若城推荐的6 篇 Causal + OOD 论文:

  1. Peters, Jonas, Peter Bühlmann, and Nicolai     Meinshausen. "Causal inference using invariant prediction:     identification and confidence intervals." arXiv preprint arXiv:1501.01332 (2015).

  2. Rothenhäusler, Dominik, Nicolai Meinshausen, Peter     Bühlmann, and Jonas Peters. "Anchor regression: heterogeneous data     meets causality." arXiv     preprint arXiv:1801.06229 (2018).

  3. Rojas-Carulla, Mateo, Bernhard Schölkopf, Richard     Turner, and Jonas Peters. "Invariant models for causal transfer     learning." The Journal of     Machine Learning Research 19, no. 1 (2018): 1309-1342.

  4. Arjovsky, Martin, Léon Bottou, Ishaan Gulrajani, and     David Lopez-Paz. "Invariant risk minimization." arXiv preprint arXiv:1907.02893     (2019).

  5. Krueger, David, Ethan Caballero, Joern-Henrik Jacobsen,     Amy Zhang, Jonathan Binas, Remi Le Priol, and Aaron Courville.     "Out-of-distribution generalization via risk extrapolation     (rex)." arXiv preprint     arXiv:2003.00688 (2020).

  6. Ahuja, Kartik, Karthikeyan Shanmugam, Kush Varshney,     and Amit Dhurandhar. "Invariant risk minimization games." ICML     2020.

2. 崔鹏谈 OOD 

崔鹏是清华大学计算机科学与技术系副教授,主要研究方向是 Stable learning, OOD generalization, fairness, counterfactual prediction. 我们在研读和翻译了如上所述的论文之后,特别邀请崔鹏老师谈了他的观感,具体如下:

1)Bengio 选择尝试用因果来解决 OOD 问题,获得 Systematic 泛化能力,崔鹏老师团队的 Stable learning/prediction 就是 Causal + OOD 的一系列具体工作。

2)崔鹏老师强调了 OOD 问题不应该假定 Testing distribution,所以严格意义上上面的文章3可能不是 OOD 范畴。

3)前两篇文章是融入了因果图的信息来解决 OOD 问题,而后三篇是纯基于 representation learning 的。Stable learning是兼顾 Causal implication 和 Learning 框架,是这两种思路的融合。

4) 支持 OOD 研究的数据集对初学者很重要,崔鹏老师其实是在推荐他们近期的工作 NICO 数据集给关注 OOD 问题的研究者,该数据集合已经在上一期内容中介绍。

关于 Stable Larning 的论文,请查看我们的周刊:《因果科学周刊》第三期:因果助力 Stable Learning

接下来,是我们对 6 篇 Causal + OOD 论文的摘要翻译,包括因果社区龚鹤扬所进行的评论解读。

    

3. 论文翻译和解读

3.1 Methods with causal graphs

这部分的论文在某种意义上假定因果结构已知。

Peters, Jonas, Peter Bühlmann, and Nicolai     Meinshausen. "Causal inference using invariant prediction: identification and confidence intervals." arXiv preprint arXiv:1501.01332 (2015).

摘要翻译:就预测来说,因果模型和非因果模型有什么区别呢?假设我们干预预测变量或更改整个环境。因果模型的预测将在一般情况下以及在观测数据的干预下起作用。相反,如果我们积极干预变量,则非因果模型的预测可能会非常错误。在这里,我们提出利用在因果模型下预测的这种不变性进行因果推断:在不同的实验设置(例如各种干预措施)下,我们汇集所有在设置和干预措施中确实显示出预测准确度不变性的模型。因果模型将以较高的概率成为这些模型的一个。这种方法在相当普遍的情况下为因果关系产生有效的置信区间。我们将更详细地研究结构方程模型的例子,并提供充分的假设,在这些假设下可以使因果预测变量集可识别。我们将进一步研究模型误定情况下我们方法的鲁棒性,并讨论可能的扩展。我们研究了各种数据集的经验性质,包括大规模的基因扰动实验。

译者:闫和东 

龚鹤扬解读:

  • 如果我们干预一些变量或者改变整个环境,因果模型的预测效果将会依然很好,而非因果模型则不一定。

  • 本文探索的是模型 prediction invariance 性质,而因果模型则很可能就是拥有 prediction invariance 性质。

  • 主要贡献是新方法,新概念,新理论。

Rothenhäusler, Dominik, Nicolai Meinshausen, Peter     Bühlmann, and Jonas Peters. "Anchor regression: heterogeneous data meets causality." arXiv     preprint arXiv:1801.06229 (2018).

翻译摘要:我们考虑了在一个与训练集分布不同的数据集中,如何从一组协变量预测一个因变量的问题。当在新的分布中有大量变量被干预所影响,或者虽然只有一部分变量被影响、但干扰非常强烈时,因果变量在预测准确率上是最优的。如果训练集和测试集的分布存在一个偏移,因果参数可能由于太保守而在上述任务中表现欠佳。这激发了锚回归(anchor regression)方法的提出,这个方法通过一个对最小二乘损失的修正,利用外生变量来解决因果最小最大问题的一个松弛。我们证明了估计量(estimator)的预测性能有保障,具体来说是分布线性偏移下的预测具备分布鲁棒性,甚至工具变量假设不再满足的时候依然有效。我们发现如果锚回归与最小二乘法提供的答案相同(锚稳定性),则在特定的分布变化下普通最小二乘法参数是稳定不变的。实证表明锚回归能够提高可重复性并避免分布变化的影响。

译者:许雄锐

龚鹤扬解读:

The anchor variable can either be used to encode heterogeneity “within” a data set or heterogeneity “between” data sets. 

Rojas-Carulla, Mateo, Bernhard Schölkopf, Richard     Turner, and Jonas Peters. "Invariant models for causal transfer learning." The Journal of Machine Learning Research 19, no. 1 (2018): 1309-1342.

摘要翻译:迁移学习方法尝试结合来自几个相关任务或领域的知识以提高测试集的性能。受因果方法的启发,我们放宽通常的协变量偏移假设,并假设它适用于预测变量的子集:给定该预测变量子集下,目标变量的条件分布在所有任务中都是不变的。我们展示了这个假设是如何从因果关系领域的观点中得到启发的。我们聚焦于领域泛化问题(Domain Generalization),在这个问题中没有观察到来自测试任务的示例。我们证明了在对抗性环境下,使用该子集进行预测在域泛化中是最优的;我们进一步提供例子,其中任务充分多样化,因此即使在平均水平上,估计器也优于池化的数据。我们还介绍了一种实用的方法,该方法允许对上述子集进行自动推理,并给出了相应的代码。我们给出这种方法在合成数据集和基因缺失数据集的结果。

译者:陈天豪


龚鹤扬解读:

主要内容包括

  • 问题的假定是给定某部分变量下结果的条件分布不变←covariate shift assump

  • 我们用对抗学习能够选择出来正确的变量 with proof

3.2 Methods without causal graphs

这部分内容是基于表示学习的。

Arjovsky, Martin, Léon Bottou, Ishaan Gulrajani, and     David Lopez-Paz. "Invariant risk minimization." arXiv preprint arXiv:1907.02893     (2019).

摘要翻译:我们介绍了一种在多种训练数据分布下学习不变相关关系的学习范式,称为不变风险最小化(IRM)。为了实现这个目标,IRM可以学到一种数据表示,使得基于这种数据表示的最优分类器在不同的训练数据分布下都有较好的表现。通过理论和实验,我们展现了IRM学到的不变性是如何与数据生成机制的因果结构相联系的,并且提高了OOD情况下的泛化能力。

译者张天健注:

这里多种训练数据分布是指,在每种环境下 联合分布会有不同。对于实验者,每个数据点采自的相应环境是已知的。

龚鹤扬解读:

  • 基本思想 spurious correlations do not appear to be stable properties 

  • 文章的主要贡献是: OOD  新范式 for multiple training envs. 

    • 图像像素点不会是因果变量,所以我们自动学习出来。

    • 提出 IRM 原则:To learn invariances ..., find a representation such that .....。 

  • IRM 的数学原理如下:

Krueger, David, Ethan Caballero, Joern-Henrik Jacobsen,     Amy Zhang, Jonathan Binas, Remi Le Priol, and Aaron Courville.     "Out-of-distribution generalization via risk extrapolation     (rex)." arXiv preprint     arXiv:2003.00688 (2020).

摘要翻译:训练分布之外数据集的泛化是当前机器学习面临的挑战。一个弱形式的分布外(OoD)泛化能力是指能成功地在多个观测分部之间进行内插(Interpolate)。实现这一目标的方法之一是通过鲁棒性优化,这意味着最小化在训练分布的凸组合中最差的情况。然而,OoD 泛化的一种更强的形式是指在训练时对观察到的分布外进行外推的能力。为了追求强大的 Ood 泛化,我们引入风险外推(REx)。REx能被看做通过促进训练风险之间的严格平等从而促进训练风险线性组合的鲁棒性。我们从概念上展示了这一原则如何允许外推,并且展示了REx在不同的 OoD 泛化任务上的有效性和实例扩展性。

译者:方文毅

龚鹤扬解读:

  • 我们提出一个类似 IRM 的新原则 REx,用于解决 “Spurious” features are predictive in training, but not in a test time,例如手写数字的颜色。

  • 基本数学原理如下:

不同领域上的风险进行线性组合,并且允许组合系数为负值,通过这个实现了外推, 并且优化这个组合中最差的情况。对于 Variance REx(V-REx),使用方差进行正则化,从结果来说比 MM-REx 稳定一些。

Ahuja, Kartik, Karthikeyan Shanmugam, Kush Varshney,  and Amit Dhurandhar. "Invariant risk minimization games." ICML  2020.

摘要翻译:当环境中的测试分布和训练分布的差异是由虚假相关导致的,机器学习的标准风险最小化的范式就变得岌岌可危了。通过多环境的数据集训练,同时寻找不变的那些预测指标,将模型专注于对结果有因果关系的特征,可达到减少虚假特征影响的目的。本研究提出不变风险最小化的概念,寻找纳什均衡中差异环境下的组合博弈。研究者提出一种采用最优反映动态的简单训练算法,实验产出比Arjovsky et al. (2019)双层优化问题中,更小的方差,近似甚至更好的实证准确性。本研究的关键理论贡献表明在任意有限数量的环境中,包括非线性分类及变换的环境,研究提出策略的纳什均衡集合与不变预测指标的集合是等价的。综上所述,本研究方法同Arjovsky et al. (2019),需保留大量的环境集合,才具有泛化保证。本文提出算法在现有的成功博弈-理论的机器学习算法如生成对抗网络(GAN)等研究的基础上进行了补充。

译者:杨二茶

龚鹤扬解读:

  • IRM 的变体 + Nash 均衡

4. 近期社区活动

在11月27日由智源社区举办的 NeurIPS 2020中国预讲会上,智源青年科学家、清华大学计算机科学与技术系副教授崔鹏发表了主题为「稳定学习:发掘因果推理和机器学习的共同基础」的演讲,崔鹏表示,「我们将站在机器学习的角度,探讨如何看待因果推理。」 

在本次演讲中,崔鹏结合其研究组近年来的相关研究工作,针对如何「将因果与机器学习相结合」这一问题进行了分享。 

自 2016 年起,崔鹏团队开始深入研究如何将因果推理与机器学习相结合,并最终形成了「稳定学习」(stable learning)的研究方向。从宏观的角度来看,稳定学习旨在寻找因果推理与机器学习之间的共同基础,从而应对一系列有待解决的问题。 

在演讲中,崔鹏首先介绍了当下人工智能存在的风险,即不可解释性和不稳定性,并指出,关联统计是导致这些风险的重要原因。而结合因果推断的机器学习可以克服这两个缺陷,实现稳定学习。值得一提的是,从因果角度出发,可解释性和稳定性之间存在一定的内在关系,即通过优化模型的稳定性亦可提升其可解释性。 

然后,崔鹏介绍了如何通过「混淆变量平衡」的思想实现稳定学习,并指出其具有理论保障。实验结果也表明:「训练和测试时环境差异越大,采用因果方法相对于关联方法取得的性能提升也就越大」,从而展现了因果推断对于降低机器学习风险、克服关联统计缺陷的优势,以及引领机器学习下一个发展方向的潜力。

因果科学社区简介:它是由智源社区、集智俱乐部共同推动,面向因果科学领域的垂直型学术讨论社区,目的是促进因果科学专业人士和兴趣爱好者们的交流和合作,推进因果科学学术、产业生态的建设和落地,孕育新一代因果科学领域的学术专家和产业创新者。

   

因果科学社区欢迎您加入!

 

因果科学社区愿景回答因果问题是各个领域迫切的需求,当前许多不同领域(例如 AI 和统计学)都在使用因果推理,但是他们所使用的语言和模型各不相同,导致这些领域科学家之间沟通交流困难。因此我们希望构建一个社区,通过组织大量学术活动,使得科研人员能够掌握统计学的核心思想,熟练使用当前 AI 各种技术(例如 Pytorch/Pyro 搭建深度概率模型),促进各个领域的研究者交流和思维碰撞,从而让各个领域的因果推理有着共同的范式,甚至是共同的工程实践标准,推动刚刚成型的因果科学快速向前发展。具备因果推理能力的人类紧密协作创造了强大的文明,我们希望在未来社会中,因果推理融入到每个学科,尤其是紧密结合和提升 AI ,期待无数具备攀登因果之梯能力的 Agents (Causal AI) 和人类一起协作,共建下一代的人类文明!

 

如果您有适当的数学基础和人工智能研究经验,既有科学家的好奇心也有工程师思维,希望参与到”因果革命“中,教会机器因果思维,为因果科学作出贡献,请加入我们微信群:扫描下面社区小助手二维码加入(请备注“因果科学”)????

        

阅读往期《因果科学周刊》,请点击下面链接:

《因果科学周刊》第一期:因果社区诚邀加入,打造因果推理共同范式

《因果科学周刊》第二期:如何解决混淆偏差?

《因果科学周刊》第三期:因果助力 Stable Learning

《因果科学周刊》第四期:因果赋能推荐系统

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《因果科学周刊》第5期:OOD 泛化 的相关文章

  • Python 中的字节数组

    如何在 Python 中表示字节数组 如 Java 中的 byte 我需要用 gevent 通过网络发送它 byte key 0x13 0x00 0x00 0x00 0x08 0x00 在Python 3中 我们使用bytes对象 也称为s
  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • 为什么我的代码不能根据字典解码加密字符串?

    我有一本字典 其中包含代表字母的键和值 例如一个简单的 DICT CODE b g n a p o x d t y 我收到了一个加密代码 并将该字符串转换为一个列表 其中每个项目都是一个单词 我需要根据字典中的项目来解决它 代码示例是 wo
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 如何使用 Django 项目设置 SQLite?

    我已阅读 Django 文档 仅供参考 https docs djangoproject com en 1 3 intro tutorial01 https docs djangoproject com en 1 3 intro tutor
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 如何将回溯/sys.exc_info() 值保存在变量中?

    我想将错误名称和回溯详细信息保存到变量中 这是我的尝试 import sys try try print x except Exception ex raise NameError except Exception er print 0 s
  • Django 模型:如何使用 mixin 类来覆盖 django 模型以实现 save 等功能

    我想在每次保存模型之前验证值 所以 我必须重写保存函数 代码几乎是一样的 我想把它写在 mixin 类中 但失败了 我不知道如何写 super func 我英语不好 抱歉 class SyncableMixin object def sav
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro
  • 长/宽数据到宽/长

    我有一个数据框 如下所示 import pandas as pd d decil 1 decil 1 decil 2 decil 2 decil 3 decil 3 decil kommune AA BB AA BB AA BB 2010
  • 缓存 Flask-登录 user_loader

    我有这个 login manager user loader def load user id None return User query get id 在我引入 Flask Principal 之前它运行得很好 identity loa

随机推荐

  • kiel5编译报错error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

    原因是startup xxx s文件只能保留其中一种 启动文件分别带有hd md ld和cl vl xl几种种字样 需要查看mcu的flash内存大小来选择 cl 互联型产品 stm32f105 107系列 vl 超值型产品 stm32f1
  • 世界各国英文简写一览表

    整理了一份世界各国英文简写表 供大家参考 country cName country code country eName 中国 CN China 中国台湾 W aiwan 中国澳门 MO Macao 中非共和国 CF he Central
  • 基于STM32c8t6的5路pwm占空比测量实验总结

    测量方式 1 正点原子例程里使用的方式 定时器通道的相关引脚输入捕获上升沿触发中断 在中断函数里 检测到上升沿之后TIM SetCounter TIMX 0 将计数器的值置零重新开始计数 同时将定时器中断触发方式切换为下降沿触发 待到下降沿
  • 嵌入式(TCP编程)

    TCP编程API 1 socket 函数 参数 2 bind 函数 如果是IPV6的编程 要使用 struct sockddr in6结构体 man 7 ipv6 通常更通用的方法可以通过struct sockaddr storage来编程
  • VulnHub渗透实战Billu_b0x

    简介 VulnHub是一个面向所有人开放的安全靶场 里面有很多安全环境 只要下载相关镜像 在相关虚拟机上面运行就可以练习相关靶场了 里面设计了好多关 如果有耐心一定可以到达峰顶 许多考oscp人员 也会利用vulnhub靶场进行刷题 我们下
  • pycharm缩进快捷键

    1 pycharm使多行代码同时右移缩进 鼠标选中多行代码后 按下Tab键 一次缩进四个字符 2 pycharm使多行代码同时左移 鼠标选中多行代码后 同时按住shift Tab键 一次左移四个字符
  • python函数和模块有什么特性_python-函数包和模块

    python函数的作用 在Python代码段中如果有一段几十行的代码 需要多次重复使用这几十行代码时 为了提高代码的可用性 将代码段放进函数体内 以后在使用中直接调用该函数模块即可 函数是一个独立的函数体或是一段独立的功能体 最主要的作用是
  • 头脑风暴会议的注意事项

    在组织内会经常召开头脑风暴的讨论会 如何举办一个成功的讨论会议呢 请看如下的30个要点 头脑风暴会议的注意事项 序号 分类 要点 1 会前 明确会议目的 议程 时间 地点 交通方式等 并确保通知到与会人员 以便参与者有充分准备 2 准备必要
  • 智能系统设计开发 java_一种基于java语言的智能系统设计与开发.doc

    一种基于java语言的智能系统设计与开发 doc 还剩 36页未读 继续阅读 下载文档到电脑 马上远离加班熬夜 亲 很抱歉 此页已超出免费预览范围啦 如果喜欢就下载吧 价低环保 内容要点 兰州交通大学毕业设计 论文 32参考文献 1 郭今吕
  • STM32 定时器的简单应用 1ms中断代码

    引言 利用定时器TIM8产生1ms中断 每中断一次 全局变量 1 计数到10即10ms 使得输出引脚翻转一次 芯片采用STM32F103VCT6 系统输入时钟12MHz 完成代码并用示波器输出 根据要求 本项目涉及系统时钟配置 中断源配置
  • 数据结构---冒泡排序

    冒泡排序 算法思想 代码实现 优化冒泡排序1 优化冒泡排序2 算法思想 把相邻的元素两两比较 当一个元素大于右侧相邻元素时 交换它们的位置 当一个元素小于或等于右侧相邻元素时 位置不变 每次冒泡 就把当前最大的元素弄出来了 冒泡排序是一种稳
  • Python 下载的 11 种姿势

    1 使用requests 你可以使用requests模块从一个URL下载文件 考虑以下代码 你只需使用requests模块的get方法获取URL 并将结果存储到一个名为 myfile 的变量中 然后 将这个变量的内容写入文件 2 使用wge
  • ES报错Native controller process has stopped - no new native processes can be started

    一 问题描述 在Linux中启动ES发现如下错误 Native controller process has stopped no new native processes can be started 问题如下所示 问题代码 2022 0
  • OS X Mavericks Server使用教程:安装设置

    2014年1月2日 51CTO外电头条 OS X Server 10 9增加了多项新服务 同时也通过调整让旧有服务更加易于使用 Mavericks运行Server app 3 0版本 OS X Server以更为友善的面貌亲近用户 OS X
  • springboot 事务回滚(*)

    springboot 事务回滚 springboot 事务使用 1 只有在开启事务的方法中出现异常 才会自动回滚 需要在service的public方法上面加上 Transactional rollbackFor Exception cla
  • iLogtail专题六:实际场景采集模拟

    公司一直使用的Filebeat进行日志采集 由于Filebeat采集组件一些问题 现需要使用iLogtail进行代替 现记录下iLogtail介绍和实际使用过程 这是iLogtail系列的第六篇文章 背景 由于平时日志采集存在堆栈信息日志情
  • python 学习笔记06: dict(字典)类型的操作

    usr bin env python3 coding utf 8 Created on Mon Mar 25 22 04 09 2019 author sungang 今天学习python中用数据类型 dict 字典 学习一个类型 最好的办
  • LeetCode 136.只出现一次的数字

    题目描述 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 说明 你的算法应该具有线性时间复杂度 你可以不使用额外空间来实现吗 示例 1 输入 2 2 1 输出 1 示例 2 输入 4 1
  • 杀毒软件会从哪些方面对计算机进行保护作用(360杀毒软件)

    360杀毒软件介绍 360杀毒软件介绍 360杀毒是360安全中心出品的一款免费的云安全杀毒软件 它创新性地整合了五大领先查杀引擎 包括国际知名的BitDefender病毒查杀引擎 Avira 小红伞 病毒查杀引擎 360云查杀引擎 360
  • 《因果科学周刊》第5期:OOD 泛化

    为了帮助大家更好地了解因果科学的最新科研进展和资讯 我们因果科学社区团队本周整理了第5期 因果科学周刊 推送近期因果科学值得关注的论文和资讯信息 本期的主题是 OOD 泛化 另外在 近期社区活动 专栏 我们将介绍清华副教授崔鹏在 NeurI