二元支援向量機器
使用支援向量機器演算法建立二元分類模型
模組概觀
本文說明如何在機器學習 Studio (傳統) 中使用二級支援向量機器模組,以建立以支援向量機器演算法為基礎的模型。
支援向量機器 (SVM) 是一類經過充分研究的監督式學習方法。 此特定實作適合以連續或分類變數為基礎,預測兩個可能的結果。
定義模型參數之後,請使用其中一個 定型模組來定型模型,並提供包含標籤或結果資料行的加上標籤 資料集 。
深入瞭解支援向量機器
支援向量機器是其中一個最早的機器學習演算法,而且在許多應用程式 (從資訊擷取到文字和影像分類) 中,都已使用 SVM 模型。 SVM 可用於分類和迴歸工作。
此 SVM 模型是一種需要標記資料的監督式學習模型。 在定型過程中,演算法會分析輸入資料,並辨識多維度特徵空間 (稱為「超平面」) 中的模式。 所有輸入範例在此空間中以點表示,並對應到輸出類別,而盡可能以越寬和越清晰的間隙分割類別。
在預測時,SVM 演算法將新的範例指派給其中一個類別,並對應到相同的空間。
如何設定 Two-Class 支援向量機器
對於此模型類型,建議您先將資料集正規化,再用來定型分類器。
將 二級支援向量機器 模組新增至您在 Studio (傳統) 中的實驗。
設定 [建立定型模式] 選項來指定要如何定型模型。
單一參數:如果您知道要如何設定模型,您可以提供一組特定值做為引數。
參數範圍:如果您不確定最佳參數,可以藉由指定多個值並使用 微調模型超參數 模組尋找最佳的設定,找到最佳的參數。 定型器會反復查看多個設定組合,並決定產生最佳模型的值組合。
在 [反覆運算次數] 中輸入數字,代表建立模型時使用的反覆運算次數。
這個參數可以用來控制定型速度和精確性之間的取捨。
在 [Lambda] 中輸入值,做為 L1 正規化的權數。
這個正則化係數可用來調整模型。 值越大,模型就越複雜。
如果要在定型之前將特徵正規化,請選取 [正規化特徵] 選項。
如果您套用正規化,則在定型之前,資料點會集中在平均值,並調整為具有一個單位的標準差。
選取 [投影到單位球面] 選項來正規化係數。
將值投影到單位空間表示在定型之前,資料點會集中在 0,並調整為具有一個單位的標準差。
如果您要確保跨執行的重現性,請在 [亂數種子] 中輸入整數值做為種子。 否則會以系統時鐘值為種子,這可能導致每次執行的結果稍微不同。
選取 [ 允許未知的類別] 選項,在定型或驗證集中建立未知值的群組。 在此情況下,模型可能較不精確地得知已知值,但可為新的 (未知的) 值提供更好的預測。
如果您取消選取它,模型可以接受培訓資料中包含的值。
連線已加上標籤的資料集,以及其中一個定型模組:
執行實驗。
結果
定型完成後:
若要查看模型參數的摘要,以及從定型學到的功能加權,請以滑鼠右鍵按一下 [ 定型模型 ] 或 [ 微調模型超參數] 的輸出,然後選取 [ 視覺化]。
若要使用定型的模型來進行預測,請將定型的模型連接到「 評分模型 」模組。
若要對加上標籤的資料集執行交叉驗證,請將未定型的模型和資料集連接至 交叉驗證模型。
範例
如需如何使用這個學習演算法的範例,請參閱 Azure AI 資源庫:
技術說明
本節包含實作詳細資料、提示和常見問題集的解答。
使用提示
對於此模型類型,建議您先將資料集正規化,再用來定型分類器。
雖然近來的研究已開發出具有較高精確度的演算法,但是對於簡單的資料集而言,如果您在意的是速度而非精確度,則此演算法可以取得很好的效果。 如果您使用 [二級支援向量模型] 並未取得想要的結果,請嘗試以下其中一個分類方法:
模組參數
名稱 | 範圍 | 類型 | 預設 | 描述 |
---|---|---|---|---|
反覆運算次數 | >=1 | 整數 | 1 | 反覆運算次數 |
Lambda | >=double.Epsilon | Float | 0.001 | L1 正則化的權數。 使用非零值以避免模型牽就定型資料集而過度配適。 |
正規化特徵 | 任意 | 布林值 | True | 如果為 True,則將特徵正規化。 |
投射到單位球面 | 任意 | 布林值 | 否 | 如果為 True,則將特徵投射到單位圓。 |
亂數散播 | 任意 | 整數 | 模型使用的亂數產生器的種子。 保留空白代表預設值。 | |
允許不明類別層級 | 任意 | 布林值 | True | 如果為 True,則會為每個類別資料行建立額外層級。 測試資料集內若有任何層級是定型資料集內所有沒有的,則會對應到此額外層級。 |
輸出
名稱 | 類型 | 描述 |
---|---|---|
未定型的模型 | 資料表 | 未定型的二元分類模型。 |