LinearSvmTrainer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Predikce 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 štítku musí být Boolean. Vstupními funkcemi musí být data sloupců známým vektorem 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é model vypočítal. |
PredictedLabel |
Boolean | Předpovězený popisek, který je založen na znaménku skóre. Záporné skóre se mapuje na false a pozitivní skóre se mapuje na true. |
Charakteristiky trenéra
| Úloha strojového učení | Binární klasifikace |
| Vyžaduje se normalizace? | Ano |
| Vyžaduje se ukládání do mezipaměti? | No |
| Požadovaný NuGet kromě Microsoft.ML | None |
| Exportovatelné do ONNX | Ano |
Podrobnosti trénovacího algoritmu
Lineární SVM implementuje algoritmus, který najde v prostoru funkcí hyperplane pro binární klasifikaci tím, že vyřeší problém SVM. Například s hodnotami funkcí $f_0, f_1,..., f_{D-1}$, je předpověď dána určením strany nadrovnice, do které části bodu spadá. To je stejné jako znaménko váženého součtu feauture, 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 odchylka vypočítaná algoritmem.
Lineární SVM implementuje metodu PEGASOS, která se střídá mezi stochastickým gradientním sestupem a projekčními kroky, představenými v tomto dokumentu Shalev-Shwartz, Singer a Srebro.
Odkazy na příklady použití najdete v části Viz také.
Pole
| Name | Description |
|---|---|
| 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 |
| WeightColumn |
Váhový sloupec, který trenér očekává. Může být |
Vlastnosti
| Name | Description |
|---|---|
| Info |
Predikce 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
| Name | Description |
|---|---|
| Fit(IDataView, LinearModelParameters) |
Pokračuje v trénování OnlineLinearTrainer<TTransformer,TModel> pomocí již natrénovaného |
| Fit(IDataView) |
Vlaky a vrací .ITransformer (Zděděno od TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Predikce 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í
| Name | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Připojte kontrolní bod ukládání do mezipaměti do řetězu odhadce. Tím zajistíte, aby podřízené estimátory byly natrénovány proti datům uloženým 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>) |
Vzhledem k estimátoru vraťte objekt obtékání, 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í typ objekt, spíše 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ěz odhadců prostřednictvím IEstimator<TTransformer> místa, kde odhadovač, EstimatorChain<TLastTransformer> pro který chceme získat transformátor, je 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 zavolání fit. |