多元羅吉斯迴歸

重要

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

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

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

建立多級羅吉斯迴歸分類模型

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

注意

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

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

模組概觀

本文描述如何使用機器學習 Studio (傳統) 中的多元羅吉斯回歸模組,建立可用來預測多個值的羅吉斯回歸模型。

使用羅吉斯回歸的分類是受監督的學習方法,因此需要已加上標籤的資料集。 您可以藉由提供模型和加上標籤的資料集做為模組的輸入(例如 訓練模型 或 微調模型超參數)來定型模型。 然後便可以使用已定型的模型來預測新輸入範例的值。

機器學習 Studio (傳統) 也提供雙類別羅吉斯回歸模組,其適用于二進位或二分變數的分類。

深入瞭解多元羅吉斯回歸

羅吉斯回歸是在統計資料中已知的方法,可用來預測結果的機率,並且特別受限於分類工作。 此演算法會將資料填入羅吉斯函式,以預測事件的發生機率。 如需這個實作的詳細資訊,請參閱技術提示一節。

在多級羅吉斯迴歸中,分類器可以用來預測多個結果。

如何設定多元羅吉斯回歸

  1. 將 多元羅吉斯回歸 模組新增至實驗。

  2. 設定 [建立定型模式] 選項來指定要如何定型模型。

    • 單一參數:如果您知道要如何設定模型,請使用此選項,並提供一組特定值做為引數。

    • 參數範圍:如果您不確定最佳參數,而且想要使用參數清除,請使用此選項。

  3. 最佳化允差,指定最佳化工具收斂的閾值。 換句話說,如果反覆運算之間的改進少於臨界值,此演算法會停止,並傳回目前的模型。

  4. L1 正規化權數和 L2 正規化權數:輸入要用於正規化參數 L1 和 L2 的值。 非零值建議用於兩者。

    正規化是以極端係數值來懲罰模型,以防止過度學習的一種方法。 正規化的運作方式是將假設錯誤加上係數值相關聯的懲罰。 具有極端係數值的精確模型會受到較多懲罰,而具有較保守值的不精確模型受到較少懲罰。

    L1 與 L2 regularization 有不同的效果,並使用。 L1 可以套用到疏鬆的模型,使用高維度資料時,這是很有用。 相較之下,L2 regularization 是不是疏鬆的資料。 此演算法支援 L1 和 L2 正規化值的線性組合:也就是說,如果 x = L1 且 y = L2,則 ax + by = c 定義正規項的線性範圍。

    對於羅吉斯迴歸模型,已設計出 L1 和 L2 項的各種線性組合,例如彈性網路正規化。

  5. L BFGS 的記憶體大小:指定要用於 l BFGS 優化的記憶體數量。 此參數指出要儲存的通過位置和梯度數目,以計算下一個階梯。

    L BFGS 代表有限的記憶體 Broyden-Fletcher-Goldfarb-Shanno,而且是最受歡迎的參數估計最佳化演算法。 此最佳化參數限制用來計算下一個步驟和方向的記憶體數量。 當您指定較少的記憶體時,訓練是更快,但較不精確。

  6. 亂數散播:如果您想要讓結果可重複執行,請輸入整數值做為演算法的種子。 否則,系統時鐘值會用來做為種子,在相同實驗的執行中可能會產生稍微不同的結果。

  7. 允許未知的類別層級:選取此選項可在每個類別資料行中建立額外的「未知」層級。 在測試資料集中) 不在訓練資料集中的任何 (層級值會對應到這個「未知」層級。

  8. 連線已加上標籤的資料集,以及其中一個定型模組:

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

    • 如果您將 [ 建立定型模式] 設定為 [ 參數範圍],請使用 [ 微調模型超參數 ] 模組。 使用這個選項,您可以指定多個值,而講師會反復查看多個設定組合,以判斷產生最佳模型的值組合。

    注意

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

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

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

  9. 執行實驗。

結果

定型完成後:

  • 若要查看模型參數的摘要,以及從定型學習到的特徵權數,請以滑鼠右鍵按一下 [ 定型模型 ] 模組的輸出或 [ 微調模型超參數],然後選取 [ 視覺化]。

範例

如需如何使用這個學習演算法的範例,請參閱 Azure AI 資源庫:

  • 鳶尾花叢集:比較多元羅吉斯回歸與 K 表示叢集的結果。

  • 網路入侵偵測:使用二元羅吉斯回歸來判斷案例是否代表入侵。

  • 二元分類器的交叉驗證:示範在一般實驗工作流程中(包括模型評估)使用羅吉斯回歸的方式。

技術說明

本節包含實作詳細資料、提示和常見問題集的解答。

想要深入了解 L1 和 L2 正規化嗎? 下列文章提供 L1 和 L2 正規化的差異,以及它們如何影響模型調整,以及羅吉斯回歸和類神經網路模型的程式碼範例。

如需此演算法之執行的詳細資訊,請參閱:

實作詳細資料

羅吉斯回歸需要數值變數。 因此,當您嘗試使用類別資料行做為變數時,機器學習會在內部將值轉換成指標陣列。

若為日期和時間,則會使用數值標記法。 如需日期時間值的詳細資訊,請參閱DateTime 結構 .NET Framework。 如果您想要以不同的方式處理日期和時間,建議您建立衍生的資料行。

標準羅吉斯回歸為二項式,並假設有兩個輸出類別。 多元或多維度羅吉斯回歸假設有三個以上的輸出類別。

二項式羅吉斯回歸會假設資料的 羅吉斯分佈 ,其中範例屬於類別1的機率是公式:

p(x;β0,…, βD-1)

其中:

  • x 是包含實例所有功能值的 D 維向量。

  • p 是羅吉斯分佈函數。

  • β{0},..., β {D-1} 是羅吉斯分佈的未知參數。

演算法會藉由將指定輸入的參數最大記錄機率,以嘗試尋找的最佳值 β{0},..., β {D-1} 。 Maximization 是使用常用的參數估計方法來執行,稱為 有限的記憶體 BFGS。

模組參數

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

輸出

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

另請參閱

分類
二元羅吉斯迴歸
A-Z 模組清單