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

Úloha strojového učení je typ předpovědi nebo odvozování na základě problému nebo otázky, která se ptá, a dostupných dat. 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í, ze kterého si můžete vybrat v ML.NET a v některých běžných případech 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.

Binární klasifikace

Úloha strojového učení pod dohledem, která se používá k predikci, do které ze dvou tříd (kategorií) patří instance dat. 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ří:

  • Porozumění mínění v komentářích Twitteru jako "pozitivní" nebo "negativní".
  • Diagnostika, zda pacient má určité onemocnění, nebo ne.
  • Rozhodnutí o označení e-mailu jako spamu nebo ne
  • Určení, zda fotografie obsahuje určitou položku nebo ne, jako je pes nebo ovoce.

Další informace naleznete 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 popisku musí být Boolean. Vstupní funkce sloupcová data musí být vektorem s pevnou velikostí Single.

Tyto trenéry vypíše následující sloupce:

Název výstupního sloupce Typ sloupce Popis
Score Single Nezpracované skóre vypočítané modelem
PredictedLabel Boolean Predikovaný popisek na základě znaménka skóre Záporná skóre se mapuje na false a pozitivní skóre se mapuje na true.

Klasifikace s více třídami

Úloha strojového učení pod dohledem, která se používá k predikci třídy (kategorie) instance dat. Vstup klasifikačního algoritmu je sada označených příkladů. Každý popisek obvykle začíná jako text. Pak se spustí přes TermTransform, který ho 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é instance. Mezi příklady scénářů klasifikace s více třídami patří:

  • Kategorizace letů jako "časná", "včas" nebo "pozdě".
  • Vysvětlení recenzí filmů jako "pozitivních", "neutrálních" nebo "negativních".
  • Kategorizace hodnocení hotelů jako "poloha", "cena", "čistota" atd.

Další informace najdete v článku o vícetřídové klasifikaci na Wikipedii.

Poznámka:

Jeden vs. všechny upgrady libovolného binárního klasifikačního učení tak, aby fungovaly s vícetřídovou datovou sadou. Další informace o Wikipedii.

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 typu klíče . Sloupec funkce musí být vektorem Singlepevné velikosti .

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

Název výstupu Typ Popis
Score Vektor vektoru 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 i-th největší hodnotu, předpovězený index popisku by byl i. Všimněte si, že i je index založený na nule.
PredictedLabel typ klíče Index predikovaného popisku. Pokud je hodnota i, skutečný popisek by byl i-th kategorií ve vstupním typu popisku s hodnotou klíče.

Regrese

Úloha strojového učení pod dohledem, která slouží k predikci hodnoty popisku ze sady souvisejících funkcí. Popisek může mít libovolnou skutečnou hodnotu a není z konečné sady hodnot jako v úkolech klasifikace. 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ů

Regresní trenéři

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

Regresní vstupy a výstupy

Vstupní data sloupce popisku musí být Single.

Trenéři pro tento úkol vypíše následující:

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

Clustering

Úloha strojového učení bez supervize, 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

Clustering trainer

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

Vstupy a výstupy clusteringu

Vstupními funkcemi musí být Singledata . Nejsou potřeba žádné popisky.

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

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

Detekce anomálií

Tato úloha 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é.
  • Učení vzory, 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 Hodnota true/false představující, jestli je vstup anomálie (PredictedLabel=true) nebo ne (PredictedLabel=false)

Hodnocení

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

Trénovací algoritmy řazení

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 typ klíče nebo Single. Hodnota popisku určuje relevanci, kde vyšší hodnoty označují vyšší význam. Pokud je popiskem typ klíče , pak je index klíče hodnotou relevance, kde nejmenší index je nejméně relevantní. Pokud je Singlepopisek , větší hodnoty označují větší relevanci.

Data funkce musí být vektorem Single pevné velikosti a sloupec vstupní skupiny řádků musí být typ 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 pro 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.

Algoritmy trénování doporučení

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.

Prognózování trenérů

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

ForecastBySsa

Klasifikace obrázků

Úloha strojového učení pod dohledem, která slouží k predikci třídy (kategorie) obrázku. Vstup je sada označených příkladů. Každý popisek obvykle začíná jako text. Pak se spustí přes TermTransform, který ho 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ý načítač", "Poodle" 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 typu klíče . Sloupec funkce musí být vektorem Byteproměnné velikosti .

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 i-th největší hodnotu, předpovězený index popisku by byl i.Všimněte si, že i je index založený na nule.
PredictedLabel Typ klíče Index predikovaného popisku. Pokud je hodnota i, skutečný popisek by byl i-th kategorií ve vstupním typu popisku s hodnotou klíče.

Rozpoznávání objektů

Úloha 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 Tvůrci modelů pomocí Učení Azure Machine.