促進式決策樹迴歸
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
使用促進式決策樹演算法建立迴歸模型
模組概觀
本文描述如何使用機器學習 Studio (傳統) 中的「促進式決策樹回歸」模組,利用提升來建立迴歸樹狀結構的集團。 提升表示每個樹狀都會相依於先前的樹狀。 演算法的學習方式是適配其前方樹狀的殘差。 因此,決策樹集團中的促進有助於提高精確度,但稍微有涵蓋範圍不足的風險。
此迴歸方法是受監督的學習方法,因此需要加標籤的資料集。 標籤資料行必須包含數值。
注意
本單元只適用於使用數值變數的資料集。
定義模型之後,請使用 [ 定型模型 ] 或 [ 微調模型超參數 ] 模組來定型模型。
提示
想要深入瞭解已建立的樹狀結構嗎? 定型模型之後,以滑鼠右鍵按一下 [ 定型模型 ] 模組的輸出 (或 調整模型超參數 模組) ,然後選取 [ 視覺化 ] 以查看在每個反復專案上建立的樹狀結構。 您可以向下切入每個樹狀結構的分割,並查看每個節點的規則。
深入了解提升迴歸樹
除了封袋、隨機樹系等等,「促進」也是建立集團模型的傳統方法之一。 在機器學習 Studio (傳統) 中,促進式決策樹使用的是超市漸層提升演算法的有效實作為。 梯度提升是一種適用於迴歸問題的機器學習技術。 它會逐步建置迴歸樹,利用預先定義的損失函數來測量每個步驟中的錯誤,並於下一個步驟中更正。 因此,預測模型實際上是一整團的較弱預測模型。
在迴歸問題中,提升會以逐步方式建置一系列樹狀,然後使用任意可微分損失函式來選取最佳樹狀。
如需詳細資訊,請參閱以下文章:
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。
梯度促進方法也可用於分類問題,以適當的遺失函數將問題簡化成迴歸。 如需用於分類工作的提升樹實作的詳細資訊,請參閱二元提升決策樹。
如何設定提升決策樹迴歸
將促進式 決策樹 模組新增至您的實驗。 您可以在 [回歸] 類別之下的機器學習、 Initialize底下找到此模組。
設定 [建立定型模式] 選項來指定要如何定型模型。
單一參數:如果您知道要如何設定模型,請選取此選項,並提供一組特定值做為引數。
參數範圍:如果您不確定最佳參數,且想要執行參數掃掠,請選取此選項。 選取要反覆運算的值範圍,而調整模型超參數會反覆運算您提供的所有可能設定的組合,以判斷可產生最佳結果的超參數。
每個樹狀的葉數上限:指出可在任何樹狀中建立的終端節點 (分葉) 數目上限。
增加此值,您可能會增加樹狀結構的大小,並取得較佳的精確度,風險是過度配適和較長的定型時間。
每個分葉節點的樣本數下限:指出在樹狀中建立任何終端節點 (分葉) 所需的案例數目。
藉由增加此值,您會增加建立新規則的臨界值。 例如,若預設值是 1,即使單一案例可能會造成新規則的建立。 如果您將此值增加至 5,則定型資料至少要包含 5 個案例,才會符合相同的條件。
學習速率:輸入 0 和 1 之間的數字,以定義學習時的步驟大小。 學習速率決定學習模組收斂到最佳解決方案的快慢。 如果步驟太大,您可能會超過最佳解決方案。 如果步驟太小,則定型會較久才收斂到最佳解決方案。
建構的樹狀數目:指出要在整體中建立的決策樹總數。 藉由建立多個決策樹,您或許能夠有較佳的涵蓋範圍,但是定型時間會拉長。
此值也會控制視覺化定型模型時所顯示的樹狀結構數目。 如果您想要查看或列印 ingle 樹狀結構,您可以將此值設定為1。不過,這表示只會產生一個樹狀結構 (具有初始) 參數集的樹狀結構,而不會執行進一步的反覆運算。
亂數種子:輸入選擇性的非負整數,以作為隨機種子值。 指定種子可確保每次以相同資料和參數執行都能重現。
隨機種子預設會設為 0,表示從系統時鐘取得初始種子值。
允許未知的類別層級:選取此選項可在定型和驗證集中建立未知值的群組。 如果您取消選取此選項,則模型只會接受訓練資料中包含的值。 此模型對於已知值可能較不精確,但針對新的 (未知) 值可提供更佳的預測。
新增訓練資料集和其中一個定型模組:
執行實驗。
結果
定型完成後:
若要查看在每個反復專案上建立的樹狀結構,請以滑鼠右鍵按一下 [ 定型模型 模組],然後選取要視覺化的 定型模型 。 如果您使用 [ 微調模型超參數],請以滑鼠右鍵按一下模組,然後選取 定型的最佳模型 ,將最佳模型視覺化。
按一下每個樹狀結構,向下切入分割並查看每個節點的規則。
若要使用模型進行評分,請將它連接到 評分模型,以預測新輸入範例的值。
若要儲存定型模型的快照集,請以滑鼠右鍵按一下定型模組的定型 模型 輸出,然後選取 [ 另存新檔]。 您儲存的定型模型複本不會在後續執行實驗時更新。
範例
如需如何在機器學習中使用促進式樹狀結構的範例,請參閱 Azure AI 資源庫:
需求估計:使用促進式 決策樹回歸 來預測特定時間的出租數目。
Twitter 情感分析:會使用回歸來產生預測的評等。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
提示
一般而言,當特徵有些許相關時,決策樹會產生較好的結果。 如果特徵的 Entropy 程度很高 (也就是彼此不相關),則它們共同的資訊會很少,甚至沒有,在樹狀結構中排序它們就不沒有多大的預測意義。
實作詳細資料
集團樹狀結構的產生方式是在每個步驟中計算迴歸樹,以大致估計損失函數的梯度,然後將可使新樹狀結構的損失極小化的係數加入至前一個樹狀結構。 MART 在給定實例上產生的集團輸出是樹狀輸出的總和。
在二元分類問題中,輸出會透過某些校正方式來轉換為機率。
在迴歸問題中,輸出就是函數的預測值。
針對排名問題,實例會依集團的輸出值排序。
模組參數
名稱 | 範圍 | 類型 | 預設 | 描述 |
---|---|---|---|---|
每一個樹狀結構的葉數上限 | >=1 | 整數 | 20 | 指定每一個樹狀結構的葉數上限 |
每一個葉節點的樣本數下限 | >=1 | 整數 | 10 | 指定形成葉節點所需的案例數下限 |
學習率 | [double.Epsilon;1.0] | Float | 0.2 | 指定初始學習速率 |
建構的樹狀結構總數 | >=1 | 整數 | 100 | 指定在定型期間可建立的樹狀結構數目上限 |
亂數散播 | 任意 | 整數 | 提供模型使用的亂數產生器的種子。 保留空白表示預設值。 | |
允許不明類別層級 | 任意 | Boolean | true | 如果為 true,則會為每個類別資料行建立額外層級。 測試資料集內若有層級是定型資料集內所有沒有的,則會對應到此額外層級。 |
輸出
名稱 | 類型 | 描述 |
---|---|---|
未定型的模型 | ILearner 介面 | 未定型的迴歸模型 |