机器学习的应用在实例中的一般流程

在处理一个实例时候,我们一般想的是通过能采集到的数据建立一个模型(有输入与输出),通过程序的不断学习,训练,使得预测值与真实值的误差尽可能小,以此不断优化模型。以下以最近所读的一篇《机器学习在纳米材料风险评估中的应用》为例。

发表期刊:《生态毒理学报》

论文所有作者:武子豪,张司雨,董仕鹏,毛亮

卷号: 17   期号:暂未显示

页码:暂未显示

简述:近些年纳米材料被广泛应用,随之所产生的大量排放对人的健康和生态环境都有很大的潜在危害,因此质量管控是很有必要的。但纳米材料种类繁多,不同的理化性质和毒理学效应具有高度异质性,数据的采集使得管控预测变得困难,并且成本很高。因此考虑应用机器学习,选用新的研究方法,能很好地进行低成本的数据采集,以达到设计更好的纳米材料和性质。接下来开始具体的模型建立过程。流程如下图2:

机器学习的应用在实例中的一般流程_第1张图片

 1、对于第一个采集数据,可以是已发表的文献数据,或者是实验数据(通过实验构建新的数据集)。注意的是,输入的是与研究对象相关的信息数据,在这里输出是毒理性指标和评价标准。

2、数据采集后,要对数据进行清洗,处理(数据预处理环节)

特征值缺失太多的话,考虑直接删除掉这一特征,如果较少,考虑填补空缺,有物质分组和交叉参照等方法,以下分别对其进行说明:

物质分组:

交叉参照:

数据的完整性保证后,接下来根据情况进行数据的归一化or标准化处理,以防止某一特征值较大造成的模型偏差较大。

归一化:

3、进行完前两个步骤后,现在我们开始考虑建立模型,一般大体上有回归预测或者分类模型(根据具体实例达成的目标选择,有的并不单一),而对应的大方向又有很多不同种类的算法,对于算法,笔者认为没有最好的算法,只有相对更合适的算法。学习的算法很多,以下做一个浅浅的归纳总结。

既可以用于回归又可以用于分类 决策树、随机森林、支持向量机、人工神经网络、XGBoost
仅可用于回归 多元线性回归
仅可用于分类 朴素贝叶斯和 k-邻近算法

PS:数据条数、 数据维度、计算机的性能也在一定程度上影响着预测算法的选取

简要的说:神经网络适用于处理数据量很大,且能够保准精度;支持向量机适用于数据量小,但处理的性能好,朴素贝叶斯将特征独立化,在处理高维数据时具有更多优势;树模型(如随机森林和决策树)可以在模型拟合过程中输出特征重要性排序,更适合深入解析内在机制。

现在回到初始例子,在纳米材料风险评估领域,分类模型可用于预测纳米材料对生物代谢途径的干扰,回归模型则通常用于预测纳米材料对生物的毒性效应。简单来说,通过分类,把影响大的分为一类,影响小或者没有的分为一类,再接着可以考虑影响小的那一类中,建立预测模型,用于进一步的预测纳米材料对生物的毒性效应。

4、预处理后的数据集拆分为训练集、验证集和测试集,通常采用 7∶2∶1 的比例划分,结合适当的算法,利用训练集进行模型的构建,将验证集带入模型以检验模型的预测效果并对模型进行超参数优化。测试集主要检验模型的泛化能力。或者可以使用K交叉验证法(一般用10折交叉验证法,分为十等分,9份用于训练,一份用于验证。

评估指标

回归模型 分类模型

一般是可决系数(R 2 )

均方根误差(root mean square error, RMSE)

正确率(accuracy)

查准率(precision)

查全率(recall)

接受者操作特征曲线(receiver operating characteristic curve, ROC)和 ROC 曲线下面积

总结:在所阅读的论文中,应用了大量的已学和待学的算法模型,比如:

分类回归树(CART)

多元线性回归(MLR)

决策树(DT)

待学的有:

随机森林(RF)

多层感知神经网络(MLR-NN)

你可能感兴趣的:(人工智能)