OrgPad logo

BI-ML1

Created by Honza Šuráň

BI-ML1

Binarni klasifikace

Pokracovani LR

Gini index (Gini impurity)

Linearni regrese

Vyber priznaku

Vestavene metody

Nestrannost metody nejmensich ctvercu

Mira neusporadanosti, entropie, informacni zisk

hyperparametry modelu

Predikce LR

Hledani vektoru koeficientu

Filtracni metody

Obalove metody

Obecne veci ke strojovemu uceni

Regresni strom

Lasso

Minimalizace RSS: Derivovani RSS

\text{RSS} \left( \mathbf{w} \right) = \sum_{i=1}^N \left( Y_i - \mathbf{w}^T \mathbf{x}_i \right) ^2 = \| \mathbf{Y} - \mathbf{X} \mathbf{w} \|^2

Merged prednasky

prednasky-merged.pdf

Rozhodovaci stromy obecne

Vyhody:

Nevyhody:

Parcialni derivace, gradient, Hessova matice

Postacujici podminka pro existenci lokalniho extremu

Prepis datasetu do maticoveho zapisu

Vyhody, nevyhody, tipy a rady

Forward & backward selection

Forward selection:

Backward selection:

Rekurzivni odebirani priznaku

tvrzeni o geometrickem stredu

Tvrzeni:

Dukaz:

Norma

Metrika

Metoda nejblizsich sousedu (kNN)

Modely bazovych funkci

Predikce

Geometricka interpretace

Pokracovani: Gradient, normalni rovnice, Hessova matice

Nesupervizovane uceni

Evaluace modelu

Krizova validace

1. bokem si oddelime testovaci data
2. zbytek trenovacich dat \mathcal{D} si rozdelime na k podobne velkych \mathcal{D}_1, \dots, \mathcal{D}_k
3. pro kazdou kombinaci hyperparametru \mathcal{H}:
4. for J in 1..k:
5. natrenuj model na datech \cup_{I=1}^k D_I \backslash \{D_J\} s hyperparametry \mathcal{H}
6. na mnozine D_J odhadni chybu jako e_j
7. spocitej cross-validacni chybu pro \mathcal{H}: \hat{e}_\mathcal{H} = \frac{1}{k} \sum_{i=1}^k e_i
8. vrat kombinaci hyperparametru \mathcal{H} s nejlepsim \hat{e}_\mathcal{H}

Shlukovani jako optimalizacni uloha

Shlukovani

Konvergence algoritmus k-means

Tvrzeni:

Dukaz:

problem kolinearity

Co s tim?

ROC, AUC

Pokracovani

Jednoznacnost reseni

Algoritmus k-means

Algoritmus:

  1. Zvolme si k stredovych bodu \mathcal{S}
  2. Kazdy bod \mathbf{x} prirad do shluku se stredovym bodem \mathcal{s} \in \mathcal{S} takovym, ze \| \mathbf{x} - \mathbf{s} \| je minimalni
  3. \left(\forall \mathcal{s} \in \mathcal{S}\right): prepocitej stredovy  bod \mathcal{s} jako geometricky stred prislusneho shluku
  4. Pokud se shluky nejak zmenily a nebylo dosazeno pripadneho zastavovaciho kriteria, vrat se na bod (2.)

Jak vybrat pocatecni stredove body?

Jak zvolit k?

Evaluace klasifikacniho modelu

Evaluacni miry podle presnosti a ocekavaneho vysledku

Evaluacni miry:

Hierarchicke shlukovani

  1. na zacatku uvazujeme kazdy bod jako jednotlivy shluk
  2. pokud existuji alespon 2 shluky, najdeme 2 shluky, ktere jsou k sobe nejbliz
  3. tyto 2 shluky spoj do noveho shluku a pokracuj na krok (2.)

Poznamky:

Hrebenova regrese

Jednotlive metody

Zkoumame regularitu

Evaluace pomoci Silhouette skore

Pokracovani

Predikce

Kdy reseni neni jednoznacne

Ensemble metody

DBSCAN - definice

Pokracovani

Vazeni datovych bodu

Vazene trenovani:

Vazena predikce:

Poznamka:

Vztah vychyleni a rozptylu

Pokracovani

\begin{align} \text{MSE}\left(\hat{Y}\right) &= \text{E}\left(\hat{Y} - \text{E}Y\right)^2 \\ &= \text{E}\left(\color{red}{\text{E}\hat{Y}}-\text{E}Y+\hat{Y}-\color{red}{\text{E}\hat{Y}}\right)^2 \\ &= \text{E}\left( \text{E}\hat{Y} - \text{E}Y \right)^2 + \text{E}\left(\hat{Y}-\text{E}\hat{Y}\right)^2 + 2\text{E}\left(\hat{Y}-\text{E}\hat{Y}\right)\left(\text{E}\hat{Y}-\text{E}Y\right) \\ &= \left(\text{E}\hat{Y} - \text{E}Y\right)^2 + \text{var}(\hat{Y}) + 2 \cdot 0 \cdot \left(\text{E}\hat{Y} - \text{E}Y\right) \\ &= \left(\text{bias }\hat{Y}\right)^2 + \text{var }\hat{Y} \end{align}

Trenovani - metoda maximalni verohodnosti

Logisticka regrese

bias-variance tradeoff u hrebenove regrese

Dendrogram

Nahodne lesy

Pokracovani silhoutte skore

DBSCAN - algoritmus

  1. Pro zadane \epsilon spocitej \epsilon- okoli kazdeho bodu a identifikuj klicove body
  2. Vytvor zarodky shluku: Spoj sousedni (primo dosazitelne) body do shluku
  3. Pro kazdy bod, ktery neni klicovy: Pridej ho do shluku podle klicoveho bodu v okoli, pokud nejaky existuje, jinak ho pridej mezi sum

Poznamky:

Zaver silhouette skore

Analyza asociacnich pravidel

AdaBoost

1. Nastavme vahy rovnomerne, tedy w_i = \frac{1}{N} a polozme m := 1
2. Pokud m \leq n:
Nauc strom T^{(m)} na datech \mathcal{D} s vahami w_i
3. Do promenne e^{(m)} ulozme soucet vah tech bodu z \mathcal{D},
ktere jsou spatne klasifikovane stromem T^{(m})
4. Pokud e^{(m)} = 0:
Algoritmus skonci (vsechna data jsou natrenovana spravne)
a vrati rozhodovaci stromy T^{(1)}, T^{(2)}, \dots, T^{(k)}; k \leq \text{n_estimators}
5. Polozme \alpha^{(m)} = \text{learning_rate } \cdot \log \frac{1 - e^{(m)}}{e^{(m)}}
kde \text{learning_rate} je hyperparametr modelu zabranujici preuceni
(pokud je mensi nez 1)
pokud je malo chyb (e^{(m)} \rightarrow 0), pak \log \frac{1 - e^{(m)}}{e^{(m)}} \rightarrow \log \frac{1^-}{0^+} \rightarrow \log \infty \rightarrow \infty
pokud je hodne chyb (e^{(m)} \rightarrow 1), pak \log \frac{1 - e^{(m)}}{e^{(m)}} \rightarrow \log \frac{0^+}{1^-} \rightarrow \log 0^+ \rightarrow -\infty
6. Pro stromem T^{(m)} spatne klasifikovane body w_i:
w_i := w_i \exp\left( \alpha^{(m)} \right)
7. znormalizujeme vahy, aby jejich soucet byl 1
8. zvetsime m o jedna, vratime se do bodu 2

Maximalizace verohodnostni funkce

Binarni AAP

Hledani nad urcitou mez

Hledani gradientu

Hranice

P\left(Y = 1|\mathbf{x}, \mathbf{w}\right) = \frac{1}{2} \Leftrightarrow \mathbf{w}^T \mathbf{x} = w_0 + w_1 x_1 + \dots + w_p x_p

Pokracovani

Trenovani + predikce

Parametry modelu:
n: pocet lesu
k: pocet vybranych prvku
q: pocet nahodne vybranych priznaku
H: hyperparametry stromu

Trenovani(D: dataset) -> void:
1. for i = 1..n:
2. Di = []
3. Qi = vyber nahodnych q priznaku z priznaku D
4. repeat k times:
5. x = vyber nahodny prvek z D
6. Di.append(x.vyber_priznaky(Qi))
7. Ti = natrenuj strom s daty Di a hyperparametry H

Predikce(x: datovy bod) -> float
1. pro i = 1..n:
2. Yi = Ti.predict(x.vyber_priznaky(Qi))
3. return mean(Yi)

Predikce

1. Kazdemu stromu T^{(m)} prirad vahu \alpha^{(m)} z kroku 5 trenovaciho algoritmu
2. Secti vahy \alpha^{(m)} vsech stromu, ktere pro x predikuji Y = 1
a to same udelej pro stromy predikujici Y = 0 (vazena predikce)
3. Rozhodni se pro tu z moznosti, pro kterou je soucet vah vyssi

Priklad

Hledani gradientu - pokracovani