UniTO/anno3/apprendimento_automatico/preparazione.org

117 lines
4.7 KiB
Org Mode
Raw Normal View History

2020-06-28 12:50:46 +02:00
* Esposito
** Tasks: Binary Classification
I modelli predittivi si occupano di inferire delle informazioni sui
nuove istanze di problemi in base ai dati gia` consumati
*** TODO Geometric classification
*** Probabilistic classifier
Stima probabilita` dai dati e fornisce predizioni usando la seguente
regola:
- Yₘₐₚ = $arg max_{Y}P(Y|X)$ = $argmax_Y\frac{(P(X|Y)(PY)}{P(X))}$ =
$argmax_Y\frac{(P(X|Y)(PY)}{P(Y))}$
- Yₘₗ = $argmax_YP(X|Y)$ (se priori non importanti)
*** Features
Se vogliamo approssimare la funzione coseno e` inutile considerare
un'approssimazione lineare (y=0).
Pero` possiamo usare x come sia come splitting feature (due
approssimazioni diverse se x<0 o x≥0) e come variabile di regression
(l'approssimazione contiene x)
Delle volte si puo` mappare il feature space su nuovi spazi (e.g.:
scatter plot: renderlo al quadrato)
** Classification
$\hat{c}$: X → C
C = {C₁, C₂, ..., Cₖ}
example: <x, c(x)>
Learning is constructing $\hat{c}$
*** TODO Decision Tree
Vedi decision tree, feature tree, contingency table
*** Misure
- Accuracy: $acc = \frac{1}{|T_e|}\sum I[\hat{c}(x)=c(x)] = P(\hat{c}(x) = c(x))$
- Error rate: $1-acc = P(\hat{c}(x) \ne c(x))$
- class ratio, clr: $\frac{Pos}{Neg} = \frac{\sum_{x\in{T_e}}
I[c(x)=1]}{\sum_{x\in{T_e}} I[c(x)=0]}$
- recall, true positive rate: $\frac{TP}{Pos} = P(\hat{c}(x)|c(x))$
- specificity, true negative rate = $\frac{TP}{Pos} =
P(\hat{c}(x)|c(x))$
- false positive, false negative = 1-tnr, 1-tpr
- Precision, confidence = $\frac{TP}{TP+FP} = P(c(x)|\hat{c}(x))$
*** TODO Coverage plot e roc plot
*** Scoring Classifier
mapping $\hat{s}: X \to R^k$ dove s e` un vettore s(x) = (s₁(x),
s₂(x), ..., sₖ(x)). i-th componente = score della classe Cᵢ
Nello scoring tree, in caso di classificazione binaria, si possono
usare nelle foglie il logaritmo del ratio fra lo score delle classi.
**** Margine e Loss f
Prendiamo la classe true come +1:
- z(x) = c(x)$\hat{s}(x)$
Il margine e` il valore assoluto della predizione, positivo se giusta,
negativo se errata.
La Loss function L(z(x)): R → [0, ∞); L(0) = 1 e L(z<0)≥1 e
L(z>0)∈[0,1)
La loss function e` importante nella fase di learning per cercare la
soluzione ottimale
- 0-1 Loss
- Hinge Loss
- Logistic Loss
- Exp Loss
- Squared Loss
**** Ranking
Una funzione di scoring puo` essere trasformata in una di ranking
ordinando le istanze in base allo score ottenuto.
Ranking-Error quando $\hat{s}(x)<\hat{s}(x') \wedge s(x') < s(x)$
- $\frac{\sum_{x\in{T^+_e},x'\in{T^-_e}}{I[\hat{s}(x) < \hat(s)(x')] +
I[\hat{s}(x) = \hat(s)(x')]}}{Pos\cdot Neg}$
- Ranking accuracy: 1 - Rank-Err
*** Probability Estimator
Scoring classifier che per ogni classe restituisce la probabilita` che
l'istanza appartenga a quella classe
- $\hat{p}: X \to [0,1]^k$
- $\sum_{i=1}^{k}{\hat{p_i}(x)} = 1$
- Squared Error: $SE(x) = \frac{1}{2} \Vert \hat{p}(x) - I_{c(x)} \Vert
^2_2 = \frac{1}{2}\sum_{i=1}^{k}(\hat{p}(x) - I[c(x) = C_i])^2$
- Mean Squared Error: $MSE(T_e) =
\frac{1}{|T_e|}\sum_{x\in{T_e}}SE(x)$
- Empirical Probability: Vettore dato dal numero di istanze sul totale
per ogni classe (frequenza)
Solitamente si applica un coefficente di smoothing per queste
frequenze
- Laplace correction: $\dot{p_i}(S) = \frac{n_i+1}{|S|+k}$
- m-estimate: non uniform smoothing dato da pseudo-counts m e prior
probs πᵢ $\dot{p_i}(S) = \frac{n_i+m\cdot\pi_i}{|S|+m}$
*** TODO Beyond Binary Classification
Vedi 1-vs-rest, 1-vs-1 e cosi` via
*** Overfitting, bias-variance
L'overfitting si evita avendo un numero di parametri ben piu` basso
dei data points.
Con un numero basso di parametri si introduce un bias che spesso anche
con un training elevato non si riesce a risolvere.
Invece con pochi parametri si introduce una forte dipendenza dal test
set e quindi molta varianza.
- $E[(f(x)-\hat{f}(x))^2] = Bias^2(\hat{f}(x)) + Var(\hat{f}(x))$
(vedi dimostrazione slides)
** Descriptive Learning
Tasks and learning problem coincide. No separate training set, produce
a descriptive model of the data at hand. Learn a model describing the
data.
*** Clustering
Obbiettivo: trovare gruppi omegenei, trovare una labelling function da
dati senza label.
- $\hat{q}: X \to C$ (predictive)
- $\hat{q}: X \to L$ (descriptive)
*** Supervised subgroup discovery
Preso un dataset labelled (xᵢ, l(xᵢ))ⁱ trova:
- $\hat{g}: D \to {true, false}$
- G = {x∈D | $\hat{g}$(x) = true}, la cui class distribution e`
diversa marcatamente dalla popolazione originale
*** Association Rules
Dato un dataset unlabelled D trova:
- un set di regole {b→h} tale che:
+ h solitamente e` soddisfatta quando b lo e`
+ bh e` frequente (high support: %n di elementi soddisfano la
regola)
- Il powerset di un insieme di regole frequenti e` frequente a sua
volta.
- Confidenza: support(ab)/suport(a)
** Models
*** Linear Models
* Meo