波氏迴歸

本文描述 Azure Machine Learning 設計工具中的一個元件。

使用這個元件,可在管線中建立波氏迴歸模型。 波氏迴歸旨在預測數值 (通常是計數)。 因此,僅在您嘗試預測的值符合下列條件時,才應該使用此元件來建立您的迴歸模型:

  • 回應變數具有波氏分佈

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

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

提示

如果您的目標不是計數,則波氏迴歸可能不是適當的方法。 嘗試設計工具中的其他迴歸元件

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

關於波氏迴歸的詳細資訊

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

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

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

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

  • 建立列聯表

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

如何設定波氏迴歸

  1. 在設計工具中,將 [波式迴歸] 元件新增至您的管線。 您可以在 [迴歸] 類別中的 [機器學習演算法] 下找到此元件。

  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 Machine Learning 可用的元件集