4. 材料数据标准化与归一化
材料数据来自文献、数据库、实验记录和计算模拟,天然存在量纲混杂、成分基准不一、工艺参数尺度差异巨大、晶体结构描述方式不统一等问题。如果直接把原始数据送入回归、分类或聚类模型,模型会被数值范围大的特征主导,距离度量失去物理意义,系数无法跨体系比较。标准化与归一化的目标不是“把数据变好看”,而是让不同来源、不同物理含义的字段在同一数学尺度上可比较、可组合、可解释。
一、量纲统一:先解决“单位”问题
量纲统一是标准化之前必须完成的一步。同一物理量在不同文献中可能使用不同单位,例如屈服强度用 MPa 或 GPa,热导率用 W/(m·K) 或 cal/(cm·s·℃),晶格常数用 Å 或 nm,温度用 ℃ 或 K。若直接混用,数值相差几个数量级,后续任何缩放都无法恢复物理正确性。
做法是建立“字段—标准单位—换算因子”映射表,把每个字段统一到 SI 或领域惯用单位。例如:强度统一为 MPa,温度统一为 K,长度统一为 Å,能量统一为 eV/atom,密度统一为 g/cm³。对温度这类有偏移量的量,换算必须用 T(K)=t(℃)+273.15,不能只乘系数。对成分百分比,要区分 wt% 与 at%,两者换算需要各元素原子量,不能直接互换。
二、成分归一化:让“配方”可比
合金、陶瓷、掺杂体系的成分常以质量分数、原子分数、摩尔比或化学计量比给出。成分归一化的核心是把每个样本的成分向量缩放到同一基准,常用两种方式:
- 总和归一化:将各组分分数除以总和,使 Σxi=1。适用于主元素齐全、杂质可忽略的配方。
- 基体归一化:以主元素或某固定组分为基准,其余组分表示为相对比值,如 xi/x基体。适用于掺杂、微量添加体系。
例如某高温合金成分为 Ni-20Cr-10Co-2Mo(wt%),总和为 132,若误当作 100 直接输入,模型会认为该合金“缺少”32% 的成分。正确做法是先确认数据是 wt% 还是 at%,再统一换算并归一化。对含氧、氮等间隙元素的体系,还要明确是否把间隙元素计入总和,否则同一材料在不同文献中会得到不同归一化结果。
三、工艺参数标准化:消除尺度差异
工艺参数包括温度、时间、压力、冷却速率、气氛流量、退火升温速率等,量纲和数值范围差异极大。例如烧结温度约 1200–1600 ℃,保温时间 1–10 h,压力 10–50 MPa,冷却速率 5–100 ℃/min。若直接进入基于距离的模型,温度会完全主导相似度。
常用标准化方法有:
- Z-score 标准化:x'=(x−μ)/σ,使均值为 0、标准差为 1,适合近似正态分布、无强异常值的参数。
- Min-Max 归一化:x'=(x−xmin)/(xmax−xmin),压缩到 [0,1],适合有明确物理边界的参数,但对异常值敏感。
- 对数变换:对冷却速率、晶粒尺寸等跨数量级参数,先取 log 再标准化,可缓解偏态。
关键原则:标准化参数必须只在训练集上拟合,再把同一 μ、σ 或 min、max 应用到验证集和测试集。若在全量数据上拟合,验证集信息会泄漏进训练过程,导致评估过于乐观。
四、晶体结构数据标准化:描述符要一致
晶体结构数据包括晶格常数 a、b、c,轴角 α、β、γ,空间群编号,原子占位,以及由结构衍生的描述符如配位数、原子半径比、电负性差、堆积密度、形成能等。标准化要点有三:
- 晶系与设置统一:同一空间群可能有不同原点选择或轴设置,必须统一到标准设置,否则相同结构会得到不同坐标。
- 晶格常数与角度分离处理:a、b、c 用长度标准化,α、β、γ 用角度标准化,不能混在同一尺度。
- 衍生描述符量纲一致:形成能统一为 eV/atom,原子半径统一为 Å,电负性用 Pauling 标度,避免同一字段混用不同定义。
对包含元素种类差异的体系,还可对元素属性做加权平均或使用元素特征向量,使不同化学组成的结构可以在同一特征空间中比较。
五、对后续建模的影响
标准化与归一化直接决定模型能否学到正确的规律。第一,距离度量公平:KNN、SVM、聚类等依赖距离的算法,若不做缩放,烧结温度(上千)会完全掩盖冷却速率(几十),相似材料被误判为不相似。第二,系数可比较:线性回归和正则化模型中,未标准化的系数大小受量纲影响,无法判断哪个特征更重要;标准化后系数才反映真实贡献。第三,收敛更稳:神经网络和梯度下降在统一尺度上步长更合理,训练更快、更不易震荡。第四,泛化更可靠:训练集拟合的 μ、σ、min、max 必须原样应用到验证集和测试集,否则数据泄漏会让评估结果虚高。
六、一个可执行的检查清单
| 检查项 | 判断标准 | 常见错误 |
|---|---|---|
| 单位是否统一 | 每列只有一个标准单位 | MPa 与 GPa 混在同一列 |
| 成分基准是否明确 | 标注 wt% 或 at%,且 Σx=1 | 把 wt% 当 at% 直接归一化 |
| 温度换算是否正确 | ℃→K 加 273.15 | 只乘系数不加偏移 |
| 标准化参数来源 | 仅用训练集拟合 | 全量数据拟合导致泄漏 |
| 结构描述符是否一致 | 空间群标准设置、单位统一 | 不同文献空间群设置混用 |
| 目标列是否保留单位 | 目标列不参与缩放 | 目标列也被 Min-Max 压缩 |
实际操作中,建议把上述步骤固化为一个可复用的预处理管道:先做量纲统一和成分归一化,再对工艺与结构特征分别拟合标准化参数,最后把变换后的特征矩阵与保留原单位的目标列一起送入建模流程。这样既能保证物理正确性,也能让模型评估结果真实可信。