提升決策樹迴歸元件
本文描述 Azure Machine Learning 設計工具中的一個元件。
使用此元件來建立會使用提升的迴歸樹狀的整體。 提升表示每個樹狀都會相依於先前的樹狀。 演算法的學習方式是適配其前方樹狀的殘差。 因此,決策樹集團中的促進有助於提高精確度,但稍微有涵蓋範圍不足的風險。
此元件以 LightGBM 演算法為基礎。
此迴歸方法是受監督的學習方法,因此需要加標籤的資料集。 標籤資料行必須包含數值。
注意
僅使用此元件搭配使用數值變數的資料集。
定義模型之後,使用定型模型來為模型定型。
深入了解提升迴歸樹
除了封袋、隨機樹系等等,「促進」也是建立集團模型的傳統方法之一。 在 Azure Machine Learning 中,提升決策樹會使用有效的 MART 梯度提升演算法實作。 梯度提升是一種適用於迴歸問題的機器學習技術。 它會逐步建置迴歸樹,利用預先定義的損失函數來測量每個步驟中的錯誤,並於下一個步驟中更正。 因此,預測模型實際上是一整團的較弱預測模型。
在迴歸問題中,提升會以逐步方式建置一系列樹狀,然後使用任意可微分損失函式來選取最佳樹狀。
如需詳細資訊,請參閱以下文章:
https://wikipedia.org/wiki/Gradient_boosting#Gradient_tree_boosting
此有關梯度提升的 Wikipedia 文章會提供有關提升樹的一些背景。
https://research.microsoft.com/apps/pubs/default.aspx?id=132652
Microsoft Research: From RankNet to LambdaRank to LambdaMART: An Overview. 作者為 J.C. Burges。
梯度促進方法也可用於分類問題,以適當的遺失函數將問題簡化成迴歸。 如需用於分類工作的提升樹實作的詳細資訊,請參閱二元提升決策樹。
如何設定提升決策樹迴歸
將提升決策樹元件新增至您的管線。 您可以在 [迴歸] 類別下的 [機器學習]、[初始化] 下找到此元件。
設定 [建立定型模式] 選項來指定要如何定型模型。
單一參數:如果您知道要如何設定模型,請選取此選項,並提供一組特定值做為引數。
參數範圍:如果您不確定最佳參數,且想要執行參數掃掠,請選取此選項。 選取要反覆運算的值範圍,而調整模型超參數會反覆運算您提供的所有可能設定的組合,以判斷可產生最佳結果的超參數。
每個樹狀的葉數上限:指出可在任何樹狀中建立的終端節點 (分葉) 數目上限。
增加此值,您可能會增加樹狀結構的大小,並取得較佳的精確度,風險是過度配適和較長的定型時間。
每個分葉節點的樣本數下限:指出在樹狀中建立任何終端節點 (分葉) 所需的案例數目。
藉由增加此值,您會增加建立新規則的臨界值。 例如,若預設值是 1,即使單一案例可能會造成新規則的建立。 如果您將此值增加至 5,則定型資料至少要包含 5 個案例,才會符合相同的條件。
學習速率:輸入 0 和 1 之間的數字,以定義學習時的步驟大小。 學習速率決定學習模組收斂到最佳解決方案的快慢。 如果步驟太大,您可能會超過最佳解決方案。 如果步驟太小,則定型會較久才收斂到最佳解決方案。
建構的樹狀數目:指出要在整體中建立的決策樹總數。 藉由建立多個決策樹,您或許能夠有較佳的涵蓋範圍,但是定型時間會拉長。
不過,如果您將值設定為 1,則只會產生一個樹狀 (具有初始參數集的樹狀),且不會進一步反覆運算。
亂數種子:輸入選擇性的非負整數,以作為隨機種子值。 指定種子可確保每次以相同資料和參數執行都能重現。
隨機種子預設會設為 0,表示從系統時鐘取得初始種子值。
定型模型:
提交管線。
結果
定型完成後:
若要儲存定型模型的快照集,請在定型模型的右側面板中選取 [輸出] 索引標籤,然後按一下 [註冊資料集] 圖示。 已定型模型的複本將會儲存為元件樹狀中的元件,且不會在管線的後續執行時更新。
後續步驟
請參閱 Azure Machine Learning 可用的元件集。