Sdílet prostřednictvím


Úlohy strojového učení v ML.NET

úlohy strojového učení jsou typem predikce nebo odvození, které jsou založené na obou:

  • Problém nebo otázka
  • Dostupná data

Například úloha klasifikace přiřazuje data kategoriím a data skupin úloh clusteringu podle podobnosti.

Úlohy strojového učení spoléhají na vzory v datech, nikoli explicitně naprogramované.

Tento článek popisuje různé úlohy strojového učení, které jsou k dispozici v ML.NET a některé běžné případy použití.

Jakmile se rozhodnete, který úkol ve vašem scénáři funguje, musíte zvolit nejlepší algoritmus pro trénování modelu. Dostupné algoritmy jsou uvedeny v části pro každý úkol.

Úkoly klasifikace

Binární klasifikace

Binární klasifikace je úloha strojového učení s učitelem, která se používá k předpovědi, do které z přesně dvou tříd (kategorií) instance dat patří. Vstup klasifikačního algoritmu je sada označených příkladů, kde každý popisek je celé číslo 0 nebo 1. Výstupem binárního klasifikačního algoritmu je klasifikátor, který můžete použít k predikci třídy nových neoznačené instance. Mezi příklady scénářů binární klasifikace patří:

  • Pochopení sentimentu komentářů na Twitteru jako pozitivní nebo negativní.
  • Diagnostika, zda pacient má určité onemocnění.
  • Rozhodnutí o označení e-mailu jako spamu
  • Určení, zda fotka obsahuje konkrétní položku, jako je pes nebo ovoce.

Další informace najdete v článku Binární klasifikace na Wikipedii.

Binární klasifikační trenéři

Binární klasifikační model můžete trénovat pomocí následujících algoritmů:

Binární klasifikační vstupy a výstupy

Pro zajištění nejlepších výsledků s binární klasifikací by měla být trénovací data vyvážená (to znamená rovná se číslům kladných a negativních trénovacích dat). Před trénováním by se měly zpracovat chybějící hodnoty.

Vstupní data sloupce štítku musí být Boolean. Data ve sloupci vstupních prvků musí být vektor o pevné velikosti Single.

Tyto modely generují následující sloupce:

Název výstupního sloupce Typ sloupce Popis
Score Single Nezpracované 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.

Klasifikace s více třídami

Vícetřídová klasifikace je úlohou strojového učení pod dohledem, která slouží ke klasifikaci instance dat do jedné ze tří nebo více tříd (kategorií). Vstup klasifikačního algoritmu je sada označených příkladů. Každý popisek obvykle začíná jako text. Poté je spuštěn prostřednictvím TermTransform, který jej převede na typ Klíč (číselný). Výstup klasifikačního algoritmu je klasifikátor, který můžete použít k predikci třídy nových neoznačených instancí. Mezi příklady scénářů klasifikace s více třídami patří:

  • Kategorizace letů jako "předčasné", "včasné" nebo "opožděné".
  • Vysvětlení recenzí filmů jako "pozitivních", "neutrálních" nebo "negativních".
  • Kategorizace hodnocení hotelů jako "poloha", "cena" nebo "čistota", například.

Další informace najdete v článku Multitřídní klasifikace na Wikipedii.

Poznámka

One-vs.-rest převádí každý binární klasifikační algoritmus tak, aby fungoval s datovými sadami s více třídami.

Vícetřídní klasifikační trenéři

Klasifikační model s více třídami můžete trénovat pomocí následujících trénovacích algoritmů:

Vstupy a výstupy klasifikace s více třídami

Vstupní data sloupce popisku musí být klíčového typu. Sloupec funkce musí být vektorem pevné velikosti Single.

Tento trenér vypíše následující:

Název výstupu Typ Popis
Score Vektor Single Skóre všech tříd. Vyšší hodnota znamená, že větší pravděpodobnost spadá do přidružené třídy. Pokud má prvek inejvětší hodnotu, pak by index předpovězeného popisku byl i. Všimněte si, že i je index založený na nule.
PredictedLabel klíč Index predikovaného popisku. Pokud je její hodnota i, skutečný popisek by byl i. kategorií v typu vstupního popisku s klíčovou hodnotou.

Klasifikace textu

Klasifikace textu je podkategorie vícetřídové klasifikace, která se zabývá konkrétně nezpracovaným textem. Text představuje zajímavé výzvy, protože musíte zohlednit kontext a sémantiku, ve kterých se text vyskytuje. Proto může být obtížné kódovat význam a kontext.

modely hlubokého učení se objevily jako slibná technika k řešení problémů přirozeného jazyka. Konkrétně se typ neurální sítě známé jako transformátor stal převládajícím způsobem řešení problémů přirozeného jazyka, jako je klasifikace textu, překlad, shrnutí a odpovědi na otázky. Mezi oblíbené architektury transformátorů pro úlohy přirozeného jazyka patří:

  • Obousměrné reprezentace kodéru z transformátorů (BERT)
  • Robustně optimalizovaný přístup k předtrénování BERT (RoBERTa)
  • Generativní předtrénovaný transformátor (GPT)

Rozhraní API pro klasifikaci textu ML.NET využívá TorchSharp. TorchSharp je knihovna .NET, která poskytuje přístup ke knihovně, která využívá PyTorch. TorchSharp obsahuje stavební bloky pro trénování neurálních sítí úplně od začátku v .NET. ML.NET abstrahuje některé složitosti TorchSharp na úroveň scénáře. Používá předem natrénovanou verzi MODELU NAS-BERT a doladí je s vašimi daty.

Příklad klasifikace textu najdete v tématu Začínáme s rozhraním API pro klasifikaci textu.

Klasifikace obrázků

Klasifikace obrázků je úlohou strojového učení pod dohledem, která se používá k predikci třídy (kategorie) obrázku. Vstup je sada označených příkladů. Každý popisek obvykle začíná jako text. Poté je spuštěn prostřednictvím TermTransform, který jej převede na typ Klíč (číselný). Výstupem algoritmu klasifikace obrázků je klasifikátor, který můžete použít k predikci třídy nových obrázků. Úloha klasifikace obrázků je typ klasifikace s více třídami. Mezi příklady scénářů klasifikace obrázků patří:

  • Určení plemena psa jako "Sibiřský husky", "Zlatý retrívr", "Pudl" atd.
  • Určení, zda je výrobní výrobek vadný nebo ne.
  • Určení typů květin jako "Růže", "Slunečnice" atd.

Trenéři klasifikace obrázků

Model klasifikace obrázků můžete trénovat pomocí následujících trénovacích algoritmů:

Vstupy a výstupy klasifikace obrázků

Vstupní data sloupce popisku musí být klíčového typu. Sloupec s funkcemi musí být vektorem s proměnlivou velikostí Byte.

Tento trenér vypíše následující sloupce:

Název výstupu Typ Popis
Score Single Skóre všech tříd. Vyšší hodnota znamená, že větší pravděpodobnost spadá do přidružené třídy. Pokud má prvek inejvětší hodnotu, pak by index předpovězeného popisku byl i. (i je index založený na nule.)
PredictedLabel Klíč typ Index predikovaného popisku. Pokud je její hodnota i, skutečný popisek by byl i. kategorií v typu vstupního popisku s klíčovou hodnotou.

Regrese

Regrese je úlohou strojového učení pod dohledem, která slouží k predikci hodnoty popisku ze sady souvisejících funkcí. Popisek může mít libovolnou reálnou hodnotu a nepochází z konečné množiny hodnot jako v klasifikačních úlohách. Regresní algoritmy modelují závislost popisku na souvisejících funkcích, aby určily, jak se popisek změní, protože se liší hodnoty vlastností. Vstup regresního algoritmu je sada příkladů s popisky známých hodnot. Výstupem regresního algoritmu je funkce, kterou můžete použít k predikci hodnoty popisku pro libovolnou novou sadu vstupních funkcí. Mezi příklady regresních scénářů patří:

  • Predikce cen domu na základě atributů domu, jako je počet ložnic, umístění nebo velikost.
  • Předpověď budoucích cen akcií na základě historických dat a aktuálních trendů trhu
  • Predikce prodeje produktu na základě reklamních rozpočtů
  • Hledání souvisejících článků v publikaci (podobnost věty)

Regresní trenéři

Regresní model můžete trénovat pomocí následujících algoritmů:

Regresní vstupy a výstupy

Vstupní data sloupce štítku musí být Single.

Trenéři tohoto úkolu produkují následující:

Název výstupu Typ Popis
Score Single Nezpracované skóre, které model predikoval

Shlukování

Clustering je bez dohledu úlohy, která se používá k seskupení instancí dat do clusterů, které obsahují podobné charakteristiky. Clustering lze použít také k identifikaci relací v datové sadě, které nemusí být logicky odvozeny procházením nebo jednoduchým pozorováním. Vstupy a výstupy algoritmu clusteringu závisí na zvolené metodologii. Můžete použít přístup založený na distribuci, centroidu, připojení nebo hustotě. ML.NET aktuálně podporuje přístup založený na centroidu pomocí clusteringu K-Means. Mezi příklady scénářů clusteringu patří:

  • Vysvětlení segmentů hotelových hostů na základě zvyků a charakteristik hotelových možností
  • Identifikace zákaznických segmentů a demografických údajů, které pomáhají vytvářet cílené reklamní kampaně.
  • Kategorizace inventáře na základě výrobních metrik

Trenér pro shlukování

Model clusteringu můžete vytrénovat pomocí následujícího algoritmu:

Vstupy a výstupy clusteringu

Vstupní data funkcí musí být Single. Nejsou potřeba žádné popisky.

Tento trenér vypíše následující:

Název výstupu Typ Popis
Score Vektor Single Vzdálenosti daného datového bodu ke všem centroidům shluků.
PredictedLabel klíč typ Nejbližší index clusteru predikovaný modelem.

Detekce anomálií

Úloha detekce anomálií vytvoří model detekce anomálií pomocí analýzy hlavních komponent (PCA). Detekce anomálií založená na PCA vám pomůže vytvořit model ve scénářích, kde je snadné získat trénovací data z jedné třídy, jako jsou platné transakce, ale obtížné získat dostatečné vzorky cílových anomálií.

Zavedená technika strojového učení se často používá při průzkumné analýze dat, protože odhalí vnitřní strukturu dat a vysvětluje rozptyl dat. PcA funguje analýzou dat, která obsahují více proměnných. Hledá korelace mezi proměnnými a určuje kombinaci hodnot, které nejlépe zachycují rozdíly ve výsledcích. Tyto kombinované hodnoty funkcí slouží k vytvoření kompaktnějšího prostoru funkcí označovaného jako hlavní komponenty.

Detekce anomálií zahrnuje mnoho důležitých úloh ve strojovém učení:

  • Identifikace transakcí, které jsou potenciálně podvodné.
  • Vzory učení, které značí, že došlo k narušení sítě.
  • Nalezení abnormálních shluků pacientů.
  • Kontrola hodnot zadaných do systému

Vzhledem k tomu, že anomálie jsou vzácné události podle definice, může být obtížné shromáždit reprezentativní vzorek dat pro modelování. Algoritmy zahrnuté v této kategorii byly speciálně navrženy tak, aby řešily hlavní výzvy při vytváření a trénování modelů pomocí nevyrovnaných datových sad.

Trenér detekce anomálií

Model detekce anomálií můžete trénovat pomocí následujícího algoritmu:

Vstupy a výstupy detekce anomálií

Vstupními funkcemi musí být vektor s pevnou velikostí Single.

Tento trenér vypíše následující:

Název výstupu Typ Popis
Score Single Nezáporné nevázané skóre vypočítané modelem detekce anomálií.
PredictedLabel Boolean Pokud je vstup anomálií, pak true, nebo pokud není, pak false.

Hodnocení

Úkol řazení vytvoří seřazovací algoritmus ze sady označených příkladů. Tato ukázková sada se skládá ze skupin instancí, které lze hodnotit pomocí daných kritérií. Popisky hodnocení jsou { 0, 1, 2, 3, 4 } pro každý případ. Ranker se vytrénuje tak, aby seřadil nové skupiny instancí s neznámými skóre pro každou instanci. ML.NET rankovací učící se jsou založení na strojově naučeném hodnocení .

Hodnocení trénovacích algoritmů

Model řazení můžete trénovat pomocí následujících algoritmů:

Řazení vstupů a výstupů

Datový typ vstupního popisku musí být klíč typu nebo Single. Hodnota popisku určuje relevanci, kde vyšší hodnoty označují vyšší význam. Pokud je popiskem klíč typ, pak je index klíče hodnotou relevance, kde nejmenší index je nejméně relevantní. Pokud je popisek Single, větší hodnoty označují větší význam.

Data funkce musí být vektorem pevné velikosti Single a vstupní sloupec skupiny řádků musí být typu klíče.

Tento trenér vypíše následující:

Název výstupu Typ Popis
Score Single Nevázané skóre vypočítané modelem k určení předpovědi.

Doporučení

Úloha doporučení umožňuje vytvořit seznam doporučených produktů nebo služeb. ML.NET používámaticové faktorizace (MF), algoritmus filtrování spolupráce pro doporučení, pokud máte v katalogu historická data hodnocení produktů. Máte například historická data hodnocení filmů pro vaše uživatele a chcete doporučit další filmy, které budou pravděpodobně sledovat dál.

Trénovací algoritmy pro doporučování

Model doporučení můžete vytrénovat pomocí následujícího algoritmu:

Prognostika

Úloha prognózování používá data minulých časových řad k předpovědím o budoucím chování. Mezi scénáře použitelné pro prognózování patří předpověď počasí, předpovědi sezónních prodejů a prediktivní údržba.

Trénink prognózování

Model prognózování můžete vytrénovat pomocí následujícího algoritmu:

ForecastBySsa

Rozpoznávání objektů

Rozpoznávání objektů je úlohou strojového učení pod dohledem, která se používá k predikci třídy (kategorie) obrázku, ale také poskytuje ohraničující rámeček, do kterého se tato kategorie nachází v obrázku. Místo klasifikace jednoho objektu na obrázku dokáže detekce objektů v obrázku rozpoznat více objektů. Mezi příklady detekce objektů patří:

  • Detekce aut, známek nebo lidí na obrázcích silnice
  • Detekce vad na obrázcích výrobků.
  • Detekce oblastí zájmu na rentgenových obrázcích

Trénování modelu rozpoznávání objektů je v současné době k dispozici pouze v Model Builderu pomocí služby Azure Machine Learning.