二元支援向量機器

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

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

注意

適用于:僅限機器學習 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 模組清單