AveragedPerceptronTrainer 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 průměrem perceptronu
public sealed class AveragedPerceptronTrainer : Microsoft.ML.Trainers.AveragedLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type AveragedPerceptronTrainer = class
inherit AveragedLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class AveragedPerceptronTrainer
Inherits AveragedLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
- Dědičnost
Poznámky
K vytvoření tohoto trenéra použijte AveragedPerceptron nebo AveragedPerceptron(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
Perceptron je klasifikační algoritmus, který vytváří jeho předpovědi vyhledáním oddělení nadrovnice. 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} (w_i * f_i) + b$, kde $w_0, w_1,..., w_{D-1}$ jsou váhy vypočítané algoritmem a $b$ je odchylka vypočítaná algoritmem.
Perceptron je online algoritmus, což znamená, že zpracovává instance v trénovací sadě po jednom. Začíná sadou počátečních hmotností (nula, náhodná nebo inicializovaná od předchozího žáka). Pro každý příklad v trénovací sadě se pak vypočítá vážený součet funkcí. Pokud má tato hodnota stejné znaménko jako popisek aktuálního příkladu, váhy zůstanou stejné. Pokud mají opačné znaménka, vektor váhy se aktualizuje buď přidáním nebo odečtením (pokud je popisek kladný nebo záporný), vektorem funkce aktuálního příkladu vynásobeným faktorem 0 < a <= 1, označovaným jako rychlost učení. Ve zobecnění tohoto algoritmu se váhy aktualizují přidáním vektoru funkce vynásobenou rychlostí učení a přechodem některé funkce ztráty (v konkrétním případě popsaném výše je ztráta závěsu, jejíž přechod je 1, pokud není nula).
V argumentu Averaged Perceptron (neboli voted-perceptron) se pro každou iteraci vypočítává vektor hmotnosti, jak je vysvětleno výše. Konečná předpověď se pak vypočítá průměrem váženého součtu z každého vektoru hmotnosti a zobrazením znaménka výsledku.
Další informace naleznete v tématu Položka Wikipedie pro Perceptron nebo Large Margin Classification Using the Perceptron Algorithm.
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 průměrem perceptronu (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 průměrem perceptronu (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. |