Algoritmy strojového učenia

Pri ľudskej činnosti vzniká veľké množstvo dát.

Vyhráva ten, čo vie tie dáta lepšie pracovať.

Znalosť

Užitočná informácia

Ako premeniť dáta na znalosti

dáta -> informácie -> znalosti

Algoritmus strojového učenia vie zastúpiť človeka pri rozhodovaní v niektorých situáciách

znalosti človeka za zmenia na znalosti stroja.

Model

  • funkcia vyjadruje vzťay medazi sledovanými veličinami.
  • parametre modelu

Trénovanie modelu

  • príznak: jav dôležitý pre pochopenie procesu.
  • trénovacia množina
  • rekurzívna úprava parametrov modelu

Vyhodnotenie modelu

  • metrika
  • testovacia množina

Zoberieme model a vyskúšame ho na neznámych dátach. Dostaneme číslo, ktoré vyjadruje kvalitu modelu.

Iné druhy učenia

  • Učenie s učiteľom
    • máme k dispozícii označené trénovacie príklady
  • Učenie bez učiteľa
    • nemáme k dispozícii označené trénovacie príklady
  • Učenie odmenou a trestom
    • nemáme k dispozícii označené trénovacie príklady,
    • ale máme funkciu na vyhodnotenie neoznačených príkladov

Modely strojového učenia

  • Štatistické modely
  • Neurónové modely

Štatistické modely

Založené na početnosti (frekvencii) príznakov v trénovacej množine.

Početnosť je premenená na pravdepodobnosť.

Využívajú operácie s pravdepodobnosťou, hlavne Bayesovu vetu.

Štatistické modely

S učiteľom:

  • Naive Bayes Classifier
  • Maximum entropy classifier
  • K nearest neighbours

Bez učiteľa:

  • K means
  • Fuzzy C means

Príklad: Odhaľovanie spamu

Máme množinu e-mailov a chceme zistiť či je e-mail spam alebo nie je.

Vytvoríme trénovaciu množinu

Pri kontrolovanom strojovom učení zbierame dôkazy ktoré svedčia pre alebo proti testovanej hypotéze.

(v tomto prípade sú dôkazy slová v správe, v hlavičke, odosielateľ a iné.)

Ručne označíme niekoľko e-mailov - pozrieme či to je spam alebo nie.

Vzniknú nám dve množiny:

  • množina spamov a množina dobrých správ.

Určíme príznaky

Podľa čoho človek zistí že ide o spam?

  • odosielateľ
  • slová v hlavičke správy
  • slová v tele správy
  • hypertextové odkazy v správe

Parametre modelu sú pravdepodobnosti

Spočítame výskyt príznakov pre každú triedu

C("zadarmo" | spam) = 100

C("zadarmo" | normal ) = 1

C(spam) = 1000

C(normal) = 200

C("zadarmo") = 101

Premeníme početnosti na pravdepodobnosti

P ("zadarmo" | spam) = C ("zadarmo" | spam) / C (spam)

P (spam) = C(spam) / (C(spam) + C (norma))

Aplikujeme Bayesovu vetu:

P (spam | "zadarmo") = P ("zadarmo" | spam) * P(spam) / P("zadarmo")

Zistíme pravdepodobnosť toho, že e-mail je spam ak sa v ňom nachádza slovo "zadarmo".

Klasifikácia pomocou Bayesovho klasifikátora

Zoberieme neznámy mail a podľa výskytu príznakov spočítame pravdepodobnosť príslušnosti do tried.

Neurónové siete

Trénovacia množina je premená na príklady.

Neurónová sieť sa učí tak že pozoruje príklady.

Na základe príkladov je schopná zovšeobecniť problém a spracovať aj neznáme príklady.

Neurón

  • Množina váh (parametrov)
  • Nelinárna aktivačná funkcia F.
vstup  váhy   aktivácia      výstup

x1   --w1---\
             \
x2   --w2----- F( SUM (x) ) -> output
             /
x3   --w3---/

Dopredná neurónová sieť

NN

From Wikipedia

Dopredná neurónová sieť

Vstupná Skrytá Skrytá Výstupná vrstva vrstva 1 vrstva 2 vrstva

x1        O          O          O         y1

x2        O          O          O         y2

x3        O

x4
    Váhy     Váhy      Váhy         Váhy

Učenie neurónových sietí

Algoritmus backpropagation

  1. Najprv vyberieme náhodné paramatre modelu.
  2. Neurónovej sieti ukážeme niekoľko vzoriek a vypočítame chybu.
  3. Celková chyba neurónovej siete sa premení na chybový signál, ktorý je rôzny pre každý neurón.
  4. Upravíme váhy pomocou vynásobením chybovým signálom.
  5. Pokračujeme ďalšími vzorkami.

Dáta sú nové zlato

  • Social dilema: Ak za službu neplatíte, stávate sa produktom.

Platíte osobnými dátami za služby Googlu a Faceboku.

Bibliografia

  • https://www.coursera.org/learn/machine-learning#syllabus
  • https://en.wikipedia.org/wiki/Backpropagation
  • https://en.wikipedia.org/wiki/Bayes%27_theorem
Reload?