本發(fā)明屬于自動機器學習領域,具體涉及一種基于協(xié)同過濾的分布式自動機器學習方法。
背景技術:
1、機器學習已成功應用于各個領域,例如金融,工業(yè),醫(yī)療保健,生物學和量子物理學。隨著人工智能的進步,機器學習將會應用更廣泛。然而,完成一個機器學習任務需要大量調參工作,這給開發(fā)者帶來了不便。自動機器學習(automl)的目標是以一種數(shù)據(jù)驅動的、客觀的、自動化的方式做出這些決策:用戶只需提供數(shù)據(jù),automl系統(tǒng)會自動確定最適合這個特定領域應用的方法。因此,automl使那些對機器學習應用感興趣但沒有資源詳細了解其背后的技術的領域科學家可以使用最先進的機器學習方法。
2、automl框架的研究主要有兩種思路:一種是結合超參數(shù)優(yōu)化算法反復迭代優(yōu)化以探索性能更好的模型管道;另一種是在離線階段搭建良好的元知識庫,并用其預訓練一個代理模型,在線階段直接使用代理模型進行元知識庫中機器學習管道性能的預測。
3、基于超參數(shù)優(yōu)化的automl框架多數(shù)是將其視為一個算法選擇及超參數(shù)優(yōu)化問題,即通過在新數(shù)據(jù)集訓練集上訓練大量的模型,期間包括切換算法調優(yōu)超參數(shù)等操作,最終選擇在驗證集上損失最小的算法及其超參數(shù)。此類框架代表性的工作有auto-weka,auto-sklearn,tpot等。auto-weka通過自動化weka機器學習包中的學習器和特征選擇器實現(xiàn)automl;然而,weka是一個gpl許可的java庫,在編寫時并沒有考慮到可伸縮性。auto-sklearn是基于scikit-learn提出的一種高效的automl系統(tǒng),與auto-weka相比,auto-sklearn采用元學習來熱啟動貝葉斯優(yōu)化,并結合搜索到的機器學習管道進行集成學習,適用于低維超參數(shù)配置,在高維超參數(shù)空間,貝葉斯優(yōu)化的性能與隨機搜索的性能類似。tpot是一種基于開源遺傳算法的automl系統(tǒng),它優(yōu)化了一系列特征預處理器和機器學習模型,目標是在監(jiān)督的分類任務中最大限度地提高分類準確度,其以較高的時間和空間復雜度為代價探索更復雜的機器學習管道。
4、基于協(xié)同過濾的automl框架將預測機器學習管道在新數(shù)據(jù)集上的性能問題視為協(xié)同過濾問題,并通過概率矩陣分解或其他類似技術來解決,代表性的工作有oboe和tensor-oboe。前者基于矩陣分解實現(xiàn)automl:離線階段,oboe通過在大量數(shù)據(jù)集上訓練分類器并形成一個交叉驗證誤差矩陣,然后擬合一個低秩模型,可以最好地預測交叉驗證誤差,以學習機器學習管道和數(shù)據(jù)集的低維特征向量;在線階段,oboe運行一組快速且有用的算法,并使用它們的交叉驗證誤差來推斷潛在特征向量并為新數(shù)據(jù)集推薦合適的管道。后者使用低秩張量分解作為管道搜索的代理模型,以用更少的參數(shù)實現(xiàn)更好的性能。這些框架可以在短時間內實現(xiàn)最佳解決方案,這意味著它們的復雜性較低。缺點是矩陣分解可能無法充分利用性能矩陣,并且無法獲得數(shù)據(jù)集和機器學習管道的非線性特征,從而導致此類方法的推薦結果不準確。
技術實現(xiàn)思路
1、(一)要解決的技術問題
2、本發(fā)明要解決的技術問題是如何提供一種基于協(xié)同過濾的分布式自動機器學習方法,以解決現(xiàn)有的基于超參數(shù)優(yōu)化的automl框架耗時長、準確度低的問題。
3、(二)技術方案
4、為了解決上述技術問題,本發(fā)明提出一種基于協(xié)同過濾的分布式自動機器學習方法,該方法包括:
5、s1、離線階段:為元知識庫中的每個數(shù)據(jù)集搜索前n個模型并將它們存儲在哈希字典中,其中,鍵為:數(shù)據(jù)集的id,值為:在該數(shù)據(jù)集上表現(xiàn)良好的前n個模型;并計算元知識庫中的數(shù)據(jù)集的元特征子集的權重;
6、s2、在線階段:基于協(xié)同過濾的分布式automl框架cf-daml,首先通過模型推薦模塊計算新數(shù)據(jù)集的元特征并為其推薦合適的模型,然后,cf-daml在指定的時間限制內使用分布式模型訓練系統(tǒng)dstm在新數(shù)據(jù)集的訓練集上訓練推薦出的模型,并在其驗證集上評估訓練的模型,最后,cf-daml采用選擇性堆疊集成系統(tǒng)msse集成幾個高性能模型為新數(shù)據(jù)集的測試集預測標簽。
7、(三)有益效果
8、本發(fā)明提出一種基于協(xié)同過濾的分布式自動機器學習方法,該方法采用基于協(xié)同過濾的分布式automl框架,命名為cf-daml。該方法首次將automl問題定義為基于內存的協(xié)同過濾與選擇性集成學習之間的耦合問題,擺脫了以往大量工作需要耗時的超參數(shù)優(yōu)化模塊,在保證分類準確率提升的基礎上大大降低了時間復雜度。
1.一種基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,該方法包括:
2.如權利要求1所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述步驟s1所述的元知識庫包括三個子數(shù)據(jù)庫:
3.如權利要求2所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述步驟s1所述的元特征子集的權重是通過貝葉斯優(yōu)化算法迭代出來的,首先從元知識庫中的數(shù)據(jù)集的46個元特征中選擇信息豐富的元特征,然后對選擇出的元特征進行聚類分組得到元特征子集;構造目標函數(shù)與元特征子集之間的黑盒函數(shù)關系,并利用貝葉斯優(yōu)化學習元特征子集的權重,直至達到收斂;最終利用w1-norm計算數(shù)據(jù)集間的相似度。
4.如權利要求3所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述的元特征的聚類包括如下步驟:通過距離相關系數(shù)研究元特征集合中兩兩元特征之間的相關性,通過剔除帶有缺失值的元特征以及意義相同的元特征,將剩下的元特征根據(jù)其物理意義聚類為8類元特征子集。
5.如權利要求4所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述的構造目標函數(shù)與元特征子集之間的黑盒函數(shù)關系,并利用貝葉斯優(yōu)化學習元特征子集的權重包括:
6.如權利要求1-5任一項所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述步驟s2中,為新數(shù)據(jù)集推薦合適的模型具體步驟為:首先獲取新數(shù)據(jù)集的元特征,然后基于w1-norm計算數(shù)據(jù)集的k最近鄰數(shù)據(jù)集,將每個鄰居上性能最好的前n個模型推薦給目標數(shù)據(jù)集。
7.如權利要求6所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述步驟s2中,分布式模型訓練系統(tǒng)流程包括:
8.如權利要求7所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述步驟s2中,選擇性堆疊集成系統(tǒng)工作流程包括:
9.如權利要求8所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,所述s221中,選擇基模型bms時,采取了多輪篩選原則:
10.如權利要求8所述的基于協(xié)同過濾的分布式自動機器學習方法,其特征在于,選擇隨機森林分類器作為元分類器;隨機森林分類器中的超參數(shù)估計器的數(shù)量設置為200。