二級局部深度支援向量機器

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

使用的本機深度的支援向量機器演算法建立二進位分類模型

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

注意

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

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

模組概觀

本文說明如何使用 機器學習 Studio (傳統) 中的二元本機深度支援向量機器模組,在 SVM) 分類器中建立兩個類別的非線性支援向量機器, (SVM) 分類器,該模組已針對有效率的預測進行優化。

支援向量機器 (SVM) 是一種非常熱門且經過研究完善的監督式學習模型類別,可用於線性和非線性分類工作。 最近的研究著重在如何最佳化這些模型,以效率地擴充至更大的定型集。 在 Microsoft Research 提供的這項實作中,用來將資料點對應至特徵空間的核心功能特別注重縮短定型所需的時間,同時維持最高的分類精確度。

此模型是監督式學習方法,因此需要 標記的資料集,其中包含標籤資料行。

定義模型參數之後,請提供模型和標記的資料集做為 定型模型微調模型超參數的輸入來定型模型。 然後便可以使用已定型的模型預測新輸入的值。

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

  1. 二元Locally-Deep支援向量機器 模組新增至 Studio 中的實驗, (傳統) 。

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

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

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

  3. 針對 樹狀結構的深度,指定本機深度學習 SVM (LD-SVM) 模型可以建立的樹狀結構最大深度。

    定型的成本會隨著樹狀結構深度而增加;因此,在建立模型時,請根據您可投入的時間,選擇適當的深度。

    定型時間大致上隨著深度每增加一層而倍增。

    預測精確度會先上升、達到高峰,然後隨著深度增加而下降。

  4. 針對 Lambda W,指定應該提供給正規化詞彙的權數。

    正則化可限制定型的分類器中較大值的分量。 在一定的特徵數目下,當樣本數不足時,您可以使用 L2 正規化來防止過度配適。 Lambda W的較大值表示更強調的是正規化分類器權數,而對定型集分類錯誤則較少。

    如果預設值 (0.1) 無法正常運作,您也應該嘗試 {0.0001、0.001 和 0.01}。

  5. 針對 Lambda Theta,指定區域界限與最接近的資料點之間應該保留多少空間。

    此模型的運作方式是將資料空間和特徵空間分割成區域。 當 Lambda Theta 最小化的方式是定型模型中的區域界限太接近定型資料點時,模型可能會產生低定型錯誤,但因為過度學習而產生高測試錯誤。

    若要減少需要驗證的參數數目,良好的經驗法則是將 Lambda Theta 設定為 用於 Lambda W之值的十分之一。較大的值表示,比起將定型集中的分類錯誤最小化,更強調防止過度學習。

    如果預設值 (0.01) 不太適合,則您也應該嘗試 {0.0001、0.001 和 0.1}。

  6. 針對 Lambda Theta Prime,輸入一個值來控制模型中決策界限中允許的曲線數量。

    較大的值可讓模型彈性學習曲線決策界限,而較小的值可能會將決策界限限制為更進階線性模式。

    此參數可與 Sigma 參數搭配使用。 若要減少必須驗證的參數個數,較好的經驗法則是將 [Lambda Theta 質數] 設為 Lambda W 值的十分之一。

    如果預設值 (0.01) 不太適合,則您也應該嘗試 {0.0001、0.001 和 0.1}。

  7. 針對 Sigmoid 尖角,輸入要用於縮放參數的值σ。

    較大的值表示本機核心 Θ 中的 tanh (theta) 飽和,而較小的值表示 theta 的線性作業範圍。 您可以在 [技術注意事項 ] 區段中找到完整的優化公式。

    如果預設值 (1) 不太適合,您也可以嘗試 {0.1、0.01、0.001}。

  8. [反復專案數目] 中,指出演算法應該使用隨機的範例子集來更新分類器參數的次數。

  9. 針對 功能正規化程式,選擇用於正規化特徵值的方法。 支援下列方法:

    • 量化正規化程式:量化正規化程式會建立大小相等的量化,然後將每個間隔中的每個值正規化,以除以間隔總數。

    • Gaussian 正規化程式:Gaussian 正規化程式會重新調整每個特徵的值,使平均值為 0 且變異數為 1。 這是藉由計算每個特徵的平均值和變異數來完成。 然後,針對每個實例,平均值會減去,而結果除以變異數的平方根 (標準差) 。

    • Min-Max 正規化程式:min-max 正規化程式會線性地將每項功能重新調整為 [0,1] 間隔。

      轉換每個特徵的值而使最小值為 0,然後再除以新的最大值 (這是原始最大值與最小值之間的差異),重新調整為 [0,1] 間隔的作業即完成。

    • 不要正規化:不會執行正規化。

  10. 如果您想要確保執行之間的重現性,請在 [亂數種子]中,輸入要當做種子使用的值。

  11. 選取 [允許未知類別層級 ] 選項,以在測試或驗證集中建立未知值的群組。

    如果您取消選取它,模型可以接受培訓資料中包含的值。 在前一個案例中,此模型可能是較不精確的已知值,但它可以提供較佳預測新 (未知) 的值。

  12. 連線標記的資料集和其中一個訓練模組

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

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

    注意

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

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

    如果您選取 [參數範圍] 選項,並對任何參數輸入單一值,則在整個掃掠期間都會使用您所指定的該單一值,即使其他參數在某個範圍的值之間變更亦然。

  13. 執行實驗。

結果

定型完成後:

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

  • 若要儲存定型模型的貼齊,請以滑鼠右鍵按一下 [ 定型模型 ] 輸出,然後選取 [ 另存新定型模型]。 此模型不會在相同實驗的後續執行時更新。

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

技術說明

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

使用提示

此 LD-SVM 分類器最適用於下列情況:

  • 您有二元分類的問題,或您可以將問題簡化成二元分類工作。

  • 您試過線性分類器,但成效不佳。

  • 您試過非線性 SVM 或其他分類器,而且分類精確度很不錯,但花太多時間來定型模型。

  • 您能夠犧牲預測精確度來換取較短的定型時間。

當您的資料過於複雜,使得線性模型 (例如羅吉斯迴歸) 的執行效能很差時,LD-SVM 模型是很好的選擇。 LD-SVM 模型也夠小,可使用於行動裝置,或因過大而無法有效使用的複雜模型 (例如類神經網路) 的其他案例中。

相反地,如果您不在意模型大小,或線性模型是為了因應簡單需求或預測速度時,則不應該使用此模型。 如果線性分類器已經提供良好的結果,或您可以藉由新增少量的非線性來取得高分類精確度,也不需要變更為 LD-SVM。

實作詳細資料

LD-SVM 是由 Microsoft Research 在持續努力加快非線性 SVM 預測的過程中所開發。 Gonen 和 Alpaydin (2008) 在局部化多重核心學習方法上所做的努力尤其有價值。 使用局部核心函數可讓模型學習任意的局部特徵內嵌,包括將非線性導入模型中的高維度、稀疏及深入運算的特微。

LD-SVM 的速度比其他大部分分類器還快,原因有幾種:

  • 模型學習決策界限在局部上是線性的。 因此,您可以針對測試點的局部決策界限測試它,藉此有效分類該決策點,而不是對整個功能空間的決策界限組進行測試。

  • 模型會使用有效率的原始常式,將樹狀結構局部特性內嵌的空間最佳化,讓內嵌擴大為具有超過 50 萬個定型點的更大定型集。

  • 根據局部決策界限來測試一個點的成本是定型點數目的對數。

由於這些最佳化,LD-SVM 模型的定型遠較傳統的 SVM 定型模型快更多。

最佳化公式

optimization formula

參考

如需演算法和基礎研究的詳細資訊,請參閱有效非線性 SVM 預測的本機深度核心Learning

模組參數

名稱 範圍 類型 預設 描述
建立訓練模式 List 學習模組參數選項 單一參數 進階學習模組選項:

1.使用單一參數建立學習模組
2.使用參數範圍建立學習模組
樹狀結構的深度 >=1 整數 3 局部深度 SVM 樹狀結構的深度。
Lambda W >=1.401298E-45 Float 0.1 分類器參數 Lambda W 的正則化權數。
Lambda Theta >=1.401298E-45 Float 0.01 分類器參數 Lambda Theta 的正則化權數。
Lambda Theta 質數 >=1.401298E-45 Float 0.01 分類器參數 Lambda Theta 質數的正則化權數。
S 型清晰度 >=1.401298E-45 Float 1.0 S 型清晰度。
樹狀結構的深度 [1;int.MaxValue] ParameterRangeSettings 1;3;5;7 局部深度 SVM 樹狀結構的深度範圍。
Lambda W [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1;0.01;0.001 分類器參數 Lambda W 的正則化權數範圍。
Lambda Theta [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1;0.01;0.001 分類器參數 Lambda Theta 的正則化權數範圍。
Lambda Theta 質數 [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1;0.01;0.001 分類器參數 Lambda Theta 質數的正則化權數範圍。
S 型清晰度 [1.401298E-45;3.40282347E+38] ParameterRangeSettings 1.0;0.1;0.01 S 型清晰度的範圍。
特徵正規化程式 List 正規化程式類型 極小-極大正規化程式 套用至學習範例的正規化類型。
反覆運算次數 >=1 整數 15000 學習反覆次數。
反覆運算次數 [1;int.MaxValue] ParameterRangeSettings 10000;15000;20000 學習反覆次數的範圍。
亂數散播 任意 整數 模型使用的亂數產生器的種子。 保留空白代表預設值。
允許不明類別層級 任意 布林值 True 如果為 True,則會為每個類別資料行建立額外層級。 測試資料集內若有任何層級是定型資料集內所有沒有的,則會對應到此額外層級。

輸出

名稱 類型 描述
未定型的模型 ILearner 介面 未定型的二元分類模型。

另請參閱

分類
A-Z 模組清單