二元羅吉斯迴歸
重要
Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning。
自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。
ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。
建立二級羅吉斯迴歸模型
模組概觀
本文描述如何在機器學習 Studio (傳統) 中使用二級羅吉斯回歸模組來建立羅吉斯回歸模型,此模型可用來預測兩個 (以及只有兩個) 結果。
羅吉斯迴歸是知名的統計技術,用來模型化許多種問題。 此演算法是一種「監督式學習」方法;因此,您必須提供已包含結果的資料集來定型模型。
深入瞭解羅吉斯回歸
羅吉斯迴歸是統計學中知名的方法,用來預測結果的機率,在分類工作中尤其常用。 此演算法將資料填入邏吉斯函式,以預測事件的發生機率。 如需這個實作的詳細資訊,請參閱技術提示一節。
在本課程模組中,分類演算法已針對二分或二進位變數進行優化。 如果您需要分類多個結果,請使用 多元羅吉斯回歸 模組。
如何設定 Two-Class 羅吉斯回歸
若要定型此模型,您必須提供包含標籤或類別資料行的資料集。 因為此模組適用于兩個類別的問題,所以標籤或類別資料行必須正好包含兩個值。
例如,標籤資料行可能是 [投票],可能的值為「是」或「否」。 也可能是 [信用風險],可能的值為「高」或「低」。
將 雙類別羅吉斯回歸 模組新增至您在 Studio (傳統) 中的實驗。
設定 [建立定型模式] 選項來指定要如何定型模型。
單一參數:如果您知道要如何設定模型,您可以提供一組特定值做為引數。
參數範圍:如果您不確定最佳參數,可以藉由指定多個值並使用 微調模型超參數 模組尋找最佳的設定,找到最佳的參數。 定型器會反復查看多個設定組合,並決定產生最佳模型的值組合。
在 [最佳化允差] 中,指定最佳化模型時要使用的閾值。 如果反覆運算之間的改進低於指定的閾值,則演算法視為已收斂到一個解決方案,定型會停止。
在 [L1 正規化權數] 和 [L2 正規化權數] 中,輸入要用於正規化參數 L1 和 L2 的值。 非零值建議用於兩者。
「正規化」是以極端係數值來懲罰模型,以防止過度學習的一種方法。 正規化的運作方式是將假設錯誤加上係數值相關聯的懲罰。 因此,具有極端係數值的精確模型受較多懲罰,而具有較保守值的不精確模型受到較少懲罰。
L1 與 L2 regularization 有不同的效果,並使用。
L1 可以套用到疏鬆的模型,使用高維度資料時,這是很有用。
相較之下,L2 regularization 是不是疏鬆的資料。
此演算法支援 L1 和 L2 正規化值的線性組合:也就是說,如果
x = L1
且y = L2
,則ax + by = c
定義正規項的線性範圍。注意
想要深入了解 L1 和 L2 正規化嗎? 下列文章以羅吉斯迴歸和神經網路模型的程式碼範例,討論 L1 和 L2 正規化的不同之處及其如何影響模型擬合:機器學習的 L1 和 L2 正規化
對於羅吉斯迴歸模型,已設計出 L1 和 L2 項的各種線性組合:例如,彈性網路正規化。 建議您參考這些組合,為您的模型定義有效的線性組合。
在 [L-BFGS 的記憶體大小] 中,指定要用於 L-BFGS 最佳化的記憶體數量。
L-BFGS 代表 "limited memory Broyden-Fletcher-Goldfarb-Shanno"。 這是常用於參數估計的最佳化演算法。 此參數指出要儲存的通過位置和梯度數目,以計算下一個階梯。
此最佳化參數限制用來計算下一個步驟和方向的記憶體數量。 當您指定較少的記憶體時,訓練是更快,但較不精確。
在 [亂數種子] 中,輸入整數值。 如果您想要讓結果在相同實驗的多個回合之間重現,則定義種子值是很重要的。
選取 [ 允許未知的類別層 級] 選項,可在每個類別資料行中建立額外的「未知」層級。 如果您這樣做,在測試資料集中) 的任何 (層級值在訓練資料集中未提供的值,都會對應到這個「未知」層級。
將已加上標籤的資料集新增至實驗,並連接其中一個 定型模組。
執行實驗。
結果
定型完成後:
若要查看模型參數的摘要,以及從定型學到的功能加權,請以滑鼠右鍵按一下 [ 定型模型 ] 或 [ 微調模型超參數] 的輸出,然後選取 [ 視覺化]。
若要對新資料進行預測,請使用定型的模型和新的資料做為 計分模型 模組的輸入。
若要對加上標籤的資料集執行交叉驗證,請將資料和未定型的模型連接至 交叉驗證模型。
範例
如需如何使用這個學習演算法的範例,請參閱 Azure AI 資源庫:
網路入侵偵測:使用二元羅吉斯回歸來判斷案例是否代表入侵。
二元分類器的交叉驗證:示範在一般實驗工作流程中(包括模型評估)使用羅吉斯回歸的方式。
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
使用提示
羅吉斯回歸需要數值變數。 因此,當您使用類別資料行做為變數時,機器學習會在內部將值轉換成指標陣列。
若為日期和時間,則會使用數值標記法。 (如需日期時間值的詳細資訊,請參閱DateTime 結構 (.NET Framework) -備註。 ) 如果您想要以不同的方式處理日期和時間,建議您建立衍生的資料行。
實作詳細資料
羅吉斯回歸會假設資料的 羅吉斯分佈 ,其中範例屬於類別1的機率是公式:
p(x;β0,…, βD-1)
其中:
x
這是包含實例所有功能值的 D 維向量。p
是羅吉斯分佈函數。β{0},..., β {D-1}
是羅吉斯分佈的未知參數。
演算法會藉由將指定輸入的參數最大記錄機率,以嘗試尋找的最佳值 β{0},..., β {D-1}
。 Maximization 是使用常用的參數估計方法來執行,稱為 有限的記憶體 BFGS。
參考
For more information on the implementation of this algorithm, see Scalable Training of L-1 Regularized Log-Linear Models, by Andrew and Gao.
模組參數
名稱 | 範圍 | 類型 | 預設 | 描述 |
---|---|---|---|---|
最佳化允差 | >=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 介面 | 未定型的分類模型 |