《因果科学周刊》第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 泛化 的相关文章

  • 使用 OpenCV 和/或 Numpy 对两个图像进行 Alpha 混合 [重复]

    这个问题在这里已经有答案了 我想将一个填充纯色的半透明矩形添加到已加载的半透明 PNG 中 这是我正在使用的输入图像示例 该图像加载了标准cv2 IMREAD UNCHANGED标志 以便完美保留 alpha 通道 该输入图像存储在imag
  • 如何在 Google App Engine 的 Python 中获取 StringProperty 的值?

    如何获取 nbd Model 的值 我想返回由多个字段组成的描述 但我无法让它工作 这是我的班级代码 class User ndb Model name ndb StringProperty email ndb StringProperty
  • Pandas 连接问题:列重叠但未指定后缀

    我有以下数据框 print df a mukey DI PI 0 100000 35 14 1 1000005 44 14 2 1000006 44 14 3 1000007 43 13 4 1000008 43 13 print df b
  • 类型错误:float() 参数必须是字符串或数字,而不是“列表”python

    我的 Python 有问题 这是我的代码 def calcola a input b float a 0 split c float a 0 split d float a 0 split e float a 0 split j float
  • Paramiko SSHException 通道已关闭

    我一直在使用 Paramiko 在 Linux Windows 机器上发送命令 它可以很好地在 Ubuntu 机器上远程执行测试 但是 它不适用于 Windows 7 主机 以下是我收到的错误 def unit for event self
  • 如何在Python代码中查找列号

    简短问题 当按上述方式调用函数时 我可以找到行号here https stackoverflow com questions 3056048 filename and line number of python script 同样 如何找到
  • Django 模型字段默认基于另一个模型字段

    我使用 Django Admin 构建一个管理站点 有两张表 一张是ModelA其中有数据 另一个是ModelB里面什么也没有 如果一个模型字段b b in ModelB为None 可以显示在网页上 值为ModelA的场a b 我不知道该怎
  • Tensorflow 不分配完整的 GPU 内存

    Tensorflow 默认分配所有 GPU 内存 但我的新设置实际上只有 9588 MiB 11264 MiB 我预计大约 11 000MiB 就像我的旧设置一样 张量流信息在这里 from tensorflow python client
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • Pandas groupby apply 执行缓慢

    我正在开发一个涉及大量数据的程序 我正在使用 python pandas 模块来查找数据中的错误 这通常工作得非常快 然而 我当前编写的这段代码似乎比应有的速度慢得多 我正在寻找一种方法来加快速度 为了让你们正确测试它 我上传了一段相当大的
  • 如何使用 Celery 多工作人员启用自动缩放?

    命令celery worker A proj autoscale 10 1 loglevel info启动具有自动缩放功能的工作人员 当创建多个工人时 me mypc projects x celery multi start mywork
  • Pandas:将 pytz.FixedOffset 应用于系列

    我有一个带有timestamp列看起来像这样 0 2020 01 26 05 00 00 08 00 1 2020 01 26 06 00 00 08 00 Name timestamp dtype datetime64 ns pytz F
  • Jupyter Notebook 中的深色模式绘图 - Python

    我正在使用 Jupyter Notebook 目前正在使用 JupyterThemes 的深色日光主题 我注意到我的绘图不是处于黑暗模式 并且文本仍然是黑色并且在日光照射的背景上无法读取 JupyterThemes 的自述文件建议在 ipy
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 在 scipy 中创建新的发行版

    我试图根据我拥有的一些数据创建一个分布 然后从该分布中随机抽取 这是我所拥有的 from scipy import stats import numpy def getDistribution data kernel stats gauss
  • 在 HDF5 (PyTables) 中存储 numpy 稀疏矩阵

    我在使用 PyTables 存储 numpy csr matrix 时遇到问题 我收到此错误 TypeError objects of type csr matrix are not supported in this context so
  • 沿轴 0 重复 scipy csr 稀疏矩阵

    我想重复 scipy csr 稀疏矩阵的行 但是当我尝试调用 numpy 的重复方法时 它只是将稀疏矩阵视为对象 并且只会将其作为 ndarray 中的对象重复 我浏览了文档 但找不到任何实用程序来重复 scipy csr 稀疏矩阵的行 我
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • 在python中对列表列表执行行总和和列总和

    我想用python计算矩阵的行和和列和 但是 由于信息安全要求 我无法使用任何外部库 因此 为了创建矩阵 我使用了列表列表 如下所示 matrix 0 for x in range 5 for y in range 5 for pos in
  • Python 中的字符串slugification

    我正在寻找 slugify 字符串的最佳方法 蛞蝓 是什么 https stackoverflow com questions 427102 in django what is a slug 我当前的解决方案基于这个食谱 http code

随机推荐

  • 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