LdSvmTrainer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
, IEstimator<TTransformer> 使用以本機深度 SVM 定型的非線性二元分類模型來預測目標。
public sealed class LdSvmTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LdSvmModelParameters>,Microsoft.ML.Trainers.LdSvmModelParameters>
type LdSvmTrainer = class
inherit TrainerEstimatorBase<BinaryPredictionTransformer<LdSvmModelParameters>, LdSvmModelParameters>
Public NotInheritable Class LdSvmTrainer
Inherits TrainerEstimatorBase(Of BinaryPredictionTransformer(Of LdSvmModelParameters), LdSvmModelParameters)
- 繼承
備註
若要建立此定型器,請使用 LdSvm 或 LdSvm (Options) 。
輸入和輸出資料行
輸入標籤資料行資料必須是 Boolean。 輸入特徵資料行資料必須是 的已知大小向量 Single 。 此定型器會輸出下列資料行:
輸出資料行名稱 | 資料行類型 | 描述 |
---|---|---|
Score |
Single | 模型所計算的未系結分數。 |
PredictedLabel |
Boolean | 預測標籤 (根據分數的正負號)。 負值分數會對應到 false ,正值分數則會對應到 true 。 |
定型器特性
機器學習工作 | 二元分類 |
是否需要正規化? | 是 |
是否需要快取? | 否 |
除了 Microsoft.ML 之外,還需要 NuGet | 無 |
可匯出至 ONNX | 否 |
定型演算法詳細資料
本機深度 SVM (LD-SVM) 是非線性 SVM 的當地語系化多重核心學習的一般化。 多個核心方法會學習不同的核心,因此會針對功能空間中的每個點使用不同的分類器。 對於大型定型集而言,多個核心方法的預測時間成本可能相當昂貴,因為它與支援向量的數目成正比,而且這些方法會隨著定型集的大小以線性方式成長。 LD-SVM 藉由學習高維度和疏鬆且有效率地編碼非線性的樹狀結構型本機功能來減少預測成本。 使用 LD-SVM 時,預測成本會以對數方式隨著定型集的大小成長,而不是以線性方式增加,並降低分類精確度的可容忍損失。
本機深度 SVM 是 C.Web、P.Goyal、P.Agg,以及 M.Varma、Local Deep Kernel Learning for Efficient Non-linear SVM Prediction, ICML, 2013中所述的演算法實作。
如需使用範例的連結,請參閱另請參閱一節。
欄位
FeatureColumn |
定型器預期的功能資料行。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
定型器預期的標籤資料行。 可以是 |
WeightColumn |
定型器預期的加權資料行。 可以是 |
屬性
Info |
, IEstimator<TTransformer> 使用以本機深度 SVM 定型的非線性二元分類模型來預測目標。 |
方法
Fit(IDataView) |
定型並傳 ITransformer 回 。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
, IEstimator<TTransformer> 使用以本機深度 SVM 定型的非線性二元分類模型來預測目標。 (繼承來源 TrainerEstimatorBase<TTransformer,TModel>) |
擴充方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的資料定型。 在接受多個資料通過的定型器之前,擁有快取檢查點會很有説明。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
假設有估算器,則會傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常必須傳回符合專案的相關資訊,這就是方法 Fit(IDataView) 傳回特定型別物件的原因,而不是只傳回一般 ITransformer 。 不過,同時 IEstimator<TTransformer> ,通常會形成具有許多物件的管線,因此我們可能需要透過 EstimatorChain<TLastTransformer> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。 |