Základy AI

Generativní vs. diskriminativní modely strojového učení

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Některé modely strojového učení patří do kategorií „generativních“ nebo „diskriminativních“ modelů. Ale co je rozdíl mezi těmito dvěma kategoriemi modelů? Co to znamená, že model je diskriminativní nebo generativní?

Krátce řečeno, generativní modely jsou ty, které zahrnují distribuci datové sady a vracejí pravděpodobnost pro daný příklad. Generativní modely se často používají k předpovědi, co se stane dále v sekvenci. Mezitím diskriminativní modely se používají pro klasifikaci nebo regresi a vracejí předpověď založenou na podmíněné pravděpodobnosti. Podívejme se na rozdíly mezi generativními a diskriminativními modely podrobněji, abychom mohli skutečně pochopit, co odděluje tyto dva typy modelů a kdy by se měl každý typ použít.

Generativní vs. diskriminativní modely

Existuje několik způsobů, jak kategorizovat model strojového učení. Model lze klasifikovat jako patřící do různých kategorií, jako jsou: generativní modely, diskriminativní modely, parametrické modely, neparametrické modely, modely založené na stromech, modely nezaložené na stromech.

Tento článek se bude zaměřovat na rozdíly mezi generativními a diskriminativními modely. Začneme definicí obou generativních a diskriminativních modelů a poté prozkoumáme einige příklady každého typu modelu.

Generativní modely

Generativní modely jsou ty, které se zaměřují na distribuci tříd v datové sadě. Algoritmy strojového učení obvykle modelují distribuci datových bodů. Generativní modely spoléhají na nalezení společné pravděpodobnosti. Vytvářejí body, kde existuje současně daný vstupní rys a požadovaný výstup/označení.

Generativní modely se obvykle používají k odhadu pravděpodobností a pravděpodobnostních hustot, modelují datové body a rozlišují mezi třídami na základě těchto pravděpodobností. Protože model učí pravděpodobnostní distribuci pro datovou sadu, může odkázat na tuto distribuci, aby vytvořil nové datové instance. Generativní modely často spoléhají na Bayesův teorém k nalezení společné pravděpodobnosti, nalezení p(x,y). Základní myšlenka generativních modelů spočívá v modelování, jak byla data vytvořena, a zodpovězení otázky:

„Jaká je pravděpodobnost, že tato třída nebo jiná třída vytvořila tato data/bod/instance?“

Příklady generativních modelů strojového učení zahrnují lineární diskriminační analýzu (LDA), skryté Markovovy modely a Bayesianovy sítě, jako je Naive Bayes.

Diskriminativní modely

Zatímco generativní modely se učí o distribuci datové sady, diskriminativní modely se učí o hranici mezi třídami v datové sadě. U diskriminativních modelů je cílem identifikovat rozhodovací hranici mezi třídami, aby se aplikovaly spolehlivé označení tříd na datové instance. Diskriminativní modely oddělují třídy v datové sadě pomocí podmíněné pravděpodobnosti, aniž by činily jakékoli předpoklady o jednotlivých datech.

Diskriminativní modely se snaží zodpovědět otázku:

„Na které straně rozhodovací hranice se nachází tato instance?“

Příklady diskriminativních modelů strojového učení zahrnují podpůrné vektorové stroje, logistickou regresi, rozhodovací stromy a náhodné lesy.

Rozdíly mezi generativními a diskriminativními

Zde je rychlý přehled hlavních rozdílů mezi generativními a diskriminativními modely.

Generativní modely:

  • Generativní modely mají za cíl zachytit skutečnou distribuci tříd v datové sadě.
  • Generativní modely předpovídají společnou pravděpodobnostní distribuci – p(x,y) – pomocí Bayesova teorému.
  • Generativní modely jsou výpočetně nákladné ve srovnání s diskriminativními modely.
  • Generativní modely jsou užitečné pro úkoly strojového učení bez dohledu.
  • Generativní modely jsou více ovlivněny přítomností outlierů než diskriminativní modely.

Diskriminativní modely:

  • Diskriminativní modely modelují rozhodovací hranici pro třídy v datové sadě.
  • Diskriminativní modely se učí podmíněné pravděpodobnosti – p(y|x).
  • Diskriminativní modely jsou výpočně levné ve srovnání s generativními modely.
  • Diskriminativní modely jsou užitečné pro úkoly strojového učení s dohledem.
  • Diskriminativní modely mají výhodu v tom, že jsou odolnější vůči outlierům než generativní modely.
  • Diskriminativní modely jsou odolnější vůči outlierům než generativní modely.

Nyní stručně prozkoumáme einige různé příklady generativních a diskriminativních modelů strojového učení.

Příklady generativních modelů

Lineární diskriminační analýza (LDA)

LDA modely fungují tak, že odhadují varianci a průměr dat pro každou třídu v datové sadě. Po výpočtu průměrů a variancí pro každou třídu lze dělat předpovědi odhadem pravděpodobnosti, že daná sada vstupů patří do určité třídy.

Skryté Markovovy modely

Markovovy řetězce lze považovat za grafy s pravděpodobnostmi, které ukazují, jak je pravděpodobné, že se přesuneme z jednoho bodu v řetězci, „stavu“, do jiného stavu. Markovovy řetězce se používají k určení pravděpodobnosti přechodu ze stavu j do stavu i, což lze označit jako p(i,j). To je vlastně společná pravděpodobnost, o které jsme mluvili výše. Skrytý Markovův model je takový, kde se používá neviditelný, neozorovatelný Markovův řetězec. Vstupní data se zadávají do modelu a pravděpodobnosti pro aktuální stav a stav, který bezprostředně předchází, se používají k výpočtu nejpravděpodobnějšího výsledku.

Bayesianovy sítě

Bayesianovy sítě jsou typem pravděpodobnostního grafického modelu. Reprezentují podmíněné závislosti mezi proměnnými, jak je reprezentováno směrovaným acyklickým grafem. V Bayesianově síti reprezentuje každá hrana grafu podmíněnou závislost a každý uzel odpovídá jedinečné proměnné. Podmíněná nezávislost pro jedinečné vztahy v grafu lze použít k určení společné distribuce proměnných a výpočtu společné pravděpodobnosti. Jinými slovy, Bayesianova síť zachycuje podmnožinu nezávislých vztahů v konkrétní společné pravděpodobnostní distribuci.

Jakmile je vytvořena a řádně definována Bayesianova síť s náhodnými proměnnými, podmíněnými vztahy a pravděpodobnostními distribucemi, lze ji použít k odhadu pravděpodobnosti událostí nebo výsledků.

Jeden z nejčastěji používaných typů Bayesianových sítí je Naive Bayes model. Naive Bayes model řeší problém výpočtu pravděpodobnosti pro datové sady s mnoha parametry/ proměnnými tak, že považuje všechny funkce za nezávislé na sobě.

Příklady diskriminativních modelů

Podpůrné vektorové stroje

Podpůrné vektorové stroje fungují tak, že kreslí rozhodovací hranici mezi datovými body, hledají rozhodovací hranici, která nejlépe odděluje různé třídy v datové sadě. Algoritmus SVM kreslí buď přímky nebo hyperplochy, které oddělují body, pro 2D a 3D prostory. SVM se snaží najít přímku/hyperplochu, která nejlépe odděluje třídy, snaží se maximalizovat okraj, nebo vzdálenost mezi přímkou/hyperplochou a nejbližšími body. Modely SVM lze také použít na datové sady, které nejsou lineárně oddělitelné, pomocí „kernelového triku“ k identifikaci nelineárních rozhodovacích hranic.

Logistická regrese

Logistická regrese je algoritmus, který používá logitovou (log-odds) funkci k určení pravděpodobnosti, že vstup patří do jedné ze dvou stavů. Sigmoidová funkce se používá k „zmačkání“ pravděpodobnosti směrem k 0 nebo 1, pravda nebo nepravda. Pravděpodobnosti větší než 0,50 se považují za třídu 1, zatímco pravděpodobnosti 0,49 nebo nižší se považují za 0. Z tohoto důvodu se logistická regrese obvykle používá v binárních klasifikačních problémech. Nicméně logistická regrese lze použít i v multi-třídách problémech pomocí přístupu „všichni proti všem“, vytváří se binární klasifikační model pro každou třídu a určuje se pravděpodobnost, že příklad je cílovou třídou nebo jinou třídou v datové sadě.

Rozhodovací strom

Rozhodovací strom funguje tak, že rozděluje datovou sadu na menší a menší části, a až když nelze podmnožiny dále rozdělit, výsledkem je strom s uzly a listy. Uzly v rozhodovacím stromu jsou místa, kde se dělají rozhodnutí o datech pomocí různých filtrů. Listy v rozhodovacím stromu jsou datové body, které byly klasifikovány. Algoritmy rozhodovacích stromů lze použít pro číselná i kategorická data, a rozdělení ve stromu jsou založena na konkrétních proměnných/vlastnostech.

Náhodné lesy

Náhodný les je vlastně jen sbírka rozhodovacích stromů, kde předpovědi jednotlivých stromů se průměrují, aby se dospělo k finálnímu rozhodnutí. Algoritmus náhodného lesa vybírá náhodně pozorování a funkce, staví jednotlivé stromy na základě těchto výběrů.

Tento tutoriál prozkoumá, jak vytvořit boxový graf v Matplotlib. Boxové grafy se používají k vizualizaci souhrnných statistik datové sady, zobrazují atributy distribuce, jako je rozsah a distribuce dat.

Blogger a programátor se specializací na Machine Learning a Deep Learning témata. Daniel doufá, že pomůže ostatním využít sílu AI pro sociální dobro.