||
10年前,AlphaGo横扫围棋世界冠军!数据居然战胜了机理:一个不懂深奥围棋原理的机器,只通过棋谱,甚至自己瞎下的数据训练,就成了世界冠军!震惊之余让我非常担心即将到来的新时代材料工作者的知识、技能结构,必须补上强大的数据处理技能。我立即着手将传统的统计、数据处理和机器学习整合在一起的简易教材《材料计算方法》【1】。由于当时时间紧迫,机器学习自己也是现学现卖,写得很简单,没有材料应用实例。为了弥补该遗憾,我打算通过这个平台,陆续将一些我的应用实例介绍给大家。
数据挖掘本来主要是大数据中的术语,是指从大量、不完整、有噪声、模糊、随机的原始数据里,通过统计、机器学习等算法,自动找出隐藏的规律和关联模式。对于材料学科的数据来说不可能是大数据,但是我们依然会遇到很多仅仅通过简单的描述性统计(如分布、均值、方差等)和Excel、origin等图表软件无法获取的数据内部隐含的信息、规律等问题,这就需要新技术进行挖掘。而所谓的新技术就是机器学习!
为什么一定是机器学习,我用一个例子来说明这个问题。
设某氧化铝粉体生产企业,粉体指标主要有粉体粒度分布和比表面积,另外,α相含量不作为指标,但是高于96%是合格的要求,问不用每次都用XRD进行相组成定量分析,仅从已获得的粒度分布及比表面积的数据来判断该粉体是否合格。根据一般常识这好像这是一个不可能,相组成不可能由粉体的几何特性数据获得!
分析:
首先分析因素之间是否存在相关关系。从表面上看,粉体相组成与粉体粒度及比表面积没有直接关系。但是激光粒度仪测试粒度分布时,涉及粉体颗粒的沉降速度,而沉降速度与粉体的比重有关,这就和粉体的相组成有关了;比表面积是用氮吸附测的,似乎只与粉体粒度和表面积有关,但也与粉体对氮气的吸附活性有关。α氧化铝比γ氧化铝的表面活性低,也就是说,BET也含有相组成的信息。除了进行理论分析,还可以直接采用数据相关系数矩阵计算获得各变量之间的相关性,如下图所示。a为α含量,BET为比表面积,SSA0为粉体平均粒径。结果表明,该条件下相组成确实与粒径及比表面积呈负相关,比表面积与粒径呈正相关(注意:这似乎不合理,但需考虑相组成的影响)。

原问题中的因素粒度分布是一个数据子集,直接使用有困难,可以用该分布的特征数值(均值、标准差等),本例只用均值,也可以考虑加入分布宽度的标准差等。在此用平均粒径,2因素便于画图表示。(复杂数据的特征数值的提取也是机器学习在材料研究中应用中的一个关键,后续会有相关实例介绍)
现在,问题成为用已知的一定样本量的粉体粒径、比表面积和α相含量的数据集建立2个自变量,1个因变量的数学关系模型,而且并不需要计算含量的数值,鉴别合格与否即可。
根据传统的数据处理方法首先应该是一个2因素的二元函数的拟合问题。但是,拟合首先要确定函数形式:线性、2次多项式或复杂的方程组的显式解析解等等。一般确定方法有2大类:理论模型和经验模型。很遗憾,对于这个问题都没有。也就是说传统的拟合行不通。
机器学习的主要特点是只针对数据本身(只要有数据集),采用一定的算法(如人工神经网络、支持向量机等),通过已知数据进行训练,即可获得模型参数,确定模型。也就是说,机器学习可以在不知模型的数学形式条件下进行建模!
建模过程可借助AI工具,用Python、R等编程实现,细节不在此表述。主要过程在此以R语言为例:
mod <- svm(a ~ SSA0+BET, train_data, type="eps-regression", )
a_pre <- predict(mod, test_data)
第一句为训练模型,算法为支持向量机svm,输出、输入变量的关系模型形式:a ~ SSA0+BET,预存的训练数据集名称train_data;第二句为用新数据test_data通过训练好的模型mod进行a相含量计算。
下图是训练数据样本量为13的svm分类模型训练结果图。
图中黄色区域为不合格,红色为合格。该结果表明在模型函数形式未知的情况下,仅根据数据本身就可以训练出非线性回归或分类模型。区域界线是非线性的,是否合格不能用2个单因素的阈值组合为判据,而是随着BET的增加,平均粒径SSA0的阈值降低。具体物理意义在此不做展开。
该例本身的实际意义并不大,但是,该例说明机器学习可以非常简单地挖掘出数据中的非显性信息,特别是用于多维数据中包含交互作用的隐性关系的数据挖掘场景;另外,材料研究的变量取值范围一般不会很大,非线性关系不会太复杂,数据的信息密度较高,因此,训练模型所需的数据量并不一定需要很大。
【1】 《材料计算方法》,张跃,北京航空航天大学出版社,2021
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2026-9-3 16:46
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社