二元羅吉斯迴歸

建立二級羅吉斯迴歸模型

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

注意

適用于 : Machine Learning Studio (傳統)

此內容僅適用于 Studio (傳統) 。 Azure Machine Learning 設計工具中已新增類似的拖放模組。 若要深入瞭解 這兩個版本,請參閱這篇文章

模組概觀

本文說明如何使用 Azure Machine Learning Studio (傳統) 中的 二級羅吉斯回歸 模組來建立羅吉斯回歸模型,此模型可用來預測兩個 (,而只有兩個) 結果。

羅吉斯回歸是知名的統計技術,可用來建立許多種類問題的模型。 此演算法是一種受 監督的學習 方法; 因此,您必須提供已經包含結果的資料集來定型模型。

深入瞭解羅吉斯回歸

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

在本課程模組中,分類演算法已針對二分或二進位變數進行優化。 如果您需要分類多個結果,請使用 多元羅吉斯回歸 模組。

如何設定 Two-Class 羅吉斯回歸

若要定型此模型,您必須提供包含標籤或類別資料行的資料集。 因為此模組適用于兩個類別的問題,所以標籤或類別資料行必須正好包含兩個值。

例如,標籤資料行可能是 [投票],其可能的值為 "Yes" 或 "No"。 或者,它可能是 [信用風險],其可能的值為 [高] 或 [低]。

  1. 雙類別羅吉斯回歸 模組新增至您在 Studio (傳統) 中的實驗。

  2. 藉由設定 [ 建立定型模式] 選項,指定您要如何定型模型。

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

    • 參數範圍:如果您不確定最佳參數,可以藉由指定多個值並使用 微調模型超參數 模組尋找最佳的設定,找到最佳的參數。 定型器會反復查看多個設定組合,並決定產生最佳模型的值組合。

  3. 針對 優化容錯,指定優化模型時要使用的臨界值。 如果反復專案之間的改進低於指定的臨界值,則演算法會被視為在解決方案上具有交集,且定型會停止。

  4. 若為 l1 正規化權數l2 正規化權數,請輸入要用於正規化參數 L1 和 l2 的值。 非零值建議用於兩者。

    正規化 是一種方法,可透過具有極端係數值的 penalizing 模型來防止過度學習。 正規化的運作方式是將與係數值相關聯的損失新增至假設的錯誤。 因此,具有極端係數值的精確模型會懲罰更多,但具有更保守值的較不精確模型會懲罰較少。

    L1 與 L2 regularization 有不同的效果,並使用。

    • L1 可以套用到疏鬆的模型,使用高維度資料時,這是很有用。

    • 相較之下,L2 regularization 是不是疏鬆的資料。

    此演算法支援 L1 和 L2 正規化值的線性組合:亦即,如果 x = L1y = L2 ,則會 ax + by = c 定義正規化詞彙的線性範圍。

    注意

    想要深入瞭解 L1 和 L2 正規化嗎? 下列文章提供 L1 和 L2 正規化的不同之處,以及它們如何影響模型調整,以及羅吉斯回歸和類神經網路模型的程式碼範例: 適用于機器學習服務的 l1 和 L2 正規化

    已為羅吉斯回歸模型設計了 L1 和 L2 詞彙的不同線性組合:例如, 彈性的 net 正規化。 建議您參考這些組合,以定義在模型中有效的線性組合。

  5. 針對 BFGS 的記憶體大小,指定用於 l BFGS 優化的記憶體數量。

    L BFGS 代表「有限的記憶體 Broyden-Fletcher-Goldfarb-Shanno」。 這是常用於參數估計的最佳化演算法。 此參數指出要儲存的通過位置和梯度數目,以計算下一個階梯。

    此最佳化參數限制用來計算下一個步驟和方向的記憶體數量。 當您指定較少的記憶體時,訓練是更快,但較不精確。

  6. 針對 [ 亂數字種子],輸入整數值。 如果您想要讓結果在相同實驗的多個回合之間重現,則定義種子值是很重要的。

  7. 選取 [ 允許未知的類別層 級] 選項,可在每個類別資料行中建立額外的「未知」層級。 如果您這樣做,在測試資料集中) 的任何 (層級值在訓練資料集中未提供的值,都會對應到這個「未知」層級。

  8. 將已加上標籤的資料集新增至實驗,並連接其中一個 定型模組

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

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

    注意

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

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

    如果您選取 [ 參數範圍 ] 選項,並輸入任何參數的單一值,則整個清除過程將會使用您所指定的單一值,即使其他參數會在某個範圍的值之間變更。

  9. 執行實驗。

結果

定型完成後:

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

  • 若要對新資料進行預測,請使用定型的模型和新的資料做為 計分模型 模組的輸入。

  • 若要對加上標籤的資料集執行交叉驗證,請將資料和未定型的模型連接至 交叉驗證模型

範例

如需如何使用此學習演算法的範例,請參閱 AZURE AI 資源庫

技術提示

本節包含對常見問題的執行詳細資料、秘訣和解答。

使用提示

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

若為日期和時間,則會使用數值標記法。 (如需日期時間值的詳細資訊,請參閱 ( .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.

模組參數

Name 範圍 類型 預設 描述
最佳化允差 >=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 指出是否應該為每個類別資料行建立額外層級。 測試資料集內若有任何層級是定型資料集內所有沒有的,則會對應到此額外層級。

輸出

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

另請參閱

分類

多元羅吉斯迴歸

A-Z 模組清單