Takéneřízené učeníPokročilý

Definice

Učení bez učitele je přístup strojového učení, při kterém model hledá vzory v datech bez předem přiřazených správných odpovědí. Používá se ke shlukování podobných záznamů, hledání anomálií, zmenšení počtu příznaků nebo předtrénování reprezentací, když jsou štítky drahé, neúplné či vůbec neexistují.

Kategorie: Strojové učeníAktualizováno

Co v datech nahrazuje učitele

Učení bez učitele pracuje s tabulkami, texty, obrázky nebo signály, u kterých není u každého záznamu napsáno, do jaké třídy patří nebo jaká hodnota má vyjít. Algoritmus proto nehledá vztah mezi vstupem a správným výstupem, ale pravidelnosti uvnitř samotných vstupů: blízkost bodů, společné skryté faktory, nezvyklé odchylky nebo kratší popis původně složitých dat.

Praktický rozdíl proti učení s učitelem je v tom, kdo dodává kritérium úspěchu. U klasifikátoru lze spočítat přesnost vůči ručně označené sadě. U učení bez učitele musí tým nejdřív říct, k čemu nalezená struktura slouží: lepší segmentace zákazníků, rychlejší vyhledávání podobných položek, čištění dat, příprava embeddingů nebo varování před podezřelým chováním.

Shluky, anomálie a zhuštěné reprezentace

Nejznámější rodinou jsou shlukovací metody. K-means, DBSCAN nebo hierarchické shlukování seskupují záznamy podle podobnosti, například zákazníky s podobným nákupním chováním nebo dokumenty s podobným obsahem. Shluk ale není automaticky obchodní segment. Shluk je matematický návrh, který člověk musí pojmenovat, ověřit a případně odmítnout.

Další oblastí je redukce dimenze. PCA, UMAP nebo autoencoder převádějí velký počet příznaků na menší reprezentaci, ve které se lépe kreslí grafy, hledají podobné položky nebo trénují navazující modely. Podobný princip se používá i u reprezentací textu a obrázků, i když moderní self-supervised postupy často stojí na vlastních uměle vytvořených úlohách.

Detekce anomálií řeší opačný problém: model se naučí, co v datech vypadá běžně, a upozorní na záznamy mimo typický vzor. Takový přístup se hodí u provozních logů, platebních událostí nebo senzorů, kde je ručně označených incidentů málo a některé nové typy selhání ještě nikdo neviděl.

Proč výsledek potřebuje lidskou interpretaci

Stejná data mohou mít několik rozumných rozkladů. E-shop může rozdělit zákazníky podle ceny, kategorií, frekvence nákupů nebo citlivosti na slevu. Algoritmus volí podle metriky, měřítka a nastavení, ne podle toho, co je pro produkt nebo firmu užitečné.

Předzpracování často rozhoduje víc než samotný algoritmus. Neškálované číselné příznaky mohou způsobit, že vzdálenost ovládne jedna velká hodnota, například obrat v korunách. Textová data zase potřebují vhodnou reprezentaci, aby podobnost slov nebo vět odpovídala významu, ne jen počtu znaků.

Měření bez jednoho správného štítku

Hodnocení používá interní metriky, vizuální kontrolu, stabilitu výsledků a dopad na navazující úlohu. U shluků se sleduje například oddělenost a kompaktnost, u redukce dimenze zachování sousedství, u anomálií míra falešných poplachů. Nejlepší test bývá praktický: zda segmentace zlepší doporučování, zda embedding zrychlí vyhledávání nebo zda anomální skóre pomůže operátorům dřív odhalit problém.

Učení bez učitele proto není náhrada za doménovou znalost. Učení bez učitele je nástroj pro objevování hypotéz v datech, které by se ručně procházely pomalu, draze nebo vůbec.

Příklady z praxe

  1. Segmentace zákazníků v e-shopu

    Marketingový tým vezme historii nákupů a bez ručních štítků nechá K-means rozdělit zákazníky do čtyř skupin. Jeden shluk se ukáže jako častí malí nákupčí, jiný jako zákazníci s vysokou hodnotou objednávky a dlouhou pauzou. Výstup není hotová pravda, ale návrh segmentů pro kampaně a další ověření.

    from sklearn.cluster import KMeans
    
    X = zakaznici[["pocet_objednavek", "prumerna_cena", "dny_od_posledniho_nakupu"]]
    model = KMeans(n_clusters=4, random_state=0)
    zakaznici["segment"] = model.fit_predict(X)
  2. Hledání anomálií v aplikačních logách

    Provozní tým sbírá metriky API endpointů, ale nemá dost označených incidentů pro klasifikátor. Model se naučí běžné kombinace latence, chybovosti a objemu provozu a označí neobvyklé intervaly. Operátor pak kontroluje menší seznam podezřelých událostí místo tisíců běžných řádků.

    from sklearn.ensemble import IsolationForest
    
    model = IsolationForest(contamination=0.01, random_state=0)
    logy["anomalie"] = model.fit_predict(logy[["latence_ms", "pocet_chyb", "pozadavky_za_minutu"]]) == -1

Časté omyly

MýtusUčení bez učitele znamená, že model se naučí úplně sám bez dat.
Ve skutečnostiUčení bez učitele stále potřebuje vstupní data a často i pečlivé předzpracování. Chybí pouze ručně dodané správné odpovědi pro každý záznam.
MýtusKdyž algoritmus najde shluky, jsou to automaticky skutečné kategorie v reálném světě.
Ve skutečnostiShluky jsou výsledek zvolené metriky podobnosti a nastavení modelu. Skutečný význam shluků musí ověřit člověk, doménová znalost nebo navazující experiment.

Časté dotazy

Jak poznám, že se učení bez učitele povedlo?
Kvalita učení bez učitele se poznává podle toho, zda nalezená struktura pomáhá v zamýšleném úkolu. Shluky lze hodnotit kompaktností, odděleností a stabilitou při změně vzorku dat, ale samotná metrika nestačí. Dobrý výsledek musí dávat smysl doménově: segment zákazníků má mít použitelné vysvětlení, anomální událost má být kontrolovatelná a zmenšená reprezentace má zachovat důležité vztahy mezi záznamy.
Potřebuje učení bez učitele trénovací a testovací data?
Trénovací a testovací rozdělení má u učení bez učitele smysl, ale používá se jinak než u klasifikace se štítky. Model lze naučit na jedné části dat a ověřit stabilitu shluků nebo rozložení anomálních skóre na další části. U navazující úlohy se často měří, zda reprezentace naučená bez štítků zlepší pozdější klasifikaci, vyhledávání nebo doporučování.
Kdy dává učení bez učitele smysl v produktu?
Učení bez učitele dává v produktu smysl hlavně tam, kde existuje hodně dat a málo spolehlivých štítků. Typické použití je segmentace uživatelů, deduplikace položek, doporučování podobného obsahu, předvýběr podezřelých událostí nebo příprava embeddingů pro vyhledávání. Produktový přínos vznikne až tehdy, když nalezené skupiny nebo skóre vstoupí do konkrétního rozhodnutí, ne jen do hezké vizualizace.
Může učení bez učitele nahradit anotaci dat?
Učení bez učitele může snížit množství ruční anotace, ale obvykle ji úplně nenahradí. Model umí navrhnout skupiny, vybrat reprezentativní příklady nebo seřadit podezřelé záznamy podle priority. Lidský nebo doménový dohled je stále potřeba pro pojmenování významu, kontrolu chyb, právní a etické posouzení i pro případy, kdy má výsledek ovlivnit uživatele nebo peníze.

Zdroje

  1. Unsupervised learning(otevře se v novém okně)Wikipedia
  2. Clustering(otevře se v novém okně)Google for Developers
  3. Intro to Autoencoders(otevře se v novém okně)TensorFlow
  4. A Tutorial on Spectral Clustering(otevře se v novém okně)arXiv, 2007

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.