Základy AI

Co je strojové učení?

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

Strojové učení je jedním z nejrychleji rostoucích technologických oborů, ale navzdory tomu, jak často se slova „strojové učení“ používají, může být obtížné pochopit, co strojové učení přesně je.

Strojové učení se nevztahuje pouze na jednu věc, je to pojem, který lze aplikovat na mnoho různých konceptů a technik. Porozumění strojového učení znamená být seznámen s různými formami modelové analýzy, proměnných a algoritmů. Podívejme se blíže na strojové učení, abychom lépe pochopili, co zahrnuje.

Co je strojové učení?

Zatímco pojem strojové učení lze aplikovat na mnoho různých věcí, obecně se termín vztahuje na umožnění počítači vykonávat úkoly bez přijetí explicitních pokynů krok za krokem. Specialista na strojové učení nemusí psát všechny kroky nezbytné pro řešení problému, protože počítač je schopen „učit se“ analýzou vzorců v datech a zobecněním těchto vzorců na nová data.

Systémy strojového učení mají tři základní části:

  • Vstupy
  • Algoritmy
  • Výstupy

Vstupy jsou data, která jsou zavedena do systému strojového učení, a vstupní data lze rozdělit na štítky a funkce. Funkce jsou relevantní proměnné, proměnné, které budou analyzovány pro nalezení vzorců a vyvození závěrů. Zatímco štítky jsou třídy/popisy přidělené jednotlivým instancím dat.

Funkce a štítky lze použít ve dvou typech problémů strojového učení: supervizovaném učení a nesupervizovaném učení.

Supervizované vs. nesupervizované učení

U supervizovaného učení je vstupní data doprovázeno grund truth. Problémy supervizovaného učení mají správné výstupní hodnoty jako součást datové sady, takže očekávané třídy jsou známy předem. To umožňuje datovému vědci ověřit výkon algoritmu testováním dat na testovací datové sadě a zjišťováním, jaký procentní podíl položek byl správně klasifikován.

Naproti tomu nesupervizované učení nemá grund truth štítky připojené k němu. Algoritmus strojového učení pro nesupervizované učení musí být schopen odvodit relevantní vzorce v datech sám.

Algoritmy supervizovaného učení se obvykle používají pro klasifikační problémy, kde máte velkou datovou sadu plnou instancí, které musí být seřazeny do jedné z mnoha různých tříd. Další typ supervizovaného učení je regresní úkol, kde hodnota výstupu algoritmu je spojité povahy místo kategoriální.

Zatímco algoritmy nesupervizovaného učení se používají pro úkoly, jako je odhad hustoty, shlukování a reprezentační učení. Tyto tři úkoly vyžadují, aby model strojového učení odvodil strukturu dat, nejsou žádné předdefinované třídy přidělené modelu.

Podívejme se na některé z nejčastějších algoritmů používaných v nesupervizovaném učení a supervizovaném učení.

Typy supervizovaného učení

Obecné algoritmy supervizovaného učení zahrnují:

  • Naivní Bayes
  • Podporovací vektory
  • Logistická regrese
  • Náhodné lesy
  • Umělé neuronové sítě

Podporovací vektory jsou algoritmy, které rozdělují datovou sadu do různých tříd. Data jsou seskupena do shluků kreslením linek, které oddělují třídy od sebe. Body nalezené na jedné straně linie budou patřit do jedné třídy, zatímco body na druhé straně linie budou patřit do jiné třídy. Podporovací vektory se snaží maximalizovat vzdálenost mezi linií a body nalezenými na obou stranách linie, a čím větší je vzdálenost, tím více je klasifikátor přesvědčen, že bod patří do jedné třídy a ne do druhé třídy.

Logistická regrese je algoritmus používaný pro binární klasifikační úkoly, kdy je třeba klasifikovat data jako patřící do jedné ze dvou tříd. Logistická regrese funguje tak, že označí data bod jako 1 nebo 0. Pokud je vnímaná hodnota data bodu 0,49 nebo nižší, je klasifikován jako 0, zatímco pokud je 0,5 nebo vyšší, je klasifikován jako 1.

Algoritmy rozhodovacích stromů fungují tak, že rozdělují datové sady na menší a menší fragmenty. Přesné kritérium pro rozdělení dat je na rozhodnutí inženýra strojového učení, ale cílem je nakonec rozdělit data na jednotlivé datové body, které budou poté klasifikovány pomocí klíče.

Algoritmus náhodného lesa je vlastně mnoho samostatných klasifikátorů rozhodovacích stromů propojených do一起 silnějšího klasifikátoru.

Klasifikátor Naivní Bayes vypočítává pravděpodobnost, že se určitý datový bod udál na základě pravděpodobnosti, že se předchozí událost udál. Je založen na Bayesově teorému a přiděluje data body do tříd na základě jejich vypočítané pravděpodobnosti. Při implementaci klasifikátoru Naivní Bayes se předpokládá, že všechny prediktory mají stejný vliv na výsledek třídy.

Umělé neuronové sítě, nebo vícevrstvé perceptrony, jsou algoritmy strojového učení inspirované strukturou a funkcí lidského mozku. Umělé neuronové sítě získávají své jméno z toho, že se skládají z mnoha uzlů/neuronů propojených dohromady. Každý neuron manipuluje data matematickou funkcí. V umělých neuronových sítích jsou vstupní vrstvy, skryté vrstvy a výstupní vrstvy.

Skrytá vrstva neuronové sítě je tam, kde se data skutečně interpretují a analyzují pro nalezení vzorců. Jinými slovy, je to tam, kde algoritmus učí. Více neuronů propojených dohromady vytváří složitější sítě schopné učit se složitějším vzorcům.

Typy nesupervizovaného učení

Algoritmy nesupervizovaného učení zahrnují:

  • K-means shlukování
  • Autoenkodéry
  • Hlavní komponentní analýza

K-means shlukování je nesupervizovaná klasifikační technika a funguje tak, že rozděluje body dat do shluků nebo skupin na základě jejich funkcí. K-means shlukování analyzuje funkce nalezené v datech a rozlišuje vzorce v nich, které činí data body nalezené v určité třídě shluku více podobné sobě navzájem než data body nalezené v jiných shlucích. To se provádí umístěním možných center shluku, nebo centroidů, do grafu dat a opětovným přiřazením polohy centroidu, dokud není nalezena poloha, která minimalizuje vzdálenost mezi centroidem a body, které patří do třídy centroidu. Výzkumník může specifikovat požadovaný počet shluků.

Hlavní komponentní analýza je technika, která snižuje velké množství funkcí/proměnných na menší prostor funkcí/méně funkcí. „Hlavní komponenty“ datových bodů jsou vybrány pro uchování, zatímco ostatní funkce jsou zmenšeny na menší reprezentaci. Vztah mezi původními datovými body je zachován, ale protože komplexita datových bodů je jednodušší, je snazší je kvantifikovat a popsat.

Autoenkodéry jsou verze neuronových sítí, které lze aplikovat na nesupervizované úkoly učení. Autoenkodéry jsou schopny převést neoznačená, volná data na data, která neuronová síť může použít,基本ně vytvářející svá vlastní označená trénovací data. Cílem autoenkodéru je převést vstupní data a yeniden postavit je co nejpřesněji, takže je v zájmu sítě určit, které funkce jsou nej重要nější a extrahovat je.

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.