Sdílet prostřednictvím


LinearSvmTrainer Třída

Definice

Předpověď IEstimator<TTransformer> cíle pomocí lineárního binárního klasifikačního modelu natrénovaného lineárním SVM.

public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
    inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
Dědičnost

Poznámky

K vytvoření tohoto trenéra použijte LinearSvm nebo LinearSvm(Options).

Vstupní a výstupní sloupce

Vstupní data sloupce popisku musí být Boolean. Vstupními funkcemi musí být data sloupců známého vektoru Singlevelikosti . Tento trenér vypíše následující sloupce:

Název výstupního sloupce Typ sloupce Description
Score Single Nevázané skóre, které byl vypočítán modelem.
PredictedLabel Boolean Predikovaný popisek na základě znaménka skóre Záporná mapa false skóre a pozitivní skóre mapuje na true.

Charakteristiky trenéra

Úloha strojového učení Binární klasifikace
Vyžaduje se normalizace? Yes
Vyžaduje se ukládání do mezipaměti? No
Povinné nuGet kromě Microsoft.ML Žádné
Exportovatelný do ONNX Yes

Podrobnosti o trénovacím algoritmu

Lineární SVM implementuje algoritmus, který najde hyperplane v prostoru funkcí pro binární klasifikaci, a to řešením problému SVM. Například s hodnotami funkcí $f_0, f_1,..., f_{D-1}$, je předpověď uvedena tak, že určí, do jaké strany hyperplane bod spadá. To je stejné jako znaménko váženého součtu feautures, tj. $\sum_{i = 0}^{D-1} \left(w_i * f_i \right) + b$, kde $w_0, w_1,..., w_{D-1}$ jsou váhy vypočítané algoritmem a $b$ je předsudky vypočítané algoritmem.

Lineární SVM implementuje metodu PEGASOS, která se střídá mezi stochastickým přechodovým sestupem a projekčními kroky, představenými v tomto dokumentu Shalev-Shwartz, Singer a Srebro.

V části Viz také najdete odkazy na příklady použití.

Pole

FeatureColumn

Sloupec funkcí, který trenér očekává.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Sloupec popisku, který trenér očekává. Může to být null, což označuje, že popisek se nepoužívá pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Sloupec hmotnosti, který trenér očekává. Může být null, což značí, že váha se nepoužívá pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Vlastnosti

Info

Předpověď IEstimator<TTransformer> cíle pomocí lineárního binárního klasifikačního modelu natrénovaného lineárním SVM.

(Zděděno od OnlineLinearTrainer<TTransformer,TModel>)

Metody

Fit(IDataView, LinearModelParameters)

Pokračuje v trénování OnlineLinearTrainer<TTransformer,TModel> pomocí již natrénovaného modelParameters a vrátí ITransformerhodnotu .

(Zděděno od OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

Vlaky a vrátí ITransformerhodnotu .

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Předpověď IEstimator<TTransformer> cíle pomocí lineárního binárního klasifikačního modelu natrénovaného lineárním SVM.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Metody rozšíření

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Připojte k řetězci odhadu kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby se podřízené estimátory natrénovaly na data uložená v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Pokud získáte odhadátor, vraťte obtékání objektu, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétně zadaný objekt, a ne jen obecné ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetězec odhadovačů prostřednictvím EstimatorChain<TLastTransformer> toho, kde je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, uložen někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po volání fit.

Platí pro

Viz také