Ne, samozřejmě to nemyslím vážně. Musí být nějaká hranice, do jaké míry je možné zjednodušit téma. Ale pro první fáze, pochopení základních konceptů a rychlé „vnoření“ do tématu, to může být přijatelné. A jak správně pojmenovat tento materiál (možnosti: „Strojové učení pro začátečníky“, „Analýza dat od základů“, „Algoritmy pro malé děti“), probereme na konci.
K věci. Napsal jsem několik praktických programů v MS Excel pro vizualizaci a přehledné zobrazení procesů, které probíhají v různých metodách strojového učení při analýze dat. Vidět znamená věřit, jak se říká v kultuře, která většinu těchto metod vyvinula (mimochodem, zdaleka ne všechny. Mocná „metoda podpůrných vektorů“, neboli SVM, support vector machine – je vynálezem našeho krajana Vladimira Vapnika, Moskevský institut řízení. Rok 1963, mimochodem! Teď pracuje a učí v USA).
Tři soubory na ukázku
1. Klasifikace metodou k-průměrů
Úkoly tohoto typu patří k „učení bez učitele“, kdy potřebujeme rozdělit vstupní data do předem známého počtu kategorií, ale přitom nemáme žádné „správné odpovědi“, ty musíme vyzískat ze samotných dat. Základní klasická úloha nalezení poddruhů květů kosatce (Ronald Fisher, rok 1936!), která se považuje za první vlaštovku této oblasti znalostí – je právě tohoto druhu.
Metoda je dost jednoduchá. Máme sadu objektů, prezentovaných jako vektory (sady N čísel). U kosatců to jsou sady 4 čísel, charakterizující květ: délka a šířka vnější a vnitřní části okvětního plátku, odpovídajícím způsobem (). Jako vzdálenost, nebo míru blízkosti mezi objekty, se volí běžná eukleidovská metrika.
Dále se náhodně (nebo i nijak náhodně, viz dále) vybírají centra klastrů a vypočítávají se vzdálenosti od každého objektu k centrům klastrů. Každý objekt je v tomto kroku iterace označen jako patřící k nejblíže umístěnému centru. Poté se centrum každého klastra posune na aritmetický průměr souřadnic jeho členů (podobně jako v fyzice se také nazývá „střed hmotnosti“), a proces se opakuje.
Proces se dostatečně rychle konverguje. Na obrázcích to v dvourozměrném prostoru vypadá takto:
1. Počáteční náhodné rozložení bodů na rovině a počet clusterů

2. Určení center clusterů a přiřazení bodů k jejich clusterům

3. Přesunování souřadnic center clusterů, přepočet příslušnosti bodů, dokud se centra nestabilizují. Je vidět trajektorie pohybu centra clustera k konečné poloze.

V jakémkoli okamžiku lze zadat nová centra clusterů (aniž bychom generovali nové rozložení bodů!) a vidět, že proces dělení není vždy jednoznačný. Matematicky to znamená, že u optimalizované funkce (součet čtverců vzdáleností od bodů k centrům jejich clusterů) nacházíme nikoli globální, ale lokální minimum. Tuto problém lze překonat buď výběrem počáteční center clusterů bez náhody, nebo procházením možných center (někdy je výhodné umístit je přesně na některý z bodů, pak máme alespoň záruku, že nedostaneme prázdné clustery). V každém případě má konečná množina vždy přesnou dolní mez.
(nezapomeňte zapnout podporu maker. Soubory byly zkontrolovány na viry)
Popis metody na Wikipedii —
2. Aproximace polynomy a rozdělení dat. Přeučení
Vynikající vědec a popularizátor vědy o datech K.V. Voroncov stručně hovoří o metodách strojového učení jako o "vědě o procházení křivek skrze body". V tomto příkladu budeme hledat vzor v datech metodou nejmenších čtverců.
Jsou ukázány techniky rozdělení původních dat na "tréninkové" a "kontrolní", stejně jako jev známý jako přeúčení. Při správné aproximaci budeme mít nějakou chybu na tréninkových datech a o něco větší na kontrolních. Při nesprávné - přesnou přizpůsobení tréninkovým datům a obrovskou chybu na kontrolních.
(Známý fakt, že skrze N bodů lze procházet jedinou křivku N-1. stupně, a tento způsob v obecném případě nedává požadovaný výsledek. )
1. Zadáme počáteční rozložení

2. Dělíme body na "tréninkové" a "kontrolní" v poměru 70 ku 30.

3. Provádíme aproximující křivku podle tréninkových bodů, vidíme chybu, kterou dává na kontrolních datech.

4. Provádíme přesnou křivku přes tréninkové body a vidíme ohromující chybu na kontrolních datech (a nulovou na tréninkových, ale co z toho?).

Zde je samozřejmě uvedena nejjednodušší varianta s jediným rozdělením na "tréninkové" a "kontrolní" podmnožiny, v obecném případě se to dělá mnohokrát pro nejlepší přizpůsobení koeficientů.
Aktivujte makra pro správnou funkci.
3. Gradientní sestup a dynamika změny chyby.
Zde bude čtyřrozměrný případ a lineární regrese. Koeficienty lineární regrese budou určovány po krocích metodou gradientního sestupu, ze začátku budou všechny koeficienty nulové. Na samostatném grafu je vidět dynamika snižování chyby při stále přesnějším přizpůsobení koeficientů. Existuje možnost podívat se na všechny čtyři dvourozměrné projekce.
Pokud nastavíte příliš velký krok gradientního sestupu, je vidět, že pokaždé přeskakujeme minimum a k výsledku dojdeme za větší počet kroků, i když nakonec stejně dojdeme (pokud příliš nezvýšíme krok sestupu – pak algoritmus "vyjde z kontrolu"). A graf závislosti chyby na kroku iterace nebude plynulý, ale "trhaný".
1. Generujeme data, nastavujeme krok gradientního sestupu.

2. Při správném výběru kroku gradientního sestupu hladce a dostatečně rychle dosáhneme minima.

3. Při nesprávném výběru kroku gradientního sestupu přeskakujeme maximum, graf chyby je "trhaný", konvergence zabírá více kroků.

a

4. Při zcela nesprávném výběru kroku gradientního sestupu se vzdalujeme od minima.

(Abychom reprodukovali proces při uvedených hodnotách kroku gradientního sestupu na obrázcích, zaškrtněte "reference data").
Jak tvrdí uznávané společenství, je takové zjednodušení a metoda předávání materiálu akceptovatelná? Mělo by se to přeložit do angličtiny?
Zdroj: habr.com
