Strojové učenie spočíva v tom, že algoritmu poskytujeme nástroje na učenie a zlepšovanie namiesto toho, aby sme ho explicitne programovali na riešenie konkrétnych problémov. Aby to bolo možné, „kŕmime“ algoritmus príkladmi. Toto je zjednodušená definícia, no priznajme si, že v skutočnosti je to o niečo zložitejšie. Existujú totiž rôzne metódy učenia, ktoré závisia od dostupných údajov a od cieľov, ktoré chceme dosiahnuť. Pozrime sa bližšie na dve najznámejšie metódy: učenie s učiteľom (supervised learning) a učenie bez učiteľa (unsupervised learning).
Učenie s učiteľom (Supervised Learning)
Začnime najrozšírenejšou metódou strojového učenia – učením s učiteľom. Jej princíp spočíva v tom, že algoritmu poskytneme veľké množstvo údajov, pri ktorých už poznáme ich charakteristiky. Tieto údaje nazývame „označené dáta“ (labelled data).
Predstavte si napríklad, že máte zoznam víl, kde poznáte dve premenné: plochu – x – a cenu – y. Úlohou algoritmu bude odhaliť vzťah medzi týmito dvoma premennými, aby na základe týchto údajov dokázal predpovedať nové hodnoty, napríklad cenu v závislosti od plochy.
To znie jednoducho, však? Nemohli by sme na to použiť bežné štatistické metódy? Áno, ale čo ak by ste nemali len dve premenné, ale… tisíc? Práve tu prichádza na scénu strojové učenie. Tento prístup je obzvlášť užitočný v oblastiach, ako je odporúčanie produktov, kde sa analyzuje veľké množstvo premenných na pochopenie preferencií používateľov.
Učenie bez učiteľa (Unsupervised Learning)
V prípade učenia s učiteľom poznáme hodnoty premenných x a y a využívame ich na predpovedanie nových hodnôt y. Ale… čo ak túto dôležitú hodnotu y nepoznáme? Môžeme aj tak využiť strojové učenie? Áno, môžeme! A to prostredníctvom učenia bez učiteľa.
Princíp spočíva v tom, že algoritmu poskytneme neoznačené dáta (unlabelled data) a necháme ho identifikovať spoločné črty, ktoré umožnia dáta rozdeliť do skupín. Tento proces nazývame „klastrovanie“ (clustering).
Pozrime sa na obrázky zvierat. Dokážete rozoznať mačky a ryby, aj keď obrázky nemajú popis. Rovnaký princíp platí aj pri učení bez učiteľa: algoritmus sa naučí sám rozpoznať spoločné črty – napríklad špicaté uši – a podľa nich zoskupiť obrázky mačiek.
Ďalšie metódy učenia
Okrem učenia s učiteľom a bez učiteľa existujú aj ďalšie metódy strojového učenia, odvodené od tradičných prístupov, ako napríklad:
- Posilňovacie učenie (Reinforcement Learning): Algoritmus sa učí na základe odmien a trestov za svoje akcie.
- Prenosové učenie (Transfer Learning): Algoritmus využíva vedomosti získané pri riešení jedného problému na riešenie iného, podobného problému.
A čo hĺbkové učenie?
Pýtate sa, kam v tom všetkom patrí hĺbkové učenie (Deep Learning) a slávne neurónové siete? Ak chcete vedieť viac, zostaňte s nami a objavte ďalšiu kapitolu!