二元支援向量機器

使用支援向量機器演算法建立二元分類模型

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

注意

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

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

模組概觀

本文說明如何在機器學習 Studio (傳統) 中使用二級支援向量機器模組,以建立以支援向量機器演算法為基礎的模型。

支援向量機器 (SVM) 是一類經過充分研究的監督式學習方法。 此特定實作適合以連續或分類變數為基礎,預測兩個可能的結果。

定義模型參數之後,請使用其中一個 定型模組來定型模型,並提供包含標籤或結果資料行的加上標籤 資料集

深入瞭解支援向量機器

支援向量機器是其中一個最早的機器學習演算法,而且在許多應用程式 (從資訊擷取到文字和影像分類) 中,都已使用 SVM 模型。 SVM 可用於分類和迴歸工作。

此 SVM 模型是一種需要標記資料的監督式學習模型。 在定型過程中,演算法會分析輸入資料,並辨識多維度特徵空間 (稱為「超平面」) 中的模式。 所有輸入範例在此空間中以點表示,並對應到輸出類別,而盡可能以越寬和越清晰的間隙分割類別。

在預測時,SVM 演算法將新的範例指派給其中一個類別,並對應到相同的空間。

如何設定 Two-Class 支援向量機器

對於此模型類型,建議您先將資料集正規化,再用來定型分類器。

  1. 二級支援向量機器 模組新增至您在 Studio (傳統) 中的實驗。

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

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

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

  3. 在 [反覆運算次數] 中輸入數字,代表建立模型時使用的反覆運算次數。

    這個參數可以用來控制定型速度和精確性之間的取捨。

  4. 在 [Lambda] 中輸入值,做為 L1 正規化的權數。

    這個正則化係數可用來調整模型。 值越大,模型就越複雜。

  5. 如果要在定型之前將特徵正規化,請選取 [正規化特徵] 選項。

    如果您套用正規化,則在定型之前,資料點會集中在平均值,並調整為具有一個單位的標準差。

  6. 選取 [投影到單位球面] 選項來正規化係數。

    將值投影到單位空間表示在定型之前,資料點會集中在 0,並調整為具有一個單位的標準差。

  7. 如果您要確保跨執行的重現性,請在 [亂數種子] 中輸入整數值做為種子。 否則會以系統時鐘值為種子,這可能導致每次執行的結果稍微不同。

  8. 選取 [ 允許未知的類別] 選項,在定型或驗證集中建立未知值的群組。 在此情況下,模型可能較不精確地得知已知值,但可為新的 (未知的) 值提供更好的預測。

    如果您取消選取它,模型可以接受培訓資料中包含的值。

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

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

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

    注意

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

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

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

  10. 執行實驗。

結果

定型完成後:

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

  • 若要使用定型的模型來進行預測,請將定型的模型連接到「 評分模型 」模組。

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

範例

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

技術說明

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

使用提示

對於此模型類型,建議您先將資料集正規化,再用來定型分類器。

雖然近來的研究已開發出具有較高精確度的演算法,但是對於簡單的資料集而言,如果您在意的是速度而非精確度,則此演算法可以取得很好的效果。 如果您使用 [二級支援向量模型] 並未取得想要的結果,請嘗試以下其中一個分類方法:

模組參數

名稱 範圍 類型 預設 描述
反覆運算次數 >=1 整數 1 反覆運算次數
Lambda >=double.Epsilon Float 0.001 L1 正則化的權數。 使用非零值以避免模型牽就定型資料集而過度配適。
正規化特徵 任意 布林值 True 如果為 True,則將特徵正規化。
投射到單位球面 任意 布林值 如果為 True,則將特徵投射到單位圓。
亂數散播 任意 整數 模型使用的亂數產生器的種子。 保留空白代表預設值。
允許不明類別層級 任意 布林值 True 如果為 True,則會為每個類別資料行建立額外層級。 測試資料集內若有任何層級是定型資料集內所有沒有的,則會對應到此額外層級。

輸出

名稱 類型 描述
未定型的模型 資料表 未定型的二元分類模型。

另請參閱

分類
A-Z 模組清單