FieldAwareFactorizationMachineTrainer Třída

Definice

Predikce IEstimator<TTransformer> cíle pomocí strojového modelu faktorizace pracujícího s polem natrénovaného pomocí stochastické metody přechodu

public sealed class FieldAwareFactorizationMachineTrainer : Microsoft.ML.IEstimator<Microsoft.ML.Trainers.FieldAwareFactorizationMachinePredictionTransformer>
type FieldAwareFactorizationMachineTrainer = class
    interface IEstimator<FieldAwareFactorizationMachinePredictionTransformer>
Public NotInheritable Class FieldAwareFactorizationMachineTrainer
Implements IEstimator(Of FieldAwareFactorizationMachinePredictionTransformer)
Dědičnost
FieldAwareFactorizationMachineTrainer
Implementuje

Poznámky

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.
Probability Single Pravděpodobnost vypočítaná kalibrací skóre hodnoty true jako popisku. Hodnota pravděpodobnosti je v rozsahu [0, 1].

K vytvoření tohoto trenéra použijte FieldAwareFactorizationMachineFieldAwareFactorizationMachine Nebo FieldAwareFactorizationMachine(Options).

Na rozdíl od jiných binárních klasifikátorů, které mohou podporovat pouze jeden sloupec funkcí, může stroj faktorizace pracující s poli využívat více sloupců funkcí. Každý sloupec se zobrazuje jako kontejner některých funkcí a takový kontejner se nazývá pole. Všimněte si, že všechny sloupce funkcí musí být plovoucí vektory, ale jejich rozměry se můžou lišit. Motivací rozdělení funkcí do různých polí je nezávisle modelovat funkce z různých distribucí. Například v online obchodě her je možné přiřadit funkce vytvořené z profilu uživatele a funkce z profilu hry se dají přiřadit ke dvěma různým polím.

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 No

Background

Řada modelů factorization machine family je výkonná skupina modelů pro problémy učení pod dohledem. V roce 2010 byla poprvé představena v dokumentu Steffen Rendle Factorization Machines . Později se jeden z jeho generalizovaných verzí, stroj faktorizace pracující s poli, stal důležitým prediktivním modulem v nedávných doporučovacích systémech a soutěžemi o predikci rychlosti proklikáním. Příklady najdete v vítězných řešeních v KDD-Cup 2012 Steffen Rendle (Track 1 a Track 2), Criteo, Avazu a Outbrain's click prediction challenges on Kaggle.

Faktorizační počítače jsou zvláště výkonné, pokud jsou spojení funkcí extrémně korelovaná s signálem, který chcete předpovědět. Příkladem párů funkcí, které můžou tvořit důležité spojení, je ID uživatele a ID hudby v doporučení k hudbě. Pokud se datová sada skládá pouze z hustých číselných funkcí, použití faktorizačního stroje se nedoporučuje nebo by se měly provádět některé featurizace.

Bodovací funkce

Faktorizační stroj pracující s poli je bodovací funkce, která mapuje vektory funkcí z různých polí na skalární skóre. Předpokládejme, že všechny sloupce funkcí $m$ jsou zřetězeny do dlouhého vektoru funkce $\textbf{x} \in {\mathbb R}^n$ a ${\mathcal F}(j)$ označuje odsazení pole $j$-th. Odpovídající skóre je $\hat{y}(\textbf{x}) = \langle \textbf{w}, \textbf{x} \rúhel + \sum_{j = 1}^n \sum_{j' = j + 1}^n \langle \textbf{v}_{j, {\mathcal F}(j')}, \textbf{v}_{j', {\mathcal F}(j)} \rúhlu x_j x_{j'}$, kde $\langle \cdot, \cdot \rangle$ je vnitřní operátor produktu, $\textbf{w} \in {\mathbb R}^n$ ukládá lineární koeficienty. a $\textbf{v}_{j, f}\in {\mathbb R}^k$ je reprezentace $j$-th v latentním prostoru pole $f$-th. Všimněte si, že $k$ je latentní dimenze určená uživatelem.

Predikovaný popisek je znaménkem $\hat{y}$. Pokud $\hat{y} > 0$, tento model predikuje hodnotu true. V opačném případě predikuje hodnotu false.

Systematický úvod do stroje pro faktorizaci pracujícího s poli najdete v tomto dokumentu.

Podrobnosti trénovacího algoritmu

Algoritmus implementovaný je FieldAwareFactorizationMachineTrainer založen na stochastické metodě přechodu. Podrobnosti o algoritmu jsou popsány v algoritmu 3 v tomto online dokumentu. Minimalizovaná funkce ztráty je logistická ztráta, takže natrénovaný model lze zobrazit jako nelineární logistickou regresi.

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

Metody

Name Description
Fit(IDataView, IDataView, FieldAwareFactorizationMachineModelParameters)

Pokračuje v trénování FieldAwareFactorizationMachineTrainer pomocí již natrénovaných modelParameters a/nebo ověřovacích dat a vrací hodnotu FieldAwareFactorizationMachinePredictionTransformer.

Fit(IDataView)

Vlaky a vrací .FieldAwareFactorizationMachinePredictionTransformer

GetOutputSchema(SchemaShape)

Šíření schématu pro transformátory Vrátí výstupní schéma dat, pokud je vstupní schéma podobné zadanému schématu.

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.

Platí pro

Viz také