多元羅吉斯迴歸

重要

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 = L1y = 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 模組清單