曾群芳 梁元 易朝勇
作者簡介:曾群芳(1997年生-),女,碩士研究生,應用統(tǒng)計專業(yè)。
通訊作者:梁元(1976-),男,博士,研究生導師,主要從事數(shù)學地質和機器學習。
摘?要: 機器學習技術在很多領域得到廣泛應用,然而,要得到良好的機器學習模型,必須要有高度專業(yè)化的數(shù)據(jù)科學家和領域專家參與,才有可能構建。自動化機器學習技術的出現(xiàn),解決了領域專家能夠在沒有廣泛的統(tǒng)計和機器學習知識的情況下,也能夠自動構建機器學習的模型,大大方便了領域專家使用機器學習技術的能力。本文就是將自動化機器學習方法運用到地質災害損失評價中,通過使用scikit-learn中的Grid Search來進行機器學習算法的超參數(shù)的最佳網(wǎng)格搜索,得到K-means算法的超參數(shù)最優(yōu)配置,然后建立四川省各市州自然災害區(qū)域評價的指標分類和評價指標體系,對地質災害損失程度進行分類。該模型的建議,有助于機器學習、尤其是自動機器學習的推廣應用,對研究地質災害對人口、經(jīng)濟等方面造成的損失,探討自動化機器學習技術在地質災害損失程度具有一定的應用價值。
關鍵詞: 地質災害損失;自動化機器學習;自然災害;K-均值聚類
【中圖分類號】X43?【文獻標識碼】A?【文章編號】1674-3733(2020)03-0164-03
近年來,地質災害頻頻發(fā)生,每年接近3萬起的地質災害,其中不乏有特大、重大型災害[1]。人員傷亡每年達數(shù)千人,經(jīng)濟損失高達百億元,不管是對人類還是社會經(jīng)濟發(fā)展都有巨大的危害和損失。目前對地質災害損失的評價僅限于利用損失度量指標或模糊綜合評價方法進行評價,地質災害損失評價與機器學習算法結合起來的研究還相對較少。因此,將機器學習算法應用在地質災害損失評價中具有重要意義,能夠及時在地質災害發(fā)生后第一時間確定災害損失程度,及時調配救援資源。
本文首先介紹了K-means聚類算法的結構及其原理;接著介紹了AutoML中的Grid Search對K-means的超參數(shù)優(yōu)化的問題;另外基于四川省各市州地質災害隱患點的數(shù)據(jù),采用K-means聚類算法并通過Grid Search確定最優(yōu)的分類數(shù),對地質災害損失程度進行了分類;最終對分類的結果進行分析,給出相關建議或措施。
1?基于網(wǎng)格搜索的K-Means算法
1.1?K-Means算法基本原理。K-Means算法,又稱K-均值聚類算法,使用歐幾里得距離測度,分析人員將N個對象劃分為K個不同類別,讓每個類別對象的均值作為質心。然后,將前一步形成的聚類打散計算個體到質心的距離,并將第j個個體劃入距離最近的聚類來形成新的聚類。持續(xù)該過程,直到每個類別的質心不再變化為止,此時的目標函數(shù)收斂到最優(yōu)[2]。該算法最終目的是使聚類在相似的數(shù)據(jù)盡可能聚集在一起,不相似的數(shù)據(jù)盡可能分離。不妨假設給定樣本集D={x1,x2,..,xm},K-Means(K-均值)算法針對聚類所得簇劃分C={C1,C2,..,Ck}定義如下的目標函數(shù):
L=∑ki=1∑x∈Ci|x-μi|2(其中μi為質心)(1)
K-means模型的目的是找尋最佳Ci,使損失函數(shù)最小,之后就可以對聚類中心{μi}直接計算了。由此可見,它既是聚類的最終結果,也是需要估算的模型參數(shù)。
1.2?K-Means算法框架
給定大小為n的樣本集D={x1,x2,..,xm},將樣本聚類成K個類別。具體實現(xiàn)過程如下[3]:
1)隨機選取K個初試聚類中心μ1,μ2,..,μk∈Rn
2)重復以下步驟直至均值向量不再變化[4] {
第一步,計算樣本xj(1SymbolcB@
jSymbolcB@
m)與各均值向量μi(1SymbolcB@
iSymbolcB@
k)的距離:dji=||xj-μi||2;第二步,根據(jù)距離最近的均值向量確定xj的簇標記:λj=argmini∈{1,2,..,k}dji;
第三步,將樣本xj劃入相應的簇:Cλj=Cλj∪{xj};
第四步,計算新均值向量:μ'i=1Ci∑x∈Cix;
第五步,判斷新均值向量和當前均值向量是否一樣,若不一樣則繼續(xù)更新均值向量。
1.3?網(wǎng)格搜索調參
自動化機器學習的任務是選擇算法、超參調整、迭代建模以及模型評價。其中網(wǎng)格搜索(Grid Search),作為一種超參數(shù)調整的手段。其原理是在所有候選的參數(shù)選擇中,通過循環(huán)遍歷,嘗試每一種可能參數(shù),表現(xiàn)最好的參數(shù)就是最終的結果。在應用中,K-Means聚類算法能否實現(xiàn)或性能優(yōu)劣取決于參數(shù)的選擇,網(wǎng)格搜索取代原有的手動調參,自動實現(xiàn)在數(shù)組中尋找最大值,若參數(shù)a有3種可能,參數(shù)b有4種可能,把所有可能性列出來,可以表示成一個3*4的表格,其中每個cell就是一個網(wǎng)格,循環(huán)過程就像是在每個網(wǎng)格里遍歷、搜索。通過網(wǎng)格搜索尋找最優(yōu)參數(shù)可以高效實現(xiàn)搜索參數(shù)的流程,也減少了網(wǎng)絡中的參數(shù)和運算次數(shù),因此可以防止過擬合。
在K-Means聚類算法應用中,最終分類的簇數(shù)K是網(wǎng)格搜索需要優(yōu)化的參數(shù),K的選取直接會影響模型的性能。通過網(wǎng)格搜索找到合適的K使得目標函數(shù)(L=∑ki=1∑x∈Ci|x-μi|2(其中μi為質心))收斂到最小。隨著K的增大,目標函數(shù)值會越來越小,而且也會下降得越來越慢,但在一般情況下,我們只用找到目標函數(shù)下降一定的穩(wěn)定程度對應的K值就可以了。
2?地質災害損失程度分類流程
本文采用2010年四川省各市州地質災害隱患點數(shù)據(jù)基于Python語言實現(xiàn)整個對地質災害損失程度分類的流程。因此對數(shù)據(jù)預處理、模型建立、自動化調參這一流程進行說明,如圖2所示: