黄宇玲
(浙江农林大学 信息工程学院, 浙江 临安311300)
目前,对于森林蓄积量的传统监测方法中,常以森林资源一、二类调查为主,这类调查方式存在调查周期长,以及需要大量的人力、物力和财力等问题。然而,遥感技术能够给地面调查提供很好的支撑与补充,是宏观、快速、经济地实现森林蓄积量估测的有效途径。
机器学习源于人工智能和统计学[1],随着遥感技术、机器学习算法和神经网络技术的发展,森林蓄积量的估测正朝着多源、非线性回归模型的趋势发展。 在数据源方面,高分遥感数据、雷达数据、数字高程模型数据得到了广泛的运用。 在森林蓄积量估测方法方面,各种传统的多元线性回归方法得到不断的改善,机器学习方法逐渐渗透到森林蓄积量的研究中。 应用回归模型对森林蓄积量进行估测,已经成为了森林蓄积量研究的重点和难点。 因此,研究机器学习算法在森林蓄积量估测的应用,不仅仅对精确地估算森林蓄积量有着重要的现实意义,对提高森林资源监测效率也有着很大的影响。
目前对于蓄积量的估测方法,主要有:以方法或者模型为重点的森林蓄积量的估测,以及基于遥感数据的森林蓄积量的反演。
基于模型估测的方法一般通过输入年龄、郁闭度、海拔以及坡度等建模因子建立森林蓄积量模型,以估测区域的森林蓄积量。 森林资源一、二类调查一直是传统森林蓄积量的测定方法。 Jahangir M等[2]采用多元逐步线性回归方法和回归树分析方法对伊拉克北部地区建立了森林蓄积量模型,结果显示回归树方法建立的森林蓄积量模型较优,其均方根误差(Root Mean Square Error,RMSE)为88.7m3/ha。 Breidenbach 等[3]用非参数学习的朴素贝叶斯方法(Bayesian Analysis)与多元线性回归方法进行比较,对Forbach 的森林蓄积量建立估测模型进行预测,研究结果表明朴素贝叶斯方法的精度高于多元线性回归方法。 Yim 等[4]选用K-近邻法(K-Nearest Neighbor,KNN)建立森林蓄积量估测模型,对面积不同的两个县域进行蓄积量估测,研究结果显示K-近邻法对于小面积的森林蓄积量的反演有着良好的效果。 杨明星等[5]基于Sentinel-A 影像,通过相关性分析对研究的自变量因子进行筛选,以相关性分析特征,结果采用随机森林方法建立了思茅松林蓄积量遥感估测模型,模型的估测精度为75.46%,得到的估测效果较好,且表明随机森林方法在森林蓄积量建模估测研究方面具有一定的可行性与推广性。 王海宾等[6]选用平均残差平方和(Residual Mean Squares,RMS)方法,对可能影响森林蓄积量的自变量因子进行筛选,利用K-近邻方法对延庆区县域的森林蓄积量建模估测,并与偏最小二乘回归(Partial Least-Squares Regression,PLSR)方法进行对比。 研究结果表明,基于K-近邻方法得到的森林蓄积量估测的均方根误差RMSE 为12.80m3/hm2,优于偏最小二乘回归方法建立的森林蓄积量估测的均方根误差RMSE(21.90m3/hm2)。 刘明艳等[7]通过主成分分析方法对可能影响森林蓄积量的自变量因子进行降维,降维处理之后得到的数据集作为多元线性回归模型的输入,建立了老秃顶子自然保护区森林蓄积量估测模型,多元线性回归方程调整后的决定系数(R-squared,R2)为0.810,结果表明拟合度很好,估测精度达到92.18%,研究结果满足林业调查中对蓄积量估测的要求。
近年来,随着遥感技术的快速发展,遥感影像的空间分辨率有了大幅的提高,许多学者对于遥感影像在林业科学中的研究也日趋深入。 李世波[8]采用国产高分一号遥感影像数据,通过移动窗口来解决像元与样地之间的对应关系,选用多元线性逐步回归法、偏最小二乘回归法以及随机森林方法,对湖南省醴陵市的森林蓄积量进行估测。 研究结果表明:利用高分一号遥感影像数据,结合随机森林方法建立的森林蓄积量模型,其估测效果较趋向于真实分 布。 刘 俊 等[9]基 于(Advanced Land Observing Satellite,ALOS)卫星的2.5 m 遥感影像计算,在不同窗口情况下的纹理特征以及纹理参数,研究区域为北京市怀柔区柞树林,建立了多元逐步线性回归柞树蓄积量模型,最终筛选出了最优反演模型为多元逐步回归模型,最优纹理生成窗口为11×11。 蔡学成等[10]利用中巴资源卫星遥感数据,通过多元线性回归方法对贵州省黎平县、从江县和榕江县建立蓄积量估测模型,最终结果显示整体估测能力较好,有一定的利用前景。 张翔宇等[11]基于资源三号卫星影像,以宁波市北仑区新路林场为研究区域,采用主成分回归分析法、偏最小二乘法和多元逐步回归方法,分别建立蓄积量反演模型。 最终发现,基于多元逐步回归模型反演的森林蓄积量估测精度最高。 张苏等[12]以分辨率为2 m 的高分一号卫星遥感数据为主要数据源,采用多元线性回归方法与支持向量机方法,对福建省将乐县亚热带针叶林蓄积量进行估测,最终表明支持向量机方法的森林蓄积量模型预估结果优于多元线性回归方法。
Breiman[13]在2001 年提出的随机森林方法,是一种基于决策树的机器学习方法,也是一种Bagging(又称套袋,是一种可以提高算法准确性的方法)集成学习方法[14],通过多个弱分类器组合在一起,最终的结果是通过投票或者取平均值,从而让模型整体的结果具有较高的准确度和泛化性能。 随机森林方法的重点在“随机”和“森林”上,“随机”使得其具有抗过拟合能力,“森林”使得它结果更加精准。“随机”主要是指两个方面的随机:一是样本随机,即通过自助法重采样技术,从最初的训练样本集N中拿出样本再放回去,一直重复随机的取出K 个样本,K 个样本作为新的训练样本集合(N =K);二是对于特征的选择是随机的,即随机森林方法在建立每一棵决策树的时候,每棵决策树选择出来的特征仅仅是随机选出来的少数特征,在这些被选出的少数特征中,选择其中一个最优的特征来作为决策树的左右子树划分,继而将随机效果扩大,进一步增强了模型的泛化能力。 随机森林方法中的“森林”是指由许许多多的决策树建立之后形式了森林。 随机森林方法的学习器使用CART 树(即分类回归树),当数据集的因变量属于连续性数值时,这种树的方法就是一个回归树,其可以采用叶子节点观察得到平均值来作为预测值;当输入的数据集为离散型数值时,这种树的方法就是一个分类树,每个叶子节点的投票结果就是分类结果。 CART 树是一种二叉树,即每一个非叶子节点只能出2 个分支,因此当某个非叶子节点是多个(2 个以上)的离散变量时,那么该变量就有可能被多次使用。
随机森林方法的基本流程如下:
(1)随机选择样本。 假如给出一个数量为N 的训练样本集,通过从训练样本集中拿出样本再放回去,如此反复地采样,直到得到K 个样本(N =K,K 个样本中可能会存在相同的样本) 构成一个新的训练集。 利用新的训练集训练出一个决策树,作为决策树根节点处的样本集。
(2)随机选择特征。 在建立决策树时,通过把每个特征的信息增益进行计算,选择信息增益结果里最大值的特征作为划分下一个子节点的走向。
(3)构建决策树。 在形成决策树的过程中,每一个节点都要按照步骤(2)来进行分裂,一直到不能再分裂为止(并且决策树形成过程中没有进行剪枝现象)。
(4)随机森林预测结果。 通过步骤(1)~(3)的持续执行建立大量的决策树,进一步构成随机森林。把测试样本输入到随机森林中,利用对每一棵决策树的分类或者回归操作,得到最终的分类或者回归估测结果。
随机森林方法的主要优点:
(1)在测试集上的表现很好,由于样本以及特征都是随机选择的,因此随机森林不容易陷入过拟合。
(2)可以处理高维度数据,不需要进行特征选择,对数据集的适合能力强;处理对象可以是离散型数据,也可以是连续型数据,并且数据不需要进行规范化操作。
(3)在训练过程中,能够检测到特征间的相互影响且得出特征的重要性,具有一定的参考意义。
(4)每棵树都可独立、同时生成,容易做成并行化方法
(5)由于实现简单、精度高、抗过拟合能力强,当面对非线性数据时,适合作为基准模型。
梯度提升(Gradient Boosting)方法是一种较新的非参数机器学习方法[15],主要用于回归和分类问题的机器学习技术。 其以弱预测模型(通常是决策树)集合的形式产生预测模型,目前,梯度提升方法在林业科学领域中的研究与应用相对较少。
Gradient Boosting 算法是一种可以使用任何损失函数(只要损失函数是连续可导的)的Boosting算法,其构建的模型抗噪音能力更强。 Gradient Boosting 以弱预测模型(通常是决策树)集合的形式产生预测模型[15]。 其在建立子树时,利用之前子树构建结果形成的残差作为输入数据,再构建下一棵子树。 最终的估测按照子树构建的顺序进行估测,并将估测结果相加。 Gradient Boosting 可以处理连续型数据和离散型数据,并且在相对少的调参情况下,模型的估测效果也会不错,模型的鲁棒性比较强。 但由于各子树之间存在关联关系,难以并行训练模型。
Catboost 算法是由Prokhorenkova L[16](Yandex公司)在2017 年首次提出的,设计的初衷是为了更好的处理梯度提升树(Gradient Boosting Decision Tree, GBDT ) 特 征 中 的 categorical features。Catboost 采用的策略在降低过拟合的同时保证所有数据集都可用于学习,具有性能卓越、鲁棒性与通用性更好、易于使用而且更实用的优点。 Catboos 的基本流程是先对所有样本进行随机排序,对每一条样本数据都会训练一个单独的模型M(M 由不包含这条数据的训练集训练得到),依次类推,都累加到原来的模型上,得到最终的模型。
Stacking (有时也称之为stacked generalization)是一种集成学习技术,通过元分类器或元回归聚合多个分类或回归模型[17]。 Stacking 集成学习算法集成了各种不同的算法,较彻底地利用不同算法,从不同的数据空间和数据结构角度对数据进行不同估测,增强了算法模型的稳健性,得到的结果一般优于单一算法模型。 该算法一般由两层组成:第一层为基础层次模型,第二层为元模型。 基础层次模型是选择完整的训练集进行训练,元模型是基于基础层次模型的输出来进行训练。 基础层次模型通常是由不同的学习算法组成的,因此集成通常是异构的。Stacking 先从初始训练集中基于各种不同的算法学习出初级学习器,然后生成一个新的数据集,用于训练次级学习器。 在新数据集中,每个初级学习器对原始样本的预测标记被作为新样本的输入特征,而原始样本的原始标记被作为新样本的输出特征。
部分学者已尝试将机器学习算法应用于森林蓄积量估测。 其中,杨柳等[18]以鹫峰林场森林为研究对象,利用3 种机器学习方法(BP 神经网络、最小二乘支持向量机、随机森林方法)分别构建了森林蓄积量多光谱估测模型,最终结果显示采用随机森林方法建立的多光谱蓄积量模型的精度最高,为森林蓄积量遥感反演估测提供了一种新的方法。 向安民等[19]对黑龙江省某林业局采用K-近邻(K-Nearest Neighbor,KNN)方法进行森林蓄积量估测研究,与最小二乘估计和稳健估计建模进行对比,KNN 方法建立的森林蓄积量估测精度达到97.3%,并且KNN方法能够有效克服建模变量间的复共线性问题。 李圣娇等[20]的数据源为Landsat8 影像,对香格里拉高山松森林蓄积量建立了偏最小二乘法遥感估测模型。
本文对森林蓄积量的研究进展以及4 种机器学习算法做了简介,阐述了目前机器学习算法在森林蓄积量方面的研究进展。 此外,由于当前森林蓄积量的研究重点是建立森林蓄积量估测模型,因此,本文详细介绍了随机森林算法、梯度提升算法、Catboost 算法和Stacking 集成学习算法的4 种模型。尽管机器学习算法在其它领域已被广泛应用,但在林学研究邻域内,还有许多研究难点需要克服与探讨。 本文认为随着机器学习算法的不断研究深入,其在森林蓄积量的研究、甚至是在林学研究领域将会取得更多成果和发展。