共用方式為


波氏迴歸

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

建立假設資料都具有波氏分配的迴歸模型

類別:機器學習/初始化模型/回歸

注意

適用于僅限機器學習 Studio (傳統)

Azure Machine Learning 設計工具中提供類似的拖放模組。

模組概觀

本文描述如何使用機器學習 Studio (傳統) 中的波氏回歸模組來建立波氏回歸模型。

波氏回歸是為了用來預測數值(通常是計數)的回歸模型中使用。 因此,只有在您嘗試預測的值符合下列條件時,才應該使用此模組來建立回歸模型:

  • 回應變數具有波氏分佈

  • 計數不可為負數。 如果您嘗試使用具有負數標籤的模型,此方法會立即失敗。

  • 波氏分佈是離散分佈,因此,描配非整數使用此方法沒有意義。

提示

如果您的目標不是計數,則波氏迴歸可能不是適當的方法。 請嘗試此類別中的其中一個其他課程模組。 如需挑選回歸方法的協助,請參閱機器學習演算法功能提要。

在設定了迴歸方法之後,您必須使用資料集來定型模型,該資料集包含您想要預測的值範例。 然後,定型的模型就可用來進行預測。

關於波氏迴歸的詳細資訊

波氏迴歸是一種特殊的迴歸分析,通常用來模擬計數。 例如,波氏迴歸可用於以下案例:

  • 模型化乘坐飛機相關的感冒次數

  • 估計事件期間的緊急服務呼叫次數

  • 預估促銷後客戶查詢的數目

  • 建立列聯表

因為回應變數具有波氏分佈,所以此模型會對資料及其機率分佈進行不同的假設,而不是使用最小平方迴歸。 因此,應該以不同於其他迴歸模型的方式來解譯波氏模型。

如何設定波氏迴歸

  1. 將 [波氏 回歸 ] 模組新增至您在 Studio (傳統) 中的實驗。

    您可以在 [回歸] 分類中的 [機器學習初始化] 下找到此模組。

  2. 新增一個資料集,其中包含正確類型的定型資料。

    建議您先使用正規化資料來正規化輸入資料集,然後再使用此輸入資料集來定型迴歸輸入變數。

  3. 在 [波氏回歸] 模組的 [屬性] 窗格中,藉由設定 [建立定型模式]選項,指定您要如何定型模型。

    • 單一參數:如果您知道要如何設定模型,請提供一組特定值作為引數。

    • 參數範圍。 如果您不確定最佳參數,請使用 微調模型超參數 模組來進行參數清理。 定型器會逐一查看多個您所指定的值,以找出最佳設定。

  4. 最佳化容錯:輸入可在最佳化期間定義容錯間隔的值。 值愈小,配適就較慢,但愈精確。

  5. L1 正規化權重L2 正規化權重:輸入要用於 L1 和 L2 正規化的值。 正則化會將限制加入至與模型各方面有關的演算法,這些方面與定型資料無關。 正則化通常用來避免過度配適。

    • 如果目標是讓模型儘可能稀疏,則 L1 正則化很有用。

      L1 正則化的做法是將學習模組嘗試最小化的損失運算式減去權重向量的 L1 權數。 L1 範數是 L0 範數的良好近似值 (非零座標數)。

    • L2 正則化可防止加權向量中的任何單一座標量級成長太多。 如果目標是要擁有具備小的整體加權的模型,則 L2 正則化相當有用。

    在此模組中,您可以套用 L1 與 L2 正則化的組合。 將 L1 與 L2 正規化結合,可以對參數值的量級施以懲罰。 學習模組會嘗試將懲罰降到最低,以換取最低損失。

    如需 L1 和 L2 正規化的詳細討論,請參閱機器學習的 L1 和 L2 正規化

  6. L-BFGS 的記憶體大小:指定要保留給模型調整和最佳化的記憶體數量。

    L-BFGS 是特定的最佳化方法,以 Broyden–Fletcher–Goldfarb–Shanno (BFGS) 演算法為基礎。 此方法會使用有限數量的記憶體 (L) 來計算下一個階梯方向。

    藉由變更此參數,您可以影響為了計算下一個階梯而儲存的通過位置和梯度數目。

  7. 將訓練資料集和未定型的模型連線到其中一個定型模組:

    • 如果您將 [ 建立定型模式] 設定為 [ 單一參數],請使用「 定型模型 」模組。

    • 如果您將 [ 建立定型模式] 設定為 [ 參數範圍],請使用 [ 微調模型超參數 ] 模組。

    警告

    • 如果您將參數範圍傳遞給定型模型,則其只會使用參數範圍清單中的第一個值。

    • 如果您將一組參數值傳遞至 微調模型超參數 模組,當它預期每個參數的設定範圍時,會忽略這些值並使用學習模組的預設值。

    • 如果您選取 [參數範圍] 選項,並對任何參數輸入單一值,則在整個掃掠期間都會使用您所指定的該單一值,即使其他參數在某個範圍的值之間變更亦然。

  8. 執行實驗來定型模型。

範例

如需如何在機器學習中使用波氏回歸的範例,請參閱 Azure AI 資源庫

技術說明

如果標籤具有波氏分佈,則會使用波氏回歸來建立計數資料的模型。 例如,您可以使用它來預測特定一天對客戶支援中心的呼叫次數。

針對此演算法,假設有未知的函式(表示 Y)具有波氏分佈。 波氏分佈的定義如下:

假設實例 x = (x0、...、xd-1) ,針對每個 k = 0、1、...,此模組會計算實例的值為 k 的機率。

根據這組訓練範例,演算法會嘗試將參數的記錄可能性最大化,以找出θ0,...,θD-1 的最佳值。 參數的可能性θ0,...,θD-1 是利用這些參數從分佈取樣定型資料的機率。

記錄機率可以視為記錄檔p (y = yi)

預測函數會輸出該參數化波氏分佈的預期值,特別是: fw、b (x) = e [Y | x] = ewTx + b

如需詳細資訊,請參閱維琪百科中的波氏 回歸 專案。

模組參數

名稱 範圍 類型 預設 描述
最佳化允差 >=double.Epsilon Float 0.0000001 指定最佳化收斂的允差值。 值愈小,配適就較慢,但愈精確。
L1 正則化權數 >= 0。0 Float 1.0 指定 L1 正則化權數。 使用非零值以防止模型過度配適。
L2 正規化權數 >= 0。0 Float 1.0 指定 L2 正規化權數。 使用非零值以防止模型過度配適。
L-BFGS 的記憶體大小 >=1 整數 20 指出要用於 L-BFGS 最佳化工具的記憶體數量 (以 MB 為單位)。 由於使用較少的記憶體,定型較快速,但較不精確。
亂數散播 任意 整數 輸入一個值做為模型使用的亂數產生器的種子。 保留空白表示預設值。
允許不明類別層級 任意 Boolean true 指出是否應該為每個類別資料行建立額外層級。 測試資料集內若有任何層級是定型資料集內所有沒有的,則會對應到此額外層級。

輸出

名稱 類型 描述
未定型的模型 ILearner 介面 未定型的迴歸模型

另請參閱

迴歸
A-Z 模組清單