aa
After Width: | Height: | Size: 185 B |
After Width: | Height: | Size: 662 B |
After Width: | Height: | Size: 224 B |
After Width: | Height: | Size: 543 B |
After Width: | Height: | Size: 162 B |
After Width: | Height: | Size: 519 B |
After Width: | Height: | Size: 604 B |
|
@ -113,4 +113,236 @@ Dato un dataset unlabelled D trova:
|
|||
- Confidenza: support(a∪b)/suport(a)
|
||||
** Models
|
||||
*** Linear Models
|
||||
**** Best fitting line
|
||||
Cx + D = y
|
||||
X w = y in matrix form, w = (C D)ᵀ
|
||||
Se X quadrata e full rank: w = X⁻¹·y ma generalmente X non e`
|
||||
invertibile
|
||||
| Errore: ‖e‖₂ = ‖y-p‖₂ = (∑ᵢ(yᵢ-pᵢ)²)⁻¹
|
||||
Possiamo inquadrare questo problema come un problema di minimizzazione
|
||||
della norma di e. p = X·$\hat{w}$: L'intero problema consiste in:
|
||||
| $minimize_{\hat{w}}\Vert X \hat{w} - y \Vert_2^2$
|
||||
La soluzione consiste nell'imporre l'ortogonalita` di e e C(X), ovvero
|
||||
Xᵀ·e=0; quindi:
|
||||
| Xᵀ·e = 0; e = y-X·ŵ
|
||||
| Xᵀ(y-X·ŵ) = 0
|
||||
| Xᵀy = XᵀXŵ
|
||||
| ŵ = (XᵀX)⁻¹Xᵀy
|
||||
**** Regularization
|
||||
evitare l'overfitting applicando dei constraint sul weight vector.
|
||||
Generalmente i pesi sono in media piccoli: ~shrinkage~.
|
||||
La versione regolarizzata di LSE:
|
||||
| w* = argmin_w (y-X·w)ᵀ(y-X·w) + λ‖w‖₂
|
||||
Soluzione:
|
||||
| ŵ = (XᵀX + λI)⁻¹Xᵀy
|
||||
si dice ~ridge regression~ e significa aggiungere λ alla diagonale di
|
||||
XᵀX per migliorare la stabilita` numerica dell'inversione
|
||||
Si puo` anche usare ~lasso~ nel caso di soluzioni sparse
|
||||
(least absolute shrinkage and selection operator)
|
||||
che sostituisce ‖w‖₂ con ‖w‖₁=∑|wᵢ|
|
||||
| w* = argmin_w (y-X·w)ᵀ(y-X·w) + λ‖w‖1
|
||||
Minimizzare la norma significa immaginare che X sia affetto da errore
|
||||
D e minimizzare l'errore:
|
||||
| (X+D)w = Xw + Dw
|
||||
inoltre significa imporre un bias e quindi minimizzare l'effetto della
|
||||
varianza dell'errore. LSE enhance le piccole variazioni nei dati:
|
||||
unstable regressor.
|
||||
**** LSE per la classificazione
|
||||
| ĉ(x) = 1 se xᵀŵ - t > 0
|
||||
| ĉ(x) = 0 se xᵀŵ - t = 0
|
||||
| ĉ(x) = -1 se xᵀŵ - t < 0
|
||||
Ovvero si rappresenta la classe positiva come 1 e la negativa come -1
|
||||
t rappresenta gli intercepts.
|
||||
** SVM
|
||||
Hyperplane:
|
||||
| y = ax + b
|
||||
| y -ax -b = 0
|
||||
| wᵀx = 0
|
||||
- w = (-b -a 1)ᵀ *x* = (1 x y)ᵀ
|
||||
- Functional margins: soluzioni che non fanno errori
|
||||
- Geometric margins: soluzioni che massimizzano la distanza fra i piu`
|
||||
vicini punti di classe opposta
|
||||
*** Margine funzionale
|
||||
Valore dell'hyperplane al punto xᵢ:
|
||||
| f(xᵢ) = w·xᵢ-t
|
||||
possiamo usare f(xᵢ)>0 per discriminare fra classe positiva/negativa
|
||||
- Functional margin:
|
||||
| μ(xᵢ) = yᵢ(w·xᵢ-t) = yᵢf(xᵢ)
|
||||
se l'esempio e` ben classificato: μ(xᵢ) > 0
|
||||
*** Support Vectors
|
||||
Possiamo richiedere che ogni istanza nel dataset soddisfi:
|
||||
| yᵢ(w·xᵢ-t) ≥ 1
|
||||
Istanze nel decision boundary (chiamate ~support vectors~):
|
||||
| yᵢ(w·xᵢ-t) = 1
|
||||
Margine geometrico:
|
||||
(x₊-x₋)·$\frac{w}{\Vert{w}\Vert}$
|
||||
*** TODO (w₀,w₁) ortogonali
|
||||
*** Ottimizzazione:
|
||||
Margin size:
|
||||
| μ = (x₊-x₋)·w/‖w‖
|
||||
| x₊·w-t = 1 -> x₊·w = 1+t
|
||||
| -(x₋·w-t) = 1 -> x₋·w = t-1
|
||||
| $\mu = \frac{1+t-(t-1)}{\Vert{w}\Vert} = \frac{2}{\Vert{w}\Vert}$
|
||||
μ va minimizzata, il che significa massimizzare ‖w‖
|
||||
| $minimize_{w,t} \frac{1}{2}\Vert{w}\Vert^{2}$
|
||||
| yᵢ(w·xᵢ-t)≥1; 0≤i≤n
|
||||
minimizzaₓ: f₀(x)
|
||||
soggetto a: fᵢ(x) ≤ 0 i = 1, ..., m
|
||||
gᵢ(x) = 0 i = 1, ..., p
|
||||
Formulazione duale di Lagrange:
|
||||
| g(α, υ) = infₓ ⋀(x,α,υ) = infₓ(f₀(x) + ∑₁ᵐαᵢfᵢ(x) + ∑₁ᵖυᵢgᵢ(x))
|
||||
Duality: forma organizzata per per formare bound non triviali in un
|
||||
problema di ottimizzazione
|
||||
In problemi convessi il bound e` solitamente ~strict~ e massimizzare
|
||||
il bound porta alla stessa soluzione che minimizzare la funzione
|
||||
originale: ~strong duality~.
|
||||
KKT conditions needs to hold for strong duality.
|
||||
TODO: Vedi dimostrazione slides
|
||||
|
||||
** Kernels
|
||||
Trick usato per adattare degli algoritmi lineari a ipotesi non
|
||||
lineari.
|
||||
Idea: linear decision surface su uno spazio trasformato puo`
|
||||
corrispondere ad una superficie non lineare sullo spazio originale.
|
||||
Esempio:
|
||||
| ϕ(x) = (x₁², sqrt(2)x₁x₂, x₂², c)
|
||||
| ĉ(x) = sign(w·x-t)
|
||||
| ĉ(x) = sign(K(w,x)-t) = sign(ϕ(w)·ϕ(x)-t)
|
||||
|
||||
Una kernel function K: V×V→R per la quale esiste un mapping ϕ:V→F, F
|
||||
spazio di Hilbert, tale che:
|
||||
K(x,y) = <ϕ(x), ϕ(y)>
|
||||
Ovvero una kernel function calcola l'inner product di x e y dopo
|
||||
averli mappati su un nuovo spazio di Hilbert (possibilmente highly
|
||||
dimensional)
|
||||
|
||||
Restituiscono un intuizione della similarita` (proporzionalmente)
|
||||
**** TODO Mercer condition
|
||||
**** Inner product
|
||||
generalizzazione del dot product su piu` spazi.
|
||||
| Simmetrico: <x,y> = <y,x>
|
||||
| lineare sul primo argomento: <ax+by,z> = a<x,z> + b<y,z>
|
||||
| definito positivamente: <x,x>≥0; <x,x> = 0 ⇔ x = 0
|
||||
Comodi perche`:
|
||||
- linear classifier possono lavorare su problemi non lineari
|
||||
- similarity function in highly dim. space senza calcolare i feature
|
||||
vectors
|
||||
- composizione, nuovi kernel da vecchi
|
||||
|
||||
**** Kernel importanti
|
||||
Polinomiale:
|
||||
K(x,y) = (x·y)ᵈ or K(x,y) = (x·y+1)ᵈ
|
||||
- d = 1 → identity
|
||||
- d = 2 → quadratic
|
||||
- feature space esponenziale in d
|
||||
|
||||
Gaussian Kernel:
|
||||
$K(x,y) = exp(-\frac{\Vert{x-y}\Vert^2}{2\sigma}$
|
||||
σ e` deciso tramite cross validation su un altro set indipendente
|
||||
il feature space ha dimensionalita` infinita.
|
||||
|
||||
* Meo
|
||||
** Concept learning
|
||||
Assunto base: ogni ipotesi che approssima bene la target function
|
||||
sugli esempi di training, approssimera` bene anche la target function
|
||||
con esempi mai visti.
|
||||
Inoltre D e` consistente e senza rumori ed esiste un'ipotesi h che
|
||||
descrive il target concept c.
|
||||
Un'ipotesi h e` una congiunzione di constraint sugli attributi.
|
||||
Il numero delle ipotesi e` esponenzialmente largo sul numero delle
|
||||
features:
|
||||
| {codominio funzione}^{n distinte istanze}
|
||||
- Ipotesi piu` generale:
|
||||
siano hⱼ, hₖ due funzioni booleane (ipotesi) definite su X.
|
||||
Si dice che hⱼ e` almeno generale quanto hₖ, scritto hⱼ≥hₖ iff
|
||||
| ∀x∈X: hₖ(x) = 1 → hⱼ(x) = 1
|
||||
La relazione ≥ impone un ordine parziale (rifl, trans, antisimm).
|
||||
- Version Space:
|
||||
Si chiama version space il set delle ipotesi consistenti con il dataset.
|
||||
*** Algoritmo Find-S
|
||||
#+BEGIN_SRC
|
||||
h ← most specific hyp. in H
|
||||
foreach x∈X:
|
||||
foreach aⱼ in h: (attribute constraint)
|
||||
if h(x)⊧aⱼ:
|
||||
continue
|
||||
else:
|
||||
h ← next more general hyp that satisfies aⱼ
|
||||
output h
|
||||
#+END_SRC
|
||||
Advantages:
|
||||
- Hyp. space defined through conjunction of constraints
|
||||
- will output most specific hyp. that is consistent
|
||||
- will be consistent with negative examples as well
|
||||
Svantaggi:
|
||||
- non si sa se il learner converge al target concept (non sa se e`
|
||||
l'unica ipotesi valida)
|
||||
- non sa se il training data e` consistente: ignora esempi negativi
|
||||
*** Version Space
|
||||
Definiamo il Version Space come:
|
||||
| VSₕ_D = {h∈H|Consistent(h,D)}
|
||||
| Consistent(h,D) = ∀<x,c(x)>∈D: h(x) = c(x)
|
||||
General and specific boundary of VS: set of maximally g/s members
|
||||
| VSₕ_D = {h∈H| ∃s∈S, ∃g∈G: g≥h≥s}
|
||||
**** List then Eliminate
|
||||
#+BEGIN_SRC
|
||||
Version Space ← list of every hyp. in H
|
||||
foreach <x,c(x)> in X:
|
||||
foreach h in Version Space:
|
||||
if h(x) ≠ c(x) : remove h from VS
|
||||
output VS
|
||||
#+END_SRC
|
||||
**** Candidate Elimination
|
||||
#+BEGIN_SRC
|
||||
G ← max. general hyp.
|
||||
S ← max. specific hyp.
|
||||
foreach d=<x,c(x)> ∈ D:
|
||||
if d is ⊕:
|
||||
remove from G any inconsistent hyp.
|
||||
foreach inconsistent hyp. s in S:
|
||||
remove s from S
|
||||
add to S all minimal generalizations h of s:
|
||||
- h consistent with d
|
||||
- some members of G is more general than h
|
||||
- S is a summary of all members cons. with positive examples
|
||||
remove from S any hyp. more general than other hyp. in S
|
||||
if d is ⊖:
|
||||
remove from S any inconsistent hyp.
|
||||
foreach inconsistent hyp. g in G:
|
||||
remove g from G
|
||||
add to G all minimal generalizations h of g:
|
||||
- h consistent with d
|
||||
- some members of S is more general than h
|
||||
- G is a summary of all members cons. with negative examples
|
||||
remove from G any hyp. more general than other hyp. in G
|
||||
#+END_SRC
|
||||
- converge allo stesso VS qualsiasi l'ordine iniziale di D
|
||||
- puo` convergere a VS diversi se non ci sono abbastanza membri nel
|
||||
training set
|
||||
**** Inductive Leap
|
||||
Assumiamo che H contenga il target concept c. Ovvero che c puo` essere
|
||||
descritto tramite una congiunzione di literals.
|
||||
Unbiased learner: H esprime ogni concetto imparabile, ovver
|
||||
Powerset(X).
|
||||
S e G sono i due insiemi ⊕ ⊖ (con congiunzioni logiche, vedi slides).
|
||||
Futile perche` un learner che non fa assunzioni a priori
|
||||
sull'identita` del target concept non ha basi per classificare istanze
|
||||
mai viste.
|
||||
- Bias induttivo:
|
||||
| ∀xᵢ∈X: (B ∧ D_c ∧ xᵢ) ⊧ L(xᵢ,D_c)
|
||||
L(xᵢ, D_c) e` la classificazione assegnata dal concept learning
|
||||
algorithm L dopo il training su D_c
|
||||
Permette di trasformare un sistema induttivo in deduttivo
|
||||
** TODO Path Through hyp. space
|
||||
Vedi che vuole sapere
|
||||
** TODO Trees
|
||||
** Rules
|
||||
Ordered rules are a chain of /if-then-else/.
|
||||
#+BEGIN_SRC
|
||||
1. Keep growing the rule antecedent by literal conjunction (high purity)
|
||||
2. Select the label as the rule consequent
|
||||
3. Delete the instance segment from the data, restart from 1
|
||||
#+END_SRC
|
||||
La purezza misura i figli negli alberi, in rule learning la purezza e`
|
||||
di un solo figlio il literal e` true. Si possono usare le purity
|
||||
measure degli alberi ma senza bisogno di fare la media.
|
||||
|
|
12
todo.org
|
@ -1,4 +1,4 @@
|
|||
* Apprendimento Automatico [2/4]
|
||||
* Apprendimento Automatico [3/5]
|
||||
- [X] Scrivile per date di esame
|
||||
- [X] Richiedi date esame
|
||||
- [ ] Slides [0/5]
|
||||
|
@ -22,10 +22,14 @@
|
|||
+ [ ] Sum of squared error
|
||||
+ [ ] Silhouttes
|
||||
+ [ ] Rivedi kernelization
|
||||
- [-] Esercizi [1/3]
|
||||
- [ ] Esposito [0/3]
|
||||
+ [ ] (w_0,w_1) ortogonale all'iperpiano
|
||||
+ [ ] dimostrazione dualita` grangiana
|
||||
+ [ ] Mercer condition
|
||||
- [X] Esercizi [3/3]
|
||||
- [X] es1: perche` min_impurity decrease
|
||||
- [ ] chiedi a Galla`, Marco e Naz quali sono tutti gli es
|
||||
- [ ] linear models.zip?
|
||||
- [X] chiedi a Galla`, Marco e Naz quali sono tutti gli es
|
||||
- [X] linear models.zip?
|
||||
|
||||
* Tesi [18/33]
|
||||
- [X] Rivedere inference rules di Gabriel e aggiustarle con le mie
|
||||
|
|