机器学习方法在矿产勘查中的应用
2021-04-19赵伟光陈军林
赵伟光,陈 磊,陈军林
(1.矿冶科技集团有限公司,金属矿产资源评价与分析检测北京市重点实验室,北京 102628;2.中国石油川庆钻探工程有限公司工程技术研究院,陕西 西安 710018;3.中国地质大学(北京)地球科学与资源学院,北京 100083)
机器学习是近些年来兴起的一门人工智能科学,人工智能是该领域的主要研究对象,尤其对如何在经验学习中改善具体算法的性能关注更甚[1]。机器学习是对能通过经验自动改进的计算机算法的研究,而不是在明确编程的情况下做出反应。其一般流程是:通过输入数据建立模型,选择相应的算法进行模型训练,从数据中自动分析发现规律,并利用规律对数据进行预测。机器学习的应用已经十分广泛,比如数据挖掘、计算机视觉、自然语言处理、搜索引擎、机器翻译等等。机器学习通常可分为监督学习(Supervised learning)和非监督学习(Unsupervised learning)两大类。监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习,一般用来做分类和回归。非监督学习则是在未加标签的数据中,试图找到隐藏的结构,输入数据的类别是未知的,一般用来做聚类分析[2]。
由于人类进入了信息化、数字化时代,对数据的依赖和生产数据的能力大大超过以前,大量的数据需求使得机器学习这门处理数据的新兴学科得到了迅速发展,形成了多种多样的机器学习算法。机器学习在处理大数据集以及复杂的数据结构中相比传统的统计学方法有明显的优势,因此被大量应用在地球科学的研究当中,特别是油气勘探、地球物理、遥感图像处理等领域[3-5]。
地质学传统地属于定性的、推理的、历史的科学,这主要是因为许多地质现象本身的性质以及传统的地质学研究方法大多是非数学的[6]。但随着认识程度的转变和研究方法以及新的技术手段的发展,现在的地质学已经进入了定量化、数据化时代,像地球物理、遥感、勘查学等地质分支学科都已经高度依赖数据。
矿产勘查是地质学的重要学科分支,是地学领域里面对数据依赖程度较高的学科。在矿产勘查中,要做到对矿产资源的定位、定量、定概率,就需要对研究对象进行大量的数据采集,从而形成丰富的数据资料。这些数据往往规模庞大,结构复杂,要从这些数据中挖掘出反映矿产资源的有用信息,就需要高效的数据挖掘技术。传统的方法如证据权法[7]、模糊逻辑[8]、逻辑回归[9]等,有效支持了矿产勘查的发展,但其中的不足之处也很明显。机器学习方法的兴起为地学数据的处理带来了新的思路和方法。将矿产勘查和机器学习方法相结合的文章已经非常多,如神经网络[10,11]、支持向量机(SVM)[12,13]。研究表明机器学习的方法比传统的统计方法(如逻辑回归)精确度更高,尤其是当特征空间较为复杂(如高维数据以及输入输出呈现非线性关系的数据)或数据的统计分布规律较为复杂时[12-14]。机器学习在矿产勘查中的应用已经形成了一股热潮,本文拟通过介绍这些应用实例探讨机器学习方法在矿产勘查中的应用以及需要注意的问题。
1 常用机器学习方法在矿产勘查中的应用
目前应用最多的几种模型主要是基于决策树方法(DTs)[15],神经网络方法(ANNs)[8,14,16]、支持向量机[12,17]、随机森林等[15,18],概由于这几种方法表现出色且实现难度低。
1.1 神经网络
图1 典型的神经网络结构
神经网络模型提出于20 世纪40 年代,主要用来解决函数逼近、模式识别、分类等问题。通过模拟生物神经系统对真实世界物体所作出的交互反应来工作,是由具有适应性的简单单元组成的广泛并行互联的网络[19]。正如在人脑中一样,神经网络的基本组成单元是神经元,每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。
神经网络是由许多单个神经元相互联接而成的自适应非线性动态系统。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。神经网络中处理单元的类型分为三类:输入层、输出层和隐藏层。输入层接受外部世界的信号与数据;输出层实现系统处理结果的输出;隐藏层是处在输入和输出单元之间,不能由系统外部观察的单元。典型的神经网络结构如图1 所示。
神经网络在地学中应用的文章非常多,在矿产勘查中的应用也比较广泛[8,14,16,20],如李晓晖等利用人工神经网络对宁芜盆地白象山矿区进行了三维成矿定位预测研究,预测结果表明,将人工神经网络应用于三维成矿定位预测能很好的定位出已知矿体,同时能够有效的预测靶区,是对隐伏矿、盲矿进行成矿预测和优选靶区的有效方法[20]。
虽然神经网络有许多优势,但也有明显的局限性,如训练ANNs 需要对大量的参数进行设置,参数的好坏直接影响模型的精度,而调试参数的过程往往费时费力;无法解释自己的推理过程和推理依据;向用户提出必要的询问是无法做到的,而且当数据不充分的时候就会导致神经网络无法进行工作;把一切问题的特征都数字化,把一切推理都数值计算化,信息丢失无法避免。
1.2 支持向量机
相对于神经网络来说,决策树方法需要设置的参数较少,自动化程度高,但容易出现过拟合的问题[15]。基于以上原因神经网络和决策树越来越多的被新基于核的方法如SVM 和集成方法如RF 所代替。
支持向量机是近年来提出的一种新的机器学习方法,最早由Vapnik 在20 世纪60 年代提出,起初被用作线性二分类,后来发展出非线性、多分类、回归等新的功能[17]。他有许多特有的优势,如在解决小样本、非线性及高维模式识别中发挥了较大的作用,然而解决分类和回归问题是其主要功能。其主要原理是在n 维空间中找到一个分类超平面,利用该超平面对空间上的点进行分类。如图2a 所示,一个点距离超平面的远近可以表示为分类预测的确信或准确程度,SVM 就是要最大化这个间隔值,而在虚线上的点便叫做支持向量(Supprot Verctor)。实际中会经常遇到线性不可分的样例,常用的做法是将输入向量映射到一个更高维的空间里,在这个高维空间里建立有一个最大间隔超平面,从而实现分类(图2b)。SVM 的关键在于核函数,通过核函数将难于划分的低维空间向量映射到高维空间,只要选用适当的核函数,就可以得到高维空间的分类函数,采用不同的核函数将导致不同的SVM 算法。
已知该算法被应用的主要有:地球物理反演当中解决非线性反演、天气预报工作、遥感图像处理等。Renguang Zuo[12]和Carranza[21]利用支持向量机对加拿大某地金成矿远景进行了预测。
基本思路是:根据控矿因素选择数据,形成证据层(如地质、物探、化探、遥感),构成输入数据数据X,以区域上有矿产产出的n 个点以及n 个非矿产点作为输出数据y(两个值,有矿和无矿),训练支持向量机模型,找到一个映射函数f(X),可以近似的反映数据X 和矿化y 之间的关系,从而利用该映射关系和新的勘查数据集Xnew 对未知区域进行矿产资源潜力预测。结果表明该方法精度远远高于传统的证据权方法,能够有效提高成矿预测能力。
图2 支持向量机原理示意图
图3 RF 算法示意图
1.3 随机森林
随机森林是一种集成方法(ensemble),由Breiman[15]于2001 年提出。它使用的抽样方法是bootsrap 重抽样方法,首先从原始样本中抽取多个样本,然后对每个bootsrap样本进行决策树建模,最后组合多棵决策树的预测,通过投票得出最终预测结果。
RF 算法(图3)不需要人为调试很多参数,能够有效降低过拟合现象;处理高维度数据能力强;不用做特征选择,能够给出哪些变量比较重要;对于不平衡的分类数据集来说,它可以平衡误差;在建造森林过程中,它可以在内部对于一般化后的误差产生不偏差的估计;可以估计遗失的资料,并且,如果有很大一部分的资料遗失,仍可以维持准确度,对异常值和噪声具有很好的容忍度;速度快,训练过程中能够检测到变量间的互相影响,易做成并行化方法,实现简单。基于以上优势,RF 是近年机器学习领域研究的热门之一。
Carranza[21]等利用RF 方法对菲律宾某地的斑岩铜矿成矿远景进行了预测,与证据权法进行了对比研究,结果表明该方法表现优于传统的证据权方法。证据权方法是传统的矿产勘查中较为成熟的模型,它的提出大大提高了矿产勘查的定量化研究程度,具有重要的意义,但同时也存在着许多劣势,如证据层二值化问题、条件独立性假设问题等,这些统统都可以通过RF 方法解决。
相对于ANN 和SVM 模型,RF 能够更好的处理训练数据集中标签值较少的情况。它不像ANN 那样是一个黑箱,而是一个可探究的方法。
资源量估算是矿产勘查中的重要环节,传统的方法主要是以统计学为基础的方法,如克里格法、SD 法(最佳结构曲线断面积分储量计算法)、断面法(亦称剖面法)和以及块段法等。传统方法基于一个重要的假设:用来估算储量的样品是随机和相互独立的。但实际当中,一个研究区内用于估算资源量的样品通常是相互有联系的,这条假设通常不能满足。并且,传统方法在处理输入输出数据之间线性关系的数据时效果更好,对于非线性关系的数据有一定的局限性。机器学习的方法能够克服上述的不足,将机器学习应用到了资源量估算中的研究已非常多[22-24],这些方法总体来说能够克服传统方法的一系列缺陷,从而提高资源量计算精度,而且大大提高了计算过程的自动化。
此外,机器学习中的其他算法如聚类、降维、关联分析等在矿产勘查中的应用也非常广泛,限于篇幅,不再赘述。
2 需要注意的问题
每种算法都有其优势和劣势,实际应用中应根据具体需求选用,往往是对多种方法测试对比,最终选择出最适合的方法。
算法的选择固然重要,数据本身的问题也不可忽视。在应用机器学习算法处理矿产勘查数据时,以下几个常见问题需要注意。
2.1 训练数据的不确定性 (Training Data Uncertainty)
勘查数据来源于观察和测量,这就不可避免的造成了一些不同程度的不确定性,以化探数据为例,采样方法、分析方法、检出限高低等都会影响到数据的准确性。而地质数据比如地质单元的划分,由于研究者认识水平的高低不一也容易影响准确性。
同时研究精度(如采样精度、研究尺度)和研究方式也影响到数据的质量。此外,原始数据往往还可能存在不一致、重复、缺失、含噪声等问题,会对最终结果造成很大影响,需要进行数据预处理。数据处理过程中也可能造成不确定性的发生,如插值过程中,插值点是由周围的实测点通过一定方法计算出来的,而不是直接测量所得,与真实的情况肯定有一定出入。另外,处理过程中的方法选择,参数选取,都可能造成数据质量的下降。
2.2 训练标签的不确定性 (Training-Label Uncertainty)
所谓标签就是类别,比如一个数据点,是矿点还是非矿点,有矿或非矿就是该点的标签,训练数据的标签影响到最终分类结果。
在大部分情况下,非矿只意味着矿化还未被发现,而不是十分确定的无矿。有矿与无矿不是截然区别的两类,而是有一个变化范围。比如,在许多有矿的实例中,有矿意味着有矿山,也可能仅仅只是矿点或矿化,将它们归为一类,在处理中可能会造成很多问题。
2.3 数据的不均衡性
在大多数监督学习算法中,都是通过等量选取每个类别的样品进行无偏训练,如果每个类别选取数量不等,那么就涉及到数据的非均衡分布[25]。在一个数据集中有稀有类和多数类之分,稀有类指一个或一些类实例数很少,而多数类指一个或一些类实例很多。
通常把这些数据集的分类问题称为非平衡数据集分类(也称稀有类分类)[26]。如在一个勘查区内,大部分时候都是矿产地的出现少于非矿产地,异常区少于背景区,从而造成了数据的不均衡性。普通的机器学习方法在非平衡数据集上往往失效,因为它们建立在训练数据集上并输出最简单的假设适应这些数据,稀有类数据在训练数据集中占很小的比例,算法倾向多数类数据,因此其在稀有类数据上的效果很差,而稀有类数据往往是有显著意义的数据。目前关于非均衡数据集的处理,主要有两种途径,即随机过抽样(randomly over sampling)和随机欠抽样(randomly under sampling)[27]。
2.4 大数据问题
因为矿产的出现是低概率事件,为了提高找矿概率,一般都在较大范围内进行研究。而且涉及的数据类别包括地质、物探、化探、遥感等多个数据层,每个数据层又可能包含大量数据。
尤其是随着现代测试分析技术以及探测技术精度的提高,往往导致数据量大大增加。这些诸多因素使得勘查数据形成巨大的数据量,这就涉及到大数据问题。大数据是近年来的研究热点,对于庞大的地质大数据该如何有效地组织和使用,如何进行科学的挖掘,产生更高的价值,以实现相应的服务,是时下地质大数据研究的主要问题[28]。在数据处理中要考虑到大数据的问题,选择合适的方法。
2.5 特征选择问题
所谓特征选择是指从已有的M 个特征(Feature)中选择N 个特征使得系统的特定指标最优化,是从原始特征中选择出一些最有效特征(有效性通过同类样本的不变性、不同样本的鉴别性、对噪声的鲁棒性来评价)以降低数据集维度的过程,是提高学习算法性能的一个重要手段,也是模式识别中关键的数据预处理步骤[29-31]。对于一个学习算法来说,好的特征是训练模型的关键。
在矿产勘查中,作为证据层的地质、物探、化探、遥感数据为模型建立提供多个维度的数据,这些数据可分解为多个变量。特征选择就是要选择出哪些对于预测模型最优的变量。单从化探来说,就可能包含多个元素,这些元素中有的对成矿有指示意义,有些没有。
对于预测没有意义的特征不仅会降低模型预测能力,还会增加冗余度,造成运算量增加。特征的选择可根据研究对象的某些性质选取(如根据勘查对象的成矿规律、控矿因素等)结合特征选择算法进行选择。
3 小结
用数据的方法来研究科学,用科学的方法来研究数据,具体到矿产勘查当中,就是要用定量化的方法研究矿产资源,在数据处理过程中,要紧跟数据科学的步伐,用高效的数据挖掘方法处理勘查数据。机器学习是当下数据科学的热门课题,机器学习算法在地学研究中的应用越来越多。其中神经网络、支持向量机、随机森林几种算法应用最为广泛,这些方法的使用大大提高了矿产勘查数据的处理效率,为矿产勘查数据的处理提供了新的途径和思路。选用合适的算法能够大大提高数据处理效率,从数据中挖掘出更多有用信息。但这些方法的使用中也经常容易出现一些问题,必须熟悉每种方法的原理和特点,才能更好的应用。同时,数据本身的问题也不可忽视,在利用机器学习算法处理勘查数据时,要考虑到以下几个问题:训练数据的不确定性、训练标签的不确定性、数据的不均衡性、大数据问题、特征选择问题。