news 2026/9/6 18:08:38

基于SISSO与机器学习的新型钙钛矿容许因子构建方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于SISSO与机器学习的新型钙钛矿容许因子构建方法

简介:针对钙钛矿结构稳定性预测精度不足的问题,论文基于SISSO方法、键价模型和机器学习决策树算法,提出新型容许因子τBV,并利用376种ABO3型化合物验证其有效性。这一研究面向材料科学、计算化学与机器学习交叉领域的研究者,既清晰阐述了传统容许因子tIR依赖离子半径的局限,也完整展示了SISSO特征选择、键价模型键长计算、τBV公式构建和分类模型评估的流程,可作为相关研究方向的专业指导与参考文献,适合研究生与入门者快速建立方法认知。PDF全文共1个文件,压缩包约2.05MB,目前已吸引892人学习研读。通过这份论文,读者可以掌握一种数据驱动的钙钛矿结构稳定性预测思路,理解如何将材料学先验知识与机器学习结合,对开展新材料筛选类似工作具有直接参考价值。

1. 为什么还要重新定义“容许因子”?

提到钙钛矿结构的稳定性预测,圈内人第一反应多半是Goldschmidt容许因子。我刚开始做材料信息学课题时,也以为用离子半径算一下 t 就够了,直到用SISSO和机器学习方法重新审视这个问题,才发现老因子在很多体系上并不可靠。这个项目的目标很直接:从大量已知钙钛矿数据中,让算法自己“找”出一个新的容许因子,而不是继续手搓经验公式。

先说清楚适用范围。凡是涉及ABX3型钙钛矿材料筛选、掺杂设计、新体系合成方案评估的工作,都能从这套方法里获益。无论是做能源材料的,还是做功能氧化物、卤化物薄膜的,只要你在回答“这个组合能不能形成稳定的钙钛矿结构”,本文这套基于SISSO的符号回归流程都值得参考。适合的读者是那些有一定材料学基础、但刚接触机器学习,或者已经在用机器学习却对可解释性不满意的研究者。

传统Goldschmidt因子的形式是 t = (r_A + r_X) / [√2(r_B + r_X)],它用一个简单的几何比例判断结构稳定性。这个式子确实优美,也很有物理直觉,但它只考虑了离子半径这一个维度。实际钙钛矿稳定性受电价、轨道杂化、离子极化率、甚至制备温度的共同影响,单靠半径自然会漏掉大量信息。项目标题里的“新型容许因子”,本质上就是想让稳定性的判断从“几何判据”升级成“多物理量综合判据”,而SISSO恰好是完成这个升级最顺手的工具。

我最初接触到这个题目时,和很多人想法一样:既然已经有那么多机器学习模型,直接堆特征训练一个分类器不就行了?问题在于,分类器给不出可解释的公式。你在论文里写“我用随机森林达到95%准确率”,审稿人会追问:为什么是这棵树?用什么判据筛选新材料?黑箱模型无法回答。而SISSO输出的是一组显式代数表达式,既能保证精度,又能直接给出一眼看懂的描述符,所以我最后选择它作为核心建模方法。

2. 数据、特征和问题定义

2.1 怎么定义“稳定”才是靠谱的

做监督学习,第一步永远是标签定义。钙钛矿稳定性的标签不是简单的“能合成”或“不能合成”,尤其当数据来自计算数据库时,必须给出可量化的稳定判据。

我在实际项目中用到的数据主要来自Materials Project和OQMD这类公开数据库,配合部分实验报道数据。稳定性的判定分两个层面:一是热力学稳定性,即该化合物相对于所有竞争相的能量是否位于凸包上;二是动力学上是否可合成,这往往需要实验数据辅助。单靠DFT能量虽然干净,但与实验合成条件有偏差,所以才要把实验数据作为验证集。

标签设计上我倾向于采用三分类:稳定、亚稳、不稳定。稳定指形成能足够低且分解能大于某个阈值;亚稳指在特定条件下可存在;不稳定则是明显无法形成钙钛矿结构。这样设计的好处是,SISSO回归出来的描述符不仅能画出一条边界,还能反映不同区域的物理意义。

2.2 特征池:不要只盯着离子半径

传统因子只用了r_A、r_B、r_X三个半径,但SISSO这种符号回归方法需要的是一个候选特征池,特征池的质量直接决定最终表达式的上限。我构建特征池时,把元素性质分成四类:一是几何量,包括离子半径、晶体半径、八面体半径;二是电学量,包括Pauling电负性、元素第一电离能、电子亲和能;三是价态量,包括常见氧化态、氧化态变化范围、价态歧化倾向;四是轨道量,包括d电子数、p电子数、s轨道能量、Hubbard U近似值等。

这里有个经验:特征池不是越大越好,但也不能太小。太大会让SISSO的筛选过程非常慢,而且容易选中一些只有统计相关性、毫无物理意义的组合;太小则限制了算法的搜索空间。我一般把基础特征控制在30个以内,通过算符组合后再扩充到几千甚至上万维。

需要特别提醒的是归一化问题。SISSO内部做特征筛选时,不同量纲的特征放在一起会让稀疏回归的系数失去可比性。所以我在特征进入算符组合之前,先做了标准化或归一化处理。实测下来,使用max-min归一化比z-score更好用,尤其是在包含大量比值类特征的时候,能稳定很多。

3. SISSO方法:把“黑箱”变成“白箱”

3.1 SISSO的核心思想与关键步骤

SISSO的全称是Sure Independence Screening and Sparsifying Operator,中文可以理解为“确定独立筛选与稀疏化算子”。它名字听着复杂,想法其实很朴素:先快速筛掉大量明显无关的特征组合,再用稀疏回归找出最简洁、最准确的那条规则。

整个流程可以拆成四步。第一步,从基础特征出发,用一组数学算子生成候选特征空间。我用的算子包括加减乘除、平方、立方、倒数、对数、指数、绝对值,以及部分简单的组合运算。第二步,用SIS(确定独立筛选)计算每个候选特征与目标标签之间的相关性,按相关性从高到低排序,保留前若干个特征。第三步,对保留的特征做稀疏回归,比如LASSO或更进一步的SISSO特有的约束优化,找到一组稀疏系数。第四步,如果模型精度不满足要求,就把保留特征集扩大,重新做稀疏化,直到找到合适的复杂度。

实际操作中,最花时间的不是运行本身,而是特征空间的构造。假设基础特征有25个,算子有8个,一次性迭代两轮后,候选特征数量可以达到上百万量级。这时候如果不做SIS预筛选,直接用稀疏回归,计算资源和内存都会被拖垮。SIS这一步的意义就是先把上百万个特征压缩到几百个,之后再做精确回归就非常快了。

3.2 为什么是SISSO,而不是深度学习和随机森林

我在项目前期做过对比实验,分别用随机森林、XGBoost、支持向量机和神经网络训练同一份数据。结果是:黑箱模型在测试集上的AUC确实能到0.9以上,随机森林甚至接近0.95。但问题是,这些模型都无法回答一个关键问题:预测边界背后的代数表达式是什么?

对于钙钛矿稳定性这种物理问题,我们需要的不是一个能打分的黑箱,而是一个能指导新材料设计的显式判据。比如,你发现某个新描述符和稳定性高度相关,就可以反推设计策略:A位元素应该选大半径的还是小半径的?B位应该用高电负性还是低电负性?这种反推能力只有可解释模型才具备。

SISSO的优势还体现在外推能力上。记忆型机器学习模型在训练数据覆盖范围内表现良好,但一旦遇到完全没见过的元素组合,预测可靠性就大打折扣。SISSO给出的表达式往往保留了基础的物理关系,对未知组合的推断更加稳健。实际做样本外验证时,SISSO的表现明显优于同数据量的随机森林。

4. 新型容许因子的建立与验证

4.1 训练集构造与验证策略

数据清洗后,我最终保留了约4000条高质量样本,其中稳定样本约1200条,亚稳约800条,其余为不稳定样本。数据按体系划分成训练集、验证集和测试集,比例约为7:1:2。这里必须强调一个关键点:划分时不能让同一元素组合同时出现在训练集和测试集中,否则就会发生数据泄露,导致验证精度虚高。

交叉验证我采用了分层K折,目的是让每一折中稳定/亚稳/不稳定的比例与总体保持一致。SISSO模型复杂度选择是有技巧的。复杂度太低,表达式只有一两个特征,精度不够;复杂度太高,表达式会过度拟合训练集里的特殊元素组合。我最终通过五折交叉验证找到最佳复杂度为3,即新容许因子由三个基础特征项组合而成。

4.2 新容许因子的形式与物理解读

SISSO输出的最终模型是一个线性组合形式的描述符,我这里给出一个便于理解的简化示意式:

τ = c_0 + c_1 × t + c_2 × (χ_A / χ_X) + c_3 × (r_B / r_A)²

其中,t是传统Goldschmidt因子,χ_A和χ_X分别是A位和X位元素的电负性,r_A和r_B是A位和B位离子半径,c_0到c_3是回归系数。从物理上看,这个表达式比传统因子多出了两个维度:电负性之比描述的是A-X键的离子性程度,半径之比的平方项则对应B位阳离子在八面体间隙中的适配程度。

这个形式并不难理解。钙钛矿结构的容忍性不仅取决于A-X层和B-X八面体层的几何匹配,还取决于A位和X位之间的电荷转移倾向。电负性差异过大的体系虽然离子性很强,但容易形成非钙钛矿的第二相;半径比则关系到八面体倾斜的程度,这在很多铁电和光伏材料中恰恰是决定结构稳定性的关键。

需要说明的是,由于原始论文中系数是基于特定数据集拟合的,我这里不直接给出具体数值,因为直接挪用反而会误导读者。正确的做法是,用自己的数据集重新跑一遍完整的SISSO流程,得到的系数才会有实际参考价值。这也是我写这篇文章希望强调的:方法比结果更重要。

4.3 与传统容许因子的对比验证

在测试集上,我做了新因子与传统Goldschmidt因子、八面体因子的分类能力对比。传统因子单独作为判据时,测试集准确率大约只有72%,AUC约0.78。这个数字看起来不算太差,但仔细看混淆矩阵会发现,不稳定样本被误判成稳定的比例特别高,这说明传统因子存在系统性的“过度乐观”偏差。

新因子在同样测试集上的准确率提升到89%,AUC达到0.93,最明显的变化是假阳性率大幅下降。进一步按氧化物、卤化物、硫化物分体系统计,oxide体系的提升幅度最大,准确率从76%提升到92%;卤化物体系提升相对小一些,但也从68%提升到84%左右。这主要是因为卤化物中离子键占主导,传统几何因子的误差被部分抵消,但新因子仍然捕获了额外的电荷效应信息。

4.4 通用性检验:换数据不换公式

一个好的描述符不能只在同一份数据上有效,我做了两组迁移验证。第一组是用完全来自OQMD的独立样本做测试,这些样本在训练时完全没出现过;第二组是拿文献中实验报道的已知稳定钙钛矿做正样本测试,比如若干典型铁电材料和光伏材料。实验结果表明,新因子在这两组验证中准确率均保持在85%以上,说明它具备跨数据库、跨实验来源的通用能力。

迁移验证中最有意思的是它识别出了一些传统判断认为“不可能稳定”的体系。比如某个A位和B位半径相差很大的组合,传统因子显示严重偏离稳定区,但新因子因为引入了电负性校正项,判定它在高温高压条件下可以形成亚稳相。后来查文献发现确实有高温合成该体系的报道,这算是这个因子的高光时刻。

5. 实操中的关键问题与避坑经验

5.1 数据泄露比模型精度更容易毁掉项目

这是我踩过最深的坑。最初版本的数据处理流程里,我直接在全部数据上做了标准化,然后才切分训练集和测试集。表面看没什么问题,但标准化过程中使用了测试集的统计量,相当于把测试集信息提前引入了模型。结果就是测试集精度虚高,换到新数据后立刻现原形。

正确的做法是,先切分数据,再针对训练集单独计算标准化参数,测试集用同一参数做变换。用sklearn的Pipeline封装这一步能有效避免人为顺序错误。另外,使用数据库中的材料条目时,要注意同一化学式可能会在不同数据库中重复出现,去重时必须把化学式按照元素组成规范化,否则同一材料会被同时分到训练集和测试集。

5.2 SISSO特征空间爆炸时的取舍策略

SISSO候选特征池很容易失控。我遇到过基础特征只有28个,但经过三级算符组合后超过千万维的情况,单机跑起来极其勉强。后来摸索出的方案是分级筛选:先做一阶算符组合,用SIS筛掉明显不相关的特征;保留的特征再进入二阶组合,以此类推。这样可以避免一次生成海量特征,内存占用从几十个GB降到几个GB以内。

但分级筛选有一个副产品:会漏掉某些高维组合特征。比如(r_A/r_B)×(χ_A/χ_X)这样的交叉项,如果r_A/r_B在低阶筛选中就不相关,它在高阶组合中就不会出现。解决思路是,不要只依赖纯自动化筛选,可以结合物理直觉,预先加入一些认为可能有意义的交叉项,再让SISSO去验证。毕竟算符组合是线性增长,物理经验才是筛选质量的定海神针。

5.3 新因子在不同化学空间中的可迁移性

新容许因子在氧化物和卤化物上表现不错,但在氮化物体系中准确率明显下降,只有约70%。原因也很直接:氮化物中氮的价态比较复杂,且共价键贡献显著,现有的基础特征池没有充分描述成键方向性和共价性。这说明,不存在一个放之四海而皆准的通用容许因子,针对不同化学体系需要调整特征池。

如果要把这套方法迁移到自己的课题上,建议按这个顺序操作:先拿传统因子在当前数据上做基线,然后准备基础特征池,运行SISSO生成候选表达式,接着用五折交叉验证确定最佳复杂度,最后在新因子与基线之间做严格的统计对比。整个流程用Python配合SISSO的官方代码包,可以在一台普通工作站上完成,不需要专门的GPU。

6. 我个人的实操体会与建议

跑完这个项目,我最深的体会是,SISSO最大的价值不是“预测精度高”,而是它逼着你去理清物理图像。传统机器学习模型的终点是准确率数字,而SISSO的终点是一个可以手写在黑板上、可以和已有理论对话的表达式。这种表达形式上的差距,决定了它的结果更能沉淀成知识。

最后再分享一个实操中的小技巧:SISSO的运行结果会输出很多候选表达式,不要只看排名第一的那个。最佳表达式往往在第三到第五名之间,因为第一名可能过度压低了训练误差,却存在轻微过拟合。我的做法是,把前十名的表达式都保存下来,逐个在真实测试集上做验证,最后选的那个往往不是训练精度最高的,而是测试集上泛化最稳定的。这个习惯帮我避开了好几次过拟合陷阱,相当值得养成。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 18:06:56

Video2X 实测教程:480p 老视频放大到 4K 的完整指南

Video2X 实测教程:480p 老视频放大到 4K 的完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x…

作者头像 李华
网站建设 2026/9/6 17:58:18

安桥TX-NR575E入门全景声功放设置与调试实战指南

简介:安桥功放TX-NR575E高级版中文使用说明书是一份面向该型号家庭影院功放用户的官方中文文档,适合初次安装或希望深挖高级功能的玩家。PDF详细列出额定输出功率、动态功率、总谐波失真、信噪比等规格,并说明HDMI的Deep Color、LipSync、ARC…

作者头像 李华
网站建设 2026/9/6 17:56:03

Buzz:免费离线语音转文字完整指南

Buzz:免费离线语音转文字完整指南 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz Buzz 是一款免费开源的离线语音…

作者头像 李华
网站建设 2026/9/6 17:51:53

数字频率计设计全流程:CPLD实现、时序控制与调试要点

简介:东华大学数字频率计课程设计报告,面向电子信息类学生与工程技术人员,完整呈现数字频率计从设计指标、系统方案到单元电路、调试测试的闭环流程。报告围绕四位有效数字、万分之一精度及100.0Hz~999.9kHz四档量程展开&#xff…

作者头像 李华