Ai miei nonni

Transcript

Ai miei nonni
Ai miei nonni
“Nobody really believes that multivariate data is multivariate normal”
Statistical Modeling: The Two Cultures; Leo Breiman
1
2
Indice
3
Prima Parte
6
1.Introduzione
7
2.Definizione del problema di pattern recognition
10
3.Empirical Risk Minimization
11
3.1 Condizioni di consistenza
12
3.1.1 Teorema chiave
15
3.1.2 Diseguaglianza di Hoeffding
18
3.1.3 Un ritorno alla metafora dello studente
24
3.1.4 Misure di complessità di un set di ipotesi
25
3.1.5 Sostituire alla cardinalità l’entropia in Hoeffding
39
3.1.6 Funzioni di crescita e vincoli costruibili
33
3.2 Principio di minimizzazione del rischio strutturale
40
3.2.1 Alcune definizioni
46
3.2.2 Primo Teorema
48
3.2.3 Secondo Teorema
51
Conclusione della prima parte
57
Seconda Parte
59
1 Introduzione alle SVM
60
2 Il duale di Wolfe
69
3 Programmazione quadratica per SVM lineari
75
4 Esempio di SVM lineare
80
5 SVM non lineare
84
5.1 Bassa non linearità
86
5.2 Forte non linearità
89
5.3 Validità di un kernel
92
5.4 Formula risolutiva nel caso non lineare
96
5.5 Capacità di generalizzazione di una SVM
98
Conclusione seconda parte
103
3
Terza Parte
105
1 Reti Neuronali
106
1.1 Introduzione ai concetti chiave
107
1.2 Un esempio per capire
109
1.3 Reti Neurali e SVM
114
2 Alberi Decisionali
116
2.1 Introduzione
117
2.2 Un esempio per capire
118
2.3 Oltre il singolo albero: introduzione alla casualità
123
2.3.1 Bagging
123
2.3.2 Random Forest
125
2.4 Confronto con le SVM
127
3 Confronto tra classificatori: un esempio con dati simulati
3.1 Introduzione
3.2 Presentazione della simulazione
Conclusione terza parte
130
130
131
140
Quarta Parte
142
1 Dimensionality Reduction: Feature Selection e Feature Extraction
143
1.1 Introduzione
143
1.2 Feature Selection
144
1.2.1 Metodo Univariato
144
1.3 Metodo Multivariato
145
1.4 Feature Selection utilizzando i SVM
149
1.4.1 Feature Ranking ed Embedded Method
2 Ottimizzazione Stocastica
152
155
2.1 Introduzione
155
2.2 Hill Climbing
156
2.3 Stochastic Hill Climbing e Simulated Annealing
158
3 Valutazione della performance di classificazione: ROC curve
3.1 Curve ROC
Conclusione della quarta parte
162
163
165
4
Quinta Parte
1. Obiettivi dell’elaborato
2. Presentazione del DataBase
3. Descrizione del programma
3.1 Pulizia del data base e correzione dei formati
3.2 Partizionamento del data base
3.3 Bilanciamento delle partizioni di training e parametrizzazione
3.4 Confronto tra i modelli
Conclusione della quinta parte
165
167
168
173
174
176
176
196
199
Conclusione dell’elaborato
204
Appendice
206
Bibliografia
234
5
Prima Parte
6
1.Introduzione
La teoria dell’apprendimento statistico si articola su tre problemi fondamentali: pattern
recognition, regression estimation e density estimation. Ognuno di questi può essere visto
come un caso particolare di un più generale problema che è quello dell’apprendimento
attraverso esempi.
Cosa significa apprendere? Quando è auspicabile applicare tecniche basate sulla teoria
statistica dell’apprendimento piuttosto che metodologie “classiche” fornite dalla
letteratura?
Per meglio capire cosa si intende con apprendimento nell’ambito che andremo a trattare è
utile partire con un esempio: si consideri uno studente che nel preparare un esame ha solo
accesso al testo delle esercitazioni (con soluzione) ma che non può effettivamente studiare
la teoria.
Lo studente quindi inizierà a fare i diversi esercizi e a confrontare le sue soluzioni con
quelle riportate dal libro. Non potendo accedere alla teoria lo studente inizia ad intuire una
sorta di regola che sta dietro al problema e quindi a rieseguire gli stessi esercizi ottenendo
una soluzione sempre più vicina a quella corretta.
Quand’è che lo studente ha davvero imparato?
La risposta più semplice sarebbe dire che lo studente ha imparato quando smette di
commettere errori sugli esercizi. Il problema di tale risposta è che se allo studente viene
presentato un nuovo esercizio l’aver fatto correttamente tutti quelli del libro di
addestramento non ci garantisce la sua capacità di rispondere correttamente al nuovo
problema per il quale non è disponibile la soluzione.
Lo studente non ha realmente imparato la regola che genera gli esempi e le soluzioni ma
ha semplicemente memorizzato una serie di input/output dal libro di addestramento che
riprende solo una parte degli infiniti problemi che si possono presentare (una sorta di
campione potremmo dire).
Quello che a noi interessa invece è la possibilità di non fare errori con i nuovi esempi che ci
vengono proposti per i quali non abbiamo una soluzione pronta. Questo può essere fatto
solo se si tenta di intuire la regola che opera dietro le quinte della realtà che osserviamo.
Va notato che lo studente non avrà mai accesso al testo della teoria quindi la regola “vera”
che davvero genera il fenomeno non sarà mai nota. Quello che però conta è riuscire ad
intuire una regola che non sia troppo diversa da quella presente nel libro della teoria.
7
Per quanto semplice questo esempio ben rappresenta tutte le componenti che sono
presenti nella teoria dell’apprendimento statistico in ambito supervisionato (ossia nel caso
in cui l’informazione campionaria disponga anche degli output della funzione ignota).
Più formalmente possiamo individuarli in tre componenti:
1. un generatore casuale di vettori assunti i.i.d. rispetto ad una distribuzione ignota
(le tracce dei vari esempi sul libro degli esercizi)
2. un supervisore che per ogni vettore di input restuisce un output in base ad una
probabilità condizionata ( | ) anch’essa ignota (le soluzioni ai vari esempi)
3. una learning machine in grado di implementare un set di funzioni ( , ), ∈ Λ (la
regola che lo studente intuisce dagli esempi)
Quindi il problema dell’apprendimento consiste nel scegliere un elemento dell’insieme di
funzioni ( , ), ∈ Λ che sia in grado di prevedere al meglio la risposta del supervisore.
La scelta della funzione che meglio approssima il supervisore deve essere fatta sulla base
del c.d. training set ossia l’insieme delle osservazioni campionarie ( , ), … , ( , )
assunte i.i.d. secondo la probabilità ignota
( , )= ( ) ( | )
ed utilizzando un algoritmo che condizionatamente all’informazione campionaria seleziona
dal set di ipotesi predefinito la funzione che più si avvicina al comportamento del
supervisore.
L’ultimo punto è di fondamentale importanza, infatti stiamo dicendo che la soluzione di
ottimo che andremo a definire dipende da:
1. il campione casuale che abbiamo osservato (al variare del campione varia la
soluzione)
2. il set di ipotesi scelto ossia la famiglia di funzioni che decidiamo di utilizzare per
approssimare il supervisore (sostanzialmente scelto dal ricercatore)
3. l’algoritmo di ricerca nello spazio di funzioni del set di ipotesi (che quindi risolve un
problema di ottimizzazione tipicamente non lineare con metodi di ricerca
stocastica)
ciò significa che la soluzione del metodo sarà l’ottimo condizionatamente al campione
utilizzato, alla famiglia di funzioni scelta e al fatto che l’algoritmo abbia individuato davvero
la soluzione di ottimo globale (se esiste).
A questo punto sorge una domanda ovvia: perché dobbiamo definire una famiglia di
funzioni tra cui cercare la soluzione? Perché non considerare la famiglia di tutte le possibili
8
funzioni? Data la complessità della domanda rimando la risposta al capitolo in cui si
tratteranno le misure di capacità di un set di funzioni.
Qual’ è dunque il criterio fondante per capire quale funzione scegliere per rappresentare al
meglio il fenomeno? Evidentemente il modo più semplice è definire una misura di errore
tra i risultati della funzione definita dall’algoritmo e l’output osservato .
Definendo quindi con ( , ) la risposta per un dato input
learning machine definiamo la perdita attesa come:
( )=
, ( , )
della funzione fornita dalla
( , )
ove
, ( , ) è una funzione di perdita che misura la distanza tra l’output osservato e
la previsione del modello per quel particolare .
L’obiettivo dunque è individuare la funzione ( , ) che rende minimo ( ) per la data
classe di funzioni ( , ), ∈ Λ posto di non conoscere ( , ) e che l’unica informazione
disponibile sia contenuta nel training set.
Va notato che la perdita attesa ( ) non può essere quantificato perché è il valore atteso
della funzione di perdita ( , ( )) calcolato sull’intero spazio campionario
×
utilizzando l’ignota probabilità ( , ). E’ quindi interpretabile come l’errore atteso
commesso dalla nostra approssimazione in generale ossia per ogni possibile coppia ( , )
senza limitarsi alle sole osservazioni campionarie.
Riprendendo l’esempio dello studente ( ) può essere visto come l’errore che ci
attendiamo lo studente commetta con la sua regola di risoluzione considerando tutti i
possibili problemi che gli si possono presentare. Infatti ( ) non si limita ai soli esempi
forniti dal campione e può essere visto come una sorta di capacità di generalizzazione dello
studente ossia il fatto di non commettere errori su problemi che non erano contenuti nel
libro di addestramento.
Quindi in teoria dovremmo individuare una funzione ( , ) da un dato set di ipotesi
(scelto da noi) che rende minima una grandezza ( ) che non possiamo calcolare.
9
2.Definizione del problema di Pattern Recognition
Nell’introduzione abbiamo accennato al fatto che nella teoria dell’apprendimento
statistico esistono tre problemi fondamentali ma che questi non sono altro che casi
particolari del più generico problema di apprendere attraverso esempi.
Nel dare una definizione di cosa s’intenda con apprendere nel nostro contesto abbiamo
affermato che in sostanza una learning machine è in grado di apprendere quando individua
la funzione ( , ) che rende minimo l’errore atteso
( )=
, ( , )
( , )
ossia quando è in grado di individuare una funzione che generalizzi il fenomeno osservato
permettendogli una buona performance anche fuori dal campione osservato.
Fin’ora però non abbiamo dato alcuna definizione specifica alla funzione di perdita
( , ( , )) e ci siamo semplicemente limitati a dire che questa è una qualche misura
dell’errore commesso dal modello rispetto agli output osservati sul campione. Questa
generalità nel definire si giustifica per il fatto che a seconda del problema che si affronta
si definisce una diversa misura di errore. Ai nostri fini però il problema di apprendimento
che più ci interessa è quello della classificazione quindi nel seguito ci concentreremo
unicamente su questo caso.
Pattern Recognition: il supervisore ha un comportamento binario del tipo = {0,1} e
l’insieme ( , ), ∈ Λ rappresenta un set di funzioni indicatrici cioè che a loro volta
possono assumere due soli valori a seconda che l’input ricevuto superi un determinato
valore soglia. La funzione di perdita è quindi definita come:
( , ( , )) =
0 se y = ( , )
1 se y ≠ ( , )
data questa funzione di perdita la ( ) rappresenta l’errore atteso di classificazione.
Al fine di snellire la notazione che utilizzeremo più avanti indicheremo con
la singola
coppia ( , ) e quindi con lo spazio campionario. Avendo definito la funzione di perdita
possiamo quindi ritradurre il problema dell’apprendimento come la ricerca della
particolare funzione ( , ) dall’insieme = { ( , ), ∈ Λ} tale da rendere minima la
scrittura
( )=
( , )
( )
che rappresenta l’errore atteso di classificazione del modello.
10
3 Empirical Risk Minimization
Dai capitoli precedenti abbiamo capito cosa si intende con apprendimento ed in
particolare si è calato il problema nel caso del pattern recognition definendo nello
specifico la funzione di perdita che misura la discrepanza tra i risultati di modello e quelli
osservati.
Dai ragionamenti fatti è però emerso il seguente problema:
apprendere significa individuare una funzione ( , ) da un dato set di ipotesi che rende
minima una grandezza ( ) che non possiamo calcolare perché la distribuzione Z da cui si
generano i valori e i caratteri dello spazio campionario non saranno mai noti
ma se non possiamo calcolare
ottenuta dal classificatore?
( ) come possiamo quantificare la bontà della soluzione
Ritornando all’esempio dello studente, è evidente che non avendo la soluzione dei nuovi
problemi non è neanche possibile sapere se effettivamente la sua risposta risulti corretta.
D’altro canto una grandezza che possiamo misurare è il numero di errori che lo studente
commette durante lo studio perché quest’ultimo si basa su un insieme di esempi per i quali
sono disponibili le soluzioni.
Possiamo quindi definire una nuova grandezza che è l’errore empirico ossia quello che
farebbe il modello sui valori del campione per i quali abbiamo l’output del supervisore.
Formalmente lo definiamo come:
( )=
ove ( , ) =
1
( , )
, ( , ) per ogni = 1, … , .
L’errore empirico sembrerebbe richiamare la definizione di ( ) ossia di expected (media)
degli errori che però viene calato nell’ambito del campione osservato.
L’intuizione quindi è la seguente: è possibile definire un legame tra
( ) e ( )?
Se fosse vero che l’errore empirico approssima l’errore vero allora tramite una
minimizzazione della prima componente sarebbe possibile ottenere un modello che
minimizza anche l’errore vero e che quindi è in grado di generalizzare il fenomeno.
11
Questa è la sostanza del principio di Minimizzazione del Rischio Empirico, quello che
faremo ora sarà studiare le condizioni necessarie affinché effettivamente l’andamento di
( ) rifletta quello di ( ). In pratica vogliamo capire se la prima misura di errore
converge alla seconda.
Una volta accertata tale relazione dovremo chiederci con che velocità effettivamente
avviene la convergenza (ossia se nella pratica il principio è applicabile anche con una
dimensione campionaria ridotta) e come sia possibile controllare il processo.
Infine sarà fondamentale utilizzare i risultati della teoria per poter costruire degli algoritmi
di ricerca della funzione ottimale dal set di ipotesi che siano in grado di controllare il
processo di convergenza.
3.1 Condizioni di Consistenza
L’obiettivo è capire sotto quali condizioni l’errore empirico commesso dal modello riflette
il valore di ( ). Ciò si traduce nel verificare quando l’errore empirico risulta essere
consistente ossia che all’aumentare dell’informazione la sua distribuzione tende a
concentrarsi nell’intorno di ( ).
( ), allora l’ERM
Sia dunque ( , ) la funzione che rende minimo l’errore empirico
è consistente sul set di ipotesi e per una data distribuzione
quando si verificano
contemporaneamente le seguenti condizioni:
( )→
( )→
con
= inf ( ).
∈
La prima equazione ci dice che il rischio reale calcolato con la funzione che rende minimo il
( ) converge in probabilità al più basso valore assumibile da ( ) su quel set di
ipotesi (ossia ) al divergere della numerosità campionaria.
La seconda equazione invece ci garantisce che sia possibile stimare
empirico.
dal il rischio
Questa definizione di consistenza però non si adatta ai nostri scopi perché richiederebbe
uno studio delle caratteristiche delle funzioni contenute nel set di ipotesi scelto. Infatti si
consideri un set che non contiene alcuna funzione per cui l’ERM sia consistente.
Si supponga quindi di aggiungere a
una nuova funzione ( ) tale per cui
12
inf ( , ) > ( ) ∀
∈
Quindi la nuova funzione sta sempre sotto a tutte le funzioni definite in
valore di considerato.
quale che sia il
Consideriamo ora un nuovo set di ipotesi ∗ = { , ( )}, per questo insieme l’ERM è
consistente infatti per ogni spazio e numerosità campionaria la funzione che rende
minimo il rischio empirico è ottenuta da ( ) che è anche la funzione che minimizza ( ).
Chiamiamo questa situazione consistenza non stretta, a noi però serve una proprietà che
non ci obblighi ogni volta a dover controllare se esistono funzioni minoritarie nel set di
ipotesi. Per farlo si osservi che la consistenza non stretta è dovuta al fatto che esista una
funzione che sta sempre sotto a tutte le altre funzioni di , dunque perché l’ERM sia
consistente in senso stretto deve valere una convergenza uniforme per ogni sottoinsieme
di funzioni di e livelli di errori.
Sia dunque Λ(c) = { : ( ) > , ∈ Λ} l’insieme di tutte le funzioni di il cui livello di
errore e maggiore ad un valore . Affermiamo che l’ERM è strettamente consistente su e
quando:
inf
∈ ( )
ove ( ) = inf
∈ ( )
( )→ ( ) ∀ ∈
( ).
In sostanza per ogni insieme non vuoto di funzioni definite in base ad un valore soglia
soluzione empirica converge al ( ) più basso per quel particolare set di funzioni.
la
Si consideri il seguente set di funzioni:
Λ(T + ) = { : ( ) > T + ,
∈ Λ}
= inf ( )
∈
e si assuma vera la condizione
13
inf
∈ (
( )→ ( )
)
Allora sono vere le seguenti affermazioni:
( ) ≥T+
lim
→
Perché se
=0
( ) è il più basso rischio empirico ottenibile su tutto
consistenza stretta tenderà al minimo assoluto
lim
inf
∈ (
→
Perché se
2
che è minore di
( )≥T+
)
2
questo per la
+ .
=1
( ) è scelto nel insieme Λ(T + ) per definizione di consistenza stretta
tenderà ad un valore di errore
Se quindi è impossibile che
+ >
+ .
dia un errore maggiore di
solo funzioni il cui errore è strettamente superiore a
lim
→
[
+ e nell’insieme Λ(T + ) ho
+ allora varrà che
∈ Λ(T + )] = 0
Se quindi ∉ Λ(T + ) allora ( ) non può superare T + e contemporaneamente non
può essere inferiore al limite assoluto dunque
≤ ( )≤ T+ϵ
quindi ( ) converge al minimo assoluto
al divergere della dimensione campionaria.
Abbiamo dimostrato che se è verificata la convergenza stretta l’unica condizione che ci
interessa è data dalla
( )→
perché la convergenza in probabilità di ( ) a
è implicata dalla definizione di
consistenza stretta. Per poter verificare le condizioni affinché l’ERM sia consistente basta
studiare il comportamento del rischio empirico rispetto al minimo assoluto .
Notare che questo risultato è stato ottenuto assumendo vera la consistenza stretta sopra
indicata ma non abbiamo detto nulla sulle condizioni affinché questa si verifichi.
Posto quindi che a noi interessa il caso di convergenza stretta ed avendo dimostrato che in
essa interessa unicamente che
inf
∈
( )→
14
lo studio delle condizioni necessarie e sufficienti perché l’ERM sia strettamente consistente
si basano sullo studiare la variabile
( )−
( )
ma volendo definire una condizione che ci assicuri la consistenza dell’ERM sull’intero set di
funzioni studieremo il caso
[∆(
lim
→
)> ]=0
∆(
)=
( )−
( )
∈
In pratica se l’ERM è consistente rispetto alla funzione peggiore di (ossia quella che da la
maggior distanza tra rischio empirico e reale) allora l’ERM è consistente su tutto .
3.1.1 Teorema Chiave
Viene presentato ora uno dei risultati fondamentali della teoria dell’apprendimento
statistico. Il teorema in sostanza ci dice che se si verifica una determinata convergenza in
probabilità allora l’ERM è consistente.
Enunciato
≤ ( )≤
Se per
vale che
sufficiente che
allora perché l’ERM sia consistente è necessario e
[∆(
→
)> ]=0
Dimostrazione.
Sia l’ERM strettamente consistente su , allora è vero che
inf
∈ ( )
si consideri un set finito di numeri
= .
Si consideri il generico evento
=
inf
∈ (
)
( )→ ( ) ∀ > 0
tali per cui |
,…,
−
| < /2 ∀ ove
=
e
definito come
( ) < T(α ) −
2
Λ(α ) = { : ( ) > α ,
∈ Λ}
evidentemente ( ) → 0 perché il miglior rischio empirico ottenibile su quel set di
funzioni tenderà a T(α ) che è il minimo valore assumibile ( ) su Λ(α ), quindi il rischio
empirico non potrà essere inferiore a T(α ) ne tanto meno a T(α ) − . Dato che
quest’ultima condizione vale per ogni insieme -esimo avremo che:
15
→0
Si consideri ora l’evento = {∆(
tutto . Se accade vorrà dire che ∃
(
∗)
(
−
∗
∗)
) > } ove ∆(
∈ Λ tale per cui
∗)
⇒ (
>
) considera il caso peggiore su
(
− >
∗)
Notare che ∗ non è necessariamente la funzione peggiore perché la diseguaglianza
∆ ( ) > potrebbe essere verificata da un più di una funzione; questa funzione ∗ sarà
contenuta in un subset di del tipo
Λ( α ) = { : ( ) > α ,
∈ Λ}
per cui varrà che
(
∗)
∗)
>α ⇒ (
∗)
−α >0⇒ (
−α <
ε
2
infatti ∗ ∈ Λ(α ) e il livello minimo di questo insieme è definito da α ma per assunzione
la struttura dei diversi subset è tale per cui la distanza tra due livelli minimi adiacenti non
possa superare il valore ε/2.
Sostituendo ad α il limite inferiore di ( ) sull’insieme Λ(α ) non modifichiamo la
diseguaglianza di cui sopra (sempre per il fatto che la distanza tra due livelli minimi
adiacenti non possa superare il valore ε/2) e quindi
∗)
(
− inf
∈ (
inf
∈ (
−
)
)
inf
∈ (
)
( )<
ε
2
∗)
+
−
ε
2
( )<− (
( )> (
∗)
ε
2
sottraendo ad entrambi i lati della diseguaglianza e riprendendo la definizione di
inf
∈ (
)
( )−
ε
> (
2
∗)
(
−ε>
∗)
≥
inf
∈ (
)
∗
( )
quindi
inf
∈ (
)
( )−
ε
>
2
inf
∈ (
)
( )
16
(
)−
ε
>
2
inf
∈ (
( )
)
ma quest’ultima diseguaglianza è la definizione dell’evento
la cui probabilità di
accadimento per che diverge a più infinito è zero. Visto quindi che l’evento implica
l’evento dovrà valere che
lim
→
[∆(
)> ]=0
Abbiamo quindi dimostrato che esiste un legame tra la condizione di consistenza stretta
( ) ed ( ).
dell’ERM e la convergenza uniforme one side tra
Per poter utilizzare più avanti un importante risultato della teoria probabilistica (la
diseguaglianza di Hoeffding) vogliamo dimostrare che la consistenza stretta ha un legame
analogo con la convergenza uniforme two sides ossia quella che considera ∆|
| al
).
posto di ∆(
( )− ( ) >
Sia
l’evento
= inf ∈ ( )
a fronte del valore assoluto lo
possiamo scomporre nell’unione di due eventi disgiunti
con
=
∪
=
( ) + < inf
( )
=
( ) − > inf
( )
∈ ( )
∈ ( )
.
Supponiamo che accada
vale che
(
e consideriamo un
∗)
+
2
∗
per cui valga (
( ) + < inf
<
( )<
∈ ( )
∗)
<
(
∗)
( ) + /2 allora
quindi
(
∗)
+
2
<
(
∗)
⇒
(
∗)
− (
∗)
>
2
La probabilità di quest’ultima diseguaglianza non può essere minore di quella dell’evento
(perché ∗ è tale per cui ( ∗ ) < ( ) + /2) ed assumendo vera
lim
→
[∆(
)> ]=0
avremo
17
(
Supponiamo che accada
)≤
∗)
(
∗∗
e consideriamo un
(
∗∗ )
+
2
∗)
− (
>
→0
2
tale per cui
∗∗
< ( )< (
)
quindi
∗∗ )
(
(
∗∗ )
∗∗ )
(
+
<
2
∗∗ )
− (
(
−
(
∗∗
)
< −
∗∗ )
>
2
2
ne segue che
(
)<
(
∗∗ )
−
(
∗∗ )
>
2
(
<
∗∗ )
−
∈ ( )
(
(
∗∗ )
>
→
2
⎯ 0
→
) ⎯ 0
Essendo l’unione dei due sotto eventi avremo che ( ) = ( ) + ( ) ma visto che i
due addendi tendono ad azzerarsi al divergere della dimensione campionaria otteniamo
lim
→
inf
∈ ( )
( )− ( ) >
=0∀
Quindi il teorema chiave è di fondamentale importanza perché afferma che la consistenza
stretta dell’ERM si ottiene quando avviene la convergenza uniforme tra il rischio empirico e
quello effettivo. Nei prossimi capitoli sfrutteremo il risultato di questo teorema ed
andremo a studiare le condizioni per le quali effettivamente si verifica tale convergenza
uniforme sapendo che queste contemporaneamente garantiscono la consistenza stretta
del metodo.
18
3.1.2 Diseguaglianza di Hoeffding
Con il teorema Chiave abbiamo dimostrato che la di consistenza stretta dell’ERM equivale
alla convergenza uniforme definita da
lim
→
[∆|
|> ]=0
∆|
( )−
|=
( )
∈
ora dobbiamo capire sotto quali condizioni si verifica quest’ultima condizione, per farlo
avremo bisogno dei seguenti risultati:
1.Teorema di Bernoulli
al divergere della dimensione campionaria la frequenza con cui accade un evento su
, … , converge alla probabilità dell’evento stesso.
2.Diseguaglianza di Hoeffding
definendo con { ( , ) > 0} la probabilità dell’evento e con
frequenza osservata vale che
{| { ( , ) > 0} −
con ∈
e
{ ( , ) > 0} la
{ ( , ) > 0}| > } ≤ 2
> 0.
L’analogia con il risultato del teorema chiave è evidente, infatti il nostro obiettivo è proprio
quello di capire qualcosa sulla probabilità ( ) a partire dalla frequenza osservata
( ).
Notare come la diseguaglianza di Hoeffding definisca un limite superiore che è unicamente
funzione del grado di precisione desiderato ( ) e dalla dimensione campionaria .
Considerando quindi un insieme di funzioni = { ( , ), ∈ Λ} a cardinalità finita pari a
(| | = quindi il numero di funzioni contenute in è finito e pari a ) possiamo
riscrivere la Hoeffding calandola nel nostro caso
{∆|
|> }≤
{∆|
∆|
| = max
|> }≤
2
=2
ove
∆|
|=
(
( )−
)−
( )
(
)
19
Il risultato di cui sopra si giustifica dal fatto che la probabilità del caso peggiore su sarà
comunque minore o al più uguale alla somma delle probabilità di tutti gli elementi
dell’insieme (a maggior ragione se non si considerano tutti gli eventi intersezione) perché il
caso peggiore è comunque un di cui di .
Considerando poi che la diseguaglianza di Hoeffding definisce un limite superiore che non
fa riferimento ad una specifica funzione di giustifichiamo l’ultimo risultato.
Abbiamo quindi ottenuto che
{∆|
|> }≤2
che possiamo riscrivere come
( )
{∆|
|> }≤2
Quest’ultima equazione è fondamentale e ci permette di ricollegarci a quanto visto nel
capitolo sul Teorema Chiave. Avevamo infatti detto che
lim
→
ora abbiamo definito un limite superiore alla {∆|
[∆ (
)> ]=0
| > }.
La domanda che dobbiamo farci è: quand’è che la parte a destra della diseguaglianza
ricavata da Hoeffding si azzera per che diverge a più infinito?
( )
lim 2
→
=0
Si osservi che l’argomento dell’esponenziale andrebbe a −∞ quando lim
→
( )
= 0 infatti
rimarrebbe solamente
e nonostante
sia un valore contenuto in termini
operativi non potrà essere troppo contenuto e quindi al divergere di otterremmo
l’esponenziale di meno infinito che è zero.
Mettendo insieme il Teorema Chiave e quest’ultimo risultato otteniamo quindi che
lim
→
ln ( )
=0
Questa affermazione è sicuramente interessante ma poco utile ai fini applicativi perché si
ricordi che con indichiamo la cardinalità dell’insieme .
20
Segue dunque che solo quando ha un numero finito di elementi otteniamo la consistenza
stretta dell’ERM ma basti pensare al più semplice set di ipotesi (classificatore lineari) per
capire che il risultato di cui sopra risulta essere difficilmente applicabile.
In sostanza il risultato è applicabile solo quando ci limitiamo a cercare la soluzione di
ottimo in un set finito di funzioni ma praticamente ogni insieme di ipotesi utilizzabile ai
nostri fini ha cardinalità infinita.E’ quindi necessario definire una misura alternativa alla
mera cardinalità dell’insieme per definire il grado di complessità di un set di ipotesi
Questo sarà l’oggetto del prossimo capitolo ma prima è bene studiare più
approfonditamente il risultato dell’ultima disequazione.
{∆|
|> }≤2
=
⇒
=
ln
− ln
2
quindi
|>
∆|
ln
− ln
2
≤
e visto che questo è il caso peggiore possiamo dire che con probabilità 1 −
∆|
|≤
ln
− ln
2
accadrà che
∀
Siano dunque
1.
,
( )
2.
,
()
la funzione che rende minimo ( )
( )
la funzione che rende minimo
se l’ultima diseguaglianza vale per ogni funzione di
quindi con probabilità 1 − vale che
()
−
()
≤
ln
− ln
=
2
il valore assoluto è stato tolto perché se
()
>
()
()
,
allora vale anche per
⇒
()
rende minimo
≤
()
()
e
+
( ) allora vale che
.
Abbiamo quindi definito un limite superiore (in probabilità) del rischio reale (out of
sample) per una data funzione
, () .
21
Per capire quanto il rischio di una funzione selezionata (ossia quella che rende minimo
l’errore empirico) sia vicino al minimo assoluto si noti che per
, ( ) vale che
( )
−
( )
>
≤2
=
⇒
− ln
2
=
infatti se consideriamo una funzione che rende minimo ( ) questo sarà sicuramente più
piccolo del rischio empirico calcolato su quella stessa funzione.
Con probabilità 1 −
varrà che
( )
−
( )
<
Considerando che per definizione
( )
ed essendo
()
−
()
−
( )
⇒
( )
− ln
≤
2
−
()
( )
+
−
()
()
<
()
( )
−
≥
( )
<
( )
− ln
2
−
e unendo i due risultati otteniamo
()
≤
()
+
( )
−
( )
≤
+
− ln
2
( )
−
()
≤
+
− ln
2
per definizione positivo otteniamo
−
( )
≤
+
− ln
2
Quindi la distanza tra il rischio vero calcolato sulla mia funzione (ossia quella che rende
minimo il rischio empirico) ed il minimo assoluto è superiormente limitata dalla grandezza
a destra della diseguaglianza.
Possiamo quindi affermare che con probabilità 1 − 2 valga che
∆
()
≤
ln
− ln
− ln
+
2
2
22
Ricapitolando, nel caso di set di ipotesi
consistente quando
a cardinalità finita l’ERM risulta è strettamente
lim
ln ( )
→
=0
Inoltre si dimostra che il limite superiore del rischio atteso ottenibile con la funzione
( ) è pari a
, ( ) che rende minimo l’errore empirico
()
≤
()
ln
+
− ln
2
mentre al distanza tra l’errore atteso effettivamente ottenuto ed il minimo assoluto
superiormente limitata da
−
()
=∆
()
≤
ln
è
− ln
− ln
+
2
2
Le ultime due equazioni forniscono tutte le informazioni sulla capacità di generalizzazione
di una funzione ottenuta con il principio di ERM nel caso in cui | | = .
Si osservi che nel caso in cui diverga a più infinito al condizione che garantisce la
consistenza stretta dell’ERM implicherebbe anche che
()
perché se lim
→
( )
ln
+
= 0 anche
− ln
→
2
()
⇒
()
≤
()
tende a zero ed il numeratore di quanto sopra è più lento
nel tendere a meno infinito del denominatore. Per la seconda diseguaglianza avremo che
ln
− ln
− ln
+
→0 ⇒
2
2
()
→
Il primo risultato ci dice che se la dimensione campionaria è sufficientemente grande
attraverso la minimizzazione del rischio empirico siamo anche in grado di ottenere una
buona generalizzazione perché il fattore relativo alla complessità del set di ipotesi viene
meno. Questa buona generalizzazione è a sua volta confermata dal fatto che il rischio
effettivo che otteniamo converge al minimo assoluto .
23
3.1.3 Un ritorno alla metafora dello studente
Nel capitolo precedente abbiamo ottenuto importanti risultati che ci confermano come il
principio di minimizzazione del rischio empirico possa essere una soluzione al problema
dell’apprendimento tramite esempi.
Ritornando al nostro esempio dello studente possiamo ritradurre il risultato di cui sopra
nel seguente ragionamento: l’errore che lo studente commette in generale (su problemi
diversi da quelli usati nella fase di studio) è superiormente limitato dalla somma di due
componenti:
1. l’errore commesso sugli esercizi per i quali ha la soluzione
2. la complessità della regola teorica che adottata per risolvere i problemi
Più lo studente definisce una regola complessa e articolata e maggiore è la sua capacità di
risolvere correttamente gli esercizi. Questa maggior performance è però garantita solo
sugli esercizi già trattati perché la regola di risoluzione è stata formulata sulla base di
questi.
Infatti una regola molto complessa è anche molto specifica per i problemi sui quali lo
studente si è preparato quindi difficilmente andrà bene “in generale” ossia per nuovi
problemi che gli si presentano.
Una regola più generale sarebbe in grado di dare una soluzione accettabile (ma non
perfettamente corretta) ad un più vasto insieme di problemi al costo di non riuscire a
risolvere perfettamente gli esercizi di addestramento.
Se però il numero di esempi con cui lo studente si esercita diverge a più infinito allora è
come se lo studente avesse già una esperienza di tutti i possibili problemi che si possono
presentare e quindi in questo caso l’importante è definire una regola che sbagli il meno
possibile in fase di addestramento.
24
3.1.4 Misurare la complessità di un set di ipotesi
Come accennato nel capitolo sulla diseguaglianza di Hoeffding il risultato fin’ora ottenuto è
caratterizzato dal fatto di essere valido solo quando la ricerca della funzione di ottimo
viene fatta da un insieme di ipotesi con un numero di elementi finito.
Si è inoltre fatto cenno al fatto che normalmente un set di ipotesi adottabile nell’ambito
del pattern recognition potrebbe essere quello dei classificatori lineari che è una famiglia
di funzioni a cardinalità infinita.
Cosa accadrebbe alla diseguaglianza di Hoeffding in questo caso? Sostituendo
{∆|
se
|> }≤2
= ∞ la diseguaglianza di cui sopra diventa
{∆|
|> }≤∞
il che non è molto informativo ai nostri fini.
Serve quindi una grandezza alternativa a che inserita nella diseguaglianza di Hoeffding ci
dia un limite finito sul quale ricercheremo una condizioni perché si azzeri al divergere di .
Per meglio comprendere il seguente ragionamento si consideri un esempio: si supponga di
avere 10 punti su uno piano cartesiano e che questi siano suddivisioni in due categorie
rappresentate dai colori rosso e blu a seconda che si trovino al di sopra o al di sotto della
retta definita come = − .
Notare che qui stiamo assumendo di conoscere la regola
reale che genera le osservazioni campionarie e quindi
possiamo definire con certezza la classe di appartenenza
di ogni punto.
Si osservi che pur conoscendo la regola reale vi sono altre
rette diverse da quella indicata che permetterebbero una
classificazione identica a quella del grafico.
Immaginando di poter ruotare la retta rappresentata nel grafico notiamo che esistono
infinite rette diverse da = − che restituiscono la stessa classificazione di ogni punto ma
non appena “ci scontriamo” con una osservazione qualsiasi si modificherebbe la sua
classificazione e quindi la performance complessiva.
25
Il problema è che nella realtà non si conosce la vera regola che genera i dati e l’unica cosa
che possiamo osservare è il grafico seguente.
Supponendo di utilizzare come set di ipotesi l’insieme dei
classificatori lineari l’algoritmo di ricerca della soluzione
di ottimo cercherà di minimizzare l’errore empirico e
quindi otterremmo una retta che classifica correttamente
tutti i punti ma che non sarà pari a = − .
Ai nostri occhi finché esistono infiniti classificatori lineari
che applicati ai dati del training set non
modificherebbero la classificazione effettivamente
osservata.
Possiamo quindi considerare questo insieme di infinite rette che danno la stessa
classificazione come una sorta di subset del set di ipotesi di partenza.
Ne segue che il set di ipotesi a cardinalità infinita può essere in qualche modo ricondotto
all’unione di un numero finito di subset di ipotesi ove in ogni sottoinsieme si ha un numero
infinito di funzioni che però danno al stessa classificazione del training set.
L’intuizione è quella di sostituire nella diseguaglianza di Hoeffding alla
una grandezza
che dipende dal numero di questi sottoinsiemi contenuti in . Questo ci permetterebbe di
ritornare al caso a cardinalità finita pur utilizzando set di infinite ipotesi.
Ma quanti subset sono contenuti in ?
Ricordando che il singolo subset viene definito come l’insieme di rette che danno la stessa
classificazione dei punti e visto che la classificazione complessiva cambia non appena la
nostra retta (ma vale per una qualsiasi funzione) si scontra con una osservazione qualsiasi
è intuitivo pensare che il numero di subset sia legato in qualche modo a quante
classificazioni diverse si possono ottenere su punti.
Fatte queste premesse possiamo iniziare ad introdurre una notazione più formale, si
definisce set di ipotesi Η l’insieme di funzioni
Η = {ℎ:
→ [−1, +1]}
|Η| = ∞
si definisce dicotomia l’insieme
Η( , … , ) = {ℎ: { , … , } → [−1, +1]}
Dunque la dicotomia è una sorta di set di ipotesi “ristretta” perché al posto di basarsi
sull’intero spazio campionario ha come dominio i soli punti ( , … , ).
26
Evidentemente Η è costituito da infiniti elementi perché si basa su uno spazio che a sua
volta è formato da infiniti punti. Supponendo per semplicità di applicare ℎ al vettore
( , , ) il risultato sarà un vettore
ℎ( )
= ℎ( )
ℎ( )
ℎ
che potrà assumere otto diverse modalità (dicotomie)
0
0
0
0
0
1
0 1
1 0
0 0
1
1
0
1 0
0 1
1 1
1
1
1
essendo Η a cardinalità infinita posso applicare un numero di funzioni ℎ infinito allo stesso
vettore di osservazioni ottenendo tutte le dicotomie possibili. Ma per i motivi detti pocanzi
in molte situazioni al variare di ℎ otterrò un identico vettore binario.
Ne segue che il numero massimo di dicotomie è definito dal numero dei diversi vettori
binari che posso ricavare dalle funzioni del set Η
|Η( , … , )| ≤ 2
ove 2 è dato dal fatto che ogni osservazione può avere al massimo due diverse
classificazioni (nel nostro esempio 2 = 8).
Ma perché abbiamo specificato che 2 è il massimo numero di dicotomie?
Non dobbiamo dimenticare che con Η stiamo considerando un famiglia di funzioni che
vogliamo utilizzare per classificare un insieme di osservazioni. E’ quindi fondamentale
chiedersi in quanti modi diversi un certo tipo di funzioni riesce a classificare un dato
insieme di punti.
Ricordando il Perceptron di F. Rosenblatt è noto che un classificatore lineare su due
dimensioni non è in grado di classificare correttamente 4 punti. Ne segue dunque che il
massimo numero di dicotomie di un classificatore lineare definito su due dimensioni è 3. In
generale si dimostra che il numero massimo di punti dicotomie (punti frantumabili)
ottenibili da un classificatore lineare su dimensioni è + 1.
Chiamiamo con
( ,…, ) =
,…, ∈
|Η( , … , )|
il più alto numero di dicotomie ottenibili su un generico set di punti dal set di ipotesi Η.
27
Va notato che
,…,
non rappresenta lo specifico campione osservato ma
semplicemente un generico set di punti definiti nello stesso spazio. Il motivo è che qui
vogliamo definire una misura di capacità generale del set di ipotesi.
Per non confondere la notazione torniamo a quella utilizzata nel capitolo sulla
diseguaglianza di Hoeffding (ove Λ rappresentava il set di ipotesi) e chiamiamo con
( , … , ) = ln
( ,…, )
l’entropia casuale di un set di funzioni Λ.
( , … , ) prima indicata riscalata in termini
Questa non è nient’altro che la grandezza
logaritmici e descrive il grado di diversità (complessità) di un set di funzione su un insieme
di punti.
Se ora consideriamo , … , come un insieme di punti effettivamente osservati e assunti
( , … , ) è una variabile
come i.i.d. da una variabile casuale ricaviamo che anche
aleatoria che quindi dipende dal campione che si è osservato.
Se quindi volessimo misurare il grado di complessità di un set di ipotesi su punti in
generale, un indicatore ragionevole è il numero medio di dicotomie ottenibili con quel set
di ipotesi Λ su un insieme di punti.
( , … , ) sia misurabile su
Per calcolare l’expected dovremo assumere che
ne esista il valore atteso rispetto alla probabilità congiunta ( , … , )
()=
ln
cioè che
( ,…, )
questa quantità viene chiamata entropia di un set Λ di funzioni indicatrici su un campione
di dimensione .
Infine chiamiamo annealed VC-entropy (il motivo verrà spiegato in seguito) la grandezza
()=
( ,…, )
e per la diseguaglianza di Jensen varrà che
()≤
()
28
3.1.5 Sostituire alla cardinalità l’entropia in Hoeffding
( ) sia una grandezza ragionevole per valutarla capacità di un set di
Posto quindi che
funzioni dobbiamo trovare ora un modo per sostituirla alla
all’interno della
diseguaglianza di Hoeffding così da poter derivare le disequazioni che descrivono la
capacità di generalizzazione di un set di ipotesi.
La dimostrazione completa del teorema che andremo a trattare è molto lunga e complessa
quindi in questa sede ci limiteremo alla intuizione che vi è alla base.
= −
Sia
e supponiamo di avere un database di 2 elementi
,…,
che viene
ripartito in maniera casuale in due sotto campioni di dimensione .
Si dimostra che
sup
1
( , ) −
1
( , ) >
⇒ {∆|
≤2
|>
}≤2
∈
quanto richiama evidentemente la diseguaglianza di Hoeffding come se avessimo assunto
che il rischio empirico calcolato sui primi elementi sia il rischio effettivo ossia
1
Per ogni campione
( , )=
( , )
( )
esiste un solo set di funzioni distinguibili
∗)
( ,
∈ Λ( , … ,
) = Λ∗ : |Λ∗ | =
∗
( ,…,
)
In sostanza dal set di infinite funzioni Λ estraiamo un sottoinsieme finito Λ∗ con cardinalità
∗
( , … , ) che è pari al più alto numero di dicotomie ottenibili con Λ∗ su questo set di
punti.
Avendo un subset finito possiamo applicare gli stessi ragionamenti visti la prima volta che
abbiamo utilizzato la diseguaglianza di Hoeffding:
∆|
|>
,
| ,…,
=
∆|
, ∗|
>
| ,…,
con
∆
,
∆
, ∗
= sup
= sup
∈
∈ ∗
∑
∑
( , ) − ∑
( , ) − ∑
( , ) caso peggiore su tutto Λ
( , ) caso peggiore su Λ∗ ⊂ Λ
29
Essendo Λ∗ a cardinalità finita vale che
∆|
, ∗|
>
| ,…,
≤
∆|
∈
, ∗
|>
| ,…,
∗
∗
ove gli elementi della sommatoria sono un numero finito pari a
essendo il limite superiore uguale per ogni funzione avremo
∆|
, ∗
|>
| ,…,
∗
=2
( ,…,
)
( ,…,
(
=2
) e quindi
,…, )
∈ ∗
Calcoliamo quindi il valore atteso rispetto alla probabilità congiunta
otteniamo
( ,…,
)
( )
∆|
, ∗|
>
=
∆|
, ∗|
>
| ,…,
<2
considerando il seguente lemma (la cui dimostrazione non sarà presentata)
{∆|
|> }<2
∆|
, ∗|
>
otteniamo il risultato finale
( )
{∆|
|> }<4
Quest’ultima disequazione è estremamente simile a quella vista nel caso di a cardinalità
finita. Dobbiamo quindi chiederci quando la parte a destra della diseguaglianza si azzera
per che diverge a più infinito.
( )
lim 4
=0
→
Per motivazioni analoghe a quelle viste quando si trattava ln( ) / osserviamo che
affinché la parte destra della diseguaglianza si azzeri è necessario e sufficiente che
lim
→
(2 )
=0
Possiamo quindi affermare
lim
→
(2 )
=0
30
Sfruttando ragionamenti analoghi a quelli visti nel caso a cardinalità finita possiamo
riscrivere la cosa come
( )
{∆|
quindi con probabilità 1 −
( )≤
|> }<4
=
dovrà valere simultaneamente per ogni equazione di
(2 ) − ln( /4)
( )+
+
1
che
( )+
=
Considerando quindi le funzioni che rendono minimo rispettivamente il rischio empirico e
il rischio atteso ricaviamo
( )≤
(
ed essendo (
)< ( )e
( )−
)>
(
( )<
− ln
2
) otteniamo con probabilità 1 − 2
(2 ) − ln( /4)
1
− ln
+ −
2
a cardinalità infinita l’ERM risulta è strettamente
lim
→
ove
)−
(
= ∆( ) ≤
Ricapitolando, nel caso di set di ipotesi
consistente quando
( )+
(2 )
=0
(2 ) è una misura di capacità del set di funzioni Λ alternativa alla cardinalità.
Inoltre si dimostra che il limite superiore del rischio atteso ottenibile con la funzione
( , ) che rende minimo l’errore empirico
( ) è pari a
( )≤
( )+
(2 ) − ln( /4)
+
1
mentre al distanza tra l’errore atteso effettivamente ottenuto ed il minimo assoluto
superiormente limitata da
è
31
( )−
(2 ) − ln( /4)
= ∆( ) ≤
1
− ln
+ −
2
Le ultime due equazioni forniscono tutte le informazioni sulla capacità di generalizzazione
di una funzione ottenuta con il principio di ERM nel caso in cui | | = +∞.
Si osservi che nel caso in cui diverga a più infinito al condizione che garantisce la
consistenza stretta dell’ERM implicherebbe anche che
(2 ) − ln( /4)
( )+
perché se lim
→
( )
= 0 anche
+
1
→
( ) ⇒
( )≤
( )
tende a zero ed il numeratore di quanto sopra è più
lento nel tendere a meno infinito del denominatore. Per la seconda diseguaglianza avremo
invece che
(2 ) − ln( /4)
1
− ln
+ −
→0⇒ ( )→
2
Il primo risultato ci dice che se la dimensione campionaria è sufficientemente grande
attraverso la minimizzazione del rischio empirico siamo anche in grado di ottenere una
buona generalizzazione perché il fattore relativo alla complessità del set di ipotesi viene
meno. Questa buona generalizzazione è a sua volta confermata dal fatto che il rischio
effettivo che otteniamo converge al minimo assoluto .
32
3.1.6 Funzione di crescita e vincoli costruibili
Nel capitolo precedente abbiamo generalizzato il nostro ragionamento introducendo una
nuova modalità per misurare il grado di complessità di un set di ipotesi così da poter
utilizzare la diseguaglianza di Hoeffding anche nel caso in cui la cardinalità del insieme
fosse infinita.
Con passaggi analoghi a quelli visti nel caso | | = abbiamo definito due disequazioni in
grado di descrivere interamente la capacità di generalizzazione definita dalla funzione
( ,
) = arg min
( )
ossia quella funzione che rende minimo il rischio empirico secondo quanto suggerito dalla
intuizione dell’ERM.
Queste due disequazioni definiscono un limite superiore al rischio reale che otterrei
utilizzando ( , ) ossia quant’è al massimo il rischio di generalizzazione che posso avere
nonché la distanza tra questo errore generico ed il minimo assoluto ottenibile dall’insieme
di funzioni .
Sicuramente il ragionamento fatto è stato utile per potersi liberare dal vincolo della
cardinalità degli insiemi di funzioni ma d’altro canto i risultati ottenuti non sono utilizzabili
nell’ambito applicativo.
Il problema risiede proprio nella nuova misura di capacità di perché in sostanza non
(2 ) per un qualsiasi set di ipotesi.
esiste una regola che ci permetta di calcolare
Se prima con la cardinalità bastava misurare il numero di elementi che appartengono ad
ora dovremmo calcolare una funzione del numero massimo di punti frantumabili dalle
soluzioni contenute in .
Non solo, oltre al fatto di non essere facilmente quantificabile per una generica
(2 ) è stata calcolata come
grandezza
()=
la
( ,…, )
( , … , ) rispetto a implica il dover conoscere le probabilità
ove l’avere l’expected di
congiunte ( , … , ) e quindi la distribuzione di .
Quando abbiamo descritto il problema dell’apprendere tramite esempi abbiamo
specificato che i dati campionari sono assunti come manifestazioni i.i.d. da una variabile
aleatoria la cui distribuzione non è nota e non lo sarà mai.
33
L’unica condizione che poniamo è che le osservazioni campionarie siano tutte estratte
dalla stessa variabile aleatoria in maniera indipendente ma non imponiamo alcuna ipotesi
distributiva su .
In definita per poter davvero applicare nella pratica i risultati teorici qui presentati
abbiamo bisogno di definire delle diseguaglianze che descrivano la capacità di
generalizzazione di una data funzione
 indipendentemente dalla distribuzione della posto che valga l’ipotesi i.i.d. e che
 adotti una misura di capacità del set di ipotesi facilmente definibile
così facendo tutte le grandezze a destra delle due diseguaglianze fondamentali (rischio
empirico e capacità del set) sarebbero calcolabili.
A questo fine dovremmo introdurre due nuovi concetti fondamentali nell’ambito della
teoria dell’apprendimento statistico: la funzione di crescite e la dimensione di Vapnik e
Chervonenkis.
Definiamo funzione di crescita sul set di ipotesi Λ il più alto numero di vettori definiti
nell’input space frantumabili da una qualche funzione di Λ
( ) = ln
( ,…,
)
,…, ∈
quindi la growth function ci dice il più alto numero di vettori per i quali esiste in Λ almeno
una funzione in grado di ottenere tutte le possibili dicotomie (che ricordiamo 2 ).
Va sempre ricordato che qui stiamo considerando una proprietà generica del set di
funzioni Λ quindi i vettori , … , non sono da intendersi come osservazioni campionarie
quanto più come punti generici definiti nello spazio di input.
La growth function ha quindi un evidente legame con le misure di capacità introdotte
precedentemente, in particolare avevamo
()=
()=
ln
( ,…, )
( ,…, )
( ) è maggiore della
( ) visto che quest’ultima fa una media
ma evidentemente la
rispetto a mentre la growth function prende il valore più alto.
Otteniamo
()≤
()≤
()
34
Riprendendo la prima delle equazioni fondamentali possiamo dire quindi che
( )
{∆|
( )
|> }<4
≤4
perché tutta la parte a destra della diseguaglianza resta costante salvo la sostituzione di
( ) in
(2 ).
Proseguendo con il solito ragionamento avremmo che
lim
→
()
=0
( ) non dipenda dalla conoscenza della distribuzione di visto che
Si osservi come la
non viene fatto il valore atteso quindi la growth function sembra essere una buona
( ) come misura di capacita di un set di ipotesi.
candidata a sostituire
Dobbiamo solo verificare che sia anche facilmente calcolabile per un generico insieme ,
per farlo ci appoggeremo al seguente teorema. Anche la dimostrazione di questo risultato
è molto lunga e complessa quindi ci limiteremo a dare l’intuizione su cosa significhi questo
teorema rispetto alle equazioni fondamentali che ci interessano.
Enunciato:
Si dimostra che la
( ) di un set di funzioni indicatrici
()=
= { ( , ):
∈ } è pari a
2
oppure limitata superiormente dalla diseguaglianza
=
()
2
≤ℎ 1+
con ℎ pari al più grande intero per cui
()=ℎ
≤ℎ
ℎ
>ℎ
2
Quindi le funzioni di crescita si organizzano in due insiemi
 Lineari con pendenza positiva pari a ln 2 (illimitate al crescere di )
 Superiormente limitate da un valore ℎ
dove il parametro ℎ è chiamato dimensione di Vapnik e Chervonenkis ed è in definitiva ciò
che caratterizza la capacità di un set di funzioni.
35
Dalla definizione di funzione di crescita superiormente limitata possiamo definire ℎ come il
più alto numero di vettori , … , che sono classificabili in tutti i 2 modi da almeno una
funzione di = { ( , ): ∈ }.
E’ quindi evidente che se ≤ ℎ nel caso di funzioni superiormente limitate avremo
( ) = ln 2 = ln 2 perché se siamo in grado di frantumare ℎ punti allora ogni insieme
di punti inferiori ad ℎ è frantumabile.
( ) riesce a ottenere tutte le 2
Se invece la funzione di crescita è di tipo lineare allora la
possibili dicotomie per ogni possibile quindi ℎ = ∞.
Ricollegandoci alla affermazione
lim
()
→
=0
( )/ può avvenire
possiamo quindi osservare che questa convergenza a zero di
solamente quando la funzione di crescita è superiormente limitata.
Infatti nel caso di dimensione VC infinita avremo
()
= ln 2
che evidentemente non può convergere allo zero. Nel caso di funzioni superiormente
limitate avremo invece
()
=
ℎ
1+
ℎ
ed essendo ℎ in questo caso un numero reale evidentemente la scrittura di cui sopra
converge a zero essendo ℎ/ più veloce di ln(ℎ/ ).
Quindi potremmo riscrivere in definitiva che:
ℎ
Per rafforzare questo risultato dimostriamo come un set di funzioni
convergere in maniera uniforme.
è
con ℎ = ∞ non può
Supponiamo di considerare un insieme di funzioni = { ( , ): ∈ } con
allora sappiamo che questo è in grado di frantumare qualsiasi set di punti , … ,
che sia ossia
( ,…, ) = 2
=∞
quale
∀
,…, ∈
36
fissato un qualsiasi scegliamo un valore di
intero tale per cui
piccolo a piacere ed indichiamo con
un
>
essendo la dimensione VC infinita il set
2 modi.
è in grado di frantumare anche
1
in tutti i
, … , assumiamo che tutta la probabilità
in modo tale per cui
Definendo sinteticamente con
il campione
dello spazio campionario sia concentrata su
( )=
,…,
∀ = 1, … ,
In sostanza stiamo dicendo che un valore osservato
proviene necessariamente da
(perché è li che si concentra tutta la probabilità) ed ha probabilità di estrazione pari a 1/
quindi è come se lo spazio campionario sia collassato nello spazio definito dalle sole
combinazioni dei punti di .
All’interno di
e quindi
possiamo definire
che sarà necessariamente un sottoinsieme del primo
=
∪
essendo
( ,…,
Esiste in
una funzione
∗
)=2
che assume valori
 1 per tutti i punti appartenenti a
che rappresentano una quota
 0 per tutti i punti appartenenti a
che rappresentano una quota in
in
( ∗ ) = 0) ed un errore atteso almeno pari
Quindi avremo un errore empirico nullo (
alla quota di punti di
in
( ( ∗ ) ≥ ( − )/ ) e si osservi che
>
⇒
−
>1− ⇒ (
∗)
>1−
∗)
= ∆|
quindi con probabilità pari a 1 avviene che
(
∈
∗)
(
>1− ⇒
∗)
−
(
|>1−
∈
37
| > 1 − ed essendo
E’ quindi certo che ∆|
operativi (tra il 5 e 1%) vale che 1 − > quindi
[∆|
il grado di precisione per valori
|< ]=0
A differenza di quanto visto nei capitoli precedenti questo è un risultato esatto e non
asintoticamente vero.
L’avere una dimensione VC finita è quindi condizione necessaria perché l’ERM sia
consistente. D’altro canto dalla diseguaglianza di Hoeffding abbiamo visto che la
consistenza è ottenuta solo quando ( )/ converge a zero e ciò accade solo per funzioni
di crescita superiormente limitate ossia con dimensione VC finita.
L’avere una
finita è quindi condizione necessaria e sufficiente alla consistenza
dell’ERM. Assumendo che ciò avvenga possiamo ricavare le diseguaglianze fondamentali
sostituendo alla ( ) la sua definizione nel caso di funzione limitata
( )≤ℎ 1+
ℎ
dentro
( )
{∆|
|> }<4
≤4
Con passaggi analoghi a quelli visti nel caso a cardinalità finita e non otteniamo le seguenti
diseguaglianze fondamentali
( )≤
( )−
( )+
= ∆( ) ≤
()
2
1+ 1+4
( )
=
()
()
− ln
+
1+ 1+4
2
2
( ) + Ω(ℎ, , )
( )
=
()
− ln
+ Ω(ℎ, , )
2
con
()=4
ℎ ln
2
+ 1 − ln
ℎ
4
=4
Come sempre il risultato è analogo a quelli visti precedentemente, ancora una volta
osserviamo che al divergere di a più infinito la componente che spiega la capacità del set
38
di ipotesi si azzera lasciando il solo rischio empirico come limite superiore al valore di
rischio effettivo che a sua volta tende al minimo assoluto ottenibile su quel set di ipotesi.
La differenza con tutti i casi fin’ora visti è che la grandezza Ω(ℎ, , ) ora è calcolabile e
quindi a seconda di quale errore empirico otteniamo potremmo definire il limite in
probabilità del rischio effettivo così come la distanza rispetto al valore di ottimo assoluto.
Vediamo la cosa con un esempio: si supponga di voler utilizzare come classificatore lineare
l’insieme degli iperpiani di separazione. Si dimostra che in generale il massimo numero di
punti frantumabili da questo insieme funzionale è + 1 ove rappresenta il numero di
dimensioni su cui è definito lo spazio di input.
Dalla definizione di dimensione VC ricaviamo quindi che quella degli iperpiani di
separazione è appunto + 1.
Si assuma di avere i seguenti dati
 Input space definito in
quindi ℎ = 3
 Dimensione campionaria disponibile = 100
 Misura di precisione scelta
= 0.05 quindi
= − = 0.04
=4
.
Otteniamo che
=4
(100) = 4
3 ln
= 0.001848502
200
0.001848502
+ 1 − ln
3
4
= 0.931151571
100
e quindi
( )≤
( ) + 0.465757855 1 + 1 + 4
( )
0.931151571
∆( ) ≤ 0.177389116 + 0.465757855 1 + 1 + 4
( )
0.931151571
con probabilità rispettivamente
1−
= 0.998151498
1 − 2 = 0.996302996
39
3.2 Principio di Minimizzazione del Rischio Strutturale
Data la lunghezza e complessità dei ragionamenti fatti nei capitoli precedenti è bene
presentare una sorta di riassunto dei passaggi logici fin’ora fatti. L’aver presente la logica di
fondo fin’ora seguita sarà fondamentale per capire il problema che verrà affrontato in
questo capitolo.
I nostri ragionamenti sono iniziati chiedendosi cosa significasse apprendere e quando
effettivamente si può affermare di aver appreso. Abbiamo visto che nel nostro ambito con
apprendere indichiamo la capacità di definire una regola che dia una buona soluzione “in
generale” ossia per ogni possibile problema che si può avere senza limitarsi agli esempi
utilizzati per l’addestramento (ossia per definire la regola).
Potevamo quindi definire l’errore come l’expected definito su tutto lo spazio campionario
di una qualche funzione di errore che dipende dalla soluzione scelta.
Per calcolare questo expected è però necessario conoscere la distribuzione di e nella
pratica ciò non avviene mai. Quindi apprendere si traduce in un problema di ottimizzazione
ove la quantità da minimizzare non è calcolabile.
Si è però osservato che l’errore empirico ha una definizione che richiama quella dell’errore
vero limitata però ai soli esempi campionari invece che all’intero input space. Se quindi
esiste una relazione tra rischio reale ed empirico tramite una minimizzazione di
quest’ultimo saremmo in grado di ottenere una buona performance di classificazione in
generale e quindi di apprendere.
Questa è l’intuizione che sta alla base dell’ERM, il problema è però definire appunto questa
relazione tra i due tipi di errori. Dopo una serie di ragionamenti e teoremi siamo giunti alla
conclusione che l’errore reale ottenuto con la funzione che rende minimo il rischio
empirico e superiormente limitato in probabilità da una grandezza definita come la somma
tra il rischio empirico e una quantità che dipende dalla complessità del set di ipotesi
utilizzate.
Abbiamo inoltre definito una seconda equazione che ci dice quanto l’errore effettivo
ottenuto con la nostra funzione di ottimo sia vicino in probabilità al minimo assoluto che si
potrebbe avere sul set di funzioni che abbiamo scelto come possibili soluzioni.
Tutti i ragionamenti che abbiamo fin’ora fatto sono serviti a dirci quanto la soluzione di
ottimo che troviamo in fase di addestramento è buona ma operativamente non abbiamo
aggiunto nulla a come si trova la soluzione.
40
Infatti potevamo comunque ricavare lo stesso risultato operativamente con un qualche
algoritmo in grado di ottenere un rischio empirico estremamente contenuto se non
addirittura nullo.
L’ERM alla fine afferma semplicemente che per ottenere una buona performance in
generale bisogna minimizzare il rischio empirico. Tutti i ragionamenti fatti non fanno altro
che giustificare questa affermazione.
Vi è però una critica fondamentale al criterio dell’ERM che è rimasta sottointesa lungo
questi capitoli ossia che l’ERM funziona solo quando la dimensione campionaria è molto
elevata.
Infatti si ricordi come quasi tutti i teoremi e le affermazioni fondamentali definivano una
qualche grandezza che rapportata ad doveva convergere a zero per → ∞ affinché l’ERM
fosse consistente. Persino quando si afferma che la dimensione VC deve essere finita
questo si giustificava col fatto di riuscire ad ottenere ( )/ → 0 quando converge a più
infinito.
Nella realtà però la dimensione campionaria non è infinita e quindi è bene chiedersi se un
criterio che guarda solo alla minimizzazione del rischio empirico sia l’ideale nel ricercare
una funzione ottimale.
Per rispondere si riprenda l’esempio numerico, posto di voler utilizzare la famiglia degli
iperpiani di separazione avevamo i seguenti dati:
 Input space definito in
quindi ℎ = 3
 Dimensione campionaria disponibile = 100
 Misura di precisione scelta
= 0.05 quindi
= − = 0.04
Otteniamo che
= 0.001848502
(100) = 0.931151571
e quindi
( ) ≤ 0.465757855 1 + 1 + 4
( )
0.931151571
con probabilità
1−
= 0.998151498
41
Una dimensione campionaria = 100 non è dopotutto così elevata ed infatti se anche
ponessimo il rischio empirico pari a zero otterremmo
( ) ≤ 0,93151571
con una probabilità di circa 0,998.
Con una dimensione campionaria di = 100.000 otteniamo invece
( ) ≤ 0,012578961
con una probabilità approssimata a 1.
La funzione che rende minimo il rischio empirico da anche una buona performance out of
sample solo quando la dimensione campionaria è sufficientemente elevata, altrimenti si
incorre in quello che nell’ambito dell’apprendimento statistico è chiamato overfitting.
L’overfitting può essere definito come la situazione in cui il modello è sovra adattato agli
esempi utilizzati in fase di addestramento e quindi non ha definito una regola che gli
permetta di eseguire una buona classificazione in generale.
Riprendendo la nostra metafora l’overfitting è lo scenario in cui lo studente ha
sostanzialmente memorizzato tutti gli esempi su cui si è esercitato ma non ha definito
alcuna regola generale che gli permetta di risolvere un nuovo problema.
Va altresì notato che i risultati teorici ottenuti nei capitoli precedenti non vengono meno
nel caso in cui sia piccolo. Infatti le diseguaglianze fondamentali
( )≤
∆( ) ≤
( ) + Ω(ℎ, , )
− ln
+ Ω(ℎ, , )
2
sono vere indipendentemente da che valore assume .
Quello che stiamo qui dicendo è che se è contenuto la soluzione ottimale non è quella
( ) perché rimane un fattore Ω(ℎ, , ) che altrimenti si
che rende minimo
azzererebbe per → ∞.
A conferma del fatto che tutto il lavoro fin’ora svolto non è stato inutile osserviamo che se
le due diseguaglianze fondamentali sono vere queste ci suggeriscono implicitamente un
metodo alternativo alla ricerca della soluzione di ottimo.
42
Infatti, se la dimensione campionaria è contenuta allora è ragionevole affermare che la
funzione di ottimo sarà quella che all’interno dello spazio funzionale scelto restituisce il
minor valore della somma delle due componenti a destra della diseguaglianza che
definisce il vincolo di ( ) ossia
∗
= arg min
∈
( ) + Ω(ℎ, , )
In questo modo dovremmo essere in grado di definire un vincolo al rischio effettivo che sia
inferiore a quello ottenibile con l’ERM.
Dobbiamo quindi chiederci se esista un modo con cui possiamo controllare il parametro
Ω(ℎ, , ) per poterlo considerare attivamente nella minimizzazione.
A tal proposito si riprenda l’esempio numerico proposto poc’anzi, si consideri di non
modificare alcun parametro tranne la dimensione di VC. I risultati diventano
 ℎ=3 ⇒
 ℎ=2 ⇒
 ℎ=1 ⇒
( ) ≤ 0.93151571
( ) ≤ 0.68777550
( ) ≤ 0.40253950
à 0.998151
à 0.989926
à 0.907345
va notato che avendo posto il rischio empirico pari a zero il vincolo superiore di ( ) è
interamente definito dalla grandezza Ω(ℎ, , ) che quindi ha una relazione inversa rispetto
alla dimensione VC.
Più la dimensione di VC è bassa e minore è il valore ottenuto su Ω(ℎ, , ) a parità di ogni
altra condizione quindi la soluzione che minimizza il vincolo superiore del rischio effettivo
deve tener conto anche del grado di complessità del set di funzioni scelto.
Come possiamo però controllare quest’ultima componente?
Dall’esempio numerico di cui sopra ricordiamo che il set di ipotesi scelto era quello degli
iperpiani di separazione la cui dimensione VC è pari a + 1 ove è la dimensione dello
spazio di input.
Sempre nel nostro esempio avevamo assunto di avere dati campionari definiti sul piano
cartesiano e da li abbiamo definito la ℎ del nostro set di ipotesi pari a 3.
In realtà nulla ci vieta di poter utilizzare come
classificatore un valore soglia (definito quindi in ) pur
avendo dati definiti sulle due dimensioni. Semplicemente
classificherò le osservazioni a seconda di come si
43
posizionano rispetto ad un valore soglia (che farà riferimento alla prima o seconda
coordinata).
Generalizzando a spazi campionari di dimensioni se stiamo adottando come set di ipotesi
l’insieme degli iperpiani di separazione nulla mi costringe a dover scegliere la soluzione nel
sottoinsieme degli iperpiani definiti su dimensioni e che quindi hanno ℎ = + 1.
Potrei scegliere come soluzione un qualsiasi iperpiano la cui dimensione varia da 1 a
che quindi ha una dimensione VC che varia tra 2 e + 1.
e
L’esempio di cui sopra è utile per farci comprendere come certi set di ipotesi abbiano al
proprio interno una sorta struttura nidificata definita sulla base del grado di complessità a
cui si fa riferimento.
Nel nostro esempio se è l’insieme degli iperpiani di separazione su
è scomponibile in una struttura nidificata del tipo
⊂
⊂⋯⊂
⊂
⊂
dimensioni lo stesso
che equivalgono a
⊂
⊂⋯
Ogni sotto insieme è caratterizzato dall’avere un grado di complessità superiore a quelli
precedenti ed inferiore a quello dei livelli che lo contengono.
Definendo con ℎ la VC dimension dell’ -esimo livello della struttura per i motivi di cui
sopra dovrà valere che
ℎ ≤ℎ ≤⋯≤ℎ
Una struttura di questo tipo nel set d ipotesi permetterebbe di controllare il parametro
Ω(ℎ, , ) tramite la scelta di un opportuno sottoinsieme in cui individuare la soluzione di
ottimo.
Il problema che però sorge da una tale frammentazione del set di ipotesi è che scegliendo
un certo sottoinsieme non si trovi una soluzione ottimale. E’ quindi necessario garantire
che per ogni sottoinsieme
di
sia possibile ottenere almeno asintoticamente una
soluzione che sia ottimale limitatamente alle funzioni che appartengono a questo subset.
Ricordando che la consistenza dell’ERM risulta garantita solo a patto di avere una VC
dimension finita una condizione necessaria perché ciò valga per tutti i sottoinsiemi è che
ℎ sia finito per ogni .
44
Infine considerando che con ( , ) s’intende una funzione di perdita è ragionevole
pensare che questa non possa assumere qualsiasi valore ma che sia limitata come
0≤ ( , )≤
ne segue che ad ogni sottoinsieme
a quella vista con le dimensioni VC
corrisponderà un
≤
che avranno una struttura simile
≤⋯≤
L’ultima condizione è per motivi molto tecnici ma ci servirà per superare un passaggio in un
una dimostrazione di un teorema fondamentale.
Definendo con
∗
assumiamo che questo sia denso su tutto
=
ossia che esista un ( ,
| ( , )− ( ,
ove
∗ )|
∗)
∈
∗
tale per cui
( )<
è un valore piccolo a piacere.
Abbiamo ora tutti gli elementi per poter definire il concetto di struttura ammissibile di un
set di ipotesi che sarà fondamentale nel principio di ricerca della funzione ottimale nel caso
in cui non si disponga di una dimensione campionaria sufficiente.
Definiamo struttura ammissibile di
= { ( , ):
⊂
⊂
∈ Λ} la
⊂⋯
per cui sono vere le seguenti condizioni
1. ℎ ≤ ℎ ≤ ℎ ≤ ⋯ ove ogni ℎ è finito
2.
≤
≤
≤⋯
∗
3.
è denso su tutto
Questa nozione ci servirà nei prossimi capitoli in cui dimostreremo due teoremi
fondamentali i quali sostanzialmente affermano che:
1. se ha una struttura ammissibile allora per ogni sottoinsieme il rischio effettivo
ottenuto con la funzione che rende minimo il rischio empirico converge all’ottimo
con un tasso di convergenza non infinito
45
2. l’SRM è consistente (come l’ERM) indipendentemente dalla distribuzione di
converge all’ottimo assoluto con una velocità elevata.
e
3.2.1 Alcune definizioni
Nel precedente capitolo abbiamo introdotto l’SRM come un principio che a differenza della
mera minimizzazione del rischio empirico cerca la soluzione di ottimo nella funzione
( , ∗ ) tale per cui
∗
= arg min
∈
( ) + Ω(ℎ, , )
Questo cambio di approccio si giustificava dal fatto che l’ERM consente di ottenere buoni
risultati out of sample solo quando la dimensione campionaria tende a più infinito.
Dopo aver visto che il secondo addendo Ω(ℎ, , ) è in parte governato dalla dimensione
VC del set di ipotesi scelto si è intuito come uno stesso insieme possa essere visto come
la nidificazione di tanti sottoinsiemi definiti da una diversa dimensione VC.
Nella ricerca del ∗ ottimale è quindi possibile governare il fattore ℎ (ossia Ω(ℎ, , )) con
un’opportuna scelta del subset di ipotesi in cui cercare la soluzione finale.
Per una serie di motivazioni tecniche abbiamo poi dato una definizione di struttura
ottimale di un set di ipotesi.
Prima di passare ai due teoremi che ci giustificheranno l’utilizzo dell’SRM è bene dare una
serie di definizioni che ci permetteranno di snellire la notazione che utilizzeremo in
seguito.
Innanzitutto va specificato che nei capitoli riguardanti l’ERM abbiamo implicitamente
assunto che la funzione di perdita ( , ) non avesse alcun vincolo sui valori che può
assumere. Più in generale si dimostra che se
≤ ( , )≤
la diseguaglianza di
Hoeffding diviene
{∆|
|> }≤
(
)
e quindi
{∆|
Ponendo

{∆|
|> }≤
(
)
= 0 come specificato nella definizione di struttura ammissibile otteniamo
|> }≤
nel caso a cardinalità finita
46
( )

{∆|
|> }<4
nel caso a cardinalità infinita
Quindi la diseguaglianza fondamentale diviene
( )≤
( )+
()
2
( )
()
1+ 1+4
Definiamo inoltre le seguenti funzioni di riferimento
1.
( , ) = arg min ∈
( )
la funzione che minimizza l’errore empirico all’interno di uno specifico subset
2.
( , ) = arg min ∈
( )
la funzione che minimizza l’errore atteso all’interno di uno specifico subset
3.
( , ) = arg[min ∈ ( )] = ( )
la funzione che minimizza l’errore atteso considerando l’intero set di ipotesi
4.
()
regola (che supponiamo esista) a priori e che ci dica quale
numerosità campionaria
scegliere in base alla
Infine affermiamo che una serie di variabili , = 1,2, … converge ad un valore
tasso di convergenza asintotica ( ) se esiste una costante tale per cui
( )|
−
|→
con
→∞
E per ultimo diamo un veloce accenno al lemma di Borel-Cantelli nella sua versione relativa
alla probabilità
Dato uno spazio di misura di probabilità (Ω, Α, ) e assegnata una successione di
eventi { } ∈ se vale
(
ove limsup(
)∈
⇒
) è l’evento limite superiore per
lim sup
n→∞
=0
che diverge ad infinito
47
3.2.2 Primo Teorema
Si consideri un set di ipotesi che vanta una struttura ammissibile, considerando un
generico sottoinsieme possiamo definire la seconda diseguaglianza fondamentale come
∆(
)= (
)− (
ℎ
⎛ − ln
+
⎜
2
)≤
ln
2
+ 1 + 2 ln(2 )⎞
ℎ
⎟=
⎝
⎠
ove ( ) è il valore di rischio atteso ottenibile dalla funzione che in
rischio empirico mentre ( ) è il minimo assoluto ottenibile su .
rende minimo il
Sommando e sottraendo a sinistra della diseguaglianza il minimo assoluto su tutto
otteniamo
(
(
)− (
)− (
)+[ (
)≤[ (
)− (
)− (
)] ≤
)] +
=
+
ove rappresenta il tasso di convergenza ossia quanto l’ottimo ottenibile sul sottoinsieme
è vicino all’ottimo su tutto .
∗
Avendo assunto che
tale per cui
sappiamo che esiste una funzione ( ,
è denso su tutto
∗ )|
| ( , )− ( ,
∗)
∈
∗
( )<
nostro caso avremo che
= (
con
)− (
)=
=
( ,
( ,
)
)− ( ,
( )−
)
( ,
)
( )=
( )<
piccolo a piacere.
Ne segue che
lim
→
quindi affinché (
vada ad azzerarsi.
)− (
=0
) tenda a zero al divergere di è necessario che anche la
48
Si osservi che
=
⎛ − ln
+
⎜
2
ℎ
ln
2
+ 1 + 2 ln(2 )⎞
ℎ
⎟
⎝
⎠
può essere riscritto come
ℎ
− ln
+
2
=
ln
2
+1
ℎ
+
ln(2 )
2
e per i motivi visti nei capitoli sull’ERM sappiamo che
− ln
=0
2
lim
→
Quindi affinché
ln(2 )
2
lim
→
=0
converga a zero serve che
ℎ
lim
ln
2
+1
ℎ
→
=0
che possiamo semplificare in
lim
ℎ ln( )
→
Chiamiamo ora con
definita sopra
=0
( ) tutto ciò che sta a destra della disequazione fondamentale
(
)− (
)≤
+
= ()
Invertendo la ( ) otteniamo con probabilità strettamente inferiore a 1 − 2/
( )[ (
)− (
)] ≤ 1
ossia
(
( )[ (
)− (
)] > 1) <
2
La diseguaglianza di cui sopra (così come la sua probabilità) dipende dal valore assunto
dalla .
49
E’ abbastanza intuitivo il fatto che una serie del tipo
2
converga ad un valore finito e quindi
2
=
2
+
<∞
<
Riprendendo la diseguaglianza di cui sopra otteniamo
{
( )[ (
)− (
)] > 1} <
2
=
2
+
<∞
sfruttando il Teorema di Borel Cantelli e definendo l’evento -esimo come
={
( )[ (
)− (
)] > 1}
( )[ (
)− (
)− (
)] ≤ 1) = 1
otteniamo che
lim sup
=
→
lim sup (
→
)] > 1) = 0
da cui ricaviamo che
lim sup(
→
( )[ (
Infine introducendo una regola ( ) che ci dica quale subset
utilizzare in base alla
numerosità campionaria disponibile da quello che abbiamo visto sull’ERM una condizione
ragionevole è che
n(l) → ∞
sappiamo infatti che per che tende ad infinito la regola migliore resta quella fornita
dall’ERM ossia minimizzare il rischio empirico. Tale minimizzazione è però ottimale solo
quando cerchiamo la soluzione sull’intero insieme funzionale quindi la condizione di cui
sopra ci assicura che se va a più infinito il subset di ricerca sarà in pratica l’intero .
Possiamo quindi riscrivere l’ultimo risultato come
lim sup
→
()
()
− (
) ≤1
=1
50
()
In sostanza stiamo dicendo che per una struttura di ammissibile la funzione
che
rende minimo il rischio empirico sulla base delle sole funzioni di ( ) determina un rischio
atteso
()
che converge al minimo assoluto (
) in un tempo certamente finito.
Possiamo quindi formulare il primo teorema del SRM come segue:
Se è vero che
 ∃ n(l): n(l) → ∞
 lim →
()
()
()
=0
()
allora l’SRM fornisce una funzione Q z, α
che minimizza il rischio empirico su
che converge al minimo assoluto R(α ) con un tasso di convergenza
()=
+
()
e
= ()
certamente finito.
51
3.2.3 Secondo Teorema
Con questo secondo teorema vogliamo dimostrare che l’SRM converge alla miglior
soluzione possibile con probabilità 1 indipendentemente dalla distribuzione di e con un
tasso di convergenza elevato.
Per semplificare la dimostrazione assumiamo però di considerare solamente i primi
sottoinsiemi , … , di ove è il numero di osservazioni campionarie. Questo perché un
set di ipotesi può essere costituito da infiniti subset nidificati e quindi al fine di eseguire
una ricerca dell’ottimo su un insieme finito (come facevamo nel primo capitolo in cui si è
considerata la diseguaglianza di Hoeffding) facciamo questa ipotesi.
Visto che ora stiamo considerando subset di ipotesi vi saranno diverse funzioni che
rendono minimo (all’interno del loro sottoinsieme) il rischio empirico. Quindi avremo
( ,
) = arg min
( )
∈
= 1, … ,
e definiamo con ( , ) quella funzione che all’interno delle
probabilità 1 − 1/ che
(
ℎ
⎛
) = min ⎜
(
ln
)+
( ,
) garantisce con
2
+ 1 + 2 ln(2 )⎞
ℎ
⎟
⎝
⎠
sul mio set di osservazioni.
Vogliamo capire quanto il rischio effettivo che otteniamo con
(parametro che rende
( ) sulle osservazioni) sia distante dal minimo assoluto
minimo il rischio empirico
( ) ottenibile sull’intero set di ipotesi.
(
)− (
)
Si consideri la seguente scomposizione
(
)− (
)=
(
)−
(
) +
(
)− (
) =
+
l’obiettivo è verificare quando le due componenti si azzerano.
Partendo dalla
e considerando l’evento
{ > }=
(
)−
(
)>
utilizzando i soliti ragionamenti fatti con la diseguaglianza di Hoeffding otteniamo che
52
( > )=
(
(
Sostituendo in
)−
(
)>
)−
(
)>
) la sua definizione
ℎ
(
(
<
)=
(
ln
)+
2
+ 1 + 2 ln(2 )
ℎ
(
=
)+
otteniamo
( > )<
(
)−
(
)> +
E dalla diseguaglianza di Hoeffding otteniamo
(
)−
(
)> +
≤
2
Notare infatti che in questo caso non i vincoli superiori non sono sempre uguali perché
riferiscono ad un valore +
che dipende dal subset
a cui si fa riferimento.
Sviluppando il quadrato avremo
+
=
+2
+
=
+
2
+
che possiamo riscrivere come
+
2
+
=
+
e quindi l’argomento dell’esponenziale diventa
−2
+
= −2
2
+
=
= −2
2
Se però noi ci focalizzassimo sulla ultima terz’ultima equazione avremmo che
53
+
2
+
≥
Perché tutte le grandezze in gioco sono positive ma quindi moltiplicando ad entrambe –
otterremmo
–
+
2
+
≤−
ma visto che questi sono gli argomenti dell’esponenziale si ha
2 exp −2
+
=
2exp (−2
)≤
2 exp −
Eliminando la costante e dividendo per si ha
1
exp (−2
)≤
1
exp −
≤ exp −
Perché l’elemento centrale è una media che sarà evidentemente inferiore al più alto valore
della sommatoria. Infine considerando un :
≤
otteniamo che
exp −
≤ exp −
In definitiva abbiamo ottenuto che
(
)−
(
)>
(
≤
)−
(
)> +
≤ exp −
e quindi
lim
→
(
)−
(
)>
≤ lim exp −
→
=0
non potendo essere una probabilità negativa si ottiene in definitiva
lim
→
(
)−
(
)>
=0
54
Non ci resta che verificare sotto quali condizioni la seconda componente
ricordando che
(
=
∗
Dall’assunzione che
1. ∀ ∃
2. ∀ ∃
∶
(
sia denso su tutto
)− (
)
ricaviamo che
)<
( )
< ∶
Quindi quando
)− (
si azzera,
=
<
< abbiamo
(
min
(
Sostituendo ad
otteniamo che
) − (
)>
(
≤
)− (
)>
) la sua definizione come si era fatto con la componente
(
)− (
)>
(
)− (
)> −
(
)− (
≤
(
=
)> −
)− (
)>
2
da cui
(
)− (
)>
2
sup ( ) −
≤
( ) >
∈
2
E sfruttando ancora la diseguaglianza di Hoeffding con ragionamenti analoghi a quelli visti
per la componente
sup ( ) −
( ) >
∈
2
≤
2
ℎ
exp ℎ −
4
Ed essendo l’esponenziale più veloce a tendere a zero al divergere di
della diseguaglianza si azzera. Otteniamo quindi che
lim
→
(
)− (
)>
la parte a destra
=0
Dato che entrambe le componenti si azzerano per che tende a più infinito ricaviamo che
lim [ ( ) − ( ) > ] = 0
→
quindi
(
)→ (
)
55
Se questo è vero allora quando la soluzione ottimale appartiene ad un sottoinsieme
della struttura vale che
(
)= (
)
combinando i vincoli di entrambi i termini e considerando un
<
per cui valga la condizione
2
abbiamo
[ (
)− (
)> ]≤
≤ exp −
≥
4 ()
+
(
+
2
2
ℎ
)− (
exp ℎ −
)>
16 ( )
2
= ()
otteniamo quindi il tasso di convergenza come
( ) ln
()=
Possiamo quindi formalizzare i risultati dei ragionamenti di cui sopra nel seguente
enunciato
Se
è una struttura ammissibile allora vale che
1. se
≤
2. se ( ,
(
⇒
)∈
e
)→ (
()
)∀
≤ ()≤
⇒ ()=
()
in sostanza il teorema ci dice che per ogni l’SRM da una soluzione che converge alla
migliore soluzione possibile con quel set di ipotesi con probabilità 1.
56
Conclusione della prima parte
Con l’SRM si conclude la prima parte del nostro percorso nella teoria dell’apprendimento
statistico. Fin qui abbiamo definito cosa vuol dire apprendere nel nostro ambito e sotto
quali condizioni ciò possa avvenire.
In estrema sintesi potremmo dire che con apprendere intendiamo la ricerca di una
funzione di classificazione ( , ) che sia in grado di ottenere un errore atteso generico
(ossia non limitato ai soli valori del campione) sufficientemente basso in base ai nostri
obiettivi conoscitivi.
Abbiamo poi visto come sia possibile definire una relazione in probabilità tra questo rischio
generico (non calcolabile per varie ragioni) ed una grandezza definita dalla somma tra il
rischio empirico e una misura di complessità del set di funzioni che utilizziamo per la
classificazione.
( )≤
( ) + Ω(ℎ, , )
Quest’ultima relazione ci ha fatto intuire che nei casi reali (in cui la dimensione
campionaria è limitata) la miglior performance non si ottiene minimizzando il solo rischio
empirico ma la somma delle due componenti a destra della diseguaglianza.
Infine abbiamo dimostrato come effettivamente la soluzione che rende minima questa
( ) + Ω(ℎ, , ) converga alla miglior soluzione possibile quando la
somma
dimensione campionaria diverge a più infinito.
Sulla base di questo apparato teorico dovremo ora chiederci come costruire dei modelli di
classificazione che si basino su questi risultati. Infatti quanto fin’ora visto non è altro che
una “giustificazione teorica” ad un possibile approccio nella ricerca del classificatore
ottimale ma non ci dice come effettivamente definirlo.
E’ però evidente che grazie alla conoscenza ottenuta potremmo definire dei modelli di
classificazione che per costruzione abbiano proprietà che li rendano dei buoni classificatori
ossia che riescano effettivamente ad apprendere.
In particolare la teoria dell’apprendimento statistico ci permetterà di
1. definire un algoritmo di ricerca della soluzione ottimale che si basi sul principio di
SRM evitando così di incorrere in problemi di overfitting
2. quantificare la capacità di generalizzazione della soluzione ottenuta sulla base delle
equazioni fondamentali definite
3. confrontare diversi modelli di classificazione sulla base dei risultati teorici ottenuti
57
Nel prossimo capitolo verrà presentato il funzionamento della learning mahcine che più si
ispira alla teoria dello statistical learning ossia le c.d. macchine a vettori di supporto (SVM).
A seguito tratteremo due modelli alternativi alle SVM che sono le reti neuronali e gli alberi
decisionali. Le prime per vedere come il principio di SRM possa essere applicato in un
modo opposto rispetto a quanto si fa nelle SVM, gli alberi decisionali verranno invece
trattati per mostrare con maggior chiarezza il trade off che intercorre tra complessità del
modello e precisione dello stesso (già intuita nel capitolo del SRM).
58
Seconda Parte
59
1.Introduzione alle SVM
In questo capitolo vedremo come sfruttare i risultati teorici visti nella prima parte per
poter effettivamente costruire dei modelli di classificazione in grado di apprendere.
Essendo ancora una fase introduttiva partiremo con il più semplice modello di
classificazione ossia quello lineare dicotomico (in cui esistono due sole classi).
Supponiamo quindi di avere a disposizione un training set definito come l’insieme delle
coppie {( , ), ( , ), … , ( , )} tali che


∈
informazione sull’osservazione
∈ {−1, +1} etichetta che indica la classe di appartenenza
Ogni osservazione si definisce da un vettore di
informazioni (che per semplicità
assumeremo siano tutti valori numerici) a cui si affianca una etichetta che indica a quale
gruppo appartiene.
Il modo più semplice di eseguire una classificazione consiste nell’assegnare ogni
osservazione ad un gruppo in base a come si posiziona rispetto ad una qualche funzione
( , ) definita nello spazio campionario.
Di fatto ( , ) non fa altro che partizionare lo spazio di input in due zone che fanno
riferimento alle due possibili classi. In questo modo una osservazione viene assegnata ad
una classe in base alla zona dello spazio che la contiene.
Per definire quale ( , ) utilizzare evidentemente ci baseremo sull’informazione
campionaria disponibile posto che il nostro obiettivo è individuare un classificatore che in
generale commetta un errore sufficientemente basso.
Supponiamo per semplicità che il training set sia rappresentabile sul piano cartesiano,
avremo quindi il seguente grafico.
Assumiamo inoltre che le osservazioni campionarie siano
linearmente separabili ossia che sia possibile definire una
retta in grado di classificare correttamente tutti punti.
Com’è evidente dal grafico è non esiste una sola retta in
grado di separare correttamente tutti i punti ma infinite.
60
Infatti tracciando una qualsiasi retta che separi tutti i punti è possibile “spostare” questa
funzione senza scontrarsi con nessuna delle osservazioni campionarie e quindi senza
modificare la classificazione complessiva.
Sorge spontaneamente la seguente domanda:
?
Evidentemente se sono possibili infinite rette che danno una classificazione perfetta il
problema è individuare quella che in generale da un rischio di errore ( ) minore secondo
quanto abbiamo visto nella prima parte.
Intuitivamente la soluzione migliore è quella che partiziona lo spazio campionario
garantendo la maggior distanza tra i due cluster di osservazioni. Questo perché un punto
che cade vicino al separatore ha una maggior probabilità di non essere classificato
correttamente rispetto ad una osservazione che cade in un zona più “interna”. L’obiettivo
dunque è quello di minimizzare il numero di punti vicini alla frontiera.
Vediamo quindi di impostare il problema in termini più formali: consideriamo due insiemi
di punti , ∈ : ∩ = ∅ e assumiamo che e siano linearmente separabili.
Ciò implica che esiste un iperpiano = { ∈ :
+ = 0} che separa lo spazio in
modo tale per cui tutti i punti ∈ appartengano ad un’area e tutti punti ∈ all’altra.
Assumiamo inoltre che attorno a questo iperpiano sia definito una sorta di margine di
tolleranza ossia una distanza minima che tutti i punti devono avere rispetto all’iperpiano.
In termini formali ciò si traduce in
∃( , ) ∶
+
+
≥
≤
∀
∀
∈
∈
>0
>0
infatti con (
+ ) indichiamo l’equazione del generico iperpiano di separazione che
costituisce il luogo di punti ove (
+ ) = 0 (si osservi che la notazione è in termini
vettoriali quindi nella si hanno tutte le coordinate che definiscono il punto)
La scrittura (
+ ) restituisce il valore di un −esimo punto rispetto all’iperpiano,
questo sarà positivo se si trova “sopra” la superficie di classificazione e negativo altrimenti.
Semplifichiamo il tutto dividendo per (mantenendo per semplicità la simbologia di
pur non essendo identici a quelli di cui sopra)
+
+
≥1 ∀
≤1 ∀
e
∈
∈
61
Come si è intuito l’iperpiano migliore è quello che garantisce la massima distanza fra i due
gruppi, d’altro canto un cluster è definito da una pluralità di osservazioni quindi esistono
distanze diverse dall’iperpiano. Quale considerare?
Dato che il problema di ricerca dell’iperpiano di ottimo risiede nei punti di frontiera (ossia
quelli più vicini al separatore) considereremo come distanza di riferimento quella del
punto più vicino all’iperpiano.
Questa distanza minima è detta margine di separazione ed in termini formali si definisce
come:
( , ) = min
|
∈ ∪
ove
( , ) è l’iperpiano di separazione dei punti
+ |
|| ||
∈
∪ .
Possiamo quindi individuare l’iperpiano di separazione migliore risolvendo il seguente
problema di ottimizzazione
max
∈
, ∈
( , ) = max
∈
, ∈
min
|
∈ ∪
+ |
|| ||
Dobbiamo quindi massimizzare la distanza tra l’iperpiano ed il punto più vicino, posto così
il problema risulta un po’ contorto e sicuramente difficilmente implementabile in un
software. Cerchiamo quindi un modo per ritradurlo in un problema equivalente ma più
diretto.
Innanzitutto definiamo con ∗ il punto più vicino all’iperpiano, questo evidentemente avrà
una distanza ∗ minore rispetto alla distanza di un qualsiasi altro punto del training set
∗
=
|
∗
+ |
≤
|| ||
+
|| ||
∀
∈
∪
Si osservi ora che l’iperpiano è una figura geometrica invariante alla scala di osservazione,
ciò significa che se moltiplicassimo una costante ad ( , ) otterremmo un iperpiano
( , ) che in realtà è lo stesso.
3 =4 +1è
15 = 20 + 5
Per semplificare al notazione del problema consideriamo quindi la scrittura dell’iperpiano
( , ) per cui la distanza rispetto a ∗ sia normalizzata ossia
|
quindi
∗
∗
+ |=1
diventa semplicemente
62
∗
=
1
|| ||
Il nostro problema
max
∈
, ∈
( , ) = max
∈
min
, ∈
|
∈ ∪
+ |
|| ||
è equivalente a
max
∈
, ∈
1
|| ||
min |
+ |=1
∈ ∪
La scrittura è sicuramente già più semplice rispetto alla precedente ma avere un vincolo
con un minimo potrebbe porre dei problemi. Dobbiamo cercare una nuova formulazione
che semplifichi ulteriormente quanto scritto sopra senza modificare il problema.
Innanzi tutto osserviamo che la condizione di minimo di cui sopra può essere ritradotta in
condizioni
+
≥1 ∀
∈
∪
evidentemente non potremo avere una soluzione ∗ per cui |
+ | > 1 perché
sarebbe sempre possibile riscalare l’iperpiano fino ad ottenere |
+ | = 1. D’altro
canto queste condizioni garantiscono che l’iperpiano classifichi correttamente tutti i punti
del training set.
In secondo luogo osserviamo che massimizzare una frazione con numeratore costante
equivale a minimizzarne il denominatore. Moltiplicando il tutto per una costante 1/2 non
stiamo modificando il punto di ottimo e contemporaneamente ciò ci semplificherà il
calcolo delle derivate.
In definitiva il problema
max
∈
, ∈
1
|| ||
min |
+ |=1
∈ ∪
equivale al più diretto
min
∈
, ∈
1
2
63
+
≥1 ∀
∈
∪
Definito il problema dobbiamo ora cercare di dimostrare se questo ha di fatto una
soluzione e se tale soluzione è anche unica.
Per il primo punto dovremmo considerare l’insieme di tutti i possibili iperpiani capaci di
classificare correttamente il training set e verificare che esista un particolare iperpiano
appartenente a questo gruppo che vanta il minor
.
Definiamo con
l’insieme degli iperpiani orientati ammissibili ossia che classificano
correttamente l’intero training set
= {( , ):
+
≥1∀
fissato un iperpiano ( , ) ∈ con ‖
ammissibili tali che ‖ ‖ ≤ ‖ ‖
∈
∧
+
≤ −1 ∀
‖ definiamo con
= {( , ) ∈ : ‖ ‖ ≤ ‖
∈ }
l’insieme degli iperpiani
‖ }
Se questo insieme di livello
fosse chiuso e limitato vorrebbe dire che esiste un numero
limitato di iperpiano ( , ) ∈ con ‖ ‖ ≤ ‖ ‖ e che quindi l’iperpiano con il più
basso ‖ ‖ appartenente a sarebbe anche il minimo dell’insieme .
Infatti se si suppone per assurdo che esiste una sequenza illimitata {
che:

,
}∈
si nota
‖ ‖≤‖ ‖
‖ . ‖ ∈ [0 + ∞)
i valori di ‖
{ , }∈
‖ oscillano tra 0 e ‖ ‖ allora perché si abbia una sequenza illimitata di
deve variare e ciò al limite comporta che | | → +∞
 ∀ deve comunque valere che
+
+
≥ +1 ∀ ∈
≤ −1 ∀ ∈
per sufficientemente grandi si arriverebbe alla situazione in cui (essendo | | → +∞)
‖ ‖ > ‖ ‖ che contraddice l’ipotesi di appartenenza ad .
Allora
è compatto (chiuso e limitato) quindi per il teorema di Weistrass la funzione
‖ ‖ ammette un minimo assoluto ( ∗ , ∗ ) su
e quindi anche su (perché
è una
sorta di insieme inferiore di e l’obiettivo è appunto la sua minimizzazione).
64
Dunque ( ∗ , ∗ ) è la soluzione del problema di {min‖ ‖ } quello che ci manca è
dimostrare che questa soluzione è anche unica e che quindi ( ∗ , ∗ ) è un punto di minimo
globale.
Affrontiamo questa problematica con un ragionamento molto intuitivo: dovremo
dimostrare che se due iperpiani hanno lo stesso valore di ‖ ‖ allora coincidono, ne segue
che l’iperpiano di ottimo ( ∗ , ∗ ) è unico perché non esistono iperpiani diversi con lo
stesso valore di ‖ ∗ ‖ .
,
Assumiamo per assurdo che esista una altro iperpiano di separazione
( ∗ , ∗ ) che però ha lo stesso valore di ‖ ∗ ‖
∃
,
∈ :
≠(
,
∗
∗)
,
diverso da
∗‖
∧ ‖ ‖ =‖
Essendo
un insieme convesso deve valere che per ogni coppia di punti che vi
appartengono il tratto che li unisce appartiene anch’esso a .
(
∗
,
∗)
+ (1 − )
,
∈
= 1/2 si definisce un iperpiano
Ponendo
∀ [0,1]
,
∗
=
+
,
∗
+
che
appartiene a (per la sua convessità) e che a fronte della convessità della funzione ‖ . ‖
verifica la seguente disequazione
‖
∗
Ma se ‖ ‖ = ‖
1
‖
2
1
2
+ (1 − ) ‖ =
∗‖
∗‖
∗
+
1
2
=‖ ‖ <
1
‖
2
∗‖
1
+ ‖ ‖
2
allora
1
+ ‖ ‖ =‖
2
il che contraddice il fatto che (
∗
≡ .
∗‖
∗
,
=‖ ‖
∗)
⟹ ‖ ‖ <‖ ‖ =‖
∗‖
sia un minimo globale dunque è necessario che
Assumiamo ora che ∗ < e prendendo il punto più prossimo dell’insieme
: ∗
+ ∗ = 1) si ha che
∗
+
∗
=1=
+
∗
>
(
∈
+
che contraddice la condizione necessaria affinché si abbia un iperpiano di separazione
ossia che
+
quindi è necessario che
∗
≥1 ∀
∈
≡ .
65
Con questo ragionamento abbiamo è dimostrato che se due iperpiani hanno lo stesso
valore di ‖ ‖ necessariamente coincidono quindi una volta che si è trovato l’ottimo
( ∗ , ∗ ) è garantito che non esistono altri iperpiani con ‖ ‖ < ‖ ∗ ‖ .
Con questo primo capitolo abbiamo introdotto la logica fondamentale su cui si basano i
classificatori lineari che massimizzano il margine di separazione. Sotto l’ipotesi che il data
set sia linearmente separabile abbiamo dimostrato che effettivamente esiste un iperpiano
in grado di massimizzare il margine di separazione e che questo è unico.
Nel capitolo successivo vedremo come riscrivere nuovamente il problema di ottimizzazione
al fine di semplificarne al massimo l’implementazione ma prima è bene però fare un
piccolo ragionamento ricollegandoci a quanto visto nella prima parte.
Dato il problema di ottimo fin’ora considerato
min
∈
+
, ∈
1
2
≥1 ∀
∈
∪
osserviamo che se esiste una soluzione (e abbiamo dimostrato che ciò accade quando i
punti sono linearmente separabili) allora tutti gli vincoli sono stati soddisfatti.
Questo significa che l’iperpiano di ottimo ( , ) classifica correttamente tutti i punti del
training set quindi l’errore empirico è nullo. Riprendendo la diseguaglianza fondamentale
otteniamo quindi
( )≤
( ) + Ω(ℎ, , ) = Ω(ℎ, , )
E’ noto che se la dimensione campionaria non è elevata la componente Ω(ℎ, , ) non si
azzera e quindi il vincolo superiore del rischio atteso risulta elevato.
Sappiamo che Ω(ℎ, , ) è inversamente legata alla VC dimension del set di funzioni
utilizzato nella ricerca della soluzione e che quest’ultima nel caso di funzioni lineari è pari
ad + 1 ove è la dimensione dello spazio su cui si definisce il classificatore.
Ciò che ora introduciamo è un teorema fondamentale nella logica della costruzione dei
SVM il quale giustifica quanto abbiamo intuito sul fatto che l’iperpiano migliore sia quello
che massimizza il margine di separazione.
66
Si dimostra che l’insieme di iperpiani con margine
ℎ≤
ha
,
ℎ tale che
+1
ove è il raggio della più piccola sfera in grado di contenere tutti i punti del training set e
l’ampiezza del margine di separazione ottenuto.
Posto che
sia un valore costante osserviamo che se fossimo in grado di ottenere un
( / ) < potremmo effettivamente definire un limite superiore di ℎ minore a quello
che fin’ora pensavamo invalicabile definito da + 1.
Non solo, rispetto a quando abbiamo trattato la logica del SRM notiamo che un iperpiano
definito su dimensioni ma con un margine molto elevato potrebbe ottenere una VC
dimension minore di un altro iperpiano definito su < dimensioni ma con un margine
più contenuto. In sostanza non siamo costretti a dover utilizzare un set di funzioni più
semplice quando è possibile ottenere una margine molto elevato.
Quindi nel caso di punti linearmente separabili l’iperpiano che massimizza il margine è
quello che garantisce una miglior performance di generalizzazione perché è in grado di
minimizzare (ℎ, , ) posto che il rischio empirico sia zero.
Come vedremo sarà quindi possibile allargare ulteriormente questo margine accettando
il fatto che l’iperpiano non separi correttamente tutti i punti. In sostanza sopportiamo
l’avere un rischio empirico diverso da zero per poter ulteriormente abbassare Ω(h, l, η)
secondo la logica a noi ben nota del SRM che viene attivamente sfruttata nella risoluzione
del nostro problema.
67
Nota: Condizione perché un set di punti sia linearmente separabile
}⊂
Un insieme di punti { , … ,
sono affinamente indipendenti.
Un insieme di punti { , … ,
,…
non tutti nulli tali che
è linearmente separabile se e solo se
}⊂
,…,
è affinamente dipendente se esistono scalari
=0
=0
} è affinamente indipendente se e
inoltre si dimostra che un insieme di punti { , … ,
solo se i vettori scarto − con = 1, … e ≠ sono linearmente indipendenti
Assumendo che il primo punto sia l’origine (
indipendenti si ha che i vettori scarto
−
,…,
= 0) e che
−
=
,…,
siano affinamente
,…,
sono linearmente indipendenti.
Quello che si vuole dimostrare è che in tale situazione comunque si scelgano le etichette
,…,
∃ un
∈
(vettore di pesi) e un
correttamente tutti i punti
+
∈
(soglia) in grado di classificare
> 0 ∀ = 1, … ,
Ponendo
1
2
=
1
−
2
+
per
= 0 si ottiene che
+
=
= +1
= −1
>0∀
∈
dunque il primo punto è
sempre classificato correttamente data tale definizione di .
Data l’indipendenza lineare tra
,…,
+ ⋯+
Dato che
si ha che
=0⟺
=0
= ±1 e non 0 il sistema lineare con incognita
68
(
)
…
( )
ammette almeno una soluzione
=(
…
diversa da zero, sommando nel sistema
+1 +
+
=
+ )=
−1 +
avremo
3
= + > 0 ∀i = 2, … , m ∶ y = +1
2
3
= − < 0 ∀i = 2, … , m ∶ y = −1
2
e quindi
+
=( ) +
> 0 ∀i = 2, … , m
Tutti i punti , … ,
sono correttamente classificati. Ricordando che anche il punto
è
stato correttamente classificato ne segue che l’intero training set è stato separato
dall’iperpiano
,
in maniera corretta.
69
2.Il Duale di Wolfe
In questo capitolo apriremo una parentesi su uno strumento che risulterà essere
fondamentale per la risoluzione del nostro problema di ottimizzazione
Questo strumento si basa sul concetto matematico di dualità di un problema di
ottimizzazione che in sostanza consiste nell’individuare un problema equivalente al primo
(cioè con la stessa soluzione) ma più semplice da risolvere.
L’intuizione è costruire un problema di massimo partendo dal problema di minimo
assegnato. Definiamo dunque:
1. Problema Primale min
2. Problema Duale max
∈
∈
( )
Ψ( )
perché sia possibile eseguire tale passaggio è necessario che sia verificata una delle due
condizioni di dualità
1. Condizione Forte
2. Condizione Debole
∈
∈
( )=
( )≥
∈
∈
Ψ( )
Ψ( )
Intuitivamente se il punto di minimo di ( ) equivale al massimo di Ψ( ) trovando
quest’ultimo otteniamo anche l’ottimo della prima equazione. Fortunatamente la
condizione forte è spesso presente nei problemi di programmazione convessa (come il
nostro).
Specifichiamo il discorso introducendo anche un set di vincoli
min ( )
( )≤0
− =0
con ( ):
→
differenziabili.
e
( ):
→
∀ = 1, … ,
= 1, … ,
= 1, …
assunte convesse e continuamente
Possiamo quindi definire il lagrangiano del problema come
( , , )= ( )+
( )+
(
−
)
Il quale a sua volta definisce un problema di ottimizzazione del tipo
70
max ( , , )
, ,
∇ ( , , )=0
≥0
L’obiettivo è dimostrare che la soluzione del problema di minimo ∗ associata alla
rispettiva coppia di moltiplicatori di lagrange ( ∗ , ∗ ) determina un punto ( ∗ , ∗ , ∗ ) che è
a sua volta la soluzione del problema di massimizzazione del lagrangiano e che il valore che
le due funzioni ( ( ) e ( , , )) assumono nei rispettivi ottimi è lo stesso.
In questo modo sappiamo che basta risolvere il più semplice dei due problemi per poter
ricavare la soluzione dell’altro.
Assumiamo quindi che ( ∗ , ∗ , ∗ ) sia il punto di ottimo del problema di massimo, il
lagrangiano in quel punto assumerà un valore pari a
( ∗,
∗
,
∗)
= ( ∗) +
∗
( ∗) +
∗
(
−
)
dalle condizioni di Karush Kuhn Tucker (KKT da ora in poi) ricaviamo che:
∇ ( ∗, ∗, ∗ ) = 0
( ∗) ( ∗) = 0
∗
≥0
ma si osservi che
( ∗)
−
( ∗) =
∗
=0∀ ⇒
( ∗) = 0
(
−
)=0
quindi
( ∗,
∗
,
∗)
= ( ∗) +
∗
( ∗) +
∗
(
−
) = ( ∗)
Abbiamo agilmente dimostrato che ( ∗ , ∗ , ∗ ) = ( ∗ ), ora dobbiamo dimostrare che
effettivamente ( ∗ , ∗ , ∗ ) è la soluzione del problema di massimo. In questo modo
risolvendo il più semplice dei due problemi avremo automaticamente la soluzione di quello
più complesso.
71
Per dimostrare che ( ∗ , ∗ , ∗ ) è il massimo assoluto ci basta dimostrare che la funzione di
lagrange assumerebbe un valore inferiore in un qualsiasi altro punto che considera la
stessa ∗ ma una diversa coppia di moltiplicatori di lagrange.
Sia ( , , ) un punto tale per cui ∇ ( , , ) = 0 e
( , , )= ( )+
≥ 0, si osservi che la funzione
( )+
(
−
)
è convessa perché:
( ) è convessa per ipotesi
( ) è per ipotesi convessa e si dimostra che una combinazione lineare con
coefficienti non negativi di funzioni convesse è ancora convessa
3. il terzo termine è una funzione affine e quindi convessa
4. la somma di funzioni convesse è ancora convessa
1.
2.
quindi per la definizione di convessità
( ) − ( ) ≥ ( − ) ∇ L(x)
Dato che ≥ 0 e
uso sia ∗ e ∗ )
( ) ≤ 0 ∀ la grandezza
( ∗,
Essendo poi che
( ∗,
∗
,
∗)
∗
,
∗)
= ( ∗) ≥ ( ∗) +
= 0 ∀ vale che ∑
−
( ∗ ) è negativa (è pari a zero se e solo se
= ( ∗) ≥ ( ∗) +
(
( ∗)
−
) = 0 e quindi
( ∗) = ( ∗) +
( ∗) +
(
−
)
= ( ∗, , )
( ∗,
∗
,
∗)
≥ ( ∗, , )
Facendo riferimento al punto ( ∗ , , ) osserviamo che data la convessità di ( . ) vale che
( ∗, , ) ≥ ( , , ) + (
ma affinché
quindi
∗
− ) ∇ L(x)
sia un punto critico è necessario che ∇ L(x) = 0 per ogni
( , , )+(
∗
− ) ∇ L(x) = ( , , ) + (
∗
≥ 0 e per ogni ,
− ) (0) = ( , , )
72
Riassumendo quello che si è ottenuto dal ragionamento di cui sopra è che
( ∗) = ( ∗ ,
∗
∗)
,
≥ ( ∗, , ) ≥ ( , , )
quindi effettivamente il punto ( ∗ , ∗ , ∗ ) è quello che rende massima la funzione di
lagrange e in questo il valore ottenuto è pari a quello ottenuto nel punto di ottimo dal
problema di partenza.
Il problema di massimo (del lagrangiano) duale al problema di minimo sopra indicato è il
così detto duale di Wolfe.
Visto il problema definito nel capitolo precedente estendiamo il ragionamento fatto può al
caso di programmazione quadratica
Si consideri il problema
min ( ) =
−
∈
con
×
, ∈
,
×
∈
, ∈
1
2
+ ′
≤0
.
Posto il lagrangiano ( , ) = ( ) +
come
(
− ) con
∈
.il duale di Wolfe è definito
max ( , )
,
∇
( , )=0
≥0
Anche in questo caso dobbiamo verificare che esista una equivalenza tra la soluzione del
problema di minimo ∗ con quella di massimo ( ∗ , ∗ ).
Si consideri la prima condizione del problema duale
∇
( , )=
+
+
=0
eseguendo il trasposto e post-moltiplicando per
+
+
=0⟹
+
+
=0⟹
−
= max −
+
=−
sostituendo nel duale si ottiene
max
,
1
2
+
+
= max
−
1
2
−
1
2
−
= min
1
2
+
73
Il problema duale (di massimo) è stato tradotto in un problema di minimo dunque su
questo è possibile riapplicare ad un secondo stadio il duale di Wolfe
max ( , , , )
∇ ( , , , )=0
∇ ( , , , )=0
, ≥0
con
( , , , )=
+
−
(
+
+ )−
.
Sia ̅ , ̅ una soluzione del problema max , ( , ) , per quanto detto nel paragrafo
precedente sappiamo che il valore che assume la funzione (. ) nel punto di ottimo
equivale al valore che il suo lagrangiano (. ) assume nel punto ̅ , ̅, ̅, ̅ .
̅, ̅ =
̅ , ̅, ,̅ ̅
Abbiamo già dimostrato che il punto ̅ , ̅, ,̅ ̅ è proprio la soluzione del problema di
massimizzazione di
̅ , ̅, ,̅ ̅ e quindi vale che
1. ∇
2. ∇
=
=
̅ , ̅ è soluzione del problema di minimizzazione di (. ) vale che
Se il punto
3. ∇
̅− ̅=0
− ̅− ̅=0
=
̅+
̅+ =0
Infine le rimanenti condizioni di KKT implicano che la i moltiplicatori di lagrange ̅ ∈
̅∈
verifichino
4.
5.
6.
e
̅ ̅=0
̅≥0
̅≥0
Dalla seconda e quinta condizione si ricava che − ̅ ≥ 0 mentre sottraendo dalla prima
̅ + = 0, infine sostituendo il risultato della seconda nella
la terza si ha che
̅+
quarta si ottiene ̅ ( ̅ − ) = 0 e quindi le sei condizioni di cui sopra si sintetizzano in
1.
2.
3.
4.
̅− ≤0
̅+ =∇
̅+
̅( ̅− )=0
̅≥0
( ̅ , ̅) = 0
74
Osserviamo che il vettore ̅ (che è un insieme di moltiplicatori di lagrange del duale )
rispetta la condizione del problema min ( ) e che la coppia ( ̅ , ̅) verifica anche le
condizioni di KKT affinché sia una soluzione del problema duale max ( , ).
Dato quanto abbiamo visto nel caso non quadratico si deduce che ̅ è soluzione del
problema min ( ) allora : ̅ = ∗ e quindi il punto ̅ , ̅ = ( ∗ , ̅) è una coppia: minimo
globale, moltiplicatore di lagrange.
Per lo stesso ragionamento anche il vettore ̅ (che insieme a ̅ definiva la soluzione di
max , ( , )) risulta essere soluzione di min ( ) e se teniamo conto della condizione
∇
=
̅ − ̅ = 0 ricaviamo
̅=
̅
⟹ (
= ̅
∗
∗
− ̅) = 0
I risultati ottenuti ci permettono di definire al seguente proposizione:
Assumendo
allora esiste
1.
2.
3.
(
semidefinita positiva (
≥ 0) sia ̅ , ̅ una soluzione del duale di Wolfe,
∗
non necessariamente uguale a ̅ tale che
∗
− ̅) = 0
∗
è soluzione del problema primale
∗ ̅
, è una coppia: (minimo globale, vettore di moltiplicatori di Lagrange)
75
3.Programmazione quadratica per SVM lineari
Nel primo capitolo di questa seconda parta abbiamo visto come nel caso di punti
linearmente separabili il classificatore migliore fosse quello in grado di massimizzare il c.d.
margine di separazione.
Per individuarlo è quindi necessario risolvere il seguente problema di ottimizzazione.
max ( , )
+ ≥1 ∀ ∈
. .
con
∩
= ∅ insieme di punti (contenuti in
∪
) assunti linearmente separabili.
Si è poi visto che la prima scrittura è equivalente al seguente problema di programmazione
quadratica convessa
min
. .
+
( )=
Chiamando la funzione obiettivo
dare una etichetta
come
= +1 ∀
∈
e
∈
∪
e ricordando che il classificatore deve
= −1 ∀
∈
possiamo sintetizzare il problema
min ( )
+ ) − 1 ≥ 0 ∀ = 1, … ,
(
. .
1
2
≥1 ∀
ove è la numerosità dei punti del training set.
Riprendendo quanto appena visto si può definire il duale del problema come
max ( , , ) =
⎧
∇
⎪
⎪
⎨
⎪
⎪
⎩
si ricava quindi che il vettore
1
2
−
(
( , , )=
( , , )
+
−
=
− 1)
=0
=0
≥0
si definisce come
76
=
sostituendo in ( , , ) la definizione di
( , , )=
1
2
−
(
+
− 1)
e quindi
1
2
( )
ma dato che ∑
= 0 si ricava
( , , )=
( , , )=−
( )
−
1
2
( )
+
+
+
= ( )
La funzione obiettivo è dunque diventata una funzione nella sola variabile , il problema di
massimizzazione diventa
max ( ) = −
1
2
( )
+
=0
≥ 0 ∀ = 1, … ,
che equivalente a minimizzare Γ( ) = − ( )
min Γ( ) =
1
2
( )
−
=0
≥ 0 ∀ = 1, … ,
Possiamo alleggerire la notazione utilizzando la simbologia vettoriale e definendo la
matrice = {(
( ) )} , ,…
77
min Γ( ) =
1
2
−1
=0
≥0
Nel primo capitolo abbiamo dimostrato che l’iperpiano ottimale esiste ed è unico (quindi
esiste un solo ∗ ) mentre nel capitolo sul duale di Wolfe abbiamo visto che la soluzione
(
∗
,
∗
,
∗)
risolvendo il problema di cui sopra otteniamo sia
∗
∗
(
del problema duale esiste ed è tale per cui
,
∗
,
∗)
= ‖
∗‖
quindi
che il margine di separazione.
Con un qualsiasi software di programmazione quadratica convessa si ricava il vettore di
ottimo ∗ , questo è tipicamente caratterizzato da un gran numero di elementi nulli perché
per le condizione di KKT deve valere che
∗
( (
+ ) − 1) = 0
∀ ∈
∪
ciò accade quando ∗ = 0 e/o (
+ ) = 1 ma abbiamo già visto nei capitoli
precedenti che il secondo caso si verifica solo quando il punto ( , ) ha una distanza
dall’iperpiano di 1/‖ ‖.
Quindi per i punti più prossimi all’iperpiano il moltiplicatore di lagrange
strettamente maggiore di zero mentre per tutti gli altri è nullo.
Ottenuto il vettore
∗
si ricava immediatamente il vettore
∗
∗
∗
sarà
come
∗
=
Ma visto che moltissimi punti avranno un moltiplicatore ∗ nullo la sommatoria di cui
sopra si definisce unicamente dalle coppie ( , ) che hanno un moltiplicatore di lagrange
strettamente positivo.
∗
∗
=
∈
ove
è l’insieme di moltiplicatori di lagrange non nulli.
Per ricavare ∗ si osservi che per tutti quei punti che hanno un moltiplicatore di lagrange
non nullo vale che
∗
>0 ⇒
((
∗)
+ )=1⇒
∗
=
1
−(
∗)
∀ ∈
78
La coppia ( ∗ , ∗ ) definisce interamente l’iperpiano che massimizza il margine di
separazione. Va però notato che ∗ e ∗ sono stati ricavati utilizzando i soli ( , ) a cui si
affiancava un ∗ > 0.
Questi punti sono quelli che soddisfano la condizione
(
+ )=1
e quindi sono in sostanza le coppie più prossime all’iperpiano stesso (i c.d. punti di
frontiera).
Ne segue che tutti i vettori a cui si associa un moltiplicatore di lagrange nullo sono più
lontani rispetto all’iperpiano di separazione (i c.d. punti interni) e non influenzano in alcun
modo la definizione dell’iperpiano di ottimo ( ∗ , ∗ ).
I vettori appartenenti ad sono chiamati vettori di supporto perché graficamente sono
quelli più vicini alla superficie di separazione e sembra quasi che la sorreggano.
In particolare il numero di vettori di supporto è tipicamente molto più contenuto rispetto a
quello della dimensione del campione di addestramento (anche se per ora questo non ci
dice nulla vedremo più avanti come al diminuire del numero dei vettori di supporto
migliori la performance di generalizzazione della macchina).
Questa caratteristica delle SVM è potenzialmente sia un punto debole che un pregio del
metodo perché anche a fronte di forti variazione nella disposizione di tutti i punti interni
l’iperpiano di separazione comunque non si modificherebbe. D’altro canta basta una lieve
variazione ad uno qualsiasi dei vettori di supporto per provocare una forte variazione della
soluzione.
In questo capitolo abbiamo visto come calcolare l’iperpiano di classificazione ottimale (che
sappiamo massimizza la performance out of sample posto di avere un errore empirico
nullo) e come quest’ultimo sia interamente definito da un subset molto contenuto del
training set.
Dobbiamo però ricordare che questo risultato vale unicamente nel caso in cui i punti del
training set siano linearmente separabili. Evidentemente dovremo generalizzare il discorso
al caso di un training set non linearmente separabile ma prima verrà proposto un breve
esempio in R che ripercorra quanto abbiamo fin’ora trattato.
79
4.Esempio di SVM lineare
Si consideri un data set di 1000 osservazioni {( , )}
,…,
tali per cui:
∈ : vettore bidimensionale che contiene le caratteristiche dell’osservazione
∈ : scalare che indica il gruppo di appartenenza dell’osservazione


Per il nostro esempio generiamo le osservazioni da
una normale standard e con un semplice
accorgimento suddividiamo i punti in due insiemi
che siano linearmente separabili.
Come è evidente tracciando una retta è possibile
separare correttamente tutti i punti del campione
nelle rispettive aree di appartenenza.
Il problema è che ruotando e/o traslando di poco la retta di cui sopra non ci scontreremmo
con nessuna osservazione e quindi riusciremmo ancora a separare correttamente l’intero
data set.
Se dunque esistono infinite soluzioni al problema di cui sopra, qual è la migliore?
Intuitivamente le nuove osservazioni che cadranno molto vicine al bordo della retta
tracciata avranno un maggior rischio di essere classificate in maniera errata quindi una
possibile soluzione sta nel ricercare la retta che massimizza la distanza tra i due gruppi.
Osserviamo però che ogni gruppo è composto da un certo numero di elementi ed ognuno
di questi ha una distanza con la retta quindi è necessario definire una distanza di
riferimento da utilizzare nel problema di massimo.
La distanza che andremo a massimizzare sarà quella del punto più vicino alla retta di
separazione, questa nella letteratura viene appunto definita margine di separazione che
formalmente definiamo come
( , ) = min
∈ ∪
ove
e
|
+ |
|| ||
sono i due gruppi di elementi in cui si ripartiscono le osservazioni.
La soluzione del nostro problema sta quindi nella retta in grado di classificare
correttamente l’intero data set e che massimizzi il margine di separazione ( , ).
80
Dopo una serie di passaggi matematici (che non verranno qui indicati perché già trattati in
altri capitoli) si può dimostrare che il problema di cui sopra equivale al seguente
min Γ( ) =
1
2
−1
=0
≥0
ove rappresenta il vettore dei moltiplicatori di Lagrange (uno per ogni osservazione
disponibile) e è una matrice
con elemento generico
.
,
,…,
Osserviamo che la matrice è interamente definita da valori noti perché facenti parte del
data set iniziale, l’obiettivo è quindi definire un vettore di ottimo
che minimizzi
l’espressione di cui sopra sotto le due condizioni.
Il primo passo sta quindi nel calcolare la matrice , per farlo ci avvaliamo di un semplice
ciclo for nidificato che per ogni coppia di osservazioni dovrà fare il prodotto tra le etichette
e e moltiplicare il risultato al prodotto interno tra i due vettori e .
Q<-matrix(0,m,m)
for (j in 1:m){
for (i in 1:m) {
Q[i,j]<- (y[i]*y[j])*(sum(x[i,]*x[j,]))
}}
Definita la matrice è possibile calcolare il vettore di ottimo avvalendosi di un qualche
programma atto alla risoluzione di problemi di ottimizzazione quadratica convessa.
Nel nostro esempio ci avvarremo del pacchetto LowRankQP che permette la risoluzione di
problemi del tipo
1
2
+
=
[
∈ 0, ]
Sono evidenti le similitudini con il nostro problema, per poter calibrare la funzione
dovremo quindi porre:


= ove è la matrice dei prodotti interni precedentemente calcolata
= (−1) vettore di 1000 elementi tutti pari a -1
81



= la matrice dei vincoli si riduce al solo vettore delle etichette
= 0 il vettore degenera in uno scalare pari a zero
= 100 rappresenta il valore massimo che possono assumere i moltiplicatori di
lagrange
Notare che nel nostro problema non esiste un limite superiore per i valori assumibili dai
moltiplicatori di lagrange e per questo poniamo che sia pari ad un valore particolarmente
alto.
Una volta calibrata la funzione ed eseguita la routine otteniamo il vettore ∗ che minimizza
la funzione obiettivo sopra definita. La dimensione del vettore è data dalla numerosità
delle osservazioni del training set quindi nel nostro esempio abbiamo a che fare con un
vettore di 1000 elementi.
Si può però osservare che la stragrande maggioranza degli elementi di ∗ sono costituiti da
valori estremamente piccoli (il valore minimo è nell’ordine di 10 ) quindi inseriamo nello
script una semplice funzione volta a pulire il vettore ∗ ponendo pari a zero ogni elemento
il cui valore risulti essere minore di 10 .
Dopo questa operazione possiamo osservare che il vettore di ottimo è quasi interamente
costituito da zeri, infatti su 1000 elementi solo 3 risultano non nulli.
Questi sono le osservazioni numero 9, 32 e 238 ed i loro moltiplicatori di lagrange hanno
rispettivamente valori 13,621952 15,566550 e 1,944597.
Per essere sicuri di non aver commesso errori utilizziamo gli stessi dati in un diverso
risolutore di problemi di programmazione quadratica. Nel nostro esempio ci avvaliamo
della funzione ipop(.) presente nel pacchetto kernlab. Il risultato ottenuto è identico a
quello calcolato con la funzione LowRankQP.
Graficamente si ottiene
82
Notare come le tre osservazioni che vantano un moltiplicatore di lagrange non nullo si
trovino sulla frontiera dei due gruppi.
Queste tre osservazioni rappresentano i c.d. vettori di supporto ossia gli elementi che di
fatto determinano la retta di separazione ottimale secondo il principio di massimizzazione
del margine di separazione.
Abbiamo quindi ottenuto che dei 1000 vettori osservati solo 3 sono davvero rilevanti ai
nostri fini, infatti se modificassimo (cambiando le loro coordinate) le osservazioni che
hanno un moltiplicatore nullo la retta di ottimo non cambierebbe (a patto che la modifica
di coordinate non li tramuti in vettori di supporto). D’altro canto modificare anche un solo
vettore di supporto provocherebbe rilevanti cambiamenti nella retta di ottimo ottenuta.
Grazie al vettore di ottimo pulito possiamo ricavare l’equazione della retta di separazione
con i seguenti risultati
∗
∗
=
=
∗
∗
=
∈
ove
è l’insieme degli elementi di
∗
non nulli.
Per ricavare ∗ si osservi che per tutti quei punti che hanno un moltiplicatore di lagrange
non nullo vale che
∗
=0 ⇒
((
∗)
+ )=1⇒
∗
=
1
−(
∗)
∀ ∈
Graficamente otteniamo
83
Va però ricordato come l’obiettivo del modello sia classificare correttamente le nuove
osservazioni per le quali non abbiamo informazioni sulla classe di appartenenza.
Al fine di valutare il comportamento del modello appena ottenuto con delle nuove
osservazioni è possibile eseguire un test out of sample.
Per farlo si generano altre 200 osservazioni seguendo gli stessi passaggi visti all’inizio e si
esegue il confronto con la superficie di separazione ottenuta ricordando che una
osservazione viene correttamente classificata quando si verifica
(
ove i parametri
e
+ )≥1
sono quelli della retta di separazione sopra indicata.
Al fine di calcolare la percentuale di errore affianchiamo al database un vettore che abbia
argomento pari a 1 in caso di errore e 0 altrimenti.
Sommando tutti gli elementi di e rapportando per la lunghezza del vettore otteniamo
una percentuale di errore del 5%.
Va comunque considerato che i dati considerati nell’esempio sono stati costruiti
appositamente per mostrare il funzionamento di una SVM lineare e quindi non deve
sorprendere una percentuale di errore così bassa.
84
5.SVM non lineari
Fin’ora abbiamo sempre assunto che il training set fosse linearmente separabile e quindi
che fosse possibile definire un iperpiano in grado di classificare correttamente tutti i punti
( ) = 0. Riprendendo l’equazione fondamentale si ha quindi
ottenendo un
( )≤
( ) + Ω(ℎ, , ) = Ω(ℎ, , )
=(
∗
,
∗)
Data la relazione inversa che intercorre tra il margine di separazione e la VC dimension
l’iperpiano ottimale è quello che rende massimo ( , ).
Il problema è che i dati reali difficilmente sono linearmente separabili e quindi il sistema
+
+
≥ +1 ∀
≤ −1 ∀
∈
∈
nella stragrande maggioranza dei casi non ha soluzione.
La non linearità con cui i punti del training set si posizionano è però osservabile in due
diversi livelli
1. bassa non linearità: il data set non è interamente classificabile con un iperpiano a
causa di un limitato numero di punti “scomodi” ma se fosse possibile ignorarli si
ritornerebbe al caso linearmente separabile
2. alta non linearità: la disposizione dei due gruppi e è fortemente non lineare e
quindi anche se si ignorassero certe osservazioni non si ritornerebbe al caso
linearmente separabile
Queste due casistiche non si escludono a vicenda ed è molto probabile che in una
applicazione reale si debbano affrontare entrambi i problemi.
Nei capitoli successivi si affronteranno queste due problematiche separatamente ma per
rendere più intuitivo il discorso introduciamo subito l’idea alla base delle due soluzioni.
Rifacendosi alla diseguaglianza fondamentale il caso di bassa non linearità richiama
evidentemente il concetto di SRM. In sostanza potremmo scegliere tra
1. utilizzare un set di funzioni non lineare (più complesse e quindi con una maggior VC
dimension) così da ottenere un rischio empirico nullo oppure
2. accettare di avere qualche errore in fase di training al fine di utilizzare un set di
funzioni lineari che massimizzano il margine
la scelta migliore come sempre sarà quella che ci permetterà di minimizzare la grandezza
( ) + Ω(ℎ, , ) nel suo complesso.
85
Nel caso fortemente non lineare le possibili strategie sono di nuovo due:
1. utilizzare classificatori non lineari cosi da ottenere un rischio empirico nullo oppure
2. tradurre i punti del data set in un nuovo spazio all’interno dei quali risultano essere
linearmente separabili.
Come vedremo nella seconda strategia il nuovo spazio che solitamente ha un numero di
dimensioni di molto superiore a quelle dello spazio di partenza.
Ne segue che il classificatore lineare avrà una VC dimension molto elevata (essendo in
genere pari a + 1) e quindi tale soluzione non sembra offrire una buona performance di
generalizzazione.
Come vedremo in questi casi non lineari la VC dimension del classificatore lineare (nel
secondo spazio) è in realtà legata al numero di support vector che otterremo.
Ne segue che potremmo definire classificatori su spazi con moltissime dimensioni (anche
infinite) pur mantenendo una VC dimension contenuta e quindi una buona capacità di
performance.
In particolare il classificatore lineare nel secondo spazio vedremo risulterà essere una
funzione fortemente non lineare nello spazio di partenza.
5.1 Bassa non linearità
Si assuma che il data set {( , )} ,…, contenga dei punti che impediscono di classificare
correttamente tutte le osservazioni con una funzione lineare.
Come si è già anticipato una strategia risolutiva consiste nel permettere all’iperpiano di
classificare in maniera errata alcuni vettori del campione.
Sapendo che l’iperpiano ( , ) classifica correttamente una osservazione ( ,
(
) quando
+ )≥1
una osservazione ha due modi per essere classificata in maniera errata:
1. 0 =
(
2.
(
+ ) < 1 il punto sta nel corretto iperspazio ma viola il margine
+ )<0
il punto è nel iperspazio sbagliato
Per ogni osservazione introduciamo una variabile scalare di scarto ≥ 0 che rappresenta
il possibile tipo di errore che l’iperpiano commette su quel vettore. Il sistema che
rappresenta come l’iperpiano classifica il data set diventa quindi
86
+
+
≥ +1 −
≤ −1 +
∀
∀
∈
∈
Notare che nel caso se una osservazione ( , ) non è correttamente classificata la
relativa sarà strettamente maggiore di 1, mentre se il vettore viola il margine la variabile
scarto assumerà un valore tra zero (escluso) ed uno. Se invece
= 0 il vettore è
correttamente classificato.
Il valore delle singole da una idea dell’errore (come quantità) che viene ammesso nella
classificazione. D’altro canto nella diseguaglianza fondamentale abbiamo
( )≤
ove
( ) + Ω(ℎ, , )
( ) è una sorta di valore complessivo dell’errore in sample.
Minimizzando la componente a destra della diseguaglianza ottengo dunque un valore
( ) ottimale ossia una quantità complessiva di errore in sample da ottenere.
Posso quindi definire una
nell’addestramento come
soglia
massima
∗
del
numero
di
errori
ammessi
( )=
Aggiungendo un parametro moltiplicativo
> 0 possiamo pesare l’errore del training set e
quindi avere una idea dell’importanza che ∑
ha su
. Infatti all’aumentare di
è aumenta l’errore che viene ammesso sul training set e viceversa.
Il problema di ottimo diviene
min ( , ) =
. .
(
1
2
+ )−1+
≥0
+
≥ 0 ∀ = 1, … ,
∀ = 1, …
il cui lagrangiano è
( , , , , )=
1
2
+
−
( (
+ )−1+ )−
Sfruttando i risultati già visti otteniamo il duale di Wolfe come
87
max ( , , , , )
⎧
⎪
⎪
⎪
⎪
∇
( , , , , )=
( , , , , )
⎨
⎪
⎪
⎪
⎪
⎩
( , , , , )
=
−
=0
=
−
=0
−
= 0 ∀ = 1, … ,
≥0
≥0
sostituendo il risultato della prima condizione nella funzione obiettivo si ricava
1
2
min Γ( ) =
( )
−
=0
0≤
≤
∀ = 1, … ,
che è esattamente identico a quello visto nel caso linearmente separabile salvo per la
seconda condizione che impone un upper bound a che deriva da
−
−
= 0 ∀ = 1, … ,
≥0
≥0
Si osserva che:
1. il vettore
∗
è determinato da
∗
=
∗
2. per le condizioni di KKT vale che
∗
∗
da cui si ricava
∗
∗
∗
=0
+
−1+
≥ 0 ∀ = 1, … ,
∀ = 1, … ,
.
88
Notare come l’impostazione del problema e la sua risoluzione risultino estremamente
simili a quelli visti nel caso lineare “puro”. Effettivamente in letteratura questi tipi di
classificatori vengono chiamati soft margin per il fatto che si definiscono quasi interamente
come un normale classificatore lineare a massimo margine ma quest’ultimo può essere di
fatto violato da un numero limitato di osservazioni.
Per questo motivo il primo classificatore che abbiamo visto (che non ammetteva errori
dato che era in grado di classificare correttamente l’intero training set) viene anche
chiamato come classificatore hard margin.
5.2 Forte non linearità
Quando i vettori del data set sono disposti nei due gruppi e in maniera fortemente
non lineare non è sufficiente utilizzare un iperpiano che ammetta degli errori nella
classificazione.
Se fosse però possibile tradurre le nostre osservazioni in un nuovo spazio in cui queste
sono linearmente separabili allora potremmo applicare in questo secondo “ambiente”
quanto abbiamo visto nei due capitoli precedenti per poi ritradurre il risultato nello spazio
di partenza.
Questi due spazi in cui sono definiti i punti vengono rispettivamente chiamati
1. Input space: spazio in cui sono definite le osservazioni campionarie
2. Feature space: spazio in cui sono “tradotte” le osservazioni campionarie di partenza
questa operazione è ben rappresentata dal seguente (celebre) grafico
L’operazione di codifica (mappatura) dei vettori avviene tramite la funzione :
→
dove tipicamente la dimensione del feature space è maggiore di quella dello spazio di
partenza.
Le coordinate dei vettori verranno definite sinteticamente come
del data set diverranno {( , )} ,… .
= ( ) quindi i punti
89
Il nostro problema di ottimizzazione si traduce in
min Γ( ) =
1
2
( )
−
=0
≥ 0 ∀ = 1, … ,
Fin’ora non sono state poste condizioni particolari su come eseguire la mappatura
dall’input al feature space. E’ però abbastanza intuitivo osservare che se ci trasferiamo in
uno spazio con un numero di dimensioni sufficientemente alto qualsiasi problema di
partenza non lineare è traducibile in un equivalente lineare.
Questa però introduce una nuova problematica sul piano pratico data dal fatto che
all’aumentare della complessità del feature space aumenta anche quella computazionale
nella risoluzione del nostro problema di massimo.
Ciò è dato dal fatto di avere un elevato numero di coordinate con cui si definisce ogni
punto . Al limite potrebbe capitare di utilizzare spazi con infinite dimensioni e quindi
risulta essere definito come un vettore di infinite coordinate rendendo impossibile ogni
approccio di calcolo.
Dalla notazione della funzione Γ( ) osserviamo però che per poter risolvere il nostro
problema di fatto non serve tradurre i vettori
negli equivalenti vettori del feature
space ma basterebbe conoscere i prodotti interni per tutte le coppie ≠ per = 1, … , .
Ciò è confermato dal fatto che la funzione decisionale ( ) =
( ∗ + ∗ ) dipende
solo dai prodotti interni tra i vettori tradotti nel feature space (per verificare ciò basta
sostituire la definizione di ∗ e ∗ ).
Il prodotto interno tra le immagini dei vettori
detta funzione kernel
( ,
) = 〈 ( ), (
∈
nel feature space definisce la così
)〉 = 〈 ,
〉
quindi la funzione Γ( ) diventa
Γ( ) =
1
2
( ,
)−
90
Nel ragionamento di cui sopra vi è una però un problema: come è possibile “conoscere”
solamente il risultato di un prodotto interno tra vettori senza conoscerne le coordinate?
In sostanza:
〈 ,
〉
?
per rispondere a questo punto in maniera intuitiva consideriamo un semplice esempio.
Dato uno spazio di input bidimensionale si considerino due vettori
= ( , ) ed una trasformazione nello spazio
definita come
) e
1
1
⎛
⎜
( )=⎜
√2
⎜
√2
⎝√2
=( ,
⎞
⎟
⎟
⎟
⎠
⎛
⎜
( ) = ⎜ √2
⎜
√2
⎝√2
⎞
⎟
⎟
⎟
⎠
Il prodotto interno tra i due vettori trasformati risulta essere
〈 ( ), ( )〉 = 1 +
+
+2
+2
+2
Si consideri ora la funzione ( , ) = (1 +
) si osserva che tale funzione da lo stesso
risultato del prodotto interno tra i due punti mappati nello spazio
senza tradurre le
coordinate dei vettori in quelle del feature space.
( , ) = 〈 ( ), (
)〉 = (1 +
)
La funzione nei vettori e corrisponde ad un prodotto interno tra le immagini dei vettori
in un “qualche” feature space.
E’ quindi possibile calcolare i prodotti interni tra i vettori
necessariamente calcolare le coordinate dei punti nel feature space.
e
senza dover
Dal punto di vista computazionale questa strategia ha il vantaggio di dover richiedere uno
“sforzo” di calcolo identico quale che sia la dimensione dello spazio caratteristica perché
l’input informativo che sarà dato all’algoritmo di apprendimento è costituito dalla matrice
× dei prodotti interni cioè da valori scalari.
91
Evidentemente una nuova problematica sorge a questo punto: data una qualche funzione
in
e
come si fa a sapere che questa corrisponde al prodotto interno tra i vettori
mappati in un qualche feature space?
Intuitivamente sarà necessario verificare una serie di proprietà che rendono la funzione di
mappatura “valida” a rappresentare un kernel. Vista la complessità del problema
dedicheremo il prossimo capitolo interamente a tale problema.
5.3 Validità di un kernel
In questo capito dobbiamo capire quali sono le proprietà fondamentali affinché una
determinata funzione dei vettori definiti nell’input space corrisponda ad un prodotto
interno in un qualche spazio delle caratteristiche.
Ricordando che il nostro problema ora è definito come
min Γ( ) =
1
2
( )
−
=0
≥ 0 ∀ = 1, … ,
dovremo concentrarci sulla prima doppia sommatoria in cui effettivamente compaiono le
, di questa in particolare dovremo studiare ( )
che può essere sinteticamente
riscritta in notazione vettoriale.
Sia quindi la matrice quadrata × che contiene i valori della funzione kernel per ogni
possibile coppia di vettori e con , = 1, … , .
(
={ ( ,
)} =
,
…
( ,
)
)
…
…
…
(
,
…
( ,
), ( )〉
=
…
〈 ( ), ( )〉
)
)
〈 (
…
…
…
〈 (
), ( )〉
…
〈 ( ), ( )〉
Dato che la funzione kernel si definisce come un prodotto interno ne deve vantare le
proprietà:
1.
2.
3.
4.
〈 , 〉=〈 , 〉
〈 + , 〉=〈 , 〉+〈 , 〉
〈 , 〉= 〈 , 〉
〈 , 〉≥0
〈 , 〉=0 ⇔ =0
92
Dalla definizione di kernel come prodotto interno possiamo quindi ricavare due
caratteristiche che deve avere la matrice
1. se il kernel è una funzione simmetrica allora anche la matrice
2.
deve anche essere semidefinita positiva
risulta simmetrica
Infatti si osservi che
=
〈 ( ), ( )〉 =
( , )=
( ),
=〈
( ),
( )〉
( )〉 = 〈 , 〉 = ‖ ‖ ≥ 0
≥0∀ ∈
quindi la matrice
〈
.
risulta essere simmetrica e semi definita positiva.
Queste due caratteristiche della derivano essenzialmente dal fatto che il kernel sia un
prodotto interno. Questo prodotto interno è però fatto tra due trasformate dei punti
dell’input space quindi ora dobbiamo capire quali proprietà deve vantare la funzione di
mappatura .
Innanzi tutto osserviamo che se ( , ) = 〈 ( ), ( )〉 il feature space in cui si
definiscono i punti ( ) dovrà essere almeno uno spazio metrico in cui è definita
l’operazione di prodotto interno (altrimenti non potremmo calcolare il kernel).
Supponiamo che il feature space sia definito come lo spazio di funzioni (∗, ) allora la
mappatura non farà altro che assegnare ad ogni punto del input space una funzione
(∗, ) ove ∗ ne indica l’argomento.
Per prima cosa dobbiamo verificare che in questo spazio sia definita l’operazione di
prodotto interno, per farlo “allarghiamo” lo spazio di sovra definito assumendo che questo
contenga anche funzioni che sono trasformazioni lineari di (∗, ). Definiamo quindi lo
spazio come
=
( ,∗): ∈
,
∈ ,
∈
= 1, …
93
Prendiamo ora due elementi generici di
che chiamiamo
e
( ,∗)
=
=
,∗
E’ immediato verificare che la somma + ed il prodotto ∗ definiscono un elemento
ancora riconducibile allo spazio quindi possiamo affermare che quest’ultimo è lineare
(ogni elemento dello spazio è ottenibile come combinazione lineare dei suoi punti).
Dobbiamo ora verificare che in
sia anche definito il prodotto interno, per farlo
innanzitutto “proviamo” ad eseguire il conto con in nostri due punti generici
< ,
>=<
( ,∗) ,
,∗ >=
,
se riusciamo a dimostrare che quanto scritto sopra è effettivamente un prodotto interno
abbiamo raggiunto lo scopo. Innanzitutto dobbiamo verificare che l’operazione di cui sopra
sia ben definita cioè che valga per ogni generica coppia di punti in .
< ,
>=
,
=
( )
=
La relazione
< ,
>=
ci dice in sostanza che il questa funzione di
relazione
< ,
ci conferma che < ,
su tutto .
e
non dipende da
>=
> non dipende neanche da
Dobbiamo verificare che la funzione < ,
< ,
>=< ,
>
e
mentre la seconda
( )
e
quindi la funzione è ben definita
> abbia tutte le proprietà del prodotto interno
,
=
,
94
<
<
,
+ ,
< ,
>=
,
>=
,
>=
=
,
+
,
,
=
=
=< ,
< ,
> +< ,
>
>
≥0
Visto che tutte le proprietà del prodotto interno sono state verificate possiamo concludere
che lo spazio delle feature definito come
( ,∗): ∈
=
,
∈ ,
∈
= 1, …
definisce al suo interno un prodotto interno.
L’ultima cosa da definire è la mappatura
feature space appena definito.
:
→
che traduce i punti dall’input al
Si consideri l’elemento in definito come ( ) = ( ,∗), comunque si scelgano due
vettori , ∈ dalla definizione della funzione < , > si ottiene che
< ( ),
>=< ( ,∗),
,∗ >
( )=
( )
e ricordando il risultato
< ,
>=
che equivale a dire
< ,
>=
( ) =
( )
otteniamo
< ( ),
dunque si è dimostrato che
>=< ( ,∗),
,∗ >=
,
=
,
è un kernel.
Grazie alla teoria sviluppata in questo capitolo possiamo dire con certezza quando una
funzione definita unicamente nello spazio di input corrisponde ad un prodotto interno in
un qualche feature space che non dobbiamo necessariamente conoscere.
95
Ritornando all’esempio con cui abbiamo introdotto la problematica
( , ) = 〈 ( ), ( )〉 = (1 +
)
in sostanza ora possiamo sapere se (1 +
) corrisponde ad un qualche prodotto
interno senza conoscere lo spazio
in cui era definito e la mappatura ( ).
E’ bene osservare che questa possibilità esiste solo sul piano teorico perché nella pratica la
effettiva verifica della validità di una funzione come kernel è un compito assai complesso.
Fortunatamente in letteratura esistono una serie di funzioni per le quali si è già dimostrata
la validità come kernel.
Tra questi abbiamo kernel
1. Lineare ( , ) =
2. Polinomiale ( , ) = (
3. Gaussiano ( , ) = exp
+ )
‖
‖
come il lettore avrà intuito la questione qui è che non esiste una regola generale che mi
dica quale kernel utilizzare a fronte del problema che devo affrontare.
Per tale motivo a volte è preferibile cercare di implementare una qualche tecnica di
feature reduction così da ottenere un nuovo input space in cui tutti i punti sono
linearmente separabili. Su questo si applica quindi una SVM lineare evitando la scelta
soggettiva di quale kernel scegliere.
96
5.4 Formula risolutiva nel caso non lineare
Fatti questi ragionamenti possiamo ora ritornare al nostro problema di partenza e vedere
come risolverlo nel caso in cui non si considerino le informazioni
ma delle loro
trasformate ( )
1
min ( , ) = ‖ ‖ +
2
(
. .
( )+ )−1+
≥0
≥ 0 ∀ = 1, … ,
∀ = 1, …
Questo avrà come duale di Wolfe il problema
min Γ( ) =
1
2
( ( ))
(
)
−
=0
0≤
≤
∀ = 1, … ,
Con passaggi analoghi a quelli visti nel caso lineare otteniamo
∗
noto
∗
lo scalare
∗
∗
∗
=
( )
è ottenuto come
( ( ))
( )+
∗
−1=
∗
( ,
)+
∗
−1= 0
e quindi la funzione decisionale nel processo di classificazione risulterà
( )=
((
∗)
( )+ )=
∗
( ,
)+
∗
È interessante notare quest’ultimo risultato perché evidenzia come la superficie di
separazione sia comunque lineare nello spazio delle caratteristiche mentre nell’input space
risulta essere non lineare.
97
E’ bene inoltre evidenziare che i vettori di supporto ottenuti così come il margine di
separazione sono stati ricavati nello spazio quindi la distanza tra i vettori di supporto ed
il classificatore nello spazio di input di fatto non rappresenta il margine di separazione.
Quest’ultimo infatti è stato calcolato in uno spazio in cui le osservazioni erano linearmente
separabili e quindi è errato pensare di ritradurlo in termini dell’input space di partenza.
98
5.5 Capacità di generalizzazione di una SVM
Alla fine del primo capitolo di questa seconda parte ci siamo chiesti come fosse possibile
sfruttare la teoria dell’apprendimento statistico per valutare la capacità di generalizzazione
di un classificatore che massimizza il margine di separazione
Per questo motivo abbiamo ripreso la nostra diseguaglianza fondamentale
( )≤
( ) + Ω(ℎ, , )
ed abbiamo notato che se l’iperpiano ottimale classifica correttamente l’intero data set
allora il rischio empirico sarà nullo. Ne segue che il limite massimo del rischio di
generalizzazione è interamente definito da Ω(ℎ, , ) che si dimostra inversamente
proporzionale alla VC dimension.
Si dimostra che la VC dimension di un classificatore lineare è pari ad + 1 dove
numero di dimensioni dello spazio in cui è definito l’iperpiano di separazione.
è il
Intuiamo quindi il problema che si pone in ambito non lineare: abbiamo visto che nel caso
di problemi non linearmente separabili il “trucco” sta nel tradurre le osservazioni
campionarie in un nuovo spazio
ove queste sono classificabili da un iperpiano di
separazione.
Questo è sicuramente un pregio della metodologia perché evita di utilizzare un set di
ipotesi Λ più complesso di quello lineare per il quale potrebbe essere non agevolo
calcolare ℎ.
D’altro lo spazio ha tipicamente un numero di dimensioni di molto superiore a quello
campionario di partenza (addirittura grazie al kernel trick è possibile utilizzare spazi con
infinite dimensioni) e ciò significa che il classificatore lineare definito in avrà una ℎ molto
elevata.
Se anche avessimo un iperpiano di separazione che in classifica correttamente tutti i
punti (ottenendo un rischio empirico nullo) la VC dimension della soluzione sarebbe
comunque così elevata che alla fine la performance di generalizzazione sarebbe poco
soddisfacente.
In realtà non dobbiamo disperare troppo di questo perché è possibile dimostrare con
semplici passaggi come il valore atteso dell’errore ( ) sia superiormente limitato da una
grandezza funzione del numero di support vector ottenuti che sappiamo essere una
frazione molto contenuta delle osservazioni campionarie.
99
Per dimostrare ciò abbiamo prima bisogno di presentare una tecnica di stima dell’errore
out of sample conosciuta nell’ambito del machine learning come la procedura “leave one
out”.
Si supponga di avere osservazioni campionarie definite sinteticamente come ( , … , )
ove è il numero complessivo di osservazioni campionarie.
Definiamo con ( , ) l’iperpiano di separazione calcolato sull’intera informazione
campionaria che rende minimo il rischio empirico
( )=
( , )
Supponiamo ora di eseguire la seguente procedura
1. Dall’informazione campionaria escludiamo la prima osservazione e ricalcoliamo il
classificatore lineare che minimizza il rischio empirico calcolato solo sugli − 1
vettori rimanenti
| ) il classificatore ottenuto utilizzando le sole − 1
2. Definiamo con ( ,
osservazioni campionarie rimanenti
| ) calcoliamo l’errore di classificazione che questo
3. Sulla base di ( ,
commette sull’osservazione
che non è stata utilizzata nell’addestramento
| )
ottenendo un errore che indichiamo con ( ,
4. Reinseriamo la nel database e togliamo la e rieseguiamo quanto indicato sopra
Questa procedura viene fatta per tutti gli punti del campione, in questo modo possiamo
utilizzare tutti gli vettori dell’informazione campionaria sia per l’addestramento che per il
test out of sample.
L’errore complessivo out of sample che otteniamo nelle iterazioni viene definito come
( ,…, ) =
possiamo quindi calcolare l’expected di
osservato il campione come
[ ( , … , )] =
( ,
| )
considerando la probabilità congiunta di aver
( ,
| )
(
)…
(
)
“selezionando” l’ −esimo elemento avremo
100
( ,
| )
( )
( )…
(
)
(
)…
( )
ma essendo
( ,
| )
( )= ( | )
otteniamo
( | )
( )…
(
)
(
)…
( )=
( | )
= ( + 1) [ ( )]
In definitiva otteniamo
[ ( , … , )] = ( + 1) [ ( )]
e quindi
( ,…, )
= [ ( )]
+1
Quindi l’expected dell’errore leave one out è pari all’expected dell’errore out of sample
che si otterrebbe con la funzione che rende minimo l’errore di classificazione.
Si ricordi ora un passaggio fondamentale visto nel capitolo sui SVM lineari: l’iperpiano di
classificazione che massimizza il margine è interamente definito dai vettori di supporto.
Dunque tutte le osservazioni che non sono dei support vector non influenzano in alcun
modo la soluzione finale, in pratica se sposto o elimino un punto che non è un SV il
classificatore non cambia.
Cosa significa questo alla luce della metodologia del leave one out? Supponiamo che sia
un’osservazione campionaria ma non un SV allora togliendo quel vettore dal training set
l’iperpiano di ottimo non cambia. Se l’iperpiano non cambia allora classificherà
correttamente quell’osservazione.
In generale una procedura leave one out riconosce correttamente tutti i punti che non
sono vettori di supporto perché il classificatore sarà addestrato sulle rimanenti − 1
osservazioni che contengono tutti i SV.
L’errore complessivo ( , … , ) sarà necessariamente minore del numero di vettori di
supporto che definiscono la soluzione finale
101
( ,…, ) ≤ #
ne segue che
[ ( )] =
( ,…, )
≤
+1
#
+1
Con questi semplici passaggi abbiamo dimostrato come la capacità di generalizzazione sia
superiormente limitata da una grandezza funzione del numero di vettori di supporto e
della dimensione campionaria.
Come ci aspettavamo al divergere della dimensione campionaria l’upper bound
dell’expected ( ) si azzera, d’altro canto un contenuto numero di SV garantisce
comunque un buon vincolo di generalizzazione.
Come vedremo nel capitolo sulla gestione delle feature tipicamente il numero di support
vector tende a salire all’aumentare della complessità dello spazio e quindi della funzione
kernel utilizzata.
Per questo motivo a volte è preferibile applicare opportune tecniche di feature selection e
featur extraction al database prima di addestrare il classificatore. In questo modo ci si
augura di ottenere un problema che nello spazio descritto dalle feature “filtrare” sia
linearmente separabile o al più con un contenuto grado di non linearità.
102
Conclusione della seconda parte
Con questa seconda parte abbiamo visto una applicazione della teoria dello statistical
learning per definire un classificatore che non solo possa ottenere una buona performance
in fase di addestramento ma che effettivamente riesca a generalizzare il fenomeno.
In estrema sintesi potremmo dire che la logica di fondo dei SVM è quella di individuare un
classificatore lineare che sia in grado di massimizzare il cd margine di separazione ossia la
distanza tra il separatore e i vettori più vicini a quest’ultimo (detti di frontiera).
Il fatto di massimizzare il margine di separazione ha senso sia ad un livello intuitivo perché
a causa del disturbo presente nel campione i punti di frontiera sono quelli che più
facilmente sono esposti ad un rischio di classificazione errata.
D’altro canto abbiamo visto come il margine di separazione sia inversamente legato alla VC
dimension del classificatore e che quindi all’aumentare del margine è possibile ottenere un
minor upper bound del rischio di errore in generale.
Questo classificatore ottimale si dimostra essere definito unicamente da un subset degli
punti utilizzati in fase di addestramento chiamati appunto vettori di supporto.
Passando poi al caso non lineare si è visto come i SVM utilizzino comunque un
classificatore di tipo lineare previa la mappatura dell’informazione campionaria in uno
spazio
(chiamato feature space) nel quale le osservazioni risultano linearmente
separabili. Il classificatore addestrato in risulta essere una equazione fortemente non
lineare una volta ritradotto nello spazio di partenza .
In particolare abbiamo visto che per poter sfruttare la logica appena descritta non è
necessario definire effettivamente lo spazio
perché ai nostri fini basterebbe poter
conoscere i prodotti interni tra tutte le coppie
,
tradotte nel loro equivalente , .
Questo viene ottenuto tramite le c.d. funzioni kernel ossia funzioni definite nei soli valori
dell’input space che però equivalgono ad un prodotto interno in un qualche spazio . Tale
“trucco” consentirebbe addirittura di utilizzare spazi con infinite dimensioni sopportando
lo stesso sforzo computazionale dato dal fatto che alla fine i conti sono fatti unicamente
nello spazio .
Infine abbiamo dimostrato come l’errore atteso out of sample di un classificatore definito
con la logica SVM sia superiormente limitato da una grandezza funzione del numero di SV
(che sappiamo essere tipicamente molto contenuto rispetto alla dimensione campionaria)
ed il numero di osservazioni disponibili.
103
Evidentemente queste poche pagine non possono descrivere in maniera esaustiva una
metodologia complessa come quella delle SVM e che recentemente ha avuto un cosi forte
sviluppo in moltissimi campi applicativi.
Ciò nonostante quanto scritto da una idea della logica fondamentale alla base del metodo
e ci permetterà di utilizzarla in una futura applicazione con un adeguato grado di
coscienza.
Nella prossima parte saranno presentati due metodi alternativi alle SVM ma facenti
comunque parte della famiglia del machine learning: le reti neuronali e gli alberi
decisionali.
Le prime saranno interessanti perché si basano su una logica di addestramento che è
esattamente l’opposto di quella presentata nelle SVM, i secondi per presentare un metodo
di mahcine learning meno potente rispetto a questi due ma che vanta la caratteristica di
essere una “white box”.
104
Terza Parte
105
1.Reti Neuronali
In come anticipato nella conclusione della seconda parte in questo capitolo verrà trattata
un’altra metodologia di apprendimento automatico chiamata appunto rete neurale perché
come vedremo si ispira direttamente al funzionamento del cervello umano.
Questa metodologia è storicamente nata prima delle SVM ed infatti la sua modellizzazione
non si riferisce direttamente alla teoria del’apprendimento automatico sviluppata dal
matematico sovietico Vladimir Vapnik (non a caso padre delle stesse SVM).
Ciò nonostante sarà interessante fare un confronto tra le due metodologie sulla base
dell’equazione fondamentale che definisce un vincolo superiore in probabilità del così
detto errore out of sample.
Infatti una cosa che accomuna SVM e reti neuronali è l’essere una black box e la tendenza
a sovra-adattarsi ai dati campionari rendendo quindi fondamentale la possibilità di
relazionare l’errore in sample con quello generico definito sull’intero spazio campionario.
Per rendere la presentazione dell’argomento semplice ed immediata tratteremo
l’argomento su tre punti
 Il primo darà un’idea generica del funzionamento delle RN in maniera discorsiva
 Nel secondo si presenterà un esempio step by step in cui si mostrerà il
funzionamento di una semplice RN ed una delle metodologie più semplici per il suo
addestramento
 Nel terzo si faranno alcune considerazioni sul confronto tra RN e SVM
106
1.1 Introduzione ai concetti chiave
Le reti neurali artificiali sono uno strumento di calcolo volto all’apprendimento di regole
(pattern) del tutto svincolato da ipotesi di tipo semiparametriche o parametriche.
Ispirandosi al funzionamento delle reti neurali naturali questo modello matematico si basa
su un elemento fondamentale (il neurone) caratterizzato da un comportamento binario
estremamente semplice di tipo acceso/spento.
Un singolo neuroni è osservabile come un nodo che riceve informazione da uno o più
neuroni. In base all’informazione che riceve il neurone può o meno attivarsi e quindi
mandare a sua volta un segnale allo strato successivo.
Dato che non tutte le informazioni che riceve dallo strato precedente in input hanno la
stessa importanza ogni segnale che viene inviato è associato ad un peso .
Quindi l’informazione complessiva ricevuta in input è data da una combinazione lineare tra
il segnale dato dal neurone (ossia il fatto che questi si sia acceso o meno) e i pesi (ossia la
rilevanza del fatto che un particolare neurone si sia o meno attivato).
Per rappresentare matematicamente l’attivazione del neurone in base alla rilevanza
dell’informazione ricevuta il segnale complessivo ottenuto in input viene confrontato con
un valore soglia tipico dello specifico neurone che stiamo analizzando. Se la somma dei
segnali pesati supera il valore sogli il neurone si attiva e trasferisce questa informazione
allo strato successivo, altrimenti rimarrà “spento”.
Notare che anche il caso di neurone “spento” è una informazione perché significa che
quanto ricevuto dagli strati precedenti non è sufficiente affinché il nodo si attivi.
L’aggregazione di queste unita fondamentali permette alla rete di svolgere funzioni
altamente complesse.
Schematicamente le reti neuronali si costituiscono tipicamente su tre livelli:
1. input: costituito da uno strato di neuroni il cui compito è assimilare l’informazione
dall’esterno e trasferirla agli strati successivi
2. calcolo: costituito da uno o più strati di neuroni (detti nascosti) all’interno dei quali
avviene la trattazione dell’informazione ricevuta dallo strato precedente
3. output: strato di neuroni che fornisce la soluzione
I collegamenti tra i neuroni possono essere di natura più o meno complessa, il caso più
semplice è quello di tipo feed forward in cui i neuroni di uno strato possono comunicare
unicamente con i neuroni dello strato + 1. Nei modelli più complessi è possibile
107
impostare la rete in modo tale che i neuroni possano avere collegamenti che bypassino
certi strati o che facciano riferimento a strati precedenti o che comunichino con neuroni
dello stesso strato in uno schema circolare.
Il pregio delle reti neuronali sta nella capacità di utilizzare informazioni non
precedentemente trattate e di poter ricreare qualsiasi tipo di funzione (sia per problemi di
regressione che di classificazione). Un problema particolarmente avvertito nelle
applicazioni è però quello dell’overfitting ossia della tendenza del modello neuronale a
specializzarsi troppo sui dati usati in fase di addestramento con una conseguente bassa
performance nella successiva fase di generalizzazione.
Ciò viene confermato dal teorema di Kolmogorov il quale afferma che una rete neurale con
sufficiente numero di neuroni nel livello nascosto e/o iterazione di addestramento può
arrivare alla situazione in cui non commette alcun errore nel training set. Un’altra pecca
del metodo è che i risultati ottenuti da una rete neurale non sono interpretabili perché di
questo modello si può conoscere la struttura (determinata dal ricercatore) ma non la logica
che avviene al suo interno una volta addestrata rendendo cosi lo strumento una black box.
Si consideri uno dei metodi più semplici di addestramento delle reti neuronali, la back
propagation. Questo metodo di apprendimento supervisionato inizializza l’algoritmo
assegnando un valore casuale a tutti i parametri del modello (ossia i pesi e le soglie
descritte precedentemente) ed inserendo le varie osservazioni di addestramento al
modello così definito. Essendo i parametri definiti casualmente le previsioni che si
otterranno dal modello saranno quasi certamente sbagliate.
L’addestramento consiste nel “tornare indietro” modificando vari parametri e reinserendo
l’informazione in input fino ad arrivare alla situazione in cui la rete restituisce un risultato
corretto a fronte di un dato esempio.
Intuitivamente una volta addestrata la rete si hanno a disposizione una serie di valori che
rappresentano i diversi parametri di peso e soglia, questi non danno alcuna informazione
all’utilizzatore sulla funzione che la rete utilizza nei problemi di regressione o
classificazione.
Un ulteriore problematica sta nella regola di apprendimento utilizzata, prima abbiamo
detto che la rete viene addestrata modificando i parametri fino a che non classifica
correttamente l’esempio che si sta trattando, la direzione verso cui vengono modificati i
parametri viene eseguita in base all’opposto del gradiente di una determinata funzione di
errore rispetto ai parametri.
108
Si dimostra che questa funzione potrebbe vantare diversi minimi relativi e che per come si
struttura l’algoritmo di apprendimento la rete potrebbe convergere ad una soluzione non
ottimale intrappolandosi in un minimo relativo.
109
1.2 Un esempio per capire
Al fine di capire il funzionamento di una rete neurale verrà qui proposto un semplice
esempio in cui si mostrerà passo per passo il processo di apprendimento supervisionato di
una rete a due strati in cui sono disponibili campioni che hanno già un valore “noto” di
output.
In questo scenario dunque si suppone di avere delle informazioni (ad esempio: sinistri
denunciati in una compagnia) per i quali è già noto quali campioni appartengono ad un
tipo (ad esempio: sinistri fraudolenti) e quali ad un altro (ad esempio: sinistri effettivi).
Lo scopo è addestrare la rete su questi dati (detto appunto training set) al fine di poter
determinare una qualche regola di calcolo che possa in futuro classificare nuove
osservazioni per le quali non è noto il gruppo di appartenenza.
STEP 1: definire l’architettura della rete
Un primo passo da compiere è determinare la struttura della rete neuronale che si intende
utilizzare. Il caso più semplice (che verrà qui trattato) prevede una struttura con almeno 2
strati (input, calcolo ed output) unidirezionale ove quindi il neurone di uno strato riceve
informazione dai soli neuroni dello strato precedente e comunica l’informazione con i soli
neuroni dello strato successivo.
Ai nostri fini utilizzeremo una struttura di questo tipo:
 livello di input: 3 neuroni indicati col pedice s
 livello di calcolo: 2 neuroni indicati col pedice j
 livello di output: 1 neurone
che possiamo rappresentare come
110
Notare che il numero di neuroni nel livello di input dipende dalla struttura del campione
disponibile, se ogni osservazione si costituisce da un vettore di valori lo strato di input
avrà neuroni ognuno dei quali riceverà una specifica informazione.
Nel nostro semplice caso stiamo sostanzialmente eseguendo un problema di classificazione
quindi il risultato finale può essere schematicamente rappresentato da una variabile
binaria unidimensionale che assuma valori 0 e 1.
STEP 2: addestramento della rete
Per capire come funziona il processo di addestramento è necessario fare un breve accenno
sul funzionamento del singolo neurone. Una rete neurale non è nient’altro che una
aggregazione di unità elementari che interagiscono tra di loro il cui funzionamento si può
sintetizzare in un comportamento binario: acceso spento.
Ogni neurone (salvo quelli di input) riceve una informazione dallo strato precedente, se
l’informazione ricevuta supera una determinata soglia il neurone si attiva e trasferisce a
sua volta il segnale allo strato successivo.
Dato che non tutte le informazioni che il nodo riceve hanno lo stesso peso il segnale
complessivo che viene ricevuto è definito come una media ponderata del tipo
( )
ove il
( )
( )
=
+
( )
=
( )
=1
rappresenta il valore della soglia che può essere inserito nella sommatoria
assumendo un neurone fittizio
Notare l’apice di
( )
che assume sempre valore 1.
che indica che il -esimo neurone dello strato di calcolo ricevere
informazioni dal primo strato (ossia quello di input), logicamente indicheremo con un
l’informazione che il nodo di output riceve dal quello intermedio.
( )
Come si è prima accennato l’informazione che un neurone riceve deve superare un
determinato valore soglia affinché questo si attivi, formalmente ciò viene rappresentato
con una funzione detta “di trasferimento”.
−
=
( )
La forma di tale funzione (insieme all’architettura della rete) è la seconda ipotesi che viene
richiesta dal modello, di per se non esistono vincoli sul tipo di funzione da utilizzare ed il
111
caso più semplice potrebbe essere quello di una funzione a gradino che ben rappresenta la
logica del “superare il valore soglia”.
Ai nostri fini utilizzeremo una funzione di tipo sigmoide perché vanta una comoda
proprietà che ci permetterà di semplificare i calcoli più avanti infatti
=
1
1+
→
= (1 − )
STEP 2.1: inserimento dei dati
Definita la struttura e le funzioni di trasferimento andremo a definire in maniera casuale i
diversi pesi e valori soglia della rete. Visto che il risultato del modello è definito da i valori
che assumono tali parametri il problema di addestramento consiste nel “ben definire” i
valori che questi devono avere.
Per farlo si segue una logica di minimizzazione dell’errore commesso. Infatti avendo
definito i diversi parametri in via casuale si passerà all’inserimento nella rete dei diversi
campioni .
Ragionevolmente i risultati
che la rete cosi calibrata restituirà saranno diversi da quelli
reali ma proprio perché sono noti i valori che la rete dovrebbe restituire (apprendimento
supervisionato) possiamo calcolare l’errore commesso dalla rete come
=
ove la variabile
=(
− )
rappresenta il valore target ossia quello che dovrebbe restituire la rete.
Il nostro obiettivo è modificare i pesi
e le soglie in modo che sia minimizzato , per
capire verso che direzione muoversi nel modificare questi pesi si può osservare la nostra
come funzione dei pesi e quindi ci dovremo spostare verso la direzione che minimizza il
valore di .
112
STEP 2.2: calcolo delle derivate parziali
Avendo definito con
( )
( )
( )
=
( )
( )
+
( )
=
( )
=
( )
( )
=
( )
rispettivamente l’informazione che il -esimo neurone intermedio riceve dallo strato di
input e l’informazione che il neurone di output riceve dallo strato nascosto ed avendo
assunto che le funzioni di trasferimento siano definite come
( )
=
( )
1
( )
1+
=
1
=
( )
1+
possiamo modificare i nostri pesi
al fine di minimizzare l’errore. Nel metodo qui
proposto (detto forward/backward) la modalità con cui ciò viene fatto parte aggiustando i
pesi tra lo strato intermedio e l’output (ossia i
l’intermedio (i
( )
( )
) per poi passare a quelli tra l’input e
).
Avremo quindi
( )
( )
=
( )
( )
=(
− ) (1 −
)
( )
per i pesi tra l’hidden e l’output e
( )
( )
=
( )
=(
( )
( )
( )
− ) (1 −
)
( )
( )
( )
( )
1−
( )
113
STEP 2.3: minimizzazione dell’errore
Il calcolo delle derivate parziali permette di capire se effettivamente esiste un punto di
minimo assoluto nella funzione dell’errore e come si modifica la grandezza al variare dei
pesi e soglie di ogni neurone.
L’obiettivo è minimizzare , quindi è necessario definire una regola di apprendimento ben
precisa che ci dica come modificare pesi. Nella versione classica del back propagation la
regola di apprendimento più semplice è quella dello steepest descent che determina la
variazione dei pesi di ogni neurone in base alla direzione in cui l’errore si riduce più
rapidamente (ossia il gradiente delle derivate parziali di con ogni peso).
STEP 3: test out of sample
Uno dei problemi delle reti neurali è la loro capacità di iper-adattarsi ai dati del training
set, questo comporta una problematica nel modello in quanto l’obiettivo è poter
classificare correttamente i nuovi campioni che verranno dati alla rete per i quali non è
noto il valore di output.
Per poter valutare la capacità di generalizzazione del modello una soluzione consiste nel
non utilizzare tutti i dati disponibili del training set ma di usarne solo una parte. I dati non
utilizzati nell’addestramento serviranno a valutare la capacità di classificazione della rete
perché permetteranno di vedere come il modello si comporta con delle nuove osservazioni
(non utilizzate nella fase di addestramento) per le quali è noto l’output.
114
1.3 Reti Neurali ed SVM
Presentato il funzionamento di una rete neurale elementare possiamo fare alcuni confronti
con quanto abbiamo visto nelle SVM.
Innanzi tutto richiamiamo la nostra diseguaglianza fondamentale
( )≤
( ) + Ω(ℎ, , )
ove sappiamo che il secondo membro della parte a destra della diseguaglianza è legato al
grado di complessità del set di funzioni utilizzato per la classificazione.
Il rischio empirico non ci da problemi perché è semplicemente l’errore commesso dalla
learning machine una volta addestrata sui dati utilizzati in fase di training ma come si
definisce la Ω(ℎ, , ) nelle reti neurali.
Negli esempi fin’ora proposti si è sempre considerata una rete elementare costituita da un
solo strato nascosto con andamento strettamente feed forward. Nella pratica però la
struttura di una rete può essere estremamente complessa prevedendo una pluralità di
strati di calcolo e flussi informativi che possono anche “tornare indietro” agli strati
precedenti.
La misura di complessità del set di funzioni scelto Ω(ℎ, , ) è quindi definito dal grado di
complessità della rete neurale. Infatti all’aumentare del grado di complessità aumenta
anche la capacità della rete di definire classificatori fortemente non lineari e quindi di
azzerare il rischio empirico (cosi come accade nel considerare set di ipotesi Λ più complessi
di quello lineare).
La struttura della rete neurale è essenzialmente definita dallo sperimentatore in una fase
antecedente a quella di addestramento. Quindi la logica di fondo di una RN consiste nel
1. Definire la struttura di rete ossia Ω(ℎ, , )
2. Addestrare la rete affinché ottenga il più basso
( )
se nella fase di costruzione della struttura si è definito un “intreccio” troppo complesso
anche azzerando il rischio empirico non si otterrebbe una buona performance out of
sample incorrendo nella situazione di overfitting.
Nelle SVM la metodologia di addestramento è diametralmente opposta
1. Si definisce un livello di errore in sample definito accettabile
2. Si addestra la SVM affinché ottenga il maggior margine possibile minimizzando
Ω(ℎ, , )
115
Il problema non si riduce ad un mero approccio invertito perché se nelle SVM sia il rischio
empirico che il grado di complessità sono facilmente controllabili dallo sperimentatore
sulla base del principio di SRM nelle RN la definizione del grado di complessità della rete
non è così immediata e la cosa si risolve con qualche euristica.
Un’altra considerazione da fare sulla differenza tra SVM e RN riguarda l’addestramento
della learning machine.
Nell’approccio back propagation adottato dalle RN la superficie di perdita su cui dobbiamo
cercare il minimo è tipicamente molto irregolare ossia con diversi minimi relativi. Non è’
quindi certo che l’algoritmo di apprendimento della rete converga al punto di minimo
globale (sempre che esista).
Nelle SVM la definizione dell’iperpiano ottimale è ottenuta risolvendo un problema di
ottimizzazione quadratico convessa per cui è certa l’esistenza minimo globale che può
essere trovato senza l’utilizzo di metodologie ricorsive. Il rischio di intrappolamento in
minimi relativi viene quindi scongiurato.
Come vedremo la necessità di metodologie iterative entra nelle SVM solo in fase di
gestione delle feature quando si vuole determinare quella combinazione di variabili che
permetta di ottenere la miglior classificazione
116
2.Alberi Decisionali
Visti le SVM e le reti neuronali in questa sezione verrà presentato sinteticamente un terzo
(ed ultimo) metodo di classificazione appartenente alla famiglia dei metodi di
apprendimento automatico.
Come nel capitolo delle reti neurali la presentazione dell’argomento sarà articolata su tre
parti
1. Presentazione discorsiva del metodo
2. Presentazione di un esempio pratico
3. Confronto con le SVM in base alla teoria dello statistical learning
In particolare verrà inizialmente presentata la logica di funzionamento di un singolo albero
decisionale per poi estendere il ragionamento alle tecniche di bagging ed infine alle c.d.
random forest.
117
2.1 Introduzione
Gli alberi decisionali (sinteticamente AD) sono una tecnica di machine learning utilizzabile
in entrambi gli ambiti della classificazione e regressione che ha il pregio di vantare una
struttura logica molto semplice e facilmente interpretabile al punto tale da essere definita
come una white box a differenza di altri metodi come le reti neuronali e SVM.
Anche se la logica di fondo non varia sensibilmente tra la regressione e classificazione in
questa breve introduzione ci si focalizzerà su quest’ultimo ambito essendo probabilmente
il più intuitivo e quindi utile nell’affacciarsi per la prima volta agli AD.
Il metodo prevede di partizionare il predictor space (da ora in poi chiamato input space per
coerenza con la nomenclatura utilizzata nelle SVM) in una serie di regioni che definiscono
le varie classi esistenti nel problema. Una volta trovata la miglior partizione dell’input
space una nuova osservazione viene assegnata ad una classe in base a dove “cade” rispetto
alle partizioni dello spazio sovra definite.
Dato che la logica dell’insieme di regole utilizzate nel partizionare l’input space è di tipo
gerarchico (o “top/down”) possiamo rappresentare il processo di classificazione di una
osservazione con uno schema ad albero (tipicamente rappresentato al rovescio).
Tra gli altri pregi che vanta il modello si ha la possibilità di lavorare naturalmente su
problemi in cui esistono più di due classi e la capacità di operare con osservazioni ove le
coordinate sono definite in termini di variabili qualitative e quantitative. Infatti non è
richiesta alcuna transcodifica di informazioni puramente qualitative come avviene in altre
metodologie di apprendimento automatico (quali ad esempio gli algoritmi genetici).
Nonostante tutti questi pregi gli AD tipicamente non vantano delle performance predittive
comparabili con quelle di metodi più sofisticati quali le reti neurali o le SVM. Come
vedremo è però possibile aumentare considerevolmente la performance di queste
tecniche tramite una loro generalizzazione (chiamata random forest) che però sacrifica
parte dell’interpretabilità dei risultati.
118
2.2 Un esempio per capire
Si assuma di operare in ambito supervisionato e di avere a disposizione osservazioni nel
training set, ogni osservazione è definita come una coppia ( , ) ,…, ove rappresenta
un vettore di dimensione ℎ che contiene le diverse “caratteristiche” che vengono rilevate
per ogni osservazione mentre è una etichetta che indica la classe di appartenenza della
rispettiva osservazione.
In questa sede chiameremo “attributi” le diverse caratteristiche (o meglio variabili) che
definiscono i vettori . Nel nostro caso quindi ogni punto è costituito da ℎ diversi attributi i
quali possono essere contemporaneamente valori numerici continui o discreti, valori
binari, categorie ecc.
La stessa non ha alcun vincolo e quindi non necessariamente deve rappresentare un set
di classi dicotomiche ma nel nostro caso assumeremo per semplicità che sia comunque
definito come = ±1.
Come costruire l’albero decisionale? Nella
sostanza la struttura di un albero decisionale è
definita da una serie di “nodi” in ognuno dei
quali viene eseguito un certo test volto a
ripartire le osservazioni giunte in quel nodo in
diversi sottonodi. Ogni test riguarda un
particolare attributo che definisce le
osservazioni
e si esegue confrontando il
valore assunto dall’osservazione -esima per
quella variabile ed un certo valore soglia.
Da ogni nodo partono quindi diversi sottorami
e per ognuno di questi si dovrà definire un test
analogo a quello del livello precedente.
Il processo si ripete quindi in maniera ricorsiva fino ad arrivare ad un punto in cui la
osservazione viene assegnata ad una certa classe di . In coerenza con la metafora
dell’albero questo livello dell’AD è definito foglia.
Come il lettore avrà già intuito questo meccanismo pone un problema di ordinamento
infatti se ogni nodo rappresenta un test che riguarda un particolare attributo di e se la
struttura decisionale è di tipo gerarchico allora qual è il primo attributo da utilizzare per
“iniziare l’albero”? Esistono di fatto differenze nella capacità predittiva del modello se si
inizializza l’AD con un diverso attributo o è indifferente da dove si comincia?
119
Il metodo che è stato proposto per la costruzione degli AD si basa sul concetto di entropia
applicato con logica ricorsiva greedy al training set. In seguito vedremo nel dettaglio cosa
significhi quanto appena scritto ma per meglio comprendere la logica di fondo del metodo
si consideri il seguente ragionamento: se dovessi costruire un classificatore che si basa su
un unico attributo del vettore quale variabile permetterebbe la miglior classificazione
possibile del training set? Intuitivamente andremo a scegliere quella che ci permette di
guadagnare la maggior informazione possibile sulla relazione che intercorre tra le classi e
le osservazioni di addestramento.
Quindi l’ideale sarebbe una variabile in grado di ripartire tutti i record nelle rispettive classi
perché ciò vorrebbe dire che quel particolare attributo permette assegnare in maniera
deterministica le varie osservazioni. Nella sostanza vogliamo che delle nostre
osservazioni tutte quelle classificate come +1 siano mandate in una foglia e tutte quelle
classificate come −1 in un’altra.
Il caso peggiore invece è dato da un attributo che ripartisce i records su due foglie
mantenendo le proporzioni delle osservazioni del training set. Se ad esempio il 60% dei
records appartiene alla classe +1 ed il restante 40% alla classe −1 nelle due foglie avremo
per ognuna un 60% di osservazioni +1 ed un 40% di osservazioni −1; il nostro livello di
informazione sul fenomeno è rimasto esattamente lo stesso!
Una prima soluzione per individuare la “capacità informativa” di un attributo che fu
proposta si basa sulla misurazione di un tasso di errore definito dalla frazione delle
osservazioni di addestramento che finiscono in una foglia senza appartenere alla classe
predominante.
Il problema di questo metodo è che non permette di avere una misura sufficientemente
rappresentativa del livello di “purezza” del nodo e quindi si sono proposte le seguenti
alternative:
Gini Index
=
(1 −
)
questo indice misura la varianza totale sulle classi ed è pari a zero (varianza nulla) per
= 0 o 1.Quindi se → 0 nella regione -esima dell’input space sono presenti solo
punti appartenenti ad una particolare classe.
Un altro indice utilizzato per misurare il guadagno informativo dato da un certo attributo
nel ripartire il training set è l’entropia attesa.
120
Il concetto di entropia qui utilizzato richiama l’interpretazione che viene adottata
nell’ambito dalla meccanica statistica e fa riferimento ad una misura del livello di ordine
nello spazio dei records considerati nell’addestramento dell’albero. Maggiore è il livello di
entropia e maggiore è la difficoltà che si ha nell’assegnare le diverse osservazioni alle classi
di appartenenza
Considerando per semplicità una classificazione binaria (come nel nostro esempio) il
concetto di entropia viene definito dalla seguente espressione
,
=−
−
ove rappresenta il numero di vettori classificati +1 ed
come −1.
il numero di punti classificati
Si osservi come l’entropia sia un valore che oscilla tra 0 quando
=
= 0 o 1 ed 1 quando
= che nel caso di una classificazione binaria risulta essere lo scenario più difficile
da trattare.
Se è un attributo che può assumere valori (quindi separerebbe il training set in
sottoinsiemi , … , ) l’entropia attesa ( ) rimanente dopo aver utilizzato l’attributo
sarebbe pari a
( )=−
ove
+
,
+
+
è la probabilità di rientrare nella classe -esima.
Viene quindi definito information gain ( ) la differenza tra il livello di entropia di partenza
e quello ottenuto utilizzando l’attributo
( )=
,
−
( )
Visto che all’aumentare dell’entropia aumenta la nostra ignoranza sul fenomeno oggetto di
studio si sceglie come attributo per il primo nodo quello che comporta la più alta
diminuzione di entropia (ossia il massimo information gain).
Definito il primo nodo si riesegue il processo in via ricorsiva sui
determinati fino alla definizione dell’intero albero.
nodi precedentemente
La definizione dell’addestramento “ricorsivo greedy” nasce dal fatto che la costruzione dei
vari nodi si basa sulla selezione dell’attributo che permette in quel momento il più alto
121
information gain ma nulla ci assicura che utilizzando un diverso ordine gerarchico lo stesso
attributo possa dare una maggior diminuzione di entropia ad uno stesso livello dell’albero
(un po’ come avviene nella feature selection quando si utilizzano metodi di ranking sui
singoli attributi).
E’ inoltre evidente che questo metodo dipende molto da come è strutturato il training set
e che se si andasse a togliere o aggiungere una osservazione di una determinata classe
cambierebbe l’information gain di un certo attributo e da li anche la struttura dell’AD.
Come vedremo questo sarà uno dei motivi che sta alla base di una generalizzazione degli
AD chiamata random forest e bagging.
Prima di concludere questo breve esempio sull’addestramento degli AD intendo
presentare al lettore una breve nota su come avviene la classificazione di una nuova
osservazione una volta addestrato l’albero.
Si consideri un data set in cui ogni osservazione è definita da un vettore
coordinate numeriche e da una etichetta = ±1.
di due sole
Dato che ogni punto si definisce da due sole
coordinate
entrambe
numeriche
possiamo
rappresentare il training set su un piano cartesiano.
Il meccanismo gerarchico di classificazione che
abbiamo rappresentato con uno schema ad albero può
quindi essere anche osservato direttamente nello
spazio delle variabili di input nel seguente modo
In questo caso l’input space viene partizionato in tre
regioni che sono definite dai test eseguiti sui due
attributi. Definendo con
l’asse delle ascisse e con
quello delle ordinate dal grafico a
sinistra comprendiamo che il primo test sarà eseguito su
che quindi è la variabile che
permette il massimo information gain.
Tutti i punti che si trovano a sinistra del valore soglia di andranno in una certa classe, gli
altri passano attraverso un secondo test definito per l’attributo .
E’ bene evidenziare che non vi è alcun vincolo su come debbano essere geometricamente
definite le linee di confine tra le diverse regioni e di fatto potremmo avere regioni definite
da curve e/o rette non necessariamente parallele agli assi. Ovviamente in questa sede non
è nostro obiettivo andare a trattare casi così complessi.
Eseguita la partizione dell’input space la classificazione avviene semplicemente
assegnando alla regione la classe predominante. Infatti non tutte le osservazioni di
122
addestramento che rientrano in una stessa regione sono necessariamente appartenenti ad
una sola classe quindi si va a calcolare al tipologia di classe più frequente in quella
partizione. Ritroviamo quindi la logica vista precedentemente quando ci si chiedeva quale
criterio dovesse governare la scelta di un attributo nella costruzione dell’albero.
Evidentemente la situazione ideale è quella in cui per ogni regione si hanno solo punti
appartenenti ad una stessa classe (che avrà frequenza pari a 1 quindi) anche se ciò farebbe
sorgere il sospetto di un sovra adattamento del modello ai dati.
Dato una osservazione di test la classificazione avviene semplicemente osservando in quale
regione il punto cade e assegnandoli quindi la classe che fa riferimento alla partizione.
Nel caso in cui si utilizzasse un AD per eseguire una regressione la logica di fondo è quasi
immutata infatti il metodo prevede di calcolare per ogni regione il valor medio (o mediano)
dei punti del training set che vi rientrano. La previsione per una nuova osservazione che
ricade nella regione è semplicemente pari alla media della regione. La maggior differenza
sta quindi nella modalità con cui si ripartisce l’input space nelle diverse regioni (che qui
non tratteremo).
123
2.3 Oltre il singolo albero: introduzione della casualità
2.3.1 Bagging
Come accennato alla fine del precedente paragrafo il punto critico che si ha nella fase di
addestramento di un AD è costituito dalla forte dipendenza tra la struttura dell’albero
addestrato e la distribuzione tra le diverse classi dei dati utilizzati per l’addestramento.
Per poter meglio capire questo punto è però necessario prima introdurre il concetto di
varianza e distorsione. Uno dei classici problemi nell’ambito del machine e statistical
learning è quello del trade off tra la capacità di generalizzazione e di adattamento ai dati
del modello.
Queste sono due fonti di errore che molto raramente possono
contemporaneamente minimizzate e che formalmente definiamo come:
( ) =
( ) =
essere
( ) − ( )
( )−
( )
Il Bias (o distorsione) quantifica la capacità di generalizzazione del metodo ossia la
performance nel classificare punti non utilizzati nella fase di addestramento. Ciò viene
misurato verificando se in media le previsioni ottenute dal modello per quell’osservazione
convergono alla sua effettiva classe.
La varianza riguarda invece la capacità di adattamento del modello ai dati usati
nell’addestramento e si misura con il livello delle previsioni fatte dai vari classificatori
nell’introno della previsione media.
Gli AD sono tecniche di machine learning caratterizzate da una bassa distorsione ed una
elevata varianza.
La bassa distorsione dell’AD fa si che in media le previsioni (ottenute con AD addestrati su
diversi data set) che si ottengono per uno valore test tendano a convergere alla classe
reale dell’osservazione. D’altro canto l’elevata varianza del metodo fa si che AD addestrati
su differenti data set diano classificazioni anche molto diverse per una stessa osservazione
test (che però convergono al valore reale data la bassa distorsione).
Il primo metodo che fu proposto per far fronte al problema dell’elevata varianza negli
alberi decisionali è il così detto bagging. Esso consiste nell’utilizzare non uno ma diversi
data set e su ognuno di questi addestrare un albero .
124
Così facendo si ottengono modelli ( ) ad alta varianza i quali vengono aggregati in
modo tale da ottenere un singolo modello di classificazione a bassa varianza
( )=
1
( )
Nel caso di alberi decisionali per problemi di classificazione questa media viene calcolata
con il principio del “voto di maggioranza” ossia data una particolare foglia dell’albero si
osserva a quale classe i diversi metodi ( ) assegnano l’osservazione e si determina la
( ) prendendo quella osservata più
classe per la corrispondente foglia di
frequentemente sui alberi decisionali.
Ovviamente nella pratica non si ha accesso a data set multipli quindi per poter eseguire il
bagging si ricorre a metodologie quali ad esempio il bootstrapping che permette di
generare pseudo data set tramite una estrazione casuale con remissione degli elementi
del training set di partenza.
125
2.3.2 Random Forest
Il bagging introduce un elemento di casualità nel metodo non presente nella versione plain
vanilla degli alberi decisionali. Il fatto di definire un AD come media di una serie di AD
addestrati su diversi data set estratti casualmente dai dati originali comporta una
diminuzione del problema della varianza sovra indicato con il costo di una corrispondente
diminuzione dell’interpretabilità dei risultati del metodo.
Il fatto di addestrare un insieme di AD su data set estratti casualmente spesso però non
risulta sufficiente ad ottenere un classificatore che vanti una sensibile diminuzione di
variabilità.
Il motivo di questo problema può essere intuito con il seguente ragionamento: si supponga
di avere delle osservazioni definite da ℎ attributi . Assumiamo che di questi ℎ attributi
ve ne sia uno che sia in grado di diminuire il livello di entropia in maniera sostanziale e che
questo ( ) sia di molto superiore ad ogni altro information gain ottenibile con gli altri
attributi.
Cosa è ragionevole aspettarsi nella fase di addestramento dei diversi alberi? Ricordando il
funzionamento dell’approccio ricorsivo greedy top/down quello che verosimilmente
accadrà sarà che tutti gli alberi
che addestreremo sui diversi subset di dati avranno
come nodo primario proprio questo particolare attributo.
Ciò comporta il fatto che il semplice metodo di bagging restituisca degli alberi
la cui
struttura decisionale è sempre molto simile quindi quando eseguo la media dei diversi
risultati difficilmente riuscirò ad ottenere un AD che vanta un sensibile calo della varianza.
Quello che è necessario fare è cercare di de-correlare i diversi in modo tale da ottenere
alberi sensibilmente diversi tra loro nella struttura decisionale e poter ricavare un
classificatore medio che presenti una sensibile diminuzione della varianza.
Per de-correlare i diversi
si è proposto di addestrare alberi decisionali su dei subset
del data base estratti casualmente e che considerano anche un subset estratto
casualmente degli attributi presenti nei dati originali.
Se quindi abbiamo un data set di
osservazioni { , } ove ogni
è definito da un
vettore di
elementi questo metodo (chiamato random forest) prevede di estrarre
casualmente
subset di dati ove ogni osservazione
è a sua volta definito da un
sottoinsieme di coordinate estratte casualmente.
Ciò permette di evitare il problema sovra evidenziato visto che per certi alberi decisionali
l’attributo che vantava il più alto ( ) non sarebbe considerato.
126
Una volta addestrati i alberi si calcola il classificatore medio con la tecnica del voto di
maggioranza sopra illustrata e si dimostra che la media dei tra loro incorrelati converga
ad un classificatore di ottimo.
127
2.3.4 Confronto con le SVM
A differenza di quanto fatto nel capitolo sulle reti neuronali il confronto tra le SVM e gli
alberi decisionali è molto più complesso per il semplice fatto che non risulta così
immediato quantificare la VC dimension di una random forest.
Da un lato la VC dimension di un singolo albero è abbastanza semplice da quantificare
perché sappiamo che ogni nodo definisce un livello soglia che partiziona lo spazio
campionario.
Un singolo nodo divide lo spazio in due partizioni quindi il massimo numero di punti
frantumabili è due. Passando ad un albero con due nodi questi generano due valori soglia
che possono ripartire lo spazio in tre o al più quattro aree (a seconda di come si posiziona
rispetto al precedente valore soglia)quindi la sua VC dimension sarà tre.
In generale quando trattiamo un singolo albero la VC dimension è pari a
numero di nodi che costituisce l’albero.
+ 1 ove
è il
Il problema sorge quando si vuole misurare il grado di complessità di una random forest
per la quale non il calcolo della VC dimension non è così agevolo. Per questo motivo il
confronto con le SVM risulta essere problematico dato dal fatto che solo l’errore empirico
è facilmente misurabile su entrambi i modelli ma spesso le SVM vantano performance più
elevate.
Non deve però essere sottovalutata la semplicità della logica dietro gli alberi decisionali
nonché la loro naturale capacità di operare con variabili sia quantitative che qualitative
senza dover ricorrere all’utilizzo di variabili dummy.
Inoltre gli alberi decisionali sono direttamente applicabili anche in problemi di
classificazione non binaria senza dover ricorrere a tecniche come la “uno a molti” che
devono essere utilizzate nelle SVM data la loro originaria incapacità di lavorare oltre il
semplice caso di classificazione a due soli stati.
128
Appendice: Teoria dell’Informazione ed Entropia
Secondo la Teoria dell’Informazione (sinteticamente TdL) l’informazione che una variabile
aleatoria
fornisce per ogni sua manifestazione
è inversamente proporzionale alla
probabilità di assumere quel valore.
=
=
1
( = )
=
1
Tipicamente questo valore viene riscritto su scala logaritmica in base 2 ottenendo quindi
che l’informazione fornita da quando assume valore è
=
Indichiamo con
l’entropia di
aleatoria oggetto di studio
= log
1
ossia l’informazione fornita in media dalla variabile
=
( ) log
1
Maggiore è l’entropia di una variabile aleatoria e minore è la conoscenza che abbiamo su
di essa. Infatti l’entropia può essere vista come una “misura del numero di stati che hanno
una probabilità di accadimento significativa” (Leonard Susskind).
Si consideri ad esempio una variabile
accadimento dei due stati siano
0,99
0,75
0,5
0,01
={ ,
0,01
0,25
0,5
0,99
} e si assuma che le probabilità di
0,024321
0,244219
0,30103
0,024321
Si osservi come nel caso in cui
= 0,99 la variabile aleatoria oggetto di studio è “quasi
degenere”. In tal caso il livello di entropia risulta essere molto basso perché
evidentemente la conoscenza di
da un alto grado di informazione sull’intera variabile
aleatoria. Il caso in cui le probabilità di accadimento dei due stadi si equivalgono il livello di
entropia raggiunte il massimo essendo il caso in cui si ha la minor conoscenza di .
Possiamo estendere questo concetto anche a due variabili aleatorie nelle nozioni di
entropia complessiva e condizionata.
129
Chiamiamo entropia complessiva di due variabili aleatorie
ed
la media delle
informazioni fornite dalla conoscenza congiunta dei valori che possono assumere
,
=
( , ) log
,
Chiamiamo invece entropia condizionata di
|
=
dato
1
( , )
la seguente quantità
( | ) log
,
1
( | )
che indica l’incertezza su noto . Può essere anche interpretato come l’ammontare di
informazioni necessarie per conoscere completamente posto di conoscere interamente
di .
Si dimostra che
|
≤
( )
quindi se è noto
possiamo sfruttare questa informazione nella fase di costruzione
dell’albero per ridurre l’entropia sfruttando la seguente relazione
( , )=
( )− ( , )= ( , )
ove ( , ) è l’informazione fornita da una variabile sull’altra e si dimostra che questa
quantità è sempre la stessa (ossia ( , ) = ( , )).
Definiamo infine con gain ratio il rapporto ( , )/ ( ) che è la percentuale di
informazione fornita da utile nel caratterizzare la .
130
3 Confronto tra classificatori: un esempio con dati simulati
3.1 Introduzione
Dopo aver presentato la teoria che sta alla base del funzionamento di una pluralità di
classificatori quali SVM, reti neuronali, alberi decisionali e random forest potrebbe essere
interessante andare a confrontare i diversi modelli in un caso applicato.
Va precisato che un confronto più approfondito nelle performance di classificazione tra i
quattro modelli sopra elencati sarà presentato nella quinta parte di questo elaborato in cui
si utilizzerà un data base reale riguardante il fenomeno della frode assicurativa.
In questo capitolo ci limitiamo ad offrire un’esercitazione con dati simulati con l’obiettivo
di esplorare due situazioni che possono presentarsi nell’ambito dei problemi di
classificazione:
1. confusione tra i due gruppi
2. asimmetria nella frequenza di osservazione dei due gruppi
Riprendendo quanto descritto nel capitolo delle SVM è noto che un classificatore non è
altro che una funzione che va a partizionare lo spazio di input in due zone, una nuova
osservazione è quindi classificata in base a dove questa si posiziona all’interno di questo
spazio. Nell’esempio con dati simulati presentato nel capitolo delle SVM i due gruppi di
punti erano perfettamente separabili ma all’aumentare del grado di confusione dei due
insiemi l’individuazione di una funzione in grado di separare correttamente tutte le
osservazioni risulta sempre più problematica. Nell’esercitazione che andremo a proporre in
questo capitolo si confronterà la performance out of sample dei quattro classificatori
all’aumentare del grado di confusione tra i gruppi che sarà misurato da un apposito
parametro definito tra 0 ed 1.
Un altro problema che può sorgere nell’ambito della classificazione (e come vedremo
interesserà il caso della frode assicurativa nella quinta parte) si ha quando le osservazioni
delle due classi non sono equamente distribuite nel training set. Intuitivamente: nel caso in
cui vi sia una percentuale → 0 di osservazioni relative ad un certo gruppo (di minoranza)
un classificatore tenderà a riconoscere ogni nuova osservazione come appartenente al
gruppo di maggioranza. Questo perché l’errore che viene commesso dal modello in questo
modo è pari ad una percentuale tendente a zero. Quindi il risultato è una macchina
addestrata che di fatto non esegue alcuna classificazione (in quanto incapace di distinguere
tra i due gruppi) e che vanta una “performance” (evidentemente distorta) tendente ad 1.
131
3.2 Presentazione della simulazione
In questa sessione andiamo a confrontare la performance di classificazione dei seguenti
modelli:
1.
2.
3.
4.
5.
6.
7.
SVM lineare
SVM Sigmoide
SVM Polinomiale
SVM Radiale
Albero Decisionale
Random Forest
Rete Neurale con un hidden layer
focalizzando in particolare sulla problematica del grado di confusione tra i gruppi.
Per poter misurare questo livello di confusione si è fatto il seguente ragionamento: si
generano da una normale standard
di punti le cui coordinate ( , ) possono variare
unicamente tra 0 e 1. Abbiamo quindi un insieme di punti racchiuso in un quadrato di lato
unitario che va a rappresentare il gruppo di riferimento.
Andremo poi a generare un numero
coordinate ( , ) sono tali per cui
∗
di punti da una normale standard le cui
∈ [1 − , 2 − ]
,
∈ [0,1]
otteniamo quindi un insieme di punti racchiusi anch’essi in un quadrato di lato unitario che
al variare di si sovrappone sempre di più al quadrato di partenza.
In particolare se = 0 i due insiemi di punti sono perfettamente separati e quindi ci
aspettiamo che tutti i classificatori siano in grado di separare correttamente le due classi.
Quando = 1 i due insiemi di punti sono perfettamente sovrapposti andando quindi a
rappresentare il grado di confusione massima. Il parametro è quindi pari all’area di
sovrapposizione dei due quadrati e ci permette di misurare tale grado di confusione tra i
gruppi.
In questo primo esempio poniamo = 1 quindi la frequenza di osservazione tra le due
classi è perfettamente bilanciata. Nel successivo andremo a porre = 0,06 per vedere
come i classificatori si comportano nel riconoscere la classe di minoranza.
132
1.5
2.0
1.5
X1
1.5
2.0
1.0
1.5
X1
1.0
0.6
0.4
0.2
0.5
1.5
2.0
1.0
1.5
2.0
0.0
1.0
X1
1.5
2.0
1.5
2.0
1.5
2.0
1.0
0.2
0.4
X2
0.6
0.8
1.0
0.8
0.5
1.0
X1
0.6
0.0
0.5
X1
1.0
1.0
0.0
0.0
0.6
0.5
X2
2.0
X2
0.0
0.8
1.0
0.6
0.4
0.2
0.5
0.8
1.0
0.6
X2
0.4
1.0
0.0
0.0
X1
0.2
0.5
X2
2.0
0.0
0.0
0.8
1.0
0.6
0.4
0.2
1.0
0.8
1.0
0.6
X2
0.4
0.2
X1
0.5
X1
0.0
1.0
0.0
0.0
0.8
1.0
0.8
0.6
X2
0.4
0.2
0.5
X2
2.0
0.0
1.5
X2
1.0
0.4
0.5
X1
0.0
0.0
0.8
1.0
0.0
0.2
2.0
0.0
1.5
X1
0.4
1.0
0.2
0.5
0.0
0.0
0.0
0.2
0.4
X2
0.6
0.8
1.0
0.8
X2
0.4
0.2
0.0
0.0
0.2
0.4
X2
0.6
0.6
0.8
1.0
Quanto descritto sopra è facilmente comprensibile dal seguente grafico:
0.0
0.5
1.0
X1
1.5
2.0
0.0
0.5
1.0
X1
L’insieme di punti in nero rappresenta il gruppo di riferimento mentre quello in rosso si
sovrappone sempre di più a quello di partenza man mano che il parametro tende ad 1.
Per eseguire il confronto tra i modelli questi vengono addestrati e testati sugli stessi data
base di training e test, tali data base si differenziano tra loro in base al grado di confusione
tra gruppi.
Il confronto avviene quindi in base al complessivo numero di punti classificati
erroneamente nella fase di test. Questa simulazione è quindi rieseguita 100 volte e per
ogni macchina addestrata e grado di confusione si va a registrare il minimo, massimo e
valor medio dell’errore di classificazione complessivamente osservato.
I risultati ottenuti sono riassunti nella seguente tabella:
133
ERRORE COMPLESSIVO CASO (BILANCIAMENTO 50/50)
SVM Linear
SVM Sigmoid
SVM Polynomial
Min Media Max Min Media Max Min Media Max
-0,1
-
-
Min
SVM Radial
Media Max
Albero Decisionale
Min Media Max
- 0,01
0,04
0,06
0,00
0,02
0,04
- 0,01
0,01
-
-
- 0,01
0,04
- 0,00
0,01
Random Forest
Min Media Max
-
0
- 0,01
0,01
0,03
0,06
0,11
0,01
0,03
0,06
0,1
- 0,01
0,07
0,05
0,10
0,14
0,03
0,06
0,11
0,01
0,04
0,08
0,01
0,04
0,07
-
-
Rete Neurale
Min Media Max
-
- 0,00
0,01
0,01
0,05
0,09
-
- -
- 0,00
0,01
0,01
0,04
0,08
0,2
0,01
0,06
0,13
0,09
0,14
0,20
0,05
0,10
0,15
0,05
0,09
0,14
0,05
0,08
0,11
0,06
0,09
0,14
0,05
0,09
0,13
0,3
0,02
0,11
0,20
0,12
0,20
0,27
0,10
0,14
0,20
0,09
0,13
0,21
0,09
0,12
0,17
0,09
0,14
0,20
0,09
0,13
0,17
0,4
0,07
0,16
0,25
0,21
0,27
0,33
0,12
0,18
0,26
0,12
0,18
0,25
0,11
0,17
0,23
0,15
0,20
0,27
0,11
0,18
0,24
0,5
0,15
0,23
0,32
0,27
0,35
0,45
0,16
0,24
0,32
0,17
0,24
0,29
0,16
0,22
0,27
0,19
0,25
0,31
0,17
0,24
0,30
0,6
0,20
0,29
0,38
0,32
0,42
0,50
0,23
0,29
0,36
0,21
0,28
0,34
0,20
0,27
0,34
0,25
0,30
0,35
0,22
0,29
0,36
0,7
0,24
0,35
0,46
0,41
0,49
0,56
0,28
0,35
0,42
0,28
0,34
0,40
0,25
0,33
0,40
0,29
0,35
0,41
0,27
0,34
0,42
0,8
0,34
0,43
0,51
0,42
0,51
0,60
0,35
0,41
0,49
0,34
0,40
0,48
0,32
0,40
0,47
0,34
0,41
0,48
0,34
0,40
0,45
0,9
0,37
0,49
0,60
0,42
0,50
0,55
0,40
0,46
0,53
0,39
0,45
0,52
0,39
0,45
0,54
0,39
0,45
0,52
- 0,51
1,00
0,44
0,50
0,56
0,43
0,51
0,58
0,42
0,51
0,57
0,44
0,50
0,58
0,41
0,50
0,57
1
0,37
0,45
NA
134
NA
0,52
NA
Studiando la tabella saltano subito all’occhio i seguenti commenti:
1. tutti i classificatori tendono ad aumentare la percentuale di osservazioni classificate
erroneamente all’aumentare del grado di confusione del modello
2. al più alto grado di confusione tutti i modelli arrivano a classificare correttamente
solo il 50% dei record del test set azzerando l’utilità del modello di classificazione
rispetto al classificatore casuale (sostanzialmente tirare una moneta presenta lo
stesso grado di precisione)
3. la rete neuronale al più alto grado di confusione tra gruppi non è in grado di
eseguire alcuna classificazione perché l’algoritmo di addestramento non è andato in
convergenza
4. tutti i classificatori hanno un comportamento al variare del parametro di confusione
simile e non emergono classificatori particolarmente performanti.
Lo stesso sperimento di cui sopra viene quindi riproposto ponendo che sia pari a 0,06
cosi da poter rappresentare il caso (che affronteremo con maggior dettaglio nella quinta
parte) in cui è presente una forte asimmetria nella frequenza dei due gruppi.
1.5
2.0
1.5
X1
1.5
2.0
1.0
1.5
X1
1.0
0.6
0.4
0.2
0.5
1.5
2.0
1.0
1.5
2.0
0.0
1.0
X1
1.5
2.0
1.5
2.0
1.5
2.0
1.0
0.2
0.4
X2
0.6
0.8
1.0
0.8
0.5
1.0
X1
0.6
0.0
0.5
X1
1.0
1.0
0.0
0.0
0.6
0.5
X2
2.0
X2
0.0
0.8
1.0
0.6
0.4
0.2
0.5
0.8
1.0
0.6
X2
0.4
1.0
0.0
0.0
X1
0.2
0.5
X2
2.0
0.0
0.0
0.8
1.0
0.6
0.4
0.2
1.0
0.8
1.0
0.6
X2
0.4
0.2
X1
0.5
X1
0.0
1.0
0.0
0.0
0.8
1.0
0.8
0.6
X2
0.4
0.2
0.5
X2
2.0
0.0
1.5
X2
1.0
0.4
0.5
X1
0.0
0.0
0.8
1.0
0.0
0.2
2.0
0.0
1.5
X1
0.4
1.0
0.2
0.5
0.0
0.0
0.0
0.2
0.4
X2
0.6
0.8
1.0
0.8
0.6
X2
0.4
0.2
0.0
0.0
0.2
0.4
X2
0.6
0.8
1.0
Rieseguendo i passaggi descritti sopra otteniamo la seguente situazione:
0.0
0.5
1.0
X1
1.5
2.0
0.0
0.5
1.0
X1
135
ERRORE COMPLESSIVO (NESSUN BILANCIAMENTO)
SVM Linear
SVM Sigmoid
SVM Polynomial
Min Media Max Min Media Max Min Media Max
SVM Radial
Min Media Max
Albero Decisionale
Min Media Max
-
Random Forest
Min Media Max
- 0,1
-
0,01 0,12
0,04
0,08 0,13
-
0,00 0,01
-
0,00 0,01
-
-
-
0
-
0,13 0,30
0,05
0,09 0,12
-
0,00 0,01
-
0,01 0,02
-
0,00 0,01
-
0,1
-
0,27 0,55
0,05
0,09 0,13
-
0,01 0,03
-
0,02 0,04
-
0,01 0,02
-
-
Rete Neuronale
Min Media Max
-
-
0,00 0,00
0,00 0,01
-
0,00 0,01
0,01 0,02
-
0,01 0,03
-
0,02 0,04
0,2
0,02
0,42 0,73
0,05
0,08 0,12
0,00
0,02 0,05
0,00
0,03 0,06
0,00
0,02 0,04
0,00
0,02 0,04
0,3
0,04
0,55 0,83
0,04
0,08 0,12
0,01
0,03 0,06
0,01
0,03 0,07
0,00
0,02 0,06
0,00
0,03 0,05
0,00
0,03 0,05
0,4
0,05
0,73 1,00
0,05
0,08 0,12
0,02
0,04 0,07
0,02
0,04 0,07
0,01
0,03 0,06
0,01
0,03 0,07
0,01
0,03 0,06
0,5
0,06
0,95 1,00
0,04
0,08 0,12
0,01
0,04 0,08
0,02
0,04 0,08
0,01
0,04 0,07
0,01
0,04 0,07
0,01
0,04 0,08
0,6
0,06
0,99 1,00
0,04
0,08 0,12
0,03
0,05 0,08
0,03
0,05 0,07
0,02
0,04 0,07
0,02
0,04 0,07
0,02
0,04 0,07
0,7
0,05
0,99 1,00
0,05
0,08 0,11
0,03
0,06 0,09
0,03
0,05 0,08
0,01
0,05 0,08
0,02
0,05 0,07
NA
NA
NA
0,8
0,05
0,99 1,00
0,06
0,08 0,11
0,03
0,06 0,09
0,03
0,06 0,09
0,03
0,05 0,09
0,03
0,05 0,08
NA
NA
NA
0,9
0,05
0,99 1,00
0,04
0,07 0,11
0,03
0,06 0,08
0,03
0,06 0,08
0,03
0,06 0,08
0,03
0,05 0,08
NA
NA
NA
1
0,05
0,99 1,00
0,05
0,07 0,12
0,03
0,06 0,09
0,03
0,06 0,09
0,03
0,06 0,09
0,03
0,06 0,09
NA
NA
NA
136
ERRORE NELLA CLASSE DI MINORANZA (NESSUN BILANCIAMENTO)
SVM Linear
SVM Sigmoid
SVM Polynomial
Min Media Max Min Media Max Min Media Max
SVM Radial
Min Media Max
Albero Decisionale
Min Media Max
-
Random Forest
Min Media Max
-0,1
-
0,01 0,12
0,67
0,93 1,00
-
0,01 0,13
-
0,04 0,24
-
-
-
0
-
0,13 0,30
0,60
0,91 1,00
-
0,08 0,22
-
0,15 0,36
-
0,01 0,12
-
0,1
-
0,27 0,55
0,56
0,91 1,00
-
0,23 0,54
-
0,30 0,55
-
0,16 0,36
-
0,29 0,60
-
Rete Neuronale
Min Media Max
-
-
0,00 0,05
0,01 0,17
-
0,02 0,17
-
0,16 0,36
-
0,18 0,36
-
0,30 0,60
-
0,30 0,60
0,2
0,10
0,42 0,73
0,50
0,90 1,00
0,10
0,40 0,73
0,10
0,45 0,73
0,3
0,22
0,56 0,83
0,57
0,92 1,00
0,17
0,52 0,82
0,22
0,56 0,83
0,09
0,41 0,82
0,09
0,41 0,82
0,06
0,42 0,82
0,4
0,40
0,74 1,00
0,59
0,93 1,00
0,33
0,66 1,00
0,39
0,68 1,00
0,17
0,52 0,85
0,17
0,53 0,85
0,17
0,55 0,85
0,5
0,64
0,95 1,00
0,69
0,91 1,00
0,40
0,78 1,00
0,50
0,78 1,00
0,30
0,62 0,89
0,30
0,62 0,89
0,30
0,64 0,89
0,6
1,00
1,00 1,00
0,72
0,93 1,00
0,65
0,86 1,00
0,60
0,85 1,00
0,38
0,72 0,95
0,38
0,71 0,95
0,38
0,73 0,95
0,7
1,00
1,00 1,00
0,64
0,94 1,00
0,80
0,99 1,00
0,78
0,95 1,00
0,31
0,78 1,00
0,31
0,77 1,00
NA
NA
NA
0,8
1,00
1,00 1,00
0,70
0,95 1,00
1,00
1,00 1,00
0,88
1,00 1,00
0,58
0,87 1,00
0,58
0,87 1,00
NA
NA
NA
0,9
1,00
1,00 1,00
0,83
0,97 1,00
1,00
1,00 1,00
1,00
1,00 1,00
0,73
0,98 1,00
0,79
0,95 1,00
NA
NA
NA
1
1,00
1,00 1,00
0,75
0,98 1,00
1,00
1,00 1,00
1,00
1,00 1,00
1,00
1,00 1,00
0,91
0,99 1,00
NA
NA
NA
137
ERRORE NELLA CLASSE DI MAGGIORANZA (NESSUN BILANCIAMENTO)
SVM Linear
SVM Sigmoid
SVM Polynomial
Min Media Max Min Media Max Min Media Max
SVM Radial
Min Media Max
Albero Decisionale
Min Media Max
Random Forest
Min Media Max
Rete Neuronale
Min Media Max
-0,1
-
-
-
-
0,03
0,07 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
0,03
0,08 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0,1
-
-
-
-
0,03
0,07 -
-
-
-
-
-
-
-
0,02 -
-
0,01 -
-
0,01
0,2
-
-
-
-
0,03
0,08 -
-
-
-
-
-
-
-
0,02 -
-
0,02 -
-
0,02
0,3
-
-
-
-
0,03
0,08 -
-
-
-
-
-
-
-
0,04 -
-
0,02 -
-
0,02
0,4
-
-
-
-
0,03
0,06 -
-
-
-
-
-
-
-
0,01 -
-
0,02 -
-
0,02
0,5
-
-
-
-
0,03
0,07 -
-
-
-
-
-
-
-
0,02 -
-
0,02 -
-
0,02
0,6
-
-
-
-
0,03
0,08 -
-
-
-
-
-
-
-
0,02 -
-
0,02 -
-
0,01
0,7
-
-
-
-
0,03
0,06 -
-
-
-
-
-
-
-
0,02 -
-
0,01
NA
NA
NA
0,8
-
-
-
-
0,02
0,06 -
-
-
-
-
-
-
-
0,02 -
-
0,01
NA
NA
NA
0,9
-
-
-
-
0,02
0,07 -
-
-
-
-
-
-
-
0,01 -
-
0,01
NA
NA
NA
1
-
-
-
-
0,02
0,05 -
-
-
-
-
-
-
-
0,03 -
-
0,02
NA
NA
NA
138
La simulazione riconferma quanto precedentemente anticipato ossia il fatto che in una
situazione di forte squilibrio tra le classi tutti i modelli di cui sopra tendono ad assegnare
ogni nuova osservazione che si presenta in fase di test al gruppo di maggioranza
garantendo in questo modo un elevato grado di precisione complessiva.
Tutti i classificatori infatti tendono a non fare alcun errore nel gruppo di maggioranza ma
sbagliano tutte le osservazioni del gruppo alternativo. Complessivamente però tutti i
classificatori vantano un grado di precisione complessiva superiore al 90% (tranne l’SVM
lineare) quale che sia il grado di confusione del data base. Questo sostanzialmente perché
avendo solamente un 6% di record appartenenti al gruppo di minoranza assegnando tutte
le nuove osservazioni alla classe alternativa si ottiene una classificazione corretta nella
stragrande maggioranza dei casi.
Questa elevata performance è però evidentemente una informazione distorta in quanto
nessuno dei 7 modelli di cui sopra esegue una effettiva classificazione essendo incapaci di
distinguere tra le due classi.
Quando si presentano situazioni del genere in letteratura vengono proposti due possibili
approcci risolutivi, il primo (di tipo data driven) consiste nel ribilanciare la distribuzione tra
i due gruppi mentre il secondo (di tipo algoritmico) va ad assegnare un diverso peso
all’errore di classificazione dei due gruppi.
Per una più approfondita descrizione di queste due tecniche si rimanda alla quinta parte
dell’elaborato dove saranno effettivamente impiegate nella risoluzione del caso pratico.
Questo esempio simulato è stato fatto soprattutto per mostrare come in assenza di una
adeguata parametrizzazione del modello tutti i classificatori tendono ad avere un
comportamento simile all’aumentare del grado di confusione e asimmetria del data base.
Come si vedrà nel capitolo successivo la scelta di un classificatore rispetto ad un altro è
soprattutto guidata dal caso concreto che si sta analizzando e non è possibile stabilire a
priori un modello dominante su tutti gli altri.
È quindi opportuno esplorare diverse soluzioni e contemporaneamente analizzare
approfonditamente il problema oggetto di studio al fine di poter scegliere quel modello
ottimale per il caso oggetto di studio ma non è possibile a priori dire quale dei sette
modelli sovra utilizzati risulti essere il più performante.
139
Conclusione della terza parte
Con l’esperimento con dati simulati si conclude questa terza parte dedicata alla
presentazione e confronto di metodologie alternative alle SVM ma comunque
appartenenti alla famiglia delle tecniche di machine/statistical learning.
Dobbiamo ora concentrarci su una serie di problematiche che insorgono nelle applicazioni
e che sono comuni a tutte e tre le tecniche fin’ora presentate.
Queste possono essere sinteticamente elencate come:
1. Gestione delle feature su cui sono definite le nostre osservazioni campionarie
2. Tecniche di ottimizzazione stocastica su problemi di tipo non lineare
3. Valutazione del risultato di classificazione della macchina addestrata
Come vedremo nelle applicazioni un problema estremamente delicato è quello della
gestione delle feature che definiscono ogni osservazione campionaria. Infatti grazie
all’avanzamento tecnologico degli ultimi anni la capacità di raccogliere e immagazzinare
informazioni è cresciuta in maniera esponenziale fornendo così database estremamente
ricchi di informazioni ove per ogni osservazioni di un certo fenomeno sono registrate
anche migliaia di caratteristiche differenti (come avviene nell’ambito della bioinformatica).
Ciò causa serie problematiche nelle tempistiche di calcolo e quindi sorge la necessità di:
a) eliminare tutte quelle feature che non danno una effettiva informazione sul
fenomeno oggetto di studio
b) costruire delle feature che contengano la maggior parte della informazione
campionaria così da ridurre il problema su un minor numero di dimensioni
I due approcci definiscono quello che in letteratura è chiamato come “dimensionality
reduction” ossia gestione delle feature campionarie in modo tale da migliorare la
performance della learning machine.
Come vedremo nell’apposito capitolo questo problema si pone anche nelle SVM, in
particolare la possibilità di gestire le feature in modo tale da ottenere un problema
linearmente separabile fa venir meno il problema della “scelta di quale funzione kernel
utilizzare” per il quale ricordiamo non esiste alcuna regola generale e quindi si basa
sostanzialmente su una scelta soggettiva.
Se quindi il nostro obiettivo è definire quella combinazioni di feature da considerare che
massimizzano la performance del classificatore intuitivamente potremmo pensare che
basterebbe provare tutte le combinazioni possibili delle caratteristiche di partenza e
scegliere quella che da il minor errore out of sample.
140
Purtroppo quando si calcolano tutte le combinazioni possibili di feature ottenibili si vede
subito che questo approccio “a forza bruta” non è computazionalmente possibile. E’ quindi
necessario definire una strategia di ricerca del miglior set di feature da considerare.
Notiamo il problema di selezione del set di feature migliore è sostanzialmente un
problema di ottimizzazione. Dobbiamo immaginare uno spazio delle feature sul quale si
definisce una superficie di perdita data dall’errore out of sample ottenuto dalla macchina
addestrata su dati con quelle caratteristiche. Purtroppo non è possibile definire una
funzione che data un certo set di feature in input mi restituisca l’errore out of sample che
otterrei con la macchina addestrata e quindi in sostanza la superficie di perdita definita
sullo spazio delle feature non è rappresentabile.
E’ quindi necessario introdurre una serie di metodologie di calcolo algoritmico che ci
consenta di “muoverci” su questa ignota superficie di perdita alla ricerca del punto di
minimo globale ossia la combinazione di feature che restituisca il minor errore out of
sample. Per questo motivo nel secondo capitolo si parlerà nello specifico di metodologie di
ricerca numerico stocastica della soluzione ottimale.
Questi metodi sono tipicamente utilizzati anche nell’ambito dell’ottimizzazione di funzioni
non lineari ove la soluzione è ottenuta con logica algoritmico iterativa (si veda ad esempio
gli algoritmi di Gauss Newton o di Newton Raphson).
Infinte ottenuto la nostra combinazione di feature ottimale ed addestrata la macchina sarà
necessario effettivamente valutare come questa si comporta nella classificazione di punti
non utilizzati in ambito di training. Introdurremo quindi lo strumento classico di
valutazione della performance di un classificatore binario dato dalla ROC curve.
Questa in particolare fornisce una rappresentazione grafica e di immediata interpretazione
della capacità della nostra macchina addestrata di classificare correttamente le nuove
osservazioni campionarie.
141
Quarta Parte
142
1.Dimensionality Reduction: Feature Selection e Feature Extraction
1.1 Introduzione
Con feature selection ed extraction (sinteticamente FS ed FE) si fa riferimento ad un
insieme di tecniche dell’ambito del machine e statistical learning volte al filtraggio ed alla
manipolazione delle variabili che definiscono i record del training set con l’obiettivo di
ottenere dei guadagni in termini di performance nella capacità di generalizzazione e nei
tempi di addestramento dei modelli.
Grazie ai più recenti progressi tecnologici degli ultimi anni la massa di informazioni che è
possibile raccogliere per un dato fenomeno è aumentata vertiginosamente così come la
possibilità di accedere a grandi masse di dati tramite la diffusione che i big data stanno
sperimentando attualmente. Ciò introduce un problema di misurazione della rilevanza
delle diverse informazioni ai fini della ricerca che si sta eseguendo.
E’ di tutta evidenza che in situazioni in cui ogni osservazione viene definita da migliaia di
variabili (quindi ogni record è definito un punto in uno spazio -dimensionale) diventa
necessario introdurre un criterio volto a poter individuare ed eliminare tutte quelle
variabili poco informative o addirittura ridondanti così da snellire il problema e rendere i
risultati del modello più facilmente interpretabili.
D’altro canto il ricercatore potrebbe non essere interessato a definire un subset delle
variabili di partenza (che resterebbero comunque un numero considerevole) ma preferisce
invece definire delle nuove variabili in grado di contenere la maggior parte della massa
informativa data dall’intero training set così da ridurre un problema definito in un
iperspazio con moltissime dimensioni ad un problema definito su numero molto contenuto
di variabili.
Queste due situazioni fanno riferimento rispettivamente alla FS ed FE, in questo capitolo si
fornirà una breve introduzione a quelli che sono i principali metodi di entrambi gli ambiti.
E’ però nostro interesse focalizzare l’attenzione sui metodi di FS ed FE che sono risultati più
performanti nel particolare ambito dei SVM.
Al fine di evitare confusione è bene evidenziare che nell’ambito della FS ed FE il termine
feature indica la variabile con cui definiamo una osservazione quindi equivalgono alle
variabili di input viste nell’ambito dei SVM. Quando tratteremo le tecniche di FS ed FE per
le SVM dovremmo specificare cosa si intende ma per ora parlare di feature o input space è
equivalente.
143
1.2 Feature Selection
Come indicato nell’introduzione l’obiettivo della FS è individuare un sottoinsieme di
feature in grado di descrivere il fenomeno oggetto di studio in maniera equivalente (o
addirittura migliore) dell’intero insieme di caratteristiche. Più formalmente l’obiettivo della
FS è selezionare il più piccolo subset di feature che realizzi la massima capacità di
generalizzazione della learning machine.
Per fare questo è dunque necessario eliminare tutte quelle variabili che risultano essere
poco informative se non addirittura ridondanti (l’informazione che danno è già presente
nelle altre feature). Nel perseguire tale obiettivo le tecniche di FS seguono diverse
strategie e logiche che possiamo raggrupparle in due macro categorie:
1. Numero di feature considerate ad ogni iterazione:
Univariato
Multivariato
2. Rilevanza del classificatore che si sta utilizzando
Wrapped ed Embedded
Filter
1.2.1 Metodo Univariato
I metodi univariati di FS si basano sul concetto di variable ranking, in sostanza si analizza
ogni singola feature che definisce un record e si costruisce una classifica che ordina queste
variabili in base al loro livello informativo. Il punto fondamentale che distingue questi
metodi da quelli multivariati sta nel fatto di considerare una sola variabile alla volta ad ogni
iterazione.
Si consideri un set di esempi { , } ,…, ove
è un vettore di
coordinate ed
assumiamo che sia possibile eseguire una classifica del livello informativo delle variabili
basandosi su una funzione di score ( ) con = 1, … , calcolata sui
e
ossia i valori
assunti dal training set per la variabile -esima.
Inoltre assumiamo che un elevato valore di ( ) indichi una variabile molto rilevante per il
modello. Grazie a queste ipotesi possiamo definire una classifica delle feature e creare un
loro sottoinsieme che elimini tutte quelle ritenute poco rilevanti (ad esempio impostando
un valore soglia minimo che deve assumere ( ) perché la variabile sia considerata
informativa).
144
Quello appena descritto è lo schema logico alla base di ogni metodo di FS univariato, ciò
che distingue le diverse tecniche che andremo a presentare è la specificazione della
funzione di score ( ).
Il primo metodo che tratteremo identifica la funzione di score ( ) con l’indice di
correlazione del Pearson sulla base della seguente intuizione: un modo per determinare il
potere predittivo di una singola feature può essere quello di verificare l’esistenza di una
relazione tra la variabile
ed il vettore delle etichette . Se ad esempio a fronte di certi
valori assunti da le etichette tendono ad avere una determinata manifestazione si può
immaginare che questa particolare feature abbia una buona capacità predittiva.
Per misurare tale relazione si utilizza l’indice di correlazione lineare del Pearson che si
definisce nella seguente equazione
()=
( , )
( )
( )
→
()=
(
∑
∑
(
−
−
)(
) ∑
− )
(
− )
= 1, … ,
ove si osservi come l’indice indichi il fatto che la statistica venga calcolata considerando le
singole “righe” della matrice
del data set mentre il vettore delle etichette
è
×
sempre lo stesso.
Questo metodo permette di definire una classifica delle
informative sono quelle che vantano il maggior ( ).
feature dove le variabili più
Come il lettore avrà già intuito il problema insito in questo metodo sta nella sua incapacità
di cogliere relazioni tra le feature ed il vettore delle etichette che non siano di tipo
lineare. Ciò può portare ad una distorsione nel ranking delle variabili che potrebbe far
eliminare dal data set variabili in realtà molto informative nella descrizione del fenomeno
(soprattutto in presenza di relazioni complesse non rappresentabili da relazioni lineari).
Per evitare questo problema un altro metodo che viene utilizzato è quello del
“Classificatore a singola variabile”. Nella sostanza il ranking tra le variabili non è più
eseguito cercando di valutare una qualche relazione tra le feature ed il vettore ma si va a
considerare ogni singola feature come un classificatore a se stante e si valuta l’errore che
commetterebbe nel test out of sample.
E’ di tutta evidenza che ogni feature possa essere vista come un classificatore che si basa
su una unica variabile (ove le osservazioni sono rappresentate in uno spazio ad una
dimensione) e che quindi classifica i vari records in base a come questi si dispongono
rispetto ad un certo valore soglia.
145
Nonostante questo metodo sia molto intuitivo a livello teorico la sua applicazione
comporta una serie di problematiche abbastanza rilevanti, tra queste le più evidenti sono:
1.Come definire il valore soglia?
Dato che stiamo trattando classificatori univariati l’addestramento non dovrebbe
essere una task troppo complessa ma va notato che in presenza di un molto elevato
addestrare tutti i singoli classificatori potrebbe essere molto time consuming
2.Come misurare la capacità predittiva di ogni feature
Dato che si stanno trattando principalmente problemi di classificazione uno
strumento di valutazione della capacità predittiva della feature potrebbe essere il calcolo
della curva ROC sul test set, il doverlo però fare volte comporta però gli stessi problemi
in termini di tempi di calcolo.
3.Come selezionare le feature nel caso ve ne siano molte con lo stesso potere predittivo?
Nel caso in cui tutte le feature risultino essere dei classificatori univariati con una
performance simile risulta difficile eseguire un filtraggio di quelle variabili a basso livello.
L’ultimo metodo univariato che verrà esposto è il così detto “Information Theoretic
Ranking Criteria” che può essere visto come una sorta di generalizzazione del criterio
basato sull’indice del Pearson. L’ITRC si basa su una visione probabilistica del training set
definito dalla matrice delle osservazioni
e dal vettore di etichette
×
× . E’ infatti
possibile vedere ogni riga della matrice
come il vettore delle
manifestazioni della
variabile aleatoria che rappresenta l’ -esima feature. Lo stesso può essere visto come il
vettore delle
manifestazioni della variabile aleatoria che rappresenta la classe delle
osservazioni.
E’ dunque possibile misurare quanto una particolare feature è informativa basandosi sulla
relazione che intercorre tra la sua distribuzione quella . Ciò viene misurato tramite una
statistica chiamata “mutual information” definita come
( )=
( , )
( , )
( ) ( )
= 1, … ,
Evidentemente il problema nell’applicare questo metodo sta nel fatto che tipicamente la
distribuzione di
e di non sono note così come non è nota la distribuzione congiunta
delle due. Dover stimare quale distribuzione meglio si adatta alle osservazioni
per ogni
risulterebbe però molto dispendioso dal punto di vista del tempo macchina e non è detto
che le diverse distribuzioni congiunte siano tutte definibili in forma chiusa.
146
1.3 Metodo Multivariato
Nel precedente paragrafo si sono presentati alcuni tra i metodi più diffusi di FS in ambito
univariato. Nonostante a livello teorico tutti e tre i metodi risultino essere molto intuitivi
abbiamo visto come la loro applicazione comporti non poche problematiche.
E’ però opportuno notare che il principale problema delle metodologie univariate non
risiede nella loro difficoltà di effettiva attuazione quanto più nel seguente quesito
concettuale: è possibile che una variabile, che presa singolarmente risulti inutile (poco
informativa o ridondante), diventi informativa quando combinata con altre feature?
Se ciò fosse vero tutti e tre i metodi di FS univariati sopra indicati potrebbero
potenzialmente non essere in grado di individuare un subset di feature ottimale perché si
basano sul concetto di classifica delle variabili che vengono prese singolarmente.
Per questo motivo i metodi che considerano sottoinsiemi di variabili risultano preferibili
ma ciò introduce una nuova problematica. Abbiamo infatti visto nel secondo metodo
univariato che ogni feature veniva valutata in base alla sua capacità predittiva, potevamo
eseguire tale ragionamento perché andavamo a considerare ogni singola feature come un
classificatore a se stante. Ora la nostra valutazione si basa su dei sottoinsiemi delle
variabili di partenza il che pone i seguenti quesiti:
1 come determinare i vari sottoinsiemi di feature da considerare?
Evidentemente considerare ogni possibile combinazione delle
feature farebbe
esplodere in maniera esponenziale il numero di operazione da eseguire rendendo i tempi
di calcolo insostenibili.
2 come valuto la capacità informativa di ogni sottoinsieme di feature?
Qui entra in gioco il fatto di considerare o meno nella valutazione il particolare
strumento di classificazione che si intende usare (SVM, RN, alberi decisionali ecc…)
Come vedremo a breve i metodi di FS multivariati si articolano su tre categorie le quali
affrontano con logiche differenti i due problemi di cui sopra, si distinguono metodi:
1 Wrapped
queste metodologie determinano tramite un qualche algoritmo l’insieme dei subset
di feature da considerare, lo score ottenuto da ogni subset è determinato dall’errore out of
sample ottenuto dalla learning machine addestrata su quel subset.
147
2 Filter
queste metodologie tipicamente utilizzano metodi di ricerca dei subset di feature
simili (se non identici) a quelli adottati nei Wrapped ma a differenza di quest’ultimi la
valutazione di ogni sottoinsieme non è funzione della particolare learning machine che si
vuole utilizzare ma è calcolata in base ad un criterio di filtro “generico” (ad esempio quelli
visti in ambito univariato).
3 Embedded
metodi eseguono la selezione del miglior subset di feature nella fase di
addestramento del learning machine utilizzata.
Dato che i metodi Embedded (come ad esempio il Recursive Feature Elimination) sono
molto diffusi nell’ambito dei SVM in questa sede focalizzeremo più l’attenzione sui primi
due riservando al prossimo capitolo la trattazione del terzo metodo.
Come sopra accennato i metodi Wrapped e Filter si differenziano sostanzialmente in base
alla metrica utilizzata nella valutazione della bontà di un certo subset di feature.
Tipicamente i metodi Wrapped presentano una complessità computazionale maggiore
visto che per ogni subset di dati bisogna:
1. addestrare il classificatore di interesse su quel subset di feature
2. valutare l’errore out of sample eseguito dal classificatore così addestrato
Il metodo utilizza la learning machine come una sorta di black box che restituisce lo score
ottenuto da un certo subset di feature ma non pone vincoli sul tipo di macchina da
utilizzare. Nella sostanza i Wrapped method possono essere applicati indistintamente ad
ogni tipo di learning machine.
I metodi Filter invece non utilizzano alcuna learning machine nel processo di scoring di un
dato subset ma si basano su metodi quali ad esempio il coefficiente di correlazione del
Pearson od il calcolo della Mutual Information già presentati nell’ambito univariato.
Nonostante i metodi Filter siano computazionalmente meno dispendiosi rispetto ai
Wrapped il non aver alcun legame con la specifica learning machine che si vuole adottare
può portare a selezionare dei sottoinsiemi di feature non ottimali quando li si utilizza per
addestrare il particolare modello scelto dal ricercatore.
Una volta che si è stabilita la metrica di score la ricerca del subset di variabili ottimale può
essere invece osservato come un problema di ottimizzazione. L’obiettivo è quindi
individuare il punto nello spazio di tutti le possibili combinazioni delle
variabili che
massimizza la funzione obiettivo senza dover valutare ogni possibile combinazione.
148
Data la complessità della funzione obiettivo così come l’alta dimensione dello spazio in cui
si definisce l’individuazione del punto di massimo (miglior subset di variabili) è ricavabile
con i seguenti metodi:
1.
2.
3.
4.
5.
Stochastic Hill climbing
Simulated Annealing
Genetic Algorithm
Greedy Forward Selection
Greedy Backward elimination
Ad esempio nello SHC si inizializza l’algoritmo considerando una soluzione candidata (ossia
un certo subset di feature) che verrà confrontato con un nuovo subset di variabili
selezionato casualmente. Se spostandosi nel nuovo punto si ottiene un guadagno di quota
allora ci si muove in quel punto altrimenti si esegue lo spostamento solo in probabilità.
Va notato che questi metodi fanno comunque parte della famiglia delle metodologie di
ottimizzazione stocastica le quali non garantiscono l’individuazione di un punto di ottimo
globale.
149
1.4 Feature Selection utilizzando i SVM
Nei capitoli precedenti abbiamo visto come la logica fondamenta dei SVM consiste
nell’individuare un iperpiano di separazione che garantisca la massima distanza (margine)
tra le osservazioni appartenenti alle diverse classi.
Ovviamente la maggior parte dei problemi reali non presenta la comoda situazione di
avere training set linearmente separabili e quindi i SVM utilizzano una mappatura in grado
di riscrivere le stesse osservazioni in uno spazio in cui sono effettivamente classificabili
tramite un iperpiano.
Formalmente questo spazio viene indicato con il simbolo (perché si dimostra essere uno
spazio di Hilbert) mentre l’input space viene rappresentato con una . Si ricordi che
tipicamente
dim( ) ≪ dim ( )
Come accennato nell’introduzione in questa sede risulta necessario specificare quando si
sta parlando di feature e quando di variabili definite nell’input space.
L’operazione di mappatura del training set nel feature space comporta il fatto che per ogni
dimensione in cui le variabili sono definite originariamente esistono diverse dimensioni
corrispondenti in
quindi l’eliminare una dimensione in
comporta l’eliminazione di
diverse variabili in .
Per meglio capire il funzionamento delle metodologie di FS basate sui SVM iniziamo però
con un caso molto più semplice in cui le osservazioni sono linearmente separabili già
nell’input space che assumiamo definito su due dimensioni così da poterlo comodamente
rappresentare graficamente.
Come facciamo a capire quando una variabile risulta essere poco informativa? Si ricordi
che l’obiettivo è definire una retta in grado di classificare correttamente tutti i punti e che
contemporaneamente vanta la maggior distanza con i diversi cluster di punti.
Ne segue che una variabile possa essere considerata poco informativa quando:
1. non è in grado di separare correttamente il training set
2. nel caso in cui venga eliminata il nuovo margine di separazione che si ottiene non è
inferiore rispetto a quello ottenuto considerando tutte le variabili
possiamo cogliere agevolmente quest’ultimo punto con un esempio.
150
Si consideri un training set rappresentato graficamente qui sotto
In questo esempio la retta di separazione in grado
di ottenere il massimo margine risulta essere
parallela all’asse cartesiano della variabile .
Notiamo però che se considerassimo solamente la
variabile
riusciremmo comunque a classificare
correttamente tutte le osservazioni con una retta
cosa impossibile se considerassimo solamente la
variabile .
Si può inoltre osservare come il margine della retta di separazione non cambierebbe
lavorando al problema unicamente in termini di .
Diverso è invece il seguente caso
Qui è evidente che l’eliminazione della variabile
comporterebbe una diminuzione del margine di
separazione ottenibile dal classificatore il che ci fa
pensare che l’eliminazione della variabile non
abbia apportato benefici in termini capacità di
generalizzazione del modello
Cos’è che distingue i due casi? Nel primo caso la retta di classificazione è perfettamente
parallela ad un asse cartesiano e quindi l’informazione fornita da quella variabile non ha
alcuna rilevanza nella determinazione del classificatore.
In generale si dimostra che se l’iperpiano di ottimo non è parallelo all’asse definito da una
variabile di input allora eliminare quella variabile farà diminuire il margine e quindi la
qualità della soluzione. Operativamente ciò significa che se alcuni elementi di sono nulli
allora eliminare le corrispondenti variabili di input non provocherebbe una variazione del
margine di separazione mentre eliminare variabili associate a dei
≠ 0 lo farebbe
diminuire.
Evidentemente nella pratica difficilmente si osserveranno variabili i cui assi sono
perfettamente paralleli al’iperpiano di separazione, per questo motivo possiamo definire
151
un valore positivo soglia
sia minore o uguale ad .
così da eliminare tutte quelle variabili il cui corrispondente
Eliminare variabili che non sono perfettamente parallele all’iperpiano comporterà una
riduzione del margine di separazione quindi potrebbe anche essere necessario introdurre
un livello massimo di riduzione del margine che si ritiene accettabile.
Fondamentalmente in un problema linearmente separabile possiamo eliminare variabili
esplicative fintanto che il problema rimane linearmente separabile nel ridotto spazio di
input e finché il nuovo margine non si riduca al di sotto di una certa soglia.
Estendendo questa logica al feature space va considerato il fatto che eliminare una
variabile nell’input space provoca l’eliminazione di diverse feature all’interno di .
Anche in questo caso possiamo misurare l’impatto dell’eliminazione di una variabile di
input in termini di modifica dell’iperpiano di separazione ma per farlo dovremo
considerare le coordinate mappate nel feature space. La variazione di ‖ ‖ a seguito
dell’eliminazione di una generica variabile di input ( ) è quindi data da:
∆( ) ‖ ‖ =
,
−
( )
,
( )
, ∈
con
( )
vettore ove l’elemento -esimo è posto pari a zero.
Se più di una variabile ha un ∆( ) ‖ ‖ = 0 possiamo tranquillamente eliminare le variabili
di input associate, in alternativa si può decidere di eliminare tutte le variabili con un
∆( ) ‖ ‖ <
anche se la definizione del valore soglia può far sorgere delle
problematiche.
152
1.4.1 Feature Ranking ed Embedded Method
Nel capitolo precedente abbiamo sostanzialmente intuito la modalità con cui nell’ambito
dei SVM si identifica una variabile poco informativa distinguendo tra problemi linearmente
separabili e non. In sostanza una variabile di input risulta essere poco informativa quando
non concorre alla definizione dell’iperpiano di separazione ottimale.
E’ possibile capire quanto una variabile ( ) concorra alla soluzione tramite il valore
assunto dal rispettivo elemento di . Se si osserva un ( ) = 0 la -esima variabile non da
alcun contributo nel calcolo di ( , ) e quindi la possiamo eliminare senza problemi.
Nella pratica però difficilmente accade di osservare iperpiani perfettamente paralleli agli
assi di certe variabili quindi è molto più verosimile osservare dei ( ) molto contenuti ma
non nulli. Queste variabili concorrono alla definizione di ( , ) ma in maniera molto
contenuta.
Sinteticamente possiamo dire che quanto più
è piccolo e tanto meno la variabile esima è importante quindi è possibile definire una classifica di importanza di tutte le
variabili di input prese singolarmente (variable ranking).
Una volta definita questa scala di importanza delle variabili l’obiettivo è definire quel
subset che permetta di massimizzare la performance del modello.
E’ però evidente che tutti i problemi indicati nel capitolo dei metodi di FS multivariati
riemergono anche in questo ambito.
Infatti un approccio che determina tutte le possibili combinazioni di variabili di input,
addestrare una SVM per ognuna e quindi selezionare la combinazione di variabili di input
ottimale diventa computazionalmente impraticabile all’aumentare delle dimensioni con cui
è definito il problema. E’ quindi necessario definire una qualche strategia volta
all’individuazione del miglior subset di variabili.
Uno dei metodi più semplici è il c.d. Greedy Backward Elimination nel quale si addestra
inizialmente la SVM usando tutte le variabili di input disponibili, dopodiché si elimina la
prima variabile (ossia quella con il minor valore di ) e si ri-addestra la SVM. Il processo
viene iterato fino al raggiungimento di un certo criterio di blocco.
Schematicamente l’algoritmo prevede i seguenti passi computazionali
1. addestro la SVM con tutte le variabili ottenendo un margine di separazione pari a
2. sia la variabile con il minor ∆( ) ‖ ‖ allora elimino questa variabile
3. addestro la SVM con il subset di variabili ottenendo , se
a.
(
)
< con ∈ (0,1) o
153
b. il problema non è più linearmente separabile allora stop, altrimenti tornare al
punto 2
Il metodo GBE ha il pregio di essere molto intuitivo e facilmente implementabile in un
linguaggio di programmazione ma non è propriamente efficiente dal punto di vista
computazionale. Infatti se il problema di partenza è definito su dimensioni il GBE richiede
di addestrare diverse SVM secondo la logica sovra esposta.
Come il lettore avrà intuito una modalità che eviti di dover ripetere volte il processo di
addestramento del modello al fine di ottenere il miglior subset di variabili sarebbe
sicuramente preferibile al GBE.
Questo è l’obiettivo che si pongono i così detti metodi Embedded di FS i quali appunto
incorporano la fase di FS all’interno della costruzione del modello il quale viene addestrato
una sola volta.
L’intuizione alla base del metodo è la seguente: visto che l’obiettivo è definire il più piccolo
subset di variabili in grado di ottenere la maggior performance di generalizzazione
possiamo impostare il problema di addestramento della SVM in modo tale che venga
minimizzato l’errore di classificazione sul training set (come abbiamo visto nei precedenti
capitoli) nonché il numero di componenti di non nulle.
Avremo quindi:
min(1 − )
(
1
+
+ )≥1−
∗
= 1, …
ove


∈ (0,1) è un parametro di regolazione
1
≠0
∗
=
0
154
2.Ottimizzazione stocastica
2.1 Introduzione
Il simulated annealing (SA da ora in poi) è una metodologia di individuazione dei punti di
massimo/minimo di una funzione che rientra all’interno della famiglia delle tecniche di
ottimizzazione stocastica (come lo stochastic hill climbing o i genetic algorith). Il metodo
deve il suo nome al fatto di ispirarsi nel suo meccanismo al fenomeno di riscaldamento di
un materiale metallico e successivo raffreddamento controllato.
Senza entrare nei particolari fisici il riscaldamento di un materiale provoca un aumento di
energie al suo interno dato dal fatto che gli atomi si possono muovere liberamente
aumentando così la frequenza con cui questi si scontrano tra di loro
Nel momento in cui la temperatura del materiale viene fatta calare i movimenti degli atomi
diventano sempre più vincolati ad un certo range di variazione. Se il calo della temperatura
avviene in maniera lenta e controllata all’interno del materiale si formeranno delle
strutture cristallizzate che seguiranno un determinato pattern. Se il calo della temperatura
avviene invece troppo velocemente non si creeranno queste strutture e la cristallizzazione
avverrà in maniera disordinata.
L’SA cerca di mimare questo comportamento fisico nella risoluzione di un problema di
ottimizzazione di una funzione complessa per la quale non è nota la struttura (quindi la
presenza di punti di massimo o minimo globale e/o locale).
In questo capitolo verrà esposta una breve introduzione al metodo che non ha alcuna
pretesa di essere esaustiva nella trattazione ma che cerca di dare al lettore la nozione
fondamentale dell’intuizione che vi è alla base del metodo.
Per questo motivo verranno prima introdotti i metodi di ottimizzazione hill climbing e la
sua estensione probabilistica chiamata appunto stochastic hill climbing. Come vedremo il
SA risulta essere una sorta di generalizzazione di quest’ultimo metodo.
155
2.2 Hill Climbing
Si consideri il problema di massimizzazione di una funzione
assumiamo definita su due dimensioni (quindi è uno scalare).
( ) che per semplicità
Supponendo di non poter tracciare il grafico di questa funzione un approccio
estremamente semplice ed intuitivo di ricerca del massimo è dato dal hill climbing. Questo
metodo ricorsivo cerca di individuare il massimo (o minimo) di una funzione partendo da
una soluzione arbitraria impostata dal programmatore. Da li l’algoritmo cercherà di
individuare una soluzione migliore modificando in via ricorsiva la soluzione candidata e
spostandosi nella direzione in cui più si verifica il maggior guadagno di quota.
Per meglio comprendere questo meccanismo assumiamo che
soluzione di inizializzazione sia = 0. Graficamente avremo:
( )=
e che la
Essendo vincolati alle due dimensioni la nostra
soluzione può spostarsi solo a destra o sinistra di
= 0.
Assumendo che l’algoritmo esegua degli step di 0,1 è
evidente che ( = 0,1) > ( = −0,1) e quindi la
nuova soluzione candidata diverrà ′ = 0,1.
Da ′ = 0,1 l’algoritmo comparerà nuovamente il livello raggiunto dalla funzione se si
aumentasse o diminuisse ′ di uno 0,1. Questo viene fatto in maniera ricorsiva fino a che
non si arriverà ad un valore di ∗ dal quale non sarà più possibile ottenere un guadagno in
termini di ( ).
Va notato che nel caso di una funzione definita su più dimensioni l’hill climbing si distingue
dalla metodologia dello steepest descent perché nel primo per ogni iterazione viene
modificato un solo parametro della funzione a differenza del secondo metodo che calcola il
gradiente della funzione obiettivo e quindi si muove verso la direzione che permette il
maggior guadagno di quota in base a tutte le coordinate.
Come il lettore avrà già intuito questa metodologia è facilmente implementabile in un
linguaggio di programmazione e permette di ottenere una soluzione con dei tempi di
calcolo molto ridotti.
D’altro canto è anche evidente l’estrema facilità con cui l’algoritmo possa rimanete
intrappolato in punti di ottimo locale.
156
Infatti se lo step di variazione adottato dall’algoritmo risulta essere troppo contenuto una
volta raggiunto un massimo globale può capitare che in ogni direzione si verifichi una
perdita di quota facendo concludere al programma di aver raggiunto un punto di massimo
o minimo globale.
D’altro canto utilizzare uno step troppo elevato porta ad un possibile loop dell’algoritmo il
quale continua ad oscillare nell’intorno del punto di massimo o minimo senza mai
raggiungerlo.
Come superare questo problema? Nella sostanza dobbiamo trovare un modo per evitare la
trappola dei punti di ottimo locale. Per fare ciò una soluzione molto intuitiva consiste nel
permettere all’algoritmo di spostarsi da una soluzione candidata ad un’altra anche quando
questa comporti una perdita di quota.
In questo modo l’algoritmo potrebbe uscire dall’intorno del punto di massimo o minimo
locale e continuare a muoversi nella direzione che gli permetta di raggiungere maggiori
guadagni di quota.
Va però notato che comunque l’obiettivo è trovare un punto di massimo o minimo globale,
ne segue che l’algoritmo non potrà sempre andare nella direzione in cui si verifica una
perdita di quota perché evidentemente così non si troverà mai la soluzione.
Un metodo quindi consiste nel permettere all’algoritmo di muoversi nella direzione
sbagliata solo in probabilità come avviene nello stochastic hill climbing o di modificare nel
tempo questa possibilità del metodo andando via via a diminuirla (come nello SA).
157
2.3 Stochastic Hill Climbing e Simulated Annealing
Supponiamo nuovamente di voler calcolare il punto di massimo globale di una funzione
ignota che ora assumeremo definita su tre dimensioni ( ( , )).
Anche in questo caso selezioneremo una soluzione di inizializzazione nonché uno step di
variazione della funzione da adottare nei vari passi dell’algoritmo.
Definiamo infine con il punto in cui l’algoritmo è posizionato al momento corrente e con
il punto in cui il metodo potrebbe spostarsi.
A differenza di quanto accade nell’hill climbing deterministico non si andrà a confrontare la
variazione di quota che si otterrebbe spostandosi secondo lo step selezionato in ogni
direzione possibile ma si selezionerà casualmente un punto nell’intorno di c.
Selezionato l’algoritmo confronta la variazione di quota che si avrebbe nello spostarsi in
quel punto, questa formalmente è indicata come:
∆ = ( )− ( )
Ricordando che qui stiamo considerando un problema di massimizzazione l’algoritmo
seguirà la seguente logica:
 se ∆ > 0 allora “stiamo salendo” quindi spostarsi in
 se ∆ < 0 allora spostarsi in con una certa probabilità
Nella sostanza al posto di rifiutare in toto ogni spostamento che comporti una perdita di
quota nello SHC si permette in probabilità di muoversi lungo direzioni che comportano una
diminuzione di (. ). Va però notato che l’algoritmo comunque “tende” a muoversi verso
direzioni che consentono di aumentare (. ) visto che nel caso di un ∆ positivo ci si sposta
sempre in .
Come il lettore avrà già intuito il problema che ora sorge sta nel definire la probabilità con
cui sono ammessi movimenti nelle direzioni che diminuiscono la funzione obiettivo.
Intuitivamente un modo per definire questo legame è assumere una qualche relazione tra
∆ e la probabilità di spostamento.
Uno dei primi legami che furono proposti fa utilizzo della distribuzione di probabilità di
Boltzmann che quindi definiva una funzione del tipo
( , ) = exp −
1
∆
∆ <0
158
Volendo inserire una maggior stocasticità nel modello
assumiamo che anche i casi in cui ∆ > 0 comportino
uno spostamento in probabilità. Possiamo quindi
rappresentare il legame tra ∆ e la probabilità di
spostamento come:
( , )= (
)=
1
1+
∆
La funzione sopra definita non è ancora pienamente soddisfacente perché il
programmatore potrebbe voler controllare quanto ∆ effettivamente impatti sulla
probabilità di spostamento. Per fare ciò abbiamo bisogno di un ulteriore parametro che
storicamente viene indicato con
da temperatura visto il legame che il metodo qui
presentato ha con l’annealing fisico.
La probabilità di spostamento diviene quindi:
( , )= (
)=
1
1+
∆
Per capire come
impatti su ( , ) si consideri il seguente esempio: sia
( ) = 107 in un problema di massimizzazione; avremo quindi
= 10 ed
( , )
( )
∆
80
-27
0,062973
100
-7
0,331812
107
0
0,5
120
13
0,785835
150
43
0,986613
si osservi come il passaggio da ( ) = 107 a punti che comportano una diminuzione della
quota avvenga con una probabilità che è tanto minore quanto più elevata la perdita di
quota. D’altro canto variazioni in aumento hanno un probabilità molto accentuata di
comportare uno spostamento facendo si che complessivamente l’algoritmo comunque
tenda a salire.
159
Supponendo ora di focalizzare sul caso in cui ( ) = 120 vediamo ora come il variare
impatti sulla probabilità di spostamento assumendo che un = 1 sia un valore basso di
temperatura.
1
5
10
20
1E+10
( , )
0,999998
0,930862
0,785835
0,65701
0,5
si osservi come ad alte temperature l’algoritmo assuma comportamenti più stocastici visto
che una variazione da 107 a 120 avverrebbe con una probabilità più contenuta man mano
che aumenta . D’altro canto a temperature molto basse l’algoritmo ritorna ad essere
quello dell’HC deterministico visto che con = 1 nella sostanza ci si muove sempre e solo
verso la direzione che comporta un guadagno di quota.
Graficamente quello che accade aumentando è che la funzione sigmoide di cui sopra
assume una forma sempre più simile a quella di una funzione a gradino che assegna zero
ad ogni input inferiore uguale a 0 e uno altrimenti.
E’ interessante osservare come il parametro
permetta di controllare il grado di
stocasticità che viene ammesso nell’algoritmo. Nella sostanza l’intuizione che è alla base
del SA sta proprio nel controllo del parametro . Al posto di definirlo a priori e mantenerlo
costante per tutta la durata del processo (come avviene nello SHC) quello che viene fatto è
partire con un livello alto di e man mano diminuirlo ad ogni iterazione dell’algoritmo fino
convergere al comportamento dell’HC deterministico.
Evidentemente l’introduzione di un dinamismo in
rispetto a quanto visto nell’HCS
richiede nel SA di definire di quanto varia il parametro ad ogni iterazione del loop. In
coerenza con il fatto di ispirarsi al processo fisico di riscaldamento e successivo
raffreddamento dei metalli il parametro che governa il comportamento di
viene
chiamato cooling rate che dovrà essere una qualche funzione con un comportamento
monotono decrescente.
L’iniziale alta stocasticità dell’algoritmo dovrebbe permettere alla soluzione candidata di
uscire da possibili punti di ottimo locale pur facendolo tendere verso valori più elevati della
funzione obiettivo, il successivo raffreddamento dovrebbe invece permettere di
convergere verso un punto di massimo.
Non a caso è stato stressato il termine dovrebbe perché il simulated annealing è un
metodo di ottimizzazione stocastica che quindi non garantisce l’individuazione di un punto
di ottimo globale e potrebbe rimanere comunque intrappolato in punti di ottimo locale.
160
Il metodo quindi non permette di avere la certezza di aver individuato la miglior soluzione
possibile ma comunque da delle soluzioni empiricamente molto buone nelle applicazioni
ed è meno suscettibile a rimaner bloccato in punti di ottimo locale come invece accade
nell’HC.
161
3.Valutazione della performance di classificazione: ROC curve
Una volta addestrata la SVM sulla base del set di feature ottimale è necessario valutarne la
capacità di classificazione out of sample. Per farlo uno dei metodo più semplici ed intuitivi
consiste nel partizionare il data base (quando sufficientemente grande) in due parti così da
avere un set di osservazioni da usare per l’addestramento ed un secondo per valutare la
performance di classificazione.
In questo modo abbiamo un insieme di osservazioni per le quali è noto la classe di
appartenenza ma che non sono mai state “viste” dalla macchina in fase di addestramento,
in questo modo possiamo simulare la classificazione di nuove osservazioni potendo però
quantificare effettivamente l’errore che verrebbe commesso dalla macchina addestrata.
Ma cosa intendiamo con errore di classificazione? Fin’ora questo concetto l’abbiamo
sempre considerato in termini generici ma va evidenziato che nell’ambito della
classificazione binaria il tipo di errore che si può commettere è di due tipi: potremmo
classificare come 0 un’osservazione che in realtà è 1 o viceversa.
Quindi l’errore è un concetto più complesso del semplice fatto di non classificare
correttamente l’osservazione. E’ quindi possibile definire in fase di addestramento
apposite funzioni di perdita che diano un maggior peso ad un tipo di errore piuttosto che
ad un altro. Il peso da assegnare ad ogni tipo di errore non è però definibile a priori ma è
funzione del problema specifico che si sta affrontando.
In generale bisognerebbe definire la funzione di perdita in base al costo che si sostiene con
un particolare tipo di errore. Ad esempio nell’ambito medico un classificatore volto a
riconoscere se un paziente è o meno malato potrebbe condurre ai seguenti errori di
classificazione:
 classifico sano l’individuo malato allora il soggetto non riceve una cura che gli serve
 classifico malato l’individuo sano allora il soggetto riceve una cura che non gli serve
Il problema è che difficilmente è possibile quantificare questi errori in via ex ante e quindi il
peso da dare ad ogni tipo di errore è in gran parte definito dalla prassi o dalla soggettività
dello sperimentatore.
Notiamo che il problema del definire la funzione di errore da utilizzare non è affatto una
questione minore perché come abbiamo visto nella prima parte l’intero concetto di
apprendimento nel nostro ambito su basa sulla minimizzazione di una funzione di errore
generico chiamata ( ).
162
3.1 Curve ROC
Dato un classificatore binario che a fronte di un esempio
restituisce una etichetta
= ±1 nella fase di verifica out of sample si possono avere quattro possibili situazioni.
1.
2.
3.
4.
la macchina classifica +1 correttamente
la macchina classifica +1 non correttamente
la macchina classifica −1 correttamente
la macchina classifica −1 non correttamente
⇒
⇒
⇒
⇒
vero positivo (TP)
falso positivo (FP)
vero negativo (TN)
falso negativo (FN)
Possiamo sintetizzare queste quattro casistiche in una tabella che ha sulle righe i valori
restituiti dalla macchina addestrata e sulle colonne quelli reali
= +1
= −1
( , ) = +1
TP
FP
Totale valutati +1
( , ) = −1
FN
TN
Totale valutati −1
TOTALE
1
1
U
SINTESI
TOTALE
Con queste grandezze (tipicamente normalizzate in modo tale da avere una somma per
colonna pari a 1) vengono quindi calcolati i seguenti indici
1.
2.
3.
4.
=
=
=
=
Una volta addestrata la macchina in una classificazione binaria tipicamente si determina un
valore sogli in base al quale si assegna un certo vettore alla classe +1 o −1.
Se si modificasse questa soglia evidentemente si avrebbero delle variazione nelle quattro
grandezze di cui sopra.
La curva Receiver Operating Charactheristic (ROC) è uno strumento grafico per la
valutazione di performance di classificatori binari che ci permette di valutare come i
rapporti di cui sopra variano al variare del parametro soglia.
163
Il grafico considera nell’asse delle ascisse l’indice 1 −
e per le ordinate la
e quindi per ogni valore di calcola il punto ( , ) e lo plotta nel grafico
generando la ROC curve.
Notare che l’indice 1 −
rapporta il numero di classificati +1 erroneamente
dalla macchina con il totale degli individui che appartengono alla classe −1. Quindi è la
percentuale di errore negli individui classificati +1. Tale indice viene anche denominato
falsi allarmi perché considerando l’indice +1 come un evento negativo indica la
percentuale di allarmi in verità sbagliati.
L’indice
rapporta il numero di classificati +1 correttamente dalla macchina
con il totale degli individui che appartengono alla classe +1. Quindi è la percentuale di
correttezza negli individui classificati +1. Per la logica di cui sopra tale indice viene anche
chiamato percentuali di allarmi veri.
Evidentemente la somma dei due indici da sempre 1 quindi per ogni valore soglia la ROC
curve sarà contenuta nell’area del quadrato definito dai punti (0,0), (0,1), (1,0) e (1,1)
perché dato il valore di uno dei due indici (compreso tra 0 e 1) l’altro sarà pari al suo
complemento a 1.
Interpretando in chiave probabilistica l’area del quadrato si ricava che l’area sottostante la
ROC curve rappresenta la probabilità che la macchina classifichi correttamente un vettore
out of sample.
Se quindi l’area sottostante la ROC curve tende al quadrato di lato 1 il modello classifica
correttamente l’intero campione out of sample, se la ROC assomiglia alla retta a
quarantacinque gradi la probabilità di una corretta classificazione è di circa 1/2 e quindi è
come se la macchina decidesse a quale classe assegnare un vettore lanciando una moneta.
Nello sventurato caso in cui la ROC curve abbia una forma tale da posizionarsi addirittura al
disotto della bisettrice il modello è evidentemente un totale fallimento dato che la
macchina addestrata ha una percentuale di errore superiore a quella del classificatore
puramente casuale.
Sostanzialmente si otterrebbe una previsione più accurata basandosi sul risultato del lancio
di una moneta che dando credito ad un modello con una tale forma nella ROC curve.
164
Conclusione della quarta parte
Con le curve ROC si conclude anche la quarta parte del presente elaborato. In questa
sezione l’attenzione è stata focalizzata su tutta una serie di tecniche e strumenti volti
soprattutto alla parametrizzazione e valutazione delle performance di un generico modello
di classificazione.
Come già accennato nell’esperimento comparativo alla fine della terza parte di questo
elaborato la fase di parametrizzazione del modello risulta essere assolutamente
fondamentale per garantire una buona performance del classificatore. Infatti si era notato
come in assenza di un adeguata ottimizzazione tutti e sette i modelli tendessero ad
assomigliarsi nelle performance out of sample, quale che fosse il tipo di classificatore
utilizzato.
Le tecniche di ottimizzazione in questa quarta parte saranno quindi fondamentali nella
quinta ed ultima sezione di questo elaborato in cui si andrà a applicare quanto presentato
nelle fino ad ora in un caso concreto relativo alla frode assicurativa.
In tale applicazione sarà evidente come un’attenta preparazione preliminare del data base
ed ottimizzazione dei parametri permetta poi di ottenere performance più che
considerevoli anche con modelli di classificazione elementari come può essere una SVM
lineare.
Il poter utilizzare una modellizzazione più semplice (grazie alle tecniche di ottimizzazione di
cui sopra) garantisce una maggior capacità di generalizzazione del modello (secondo la ben
nota diseguaglianza fondamentale presentata nella prima parte) e nella riduzione dei
tempi di calcolo richiesti dalla macchina nella fase di addestramento.
165
Quinta Parte
166
1. Obiettivi dell’elaborato
In questa seconda parte si propone un’applicazione dell’impianto teorico presentato
precedentemente ad un problema di classificazione supervisionato riguardante il settore
assicurativo. In particolare si vuole addestrare una support vector machine a classificare un
sinistro in due possibili categorie: lecito o fraudolento. A tale scopo utilizzeremo un
database contenente una serie di sinistri per i quali è riportato (oltre ad una serie di
features che andranno presentate a breve) se vi è stato o meno un comportamento
fraudolento da parte dell’assicurato.
Ovviamente un modello per quanto preciso non potrà mai riconoscere con assoluta
certezza se un dato sinistro è o meno lecito. D’altro canto un buon classificatore è
comunque uno strumento valido nella fase di liquidazione perché “accende un campanello
d’allarme” su tutti quei sinistri potenzialmente fraudolenti permettendo alla compagnia di
eseguire dei controlli più mirati su singoli casi razionalizzando la gestione del rischio frode.
È però opportuno fare il seguente ragionamento: il data base fa una distinzione fra sinistri
leciti e fraudolenti ma l’essere fraudolento è a sua volta funzione della capacità di chi ha
fornito l’informazione di individuare tale attività criminale. Ne segue che ogni database
disponibile sull’argomento è necessariamente distorto in una qualche misura perché
verosimilmente all’interno del gruppo di sinistri “legal” vi sarà una percentuale fraudolenta
che non è stata correttamente classificata.
La definizione di modelli sempre più evoluti ha anche un ritorno “di lungo periodo” perché
permetterà in futuro di generare delle basi di dati sempre più precise e complete che a
loro volta saranno fondamentali per evolvere ulteriormente la modellistica utilizzata nello
studio del fenomeno della frode assicurativa. Oltre alle SVM verrà presentata la stessa
applicazione avvalendosi però di una rete neuronale, un albero decisionale ed una random
forest al fine di confrontare la performance dei diversi strumenti nel generalizzare il
fenomeno oggetto di studio.
167
2. Presentazione del DataBase
La fonte informativa dell’elaborato è un data base pubblico fornito dalla società Angoss
KnowledgeSeeker
Software
ed
è
scaricabile
dal
seguente
link:
http://clifton.phua.googlepages.com/minority-report-data.zip. Questo risulta essere
l’unico data base pubblico disponibile sull’argomento dell’insurance fraud, ciò non
dovrebbe sorprendere data la naturale riluttanza delle compagnie ad ammettere di subire
perdite da attività di natura criminale (che tipicamente vengono coperte aumentando
semplicemente i premi).
Il data frame è composto da 15.420 sinistri verificati tra il 1994 e 1996 sui quali è stata
registrata la presenza o meno di un comportamento fraudolento da parte dell’assicurato. Il
dato è di natura cross section visto che ogni osservazione fa riferimento ad una singola
unità statistica (polizza) che viene rilevata una sola volta nel periodo di osservazione.
La variabile dipendente è quindi rappresentata dalla voce FraudFound che è che può
assumere due livelli: Si, No.
Vista la elevata complessità del set di regressori disponibili per una migliore comprensione
si è deciso di articolare le variabili esplicative nei seguenti macrogruppi:
1.Assicurato
Sex : variabile factor con una percentuale maschi-femmine di circa 85,15%
Marital Status: variabile factor suddivisa in 4 modalità: divorziato, sposato, celibe e
vedovo. Gli assicurati sposati e single da soli sono più del 98% delle osservazioni.
Age: variabile quantitativa indicante l’età dell’assicurato e che varia tra 16 e 80 con
un valor medio di 39 e mediano di 40 (distribuzione quasi simmetrica). Si osserva la
presenza di record con età pari a zero ossia da interpretare come valori mancanti.
Nel database sono presenti 310 di questi record ossia poco più del 2% di tutte le
osservazioni. È però opportuno osservare che all’interno di questi record la
percentuale di sinistri fraudolenti arriva risulta essere inferiore all’1% contro il 6% a
livello dell’intero portafoglio.
AgeOfPolicyHolder: variabile categoriale suddivisa nei seguenti livelli: 16 to 17,18 to
20, 21 to 25, 26 to 30, 31 to 35, 36 to 40, 41 to 50, 51 to 65, over 65. Confrontando
con la variabile Age in certi record non si ha l’equivalenza quindi interpretiamo tale
variabile come l’età dell’assicurato da contrapporsi con l’età del soggetto alla guida
nel momento del sinistro.
168
DriverRating: variabile factor suddivisa in 4 livelli: 1, 2, 3, 4 ove il livello 1 indica un
guidatore più attento, si osserva una distribuzione quasi uniforme (ogni livello ha
una frequenza relativa di circa il 25%)
PastNumberOfClaims: variabile factor suddivisa in 4 livelli: nessuno, uno, da due a
quattro e più di quattro. La moda risulta essere il livello “da 2 a 4” con una
frequenza relativa del 35% circa seguita da “nessuno” al 28% e “1” al 23%
2.Veicolo
VehicleCategory: variabile factor suddivisa in 3 livelli: Sedan, Utility e Sport.
Rappresenta il tipo di veicolo dell’assicurato coinvolto nel sinistro. La categoria
Sedan rappresenta poco più del 60% delle osservazioni mentre la Sport è circa al
35%.
VehiclePrice: variabile factor suddivisa nelle seguenti fasce di prezzo:
 less than 20,000
circa il 7%
 20,000 to 29,000
circa il 52%
 30,000 to 39,000
circa il 22%
 40,000 to 59,000
circa il 2%
 60,000 to 69,000
circa il 0,5%
 more than 69,000
circa il 14%
AgeOfVehicle: variabile factor suddivisa nelle seguenti fasce di età:
 new
circa il 2%
 2 years
circa il 0,4%
 3 years
circa il 0,9%
 4 years
circa il 0,15%
 5 years
circa il 8,8%
 6 years
circa il 22%
 7 years
circa il 37%
 more than 7 circa il 26%
Make: variabile factor che presenta 19 marche automobilistiche, si osserva che i
livelli Pontiac, Honda, Mazda e Chevrolet insieme formano circa il 90% del totale
3. Sinistro
AccidentArea: variabile dicotomica che assume livelli: Rural e Urban. Indica il tipo di
zona in cui si è verificato il sinistro e presenta una forte asimmetria visto che il 90%
dei sinistri si verifica in “Urban”.
169
PoliceReportFile: variabile dicotomica che assume livelli: No e Yes. Può essere
interpretata come la presenza o assenza della polizia al verificarsi del sinistro. Anche
in questo caso si osserva una forte asimmetria visto che il No ha è presente nel 97%
dei record.
WitnessPresent: variabile dicotomica che assume livelli: No e Yes. Indica la presenza
o assenza di altri testimoni al momento del verificarsi del sinistro. In questo caso
nella quasi totalità dei casi (99,5%) non vi sono stati testimoni.
NumberOfCars: variabile factor suddivisa in 4 livelli: 1, 2 vehicles, 3 to 4, 5 to 8 e
more than 8. Indica il numero di veicoli coinvolti nel sinistro oltre a quello
dell’assicurato, si osserva come il livello “1” da solo costituisca il 92% delle
osservazioni.
Fault: variabile dicotomica che assume livelli: Policy Holder e Third Party. Indica
l’individuo che ha causato il sinistro. Nel 72% dei records è stato lo stesso assicurato
a causare l’incidente.
Data di accadimento e denuncia del sinistro: rappresentate dai campi: Year, Month,
WeekofMonth,
DayofWeek
e
MonthClaimed,
WeekofMonthClaimed,
DayofWeekClaimed. Questi verranno riconvertiti in date al fine di ricavare il numero
di giorni che intercorrono tra l’accadimento e la denuncia del sinistro.
Day.Policy.Accident: variabile factor che assume livelli: none, 1 to 7, 15 to 30, 8 to
15, more than 30. Viene interpretato come il lag temporale che intercorre tra la
sottoscrizione del contratto e l’accadimento del sinistro. Il livello “more than 30” da
solo costituisce il 98% delle osservazioni.
Day.Policy.Claimed: variabile factor che assume livelli: none, 15 to 30, 8 to 15, more
than 30. Viene interpretato come il lag temporale che intercorre tra la
sottoscrizione del contratto e la denuncia del sinistro. Anche in questo caso il livello
“more than 30” da solo costituisce il 98% delle osservazioni.
170
4.Polizza
PolicyNumber: codice di identificazione univoca di ogni polizza
BasePolicy: variabile factor che riferisce esclusivamente alla modalità di
risarcimento stipulate (All perils, Collision, Liability), la distribuzione di queste tre
modalità è quasi uniforme.
AgentType: variabile factor che assume livelli: External o Internal. Indica se la polizza
è stata o meno stipulata tramite un agente interno alla compagnia. Anche questa
variabile presenta una asimmetria molto accentuata con 98,5% di polizze acquisite
da agenti esterni alla compagnia.
PolicyType: variabile factor definita secondo le modalità di risarcimento previste
dalla polizza e con riferimento al tipo di veicolo assicurato. Si distinguono polizze: All
Perils, Collision e Liability. Ogni copertura è poi riferita su tutte le tipologie di veicolo
elencate nella sezione VehicleCategory; la categoria di riferimento è Sedan-All
perils.
Deductible: variabile che indica la deducibilità del sinistro, nonostante sia una
variabile numerica osserviamo come questa assuma solamente valori: 300, 400, 500
e 700. Il 96% dei record presenta un valore di Deductible pari a 400
5.Altro
RepNumber: variabile numerica che assume valori interi da 1 a 16, la distribuzione
di questi livelli nei record del data base è quasi uniforme.
NumberOfSuppliments: variabile factor che assume livelli: none, 1 to 2, 3 to 5 e
more than 5. L’ultimo livello da solo rappresenta il 45% dei records del data base.
AddressChange.Claim: variabile factor che assume i livelli: no change, under 6
months, 1 year, 2 to 3 years, 4 to 8 years. Si osserva come il livello “no change” da
solo costituisca il 92% delle osservazioni.
171
Come si evince il data base è abbastanza complesso soprattutto per l’elevato numero di
variabili factor presenti. In particolare si osservano i seguenti problemi:
PolicyType: questa variabile non è altro che un combinazione delle variabili Vehicle
Category e BasePolicy. Considerarla comporta problemi di collinearietà tra i
regressori.
MonthClaimed e DayOfWeekClaimed: nel data base è presente un record in cui
queste due variabili assumono valore 0 (vi è quindi un missing value). Avendo una
sola osservazione (per la quale non è stata individuata la frode) con tale problema si
è deciso di eliminarla dal database.
WitnessPresent, AgentType e PolicyReportFiled sono tutte variabili estremamente
asimmetriche ove il livello di minoranza ha una frequenza di circa il 3%. Ciò
nonostante si è deciso di mantenere invariati tali attributi.
172
3. Descrizione del programma
Al fine di facilitare la presentazione dell’applicazione proposta andremo a scomporre
questo capitolo in cinque sezioni che seguono l’evoluzione logica che si è seguita nella
costruzione del modello:
1. Pulizia del data base e correzione dei formati
2. Partizionamento del data base
3. Bilanciamento delle partizioni di training
4. Addestramento dei modelli di classificazione
5. Modelli alternativi di classificazione
6. Rete Neuronale
7. Albero Decisionale
8. Random Forest
9. Confronto tra i modelli
Nelle prossime pagine sarà data una breve descrizione di ognuno degli step di cui sopra
riservandosi un maggior livello di dettaglio nel commento dei risultati finali e nel confronto
delle performance tra i modelli.
173
3.1 Pulizia del data base e correzione dei formati
Il primo step del programma ha come input il data base grezzo presentato nel capitolo
precedente ed esegue una serie di operazioni di preparazione alla sua successiva
trattazione.
Queste operazioni si suddividono a loro volta in tre macro tipologie: correzione degli errori,
correzione dei formati e creazione di nuove feature.
Nella correzione degli errori vengono sostanzialmente eliminati dal data base tutti i
records che presentano dei missingi value, questi sono stati individuati su tre feature:
1. Età non valida ossia pari a zero
2. DayofWeekClaimed non validi ossia posti pari a 0
3. MonthClaimed non validi ossia pari a 0
La seconda operazione di preparazione consiste invece nel correggere il formato della
feature DriverRating in variabile factor. Infine per migliorare la performance del
classificatore e contemporaneamente diminuire il numero di variabili esplicative si è deciso
di condensare l’informazione di diverse feature creandone di nuove. In particolare sono
state create tre nuove feature chiamate: Holder_Driver, Dilazioni Temporali e Coerenza
Policy Days.
1. Holder_Driver
Nel data base grezzo sono presenti due campi che fanno riferimento all’età di un individuo:
Age (definita puntualmente) ed AgeOfPolicyHolder (definita in un insieme di range di età).
Si è notato come le due variabili non sempre siano tra loro coerenti nel senso che su una
data riga del data frame il valore di Age non rientra nell’intervallo definito da
AgeOfPolicyHolder.
Questo fatto viene interpretato nel seguente modo: Age fa riferimento all’età del
conducente dell’auto assicurata al momento del sinistro mentre AgeOfPolicyHolder è vista
come l’età del soggetto assicurato risultante dal contratto. Quando le due osservazioni non
sono coerenti allora si presuppone che il soggetto alla guida fosse diverso dall’assicurato.
La nuova feature Holder_Driver è una variabile binaria che assume valore 1 se le due
osservazioni sono coerenti e 0 altrimenti.
174
2. Dilazioni Temporale
Come indicato nel capitolo precedente per motivi di privacy il data base disponibile non
riporta esplicitamente le date di accadimento e denuncia del sinistro ma indica nel
seguente formato:
’ −
−
’ℎ −
Evidentemente un primo lavoro che si è fatto è stato ricostruire la data di accadimento e
denuncia del sinistro in una forma più chiara.
In altri studi (vedi minority report) questa ricostruzione è stata fatta per capire se vi sia una
maggior tendenza al tentare fenomeni fraudolenti nei fine settimana o durante le diverse
festività. In questa sede si è preferito concentrarsi sul delta temporale che avviene tra
l’accadimento del sinistro e la sua denuncia alla compagnia da parte dell’assicurato.
3. Coerenza Policy Days
Sempre nel capitolo precedente si è visto come vi siano due feature che riguardano il delta
temporale tra due eventi chiamate: Days.Policy.Accident e Days.Policy.Claim.
Tali variabili vengono interpretate come la distanza in giorni tra la sottoscrizione della
polizza e l’accadimento/denuncia del sinistro. Le due variabili non danno un valore
numerico ma semplicemente dei range definiti in giorni. Se non vi è coerenza tra le due
feature significa che il delta temporale tra accadimento e denuncia è stato considerevole
quindi si costruisce una nuova feature chiamata coerenza_policy_days di tipo binario che
segnala se i due range in giorni sono coerenti o no.
Fatte questi aggiustamenti il data base è pronto per le successive elaborazioni e viene
passato allo step successivo. A differenza del data base grezzo il numero di osservazioni è
sceso a 15.100 (a causa dell’eliminazione delle osservazioni senza informazione) ed il
numero di feature è sceso a 23 grazie soprattutto alla nuova variabile
“dilazioni_temporali” che condenza tutta l’informazione contenuta nelle feature di
definizione della data di accadimento e denuncia del sinistro.
175
3.2 Partizionamento del data base
In questo secondo step di programmazione si riceve in input il data base pulito
precedentemente e si attua il partizionamento nelle tre categorie: training, test e
validazione. A tal fine si è deciso di ripartire l’informazione nel seguente modo: 70% nel
training, 15% nel test e altri 15% nella validazione.
Avremo quindi un data base di 10.570 osservazioni per l’addestramento della macchina e
altri due di 2.265 records per il test out of sample e la validazione.
Questo partizionamento viene fatto estraendo casualmente senza ripetizione dal data base
di partenza e ponendo che tutti i record abbiano la stessa probabilità di estrazione
(distribuzione uniforme su interi da 1 a 15.1000).
Il data base di addestramento verrà poi ulteriormente trattato nel terzo step di
programmazione relativo al bilanciamento delle due classi (frode e non frode) mentre le
partizioni di test e validazione non saranno più modificate. Per ogni partizione si verifica
che la percentuali di frodi sul totale rimanga più o meno invariata (all’incirca il 5%).
3.3 Bilanciamento delle partizioni di training e parametrizzazione
Nella partizione di addestramento si può osservare come la percentuale di frodi sul totale
delle 10.570 osservazioni sia solamente il 6%. Quando si verifica un tale sbilanciamento
nelle due partizioni l’addestramento della macchina su dati “non trattati” può portare ad
una tendenza del classificatore ad assegnare sempre l’etichetta del gruppo di maggioranza
ad ogni caso out of sample che gli si presenta.
Infatti anche nel caso in cui l’SVM classificasse come non frode ogni osservazione nel test
out of sample la performance complessiva della macchina sarebbe verosimilmente
superiore al 90% anche se tutte le frodi vengono errate.
Per tale ragione è consigliabile eseguire un bilanciamento della partizione di training così
che la macchina non ricada nel comportamento di cui sopra. Nel fare questo bilanciamento
si è optato un approccio basato sul ricampionamento casuale del training set. A partire
dalla partizione di addestramento originale si definiscono due subset che definiscono gli
insiemi di osservazioni: frodi e non frodi.
A questo punto si definisce il nuovo data base di training bilanciato attraverso un
1. sovra campionamento del gruppo di minoranza tramite estrazione casuale con
reimmissione
2. sotto campionamento del gruppo di maggioranza tramite estrazione casuale senza
reimmissione
176
i due data frame ottenuti vengono quindi aggregati ottenendo la partizione bilanciata.
Sorge però un problema, in un data frame bilanciato quanto deve essere il peso delle due
classi? Non essendo semplice individuare il peso ottimale che le due classi devono avere
affinché si addestri un classificatore più performante si è seguito un approccio molto
pragmatico “provando” diverse partizioni e verificando la loro performance out of sample,
Tre sono i bilanciamenti provati:
 NULL: ossia nessun bilanciamento è stato fatto sul data base
 50/50: il numero di osservazioni delle due classi è perfettamente bilanciato
 20/80: un quinto dei record di training appartiene alla classe fraudolenta
Per valutare l’effetto del modificare il bilanciamento tra le due classi si è deciso di
confrontare le performance out of sample di tre identiche SVM addestrate sui tre diversi
data base di training. L’addestramento è stato fatto con la funzione svm del pacchetto
e1071 utilizzando una parametrizzazione standard in tutti e tre i casi, quindi si è optato per
un kernel lineare con parametro pari a 1.
Il confronto tra le tre SVM addestrate viene fatto sulla partizione di test (definita nello step
precedente) e basandosi sulle tabelle di contingenza e le curve ROC per valutare la
performance dei tre classificatori.
La performance out of sample dei tre classificatori è stata
Partizione 50/50
No
Si
No
1.238
7
Si
900
120
Partizione 20/80
No
Si
No
2.136
127
Si
2
0
Partizione NULL
No
Si
No
2.138
127
Si
0
0
177
Mentre dal confronto delle curve ROC si è ottenuto
0.6
0.4
0.2
True positive rate
0.8
1.0
Training Data
0.0
50/50
20/80
NULL
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
L’attività di bilanciamento sul data base di training ha un impatto rilevante nella
performance out of sample del classificatore il quale, in assenza di tale accorgimento, non
è in grado di riconoscere i sinistri fraudolenti.
Questa situazione viene definita in letteratura come classificazione asimmetrica ossia il
caso in cui vi è un forte squilibrio nella numerosità delle osservazioni nelle due classi. A
fronte di tale problematica gli approcci tipicamente seguiti sono:
 ribilanciamento dei due gruppi tramite un’attività di sovra campionamento della
classe di minoranza e/o sotto campionamento della classe di maggioranza
 assegnare un diverso “costo” dell’errore di classificazione nei due gruppi
La prima strategia equivale a quella presentata poc’anzi e può essere implementata con
diverse modalità anche se empiricamente in diversi studi comparativi si è notato come il
semplice sovra/sotto campionamento casuale portasse a performance migliori rispetto ad
altre strategie di estrazione (ad es. sovra campionare gli esempi positivi situati vicino alla
decision function).
178
Nella seconda modalità si cerca di assegnare un peso che vada ad aumentare la gravità del
commettere un errore nel riconoscimento di una specifica classe. Questa strategia può
quindi essere adottata in fase di addestramento per migliorare la performance nel
classificatore nel riconoscere una certa categoria di record. Nel nostro caso vogliamo
definire un set di pesi che permetta di addestrare una macchina in grado di riconoscere i
sinistri fraudolenti.
Prima di presentare la modalità con cui si è individuato questo set di pesi ottimali si vuole
introdurre un breve ragionamento per capire come interpretare questi valori nel contesto
specifico della frode assicurativa che si sta trattando in questa applicazione. Riprendendo
la notazione di uno dei più importanti modelli della letteratura attuariale (il Collective Risk
Model) possiamo definire il costo aggregato dei sinistri di un portafoglio assicurativo come
la somma di un numero aleatorio di singoli sinistri che provocano un indennizzo alla
compagnia.
=
Supponiamo che all’interno di questi sinistri ve ne siano
di tipo fraudolento ed
leciti, possiamo quindi immaginare di scomporre la notazione di cui sopra in:
=
dove
ed
+
=
+
rappresentano il costo aggregato dei sinistri fraudolenti e leciti.
Se valgono le ipotesi del CRM possiamo calcolare il valore atteso del costo complessivo di
portafoglio come:
( )= ( ) ( )= (
) (
)+ (
) (
)
dividendo il tutto per ( ) otteniamo
( )
( )
(
=
( )
( )
)+
(
)
( )
(
)=
(
) + (1 − ) (
)
A questo punto dobbiamo porci il seguente quesito: quanto costa la frode per
l’assicuratore?
Intuitivamente la compagnia ha tutta una serie di costi (soprattutto di tipo indiretto come
ad esempio il danno di immagine) che rendono la frode assicurativa una potenziale
minaccia per la solvibilità della compagnia.
179
Non conoscendo a priori questo maggior costo rispetto a quello di un “normale”
indennizzo conviene proseguire il ragionamento in termini di proporzione raccogliendo
) ed ottenendo
nell’equazione precedente (
( )
= (
( )
(
(
)
)
+ (1 − ) = (
)
)[
+ (1 − ) ]
riportando ( ) a destra dell’equazione otteniamo
( )= ( ) (
) [
+ (1 − ) ] = ( ) (
)
Quest’ultima scrittura può essere interpretata nella seguente maniera: il primo fattore che
) rappresenta il costo aggregato di tutti i sinistri nel caso in cui non vi
compare ( ) (
sia alcun fenomeno fraudolento nel portafoglio oggetto di studio.
A questo si va a moltiplicare un fattore che (nel caso in cui e siano strettamente
maggiori di 1) va ad amplificare il costo complessivamente sostenuto dalla compagnia. In
questa formulazione è evidente come il costo della frode sia rappresentato dal fattore
che può essere interpretato come il peso da assegnare alla classe sinistri fraudolenti nella
fase di addestramento della macchina.
) dal commento di cui sopra capiamo che se la
Riscalando il tutto rispetto a ( ) (
percentuale di sinistri fraudolenti si attesta nell’intorno di un 6% come nel nostro caso
l’avere un ad esempio pari a 5 significa che l’incapacità della SVM a riconoscere le frodi
non causa alla compagnia un costo di 6% ma di 6% ∗ 5 = 30%.
Ai fini dell’addestramento della SVM il nostro obiettivo è quindi definire quel valore di
che massimizzi la capacità del classificatore di discriminare tra le due classi. Nel percorrere
questa seconda strategia si è quindi deciso di utilizzare come data base di addestramento
quello originale ossia senza alcuna azione di bilanciamento.
Innanzitutto si è dovuto scegliere il kernel da utilizzare, per farlo si sono addestrate 4
differenti SVM utilizzando come funzioni kernel:
1. Radial
,
= exp −
2. Polynomial
,
=(
3. Linear
,
=
4. Sigmoid
,
=
−
+ )
+
ℎ(
+ )
queste vengono confrontate nella loro performance out of sample tramite una serie di
indicatori quali le curve ROC e le tabelle di contingenza.
180
I risultati ottenuti da questa prima analisi sono riassunti nella seguente tabella
Kernel
Percentuale Errori Si Percentuale Errori No
Percentuale di Errore Totale
Area sotto ROC
Linear
1
0
0,05607064
0,395446477
Sigmoid
1
0
0,05607064
0,354640071
Polynomial
1
0
0,05607064
0,275579503
Radial
1
0
0,05607064
0,244370705
mentre il confronto delle curve ROC ha portato a
0.6
0.4
0.2
True positive rate
0.8
1.0
Confronto Kernel
0.0
Linear
Sigmoid
Polynomial
Radial
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
Si osserva come nessuno dei kernel proposti è in grado di riconoscere il caso dei sinistri
fraudolenti, si è quindi optato per il kernel lineare in quanto computazionalmente meno
gravoso e perché presenta la migliore curva ROC tra le quattro ottenute.
Scelto il kernel è necessario impostare il peso da assegnare alla classe di minoranza. Visto
che l’obiettivo è capire di quanto pesare gli errori di classificazione nelle frodi rispetto ai
sinistri legal poniamo un peso di riferimento unitario alla classe di maggioranza mentre il
peso dei si viene fatto variare tra 1 e 16 (infatti 1/16 è all’incirca pari al 6% ossia la
frequenza con cui è presente la classe di minoranza nel data base di addestramento).
181
Vengono quindi addestrate 16 SVM identiche tra loro salvo il peso da associare agli errori
di classificazione nei Si. Il confronto tra le diverse SVM avviene osservando le relative
performance out of sample tramite una serie di indicatori che andremo a descrivere.
I risultati di questa prima analisi vengono riassunti nella seguente tabella
Yes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
No
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Totale
0,05607
0,05695
0,05651
0,05651
0,06269
0,17925
0,18940
0,18940
0,18985
0,38366
0,38499
0,38764
0,39514
0,39514
0,40353
0,40353
FP
1,00000
1,00000
0,99213
0,99213
0,99213
0,54331
0,46457
0,45669
0,45669
0,07874
0,07874
0,07874
0,07874
0,07874
0,05512
0,05512
FN
0,00094
0,00094
0,00094
0,00748
0,15762
0,17306
0,17353
0,17399
0,40178
0,40318
0,40599
0,41394
0,41394
0,42423
0,42423
ROC
0,39545
0,32615
0,28715
0,21374
0,19891
0,20477
0,20020
0,19961
0,18541
0,18998
0,21415
0,22353
0,20769
0,24621
0,20935
0,20981
Errore Pesato 1
5,05757
6,12650
6,87646
9,23809
9,86202
3,37965
2,74500
2,68969
2,89417
0,96376
0,85924
0,83136
0,92013
0,77616
0,91407
0,91208
Errore Pesato 2
2,67058
3,23501
3,61820
4,86082
5,18937
1,60178
1,37055
1,35060
1,45495
2,56881
2,28934
2,21330
2,44361
2,06127
2,57833
2,57272
Da questa tabella si possono fare le seguenti considerazioni:
1. al variare del peso assegnato ai False Positive (FP) varia sensibilmente la
performance del classificatore nel riconoscere i casi di frode assicurativa
2. vi è un evidente trade off tra i FP e FN in particolare al migliorare della performance
nel riconoscere i Si crolla la capacità della macchina nel riconoscere in No, la
variazione di performance nel riconoscimento delle due classi al variare del set di
pesi è una funzione a gradini
3. l’area sotto la curva ROC (tipico parametro utilizzato per valutare la performance di
un classificatore) non è sufficiente a stabilire il miglior peso da assegnare alla classe
dei Si perché si osserva come nel caso di classi così fortemente sbilanciate la
situazione di partenza (nessun peso specifico) risulti più performante dal punto di
vista della ROC nonostante non venga fatta alcuna vera classificazione da parte del
modello.
182
Per una più semplice analisi possiamo rappresentare graficamente la tabella riassuntiva di
cui sopra.
10
0.4
0.2
0.0
Percentuale di Errore
0.35
0.20
5
15
5
10
Peso dei Si
Errore nei Si
Area sotto ROC
15
5
10
Peso dei Si
15
0.30
0.20
0.6
Area sotto ROC
1.0
0.40
Peso dei Si
0.2
Percentuale di Errore
Errore nei No
0.05
Percentuale di Errore
Errore Totale
5
10
15
Peso dei Si
Dato l’ultimo punto evidenziato si è deciso di costruire una serie di indicatori di
performance che possano sostituirsi alla classica misura dell’area sottostante la curva ROC.
Nella costruzione di questi indicatori l’obiettivo era forzare una sorta di bilanciamento tra i
e
evitando situazioni di eccessiva propensione della macchina a riconoscere una
sola classe di sinistri. Quindi l’idea è quella di minimizzare la differenza tra
e
, d’altro
canto potremmo avere che entrambi i tipi di errore sono molto elevati ma simili tra loro
(ad es.
= 0.95 e
= 0.85) quindi per penalizzare questa situazione si somma alla
differenza tra
e
l’errore complessivo. Infine si divide il tutto per l’area sottostante la
ROC al fine di penalizzare la situazione in cui questa fosse troppo contenuta.
183
Le misure di errore definite secondo questi principi sono quindi:
=
=
(
−
) +
(
−
) +
Selezioniamo quindi il set di pesi che minimizza una delle due misure di errore di cui sopra,
dal primo indicatore otteniamo come set ottimale la coppia
= 14
=1
mentre la seconda misura di errore (meno sensibile alla performance nel riconoscere le
frodi) definisce un ottimo in
=9
=1
Visto che il nostro principale obiettivo è migliorare la performance della macchina nel
riconoscimento dei sinistri fraudolenti scegliamo la coppia proposta dal primo indicatore di
performance a cui è associata ad una macchina che commette solo un 8% nei FP contro il
46% che si adotterebbe utilizzando l’altra coppia di pesi. D’altro canto se focalizziamo
l’attenzione sui soli casi in cui l’SVM commette un errore di classificazione in entrambe le
categorie di sinistri (ossia tutti i casi con un peso nei Si tra 5 e 16) notiamo come la coppia
14/1 sia quella che massimizza l’area sotto la ROC.
0.22
0.21
0.20
0.19
Area sotto ROC
0.23
0.24
Area sotto ROC
6
8
10
12
14
16
Peso dei Si
184
Sulla base di tutte queste considerazioni si è deciso di adottare come set di pesi ottimale la
coppia 14/1 a cui è associata una tabella di contingenza
Partizione NULL con pesi
No
Si
No
1.253
10
Si
889
117
mentre la performance di partenza senza alcuna pesatura era
Partizione NULL
No
Si
No
2.138
127
Si
0
0
Riprendendo la formulazione di cui sopra e sostituendo i valori osservati nel nostro caso
concreto abbiamo
( )= ( ) (
) [
+ (1 − ) ] = ( ) (
)
= 1.78 ( ) (
) [0.06 ∗ 14 + 0.94 ]
ove 14 è da interpretare come il peso da assegnare all’errore nel riconoscimento delle
frodi che porta al massimo grado di separazione tra le due classi.
Individuato il set ottimale di pesi da utilizzare e la funzione kernel le successive operazioni
di parametrizzazione consistono nella ricerca di un valore ottimale del parametro e di un
subset di feature che massimizzi la performance out of sample.
In tale ricerca si è deciso di adottare in entrambi i casi la tecnica di simulated annealing
applicata su una funzione obiettivo data dalla performance out of sample della macchina
(misurata con il primo indicatore di errore pesato) la quale varia a seconda di dove ci
poniamo nello spazio dei parametri e delle variabili. Per quanto riguarda il parametro di
costo complessivo l’algoritmo non ha individuato nessun valore che desse un errore
pesato inferiore a quello di inizializzazione. Per tale motivo si è deciso di tenere il
parametro pari ad 1.
Per inizializzare l’algoritmo nella ricerca del miglior subset di feature si è innanzitutto
calcolato la funzione obiettivo su 16 punti nello spazio delle variabili definiti casualmente.
L’algoritmo di SA è stato quindi inizializzato a partire dal punto nello spazio delle feature a
cui corrispondeva un minor errore pesato del primo tipo. La tecnica di SA non è andata a
185
convergenza e quindi non è stata trovata una soluzione preferibile a quella di
inizializzazione.
Ciononostante a questa corrispondeva la seguente tabella di contingenza
Partizione NULL con FS
No
Si
No
1.239
7
Si
899
120
in cui si osserva una miglior performance nel riconoscimento della frode senza andare a
peggiorare la quantità di errore nei No. Con la feature selection si chiude l’attività di
parametrizzazione della SVM.
Ricapitolando il modello ottimale che è stato scelto presenta
1. kernel: linear
2. peso nei Si pari a 14
3.
=1
4. Feature utilizzate (1, 4, 5, 6, 7, 9, 10, 12, 15, 18, 19, 21, 24)
Per avere una migliore stima di come questo modello si comporti nella performance out of
sample è stata eseguita una - fold Cross Validation utilizzando 10 partizioni.Nelle due
tabelle sottostanti si riporta la performance ottenuta nelle 10 valutazioni out of sample.
Totale
FP
FN
0,436
0,066
0,459
0,413
0,043
0,438
0,404
0,048
0,430
0,389
0,067
0,410
0,400
0,010
0,426
0,392
0,038
0,412
0,389
0,049
0,409
0,405
0,047
0,426
0,405
0,070
0,425
0,403
0,043
0,427
186
Statistica
Totale
FP
FN
Minimo
0,389
0,010
0,409
1st QU
0,394
0,043
0,415
Mediana
0,404
0,047
0,426
Media
0,404
0,048
0,426
3rd QU
0,405
0,062
0,429
Massimo
0,436
0,070
0,460
Guardando il valor medio si riconferma quanto osservato in fase di parametrizzazione del
modello in termini di errore nelle singole classi e complessivo.
Grazie all’attività di parametrizzazione del modello si è ottenuta una performance di
modello nel riconoscimento dei Si più che soddisfacente a discapito però di un forte
aumento nel rate dei
che fa elevare la percentuale complessiva di misclassificazione
del modello al 40%. Va notato come la performance di partenza del modello senza
parametrizzazione fosse del 94% ma è anche vero che in quel caso non veniva fatta alcuna
classificazione dalla macchina che assegnava ogni osservazione out of sample alla classe di
maggioranza. Quindi non è corretto confrontare il 60% di precisione ottenuto con il 94% di
partenza non essendo quest’ultima una vera performance.
Infine per quanto riguarda le curve ROC possiamo osservare come il confronto tra il
modello di partenza e quelli parametrizzati evidenzi un forte peggioramento nell’area
sottostante la curva ROC
187
0.8
0.6
0.4
0.2
Originale
Solo Pesatura
Pesatura e FS
0.0
True positive rate
1.0
Confronto Modelli di Riferimento
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
Per tale motivo si è deciso di scartare il modello sovra descritto e di rieseguire la procedura
di parametrizzazione sovra descritta basandosi sul data base di addestramento ribilanciato
in modo tale che il numero di Si e No fossero equivalenti (bilanciamento 50/50).
Rieseguendo gli step sovra presentati si è individuato il seguente modello:
1. kernel: radial
2. peso nei Si pari a 1
3.
=1e
=1
4. Feature utilizzate c(1, 5, 12, 14, 18, 21)
dalla
- fold Cross Validation si è ottenuto
188
Totale
FP
FN
0,293
0,371
0,218
0,301
0,384
0,216
0,306
0,389
0,224
0,295
0,293
0,296
0,299
0,354
0,243
0,309
0,378
0,239
0,293
0,375
0,211
0,344
0,267
0,348
0,349
0,256
0,355
0,336
0,141
0,348
Statistica
Totale
FP
FN
Minimo
0.2934 0,1413 0,2107
1st QU
0.2957 0,2738 0,2192
Mediana
0.3036 0,3627 0,2407
Media
0.3125 0,321 0,2697
3rd QU
0.3290 0,3775 0,3353
Massimo
0.3490 0,3893 0,3546
Il nuovo modello ottiene un miglior equilibrio tra i due livelli di errore aumentando la
performance complessiva all’incirca del 10%.
Il confronto delle curve ROC mostra una situazione molto più incoraggiante rispetto a
quella del modello senza bilanciamento
189
0.6
0.4
0.2
True positive rate
0.8
1.0
Confronto Modelli di Riferimento
0.0
Originale
Solo Pesatura
Pesatura e FS
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
In particolare si osservi come l’attività di feature selection permetta un forte
miglioramento della curva ROC rispetto al caso in cui solo l’azione di pesatura delle classi è
eseguita. Si osservi come in questo caso il set di pesi ottimale fosse dato dalla coppia 1/1 il
che evidenzia come l’effetto ottenuto sulla performance out of sample dall’azione di
bilanciamento del data base di training si sostituisce alla selezione del peso ottimale
eseguita nel primo modello.
Infine si è voluto provare una combinazione delle due tecniche sovra proposte partendo
dal data base bilanciato 20/80. Rieseguendo la parametrizzazione sovra descritta si è
ottenuto il seguente modello:
1. kernel: radial
2. peso nei Si pari a 8
3.
=1e
=1
4. Feature utilizzate (1, 5, 12, 14, 18, 21)
dalla
- fold Cross Validation si è ottenuto
190
Totale
FP
FN
0,362
0,069
0,431
0,335
0,081
0,404
0,348
0,092
0,415
0,351
0,052
0,421
0,329
0,052
0,400
0,371
0,073
0,441
0,330
0,063
0,398
0,405
0,070
0,426
0,401
0,163
0,415
0,395
0,076
0,415
Statistica
Totale
FP
FN
Minimo
0,3291 0,05178 0,3980
1st QU
0,3382 0,06418 0,4067
Mediana
0,3563 0,07134 0,4152
Media
0,3626 0,07902 0,4167
3rd QU
0,3887 0,07958 0,4245
Massimo
0,4053 0,16279 0,4411
Si osserva una performance molto più simile a quella del primo classificatore rispetto al
quale si ha una lieve diminuzione nella capacità di riconoscere i Si ma
contemporaneamente una diminuzione dell’errore complessivo di circa il 5%. Dal
confronto delle curve ROC si osserva invece una situazione molto più simile a quella del
modello bilanciato al 50/50 infatti si ha che:
191
0.6
0.4
0.2
True positive rate
0.8
1.0
Confronto Modelli di Riferimento
0.0
Originale
Solo Pesatura
Pesatura e FS
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
Dalle osservazioni di cui sopra possiamo individuare l’ottimo nel modello “di mezzo” ossia
quello che sfrutta sia il bilanciamento ex ante del data base di training sia un set di pesi
asimmetrico per l’errore di classificazione.
Nonostante tutto però si osserva come la performance complessiva del modello sia
tutt’altro che soddisfacente con un grado di precisione che si attesta nell’intorno del
63,74%. Per tale motivo si è voluto rieseguire l’applicazione di cui sopra utilizzando altri
modelli di classificazione così da poter confrontare le diverse performance di
classificazione.
I modelli di confronto adottati sono: una rete neuronale con uno strato nascosto, un
albero decisionale ed una random forest.
Per ognuno di questi classificatori si è confrontato inizialmente la performance out of
sample addestrando la macchina sui tre data base con diversi bilanciamenti. Si è
selezionato il miglior modello dei tre e quindi si è stimata la sua capacità generalizzazione
del fenomeno tramite la tecnica della - fold cross validation.
192
Rete Neuronale
Il primo modello di confronto adottato è una rete neurale caratterizzata da un unico strato
nascosto di calcolo. Il confronto nella performance out of sample delle tre reti neuronali
addestrate sui data base con differente bilanciamento ha portato a:
0.6
0.4
0.2
True positive rate
0.8
1.0
ROC Rete Neuronale
0.0
NULL
20/80
50/50
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
Si osserva come il bilanciamento del data base non sembra avere effetto sulla RN la quale
ricava una ROC accettabile (sopra la bisettrice) anche nel caso di totale assenza di
bilanciamento. Questo è un evidente punto di forza delle reti neurali che non seguendo la
logica di massimizzazione del margine di separazione (come fanno le SVM) non sembrano
avere la problematica di impostare un margine asimmetrico nella fase di
parametrizzazione del modello.
Selezionato il data base 50/50 la
- fold cross validation ha portato ai seguenti risultati:
Statistica
Totale
FP
FN
Minimo
0,2417 0,1196
0,4911
1st QU
0,2772 0,3123
0,4999
Mediana
0,3215 0,52324 0,7713
Media
0,5703 0,5957
0,6770
3rd QU
1,0000 1,0000
0,7892
Massimo
1,0000 1,0000
0,8464
193
Albero Decisionale
Il secondo modello di confronto è un singolo albero decisionale, questo viene addestrato
sui tre data base di training portando al seguente confronto tra le curve ROC
0.6
0.4
0.2
True positive rate
0.8
1.0
ROC Decisional Tree
0.0
NULL
20/80
50/50
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
In questo caso si osserva come l’assenza dell’attività di bilanciamento porti il modello ad
una ROC tutt’altro che soddisfacente anche se migliore rispetto al caso delle SVM
suggerendo una minor sensibilità degli alberi decisionali a forti squilibri nella numerosità
delle due classi.
Selezionato il data base 20/80 la
- fold cross validation ha portato ai seguenti risultati:
Statistica
Totale
FP
FN
Minimo
0,2298 0,09302 0,2000
1st QU
0,2503 0,19488 0,2146
Mediana
0,2778 0,23821 0,2487
Media
0,2750 0,25017 0,2589
3rd QU
0,2911 0,32844 0,2973
Massimo
0,3417 0,39060 0,3567
194
Random Forest
Infine l’ultimo modello di confronto è ottenuto tramite la aggregazione di diversi alberi
decisionali tramite la tecnica del bagging. Come sempre il primo confronto è fatto con le
curve ROC sui tre modelli addestrati con i data base bilanciati
0.6
0.4
0.2
True positive rate
0.8
1.0
ROC Random Forset
0.0
NULL
20/80
50/50
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
Così come nel caso della rete neurale il modello non risente dello sbilanciamento tra le
classi nella fase di addestramento.
Selezionato il data base 50/50 la
Statistica
- fold cross validation ha portato ai seguenti risultati:
Totale
FP
FN
Minimo
0,0002649 0,00000
0,00533
1st QU
0,0006788 0,00000
0,01087
Mediana
0,007947
0,000134 0,01386
Media
0,018212
0,158077 0,01356
3rd QU
0,017219
0,107612 0,01521
Massimo
0,069536
0,930233 0,02266
195
3.4 Confronto tra i modelli
In questa sezione andremo a confrontare direttamente le curve ROC dei quattro modelli
sovra presentati nonché la performance out of sample complessiva e nelle due classi
specifiche. Dal confronto delle curve ROC si ottiene innanzitutto:
0.6
0.4
0.2
True positive rate
0.8
1.0
Confronto Modelli
0.0
Decisional Tree
Random Forest
Neural Network
SVM - Radial
0.0
0.2
0.4
0.6
0.8
1.0
False positive rate
Che evidenzia come la random forest si presenti la miglior situazione rispetto a tutti e
quattro i modelli mentre l’SVM non vanta un performance così soddisfacente. Questo
confronto si può giustificare dal fatto che a differenza di tutti gli altri modelli l’SVM sembra
particolarmente sensibile situazioni in cui è presente una forte asimmetrie nella
numerosità degli esempi per le due classi.
Confrontando i gli errori ottenuti con la tecnica del
Totale
- fold validation otteniamo invece:
SVM
RN
AD
RF
Minimo
0,3291
0,2417
0,2298
0,0002649
1st QU
0,3382
0,2772
0,2503
0,0006788
Mediana
0,3563
0,3215
0,2778
0,007947
Media
0,3626
0,5703
0,2750
0,018212
196
3rd QU
0,3887
1,0000
0,2911
0,017219
Massimo
0,4053
1,0000
0,3417
0,069536
SVM
RN
AD
RF
Minimo
0,05178
0,1196
0,09302
0,00000
1st QU
0,06418
0,3123
0,19488
0,00000
Mediana
0,07134
0,5232
0,23821
0,000134
Media
0,07902
0,5957
0,25017
0,158077
3rd QU
0,07958
1,0000
0,32844
0,107612
Massimo
0,16279
1,0000
0,39060
0,930233
False Positive
False Negative
SVM
RN
AD
RF
Minimo
0,3980
0,4911
0,2000
0,00533
1st QU
0,4067
0,4999
0,2146
0,01087
Mediana
0,4152
0,7713
0,2487
0,01386
Media
0,4167
0,6770
0,2589
0,01356
3rd QU
0,4245
0,7892
0,2973
0,01521
Massimo
0,4411
0,8464
0,3567
0,02266
Possiamo innanzitutto osservare come la Rete Neurale risulti essere il peggiore modello tra
i quattro proposti, infatti la performance complessiva e specifica nel riconoscimento delle
singoli classi risulta essere sempre la più bassa.
Osserviamo poi come l’SVM risulti essere il miglior modello nel riconoscere i sinistri
fraudolenti con un FP rate di circa l’8% contro un 16% della random forest e 25%
dell’albero decisionale.
Nel riconoscimento dei no la random forest presenta una performance nettamente
superiore a quella di ogni altro classificatore con un FN rate di circa il 1,3% contro un 26%
dell’albero decisionale ed un 41% della SVM.
197
Questa elevatissima capacità di classificazione della classe di maggioranza aumenta la
performance totale della random forest che presenta una percentuale di misclassificazione
complessiva di circa il 2% contro un 27,5% dell’albero decisionale ed un 36,26% della SVM.
Evidentemente il confronto tra random forest e l’albero decisionale vede il primo modello
come dominante data la sua miglior performance su tutti e tre i fronti.
Il confronto finale è quindi tra la SVM e la Random Forest. Innanzi tutto osserviamo come il
tasso di errore nel riconoscere i sinistri fraudolenti nella SVM sia all’incirca la metà di
quello della Random Forestm, ne segue che se l’effettivo costo economico della frode
risultasse particolarmente elevato sarebbe ragionevole preferire l’SVM. D’altro canto un
secondo aspetto che salta subito all’occhi è l’elevata asimmetria positiva che si osserva
nella distribuzione dell’errore complessivo e specifico nei Si della Random Forest.
Infatti confrontando semplicemente il valor medio e mediano si nota come la SVM abbia
una distribuzione abbastanza simmetrica con una lieve asimmetria a destra. La random
forest invece presenta differenze relativamente molto più elevate tra media e mediana il
che indica una maggior asimmetria positiva.
Quindi la distribuzione dell’errore della random forest sembra avere una coda a destra
molto più pesante rispetto alla SVM. Per avere una idea del livello di variabilità tra le due
distribuzioni si calcola la differenza tra il primo e terzo quartile e lo si rapporta alla media.
Variabilità
SVM
Random Forest
Totale
0,164368
0,93093
False Positive
0,35181
0,6808757
False Negative
0,042717
0,313131
È evidente come le stime della Random Forest vantino una maggior variabilità rispetto a
quelle ottenute con la SVM, quindi oltre ad una maggior precisione nel riconoscimento
della frode la tabella di cui sopra suggerisce una maggior stabilità delle stime fornite dalle
macchine a vettori di supporto e quindi anche una maggior robustezza del modello.
198
Conclusione della quinta parte
Dal confronto dei quattro modelli di cui sopra non sembra emerge un classificatore che
domina su tutti gli altri.
La rete neuronale e l’albero decisionale sono tranquillamente scartabili, infatti l’albero
decisionale è interamente dominato dalla Random Forest mentre la rete neuronale risulta
essere il peggior classificatore in tutti i tipi di errore.
La scelta tra l’SVM e la Random Forest non è però così immediata visto che da un lato si ha
un modello migliore nel riconoscere le frodi ma che commette un elevato numero di errori
nell’altra classe affossando la performance complessiva.
La Random Forest presenta una performance elevatissima nel riconoscere la classe dei
sinistri legal (il che amplifica la precisione complessiva del modello quasi al 98%) a cui si
associa una inferiore capacità del modello nell’individuare i casi fraudolenti. Va comunque
detto che la Random Forest riconosce le frodi nel 84% dei casi dunque non si può dire che
la sua performance nei Si sia insoddisfacente.
È quindi evidente come il criterio che deve guidare tra la scelta tra la SVM o Random Forest
si basi sulla stima di quel parametro
che andava a indicare il costo della frode
assicurativa per la compagnia.
Per meglio capire quest’ultimo punto si consideri il seguente ragionamento: sia
il
numero complessivo di sinistri generati dal portafoglio assicurativo nel periodo di
copertura e si definisca con
la percentuale fisiologica di sinistri fraudolenti che la
compagnia subisce.
Da questo ricaviamo quindi che (1 − ) rappresenta il limite superiore nella capacità di
riconoscimento della frode che non può essere superato da nessun classificatore. A fronte
di questa formulazione possiamo definire il maggior costo che la compagnia subisce dalla
frode (rispetto al livello fisiologico inevitabile) a causa dei limiti del classificatore adottato
come:
=(
− )
Va però considerato che anche l’errore nel classificare un sinistro lecito come fraudolento
può causare una serie di costi ulteriori alla compagnia. Assumiamo che questi siano una
descritti da una qualche funzione :
∈ [0,1] →
che aumenti all’aumentare del rate
nei false negative.
= (
) . . .
≥0
199
Date le assunzioni di cui sopra possiamo definire il costo complessivo derivante dagli errori
di classificazione del modello come
(
− ) + (
)
È quindi evidente che dati due generici modelli di classificazione e la compagnia sceglie
quello che presenta il minor costo. Introducendo anche una generica variabile > 0 che va
a rappresentare il costo di implementazione di un determinato modello avremo che la
compagnia sceglie di adottare il modello se e solo se:
(
isolando
− ) + (
)+
≤(
[ (
)− (
− ) + (
)+
ricaviamo quindi
(
(
)
=
)
e quindi in definitiva il modello
(
Supponendo che
<
(
)≤ (
≤
)] + (
−
)
−
viene preferito solo quando
)
[ (
)− (
)] + (
−
)
)] + (
−
)
−
avremo che
)≥ (
)
[ (
)− (
−
Intuitivamente affinché sia preferibile il modello più performante nel riconoscere le frodi è
necessario che il costo dei sinistri illeciti superi una certa soglia minima.
Questo ragionamento evidentemente semplifica molto il discorso (infatti non considera ad
esempio la robustezza del modello e variabilità nel suo comportamento classificatorio) ma
permette di cogliere la questione.
In definitiva non è possibile stabilire a priori se è preferibile la Random Forest o l’SVM
perché nessuno dei due modelli domina sull’altro in relazione ad ogni tipo di errore che
commette.
Nel caso in cui il costo della frode risulti essere particolarmente gravoso per la compagnia
questa tenderà a scegliere la SVM che gli permette di ridurre quel maggior costo derivante
dai sinistri illeciti rispetto al livello fisiologico. In alternativa potrebbe essere preferibile la
Random Forest visto la sua comunque buona performance nel riconoscimento dei Si e
contemporanea elevatissima performance nel riconoscimento dei No che porta ad una
percentuale complessiva di osservazioni classificate erroneamente di molto inferiore a
quella della SVM.
200
È evidente come l’intensità del maggior costo derivante dalla frode assicurativa dipenda da
tutta una serie di fattori quali ad esempio il ramo assicurativo, l’area geografica ed il tipo di
portafoglio detenuto.
Tutto ciò non fa che ribadire l’impossibilità di poter individuare un modello ottimale a
priori senza un attento studio del caso concreto che si va a trattare.
Prima di concludere il discorso si vuole però fare un cenno al seguente ragionamento: nello
studio presentato in questo elaborato tutti i modelli si sono focalizzati sulla distinzione tra
la classe dei sinistri fraudolenti e leciti. L’attenzione si è quindi sempre concentrata sul
label che viene associato ad ogni osservazione di training e test. È però opportuno
osservare come a queste etichette sia associato un set di covariate che assumiamo in
grado di descrivere il fenomeno della frode assicurativa.
Un approccio alternativo si potrebbe basare quindi sul seguente quesito: è possibile
individuare un profilo nelle covariate che caratterizzi specificatamente il sinistro
fraudolento e quello lecito?
L’intuizione è che se focalizziamo l’attenzione sui soli sinistri fraudolenti è possibile
immaginare che esista un certo subset di feature particolarmente importanti nel
descrivere questo tipo di sinistro. D’altro canto vi sarà un equivalente subset di covariate in
grado di caratterizzare al meglio il profilo di un sinistro lecito.
Per rappresentare questi livelli di importanza delle covariate nel descrivere i due tipi di
sinistri possiamo immaginare di associare un vettore di pesi (la cui somma deve
necessariamente dare 1) a quello delle variabili esplicative.
Formalmente: dato un insieme di
osservazioni definito come
×(
)
= …
,
,
…
…
,
,
ove è il label assegnato alla osservazione - esima e
covariate associate a quella osservazione.
Possiamo quindi scomporre
dimensionale delle
in due data frame
×(
(
il vettore
) ×(
)
)
1
= …
1
0
…
=
0
,
,
…
…
,
(
,
,
,
…
…
) ,
(
) ,
201
che vanno a rappresentare rispettivamente le sole osservazioni fraudolente e lecite.
Studiando separatamente i due data frame si cerca di individuare una sorta di gerarchia nel
set delle feature che vada a rappresentare il grado di importanza con cui ogni variabile
esplicativa va a caratterizzare il profilo di quel particolare tipo di sinistro.
Andremo quindi a rappresentare questa scala gerarchica con un vettore
formalmente indichiamo come:
=
=
…
=
…
× 1 di pesi che
=1
Definiti questi due vettori l’idea è quella di prendere tutte le osservazioni di
addestramento delle due classi e “reinterpretarle” sulla base della rispettiva gerarchia di
importanza delle feature.
Avremo quindi due nuovi data base chiamati
e
in cui vengono
sostanzialmente accentuati i “tratti somatici” del sinistro fraudolento e lecito.
Schematicamente:
⎯⎯
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
⎯⎯
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
A questo punto si vanno a studiare separatamente i due nuovi data e tramite tecniche
quali l’analisi dei cluster si definisce una sorta di profilo tipico del sinistro fraudolento e
lecito che rappresentiamo come due punti
ed
nello spazio
di input.
La classificazione di una nuova osservazione avverrà quindi secondo la seguente logica:
preso il nuovo record di test lo si “reinterpreta” utilizzando entrambi i set di pesi
e
. A questo punto si calcola la distanza intercorrente tra il nuovo record reinterpretato
ed il profilo tipico di quella categoria di sinistro.
Formalmente indicando con
il generico record di test e rispettivamente con
e
la stessa osservazione reinterpretata con i due vettori di pesi si vanno a calcolare le
seguenti distanza
=
=
−
−
202
sarà quindi classificato
lecito.
se e solo se
<
altrimenti sarà riconosciuto come
Data questa logica di classificazione la definizione dei due set di pesi potrebbe essere
praticamente impostata come un problema di ottimizzazione vincolata (i singoli vettori di
pesi devono comunque dare somma 1) in cui si vuole massimizzare il grado di separazione
tra i due gruppi ossia la distanza tra i punti
e
nello spazio di input.
Riassumendo potremmo dire che se i modelli studiati in questo elaborato (SVM, Rete
Neurale, Random Forest) si focalizzano principalmente sull’etichetta associata alle diverse
osservazioni questo approccio concentra maggiormente l’attenzione sullo studio delle
cause che hanno portato alla generazione di quelle osservazioni nel data base di
addestramento andando a definire quel profilo nelle variabili esplicative che più
rappresenta la particolare classe oggetto di studio. In pratica si va a studiare
maggiormente il processo che genera la frode piuttosto che focalizzarsi sulle etichette del
training set che sono interpretabili come il risultato di tale processo.
Inoltre questo approccio potrebbe superare il problema dell’asimmetria nella distribuzione
tra gruppi dato che si basa su due studi separati. Al più lo scarso numero di osservazioni
nella classe di minoranza può portare a delle stime poco robuste del relativo vettore dei
pesi anche se il modello potrebbe basarsi unicamente sul profilo della classe di
maggioranza e stimare una distanza massima oltre la quale una nuova osservazione
reinterpretata secondo un certo set di pesi viene assegnata alla classe alternativa.
Ad oggi, per quanto noto all’autore di questo elaborato, non sembrano esistere modelli di
classificazione basati su questo approccio e potrebbe essere interessante cercare di
sviluppare una tecnica di addestramento basata su tale logica per vedere come questa
possa superare il problema dell’asimmetria nella distribuzione delle osservazioni e
confusione tra i gruppi.
203
Conclusione dell’elaborato
In questo elaborato si è cercato di dare una descrizione semplice ma esaustiva di uno dei
tre problemi fondamentali trattati dalla teoria dell’apprendimento statistico ossia il c.d.
pattern recognition nella specifica fattispecie del supervised learning.
Partendo dalla metafora dello studente è stata inizialmente presentata la differenza che
intercorre tra un modello che si limita a memorizzare una sequenza di input ed output ed
uno che effettivamente riesce ad apprendere il processo alla base del fenomeno che
genera le osservazioni di addestramento.
Si è quindi definito il concetto di apprendimento come la ricerca, a partire da un
determinato set di ipotesi, di una funzione discriminante ( , ) che sia in grado di
ottenere un errore di classificazione atteso generico (ossia non limitato ai soli valori
utilizzati nell’addestramento ma esteso a tutto lo spazio su cui si definisce il fenomeno)
sufficientemente basso in base ai nostri obiettivi conoscitivi.
Abbiamo poi visto come sia possibile definire una relazione in probabilità tra questo rischio
generico (non calcolabile per varie ragioni) ed una grandezza definita dalla somma tra il
rischio empirico e una misura di complessità del set di funzioni che utilizziamo per la
classificazione.
( )≤
( ) + Ω(ℎ, , )
La diseguaglianza è senza dubbio il concetto teorico fondamentale che sta alla base dello
sviluppo di tutto l’elaborato. Infatti la relazione di cui sopra ha permesso di intuire come
nelle concrete applicazioni di un qualsiasi modello di classificazione (in cui la dimensione
campionaria è necessariamente limitata) la miglior performance non si ottiene
minimizzando il solo rischio empirico ma la somma delle due componenti a destra della
diseguaglianza.
Quindi il grado di complessità di un modello di classificazione diventa un fattore
fondamentale nella valutazione della sua attesa performance out of sample.
Sulla base di questo risultato è stato quindi presentato il classificatore statistico che più si
basa su tale apparato teorico ossia le macchine a vettori di supporto sviluppate dai
matematici sovietici Vapnik – Červonenkis che furono non a caso padri anche della
diseguaglianza di cui sopra.
204
A seguire sono stati presentati altri due celebri modelli di classificazioni i quali (pur non
basandosi sulla teoria di Vapnik – Červonenkis) sono stati confrontati nella loro struttura
teorica sulla base della diseguaglianza fondamentale.
Per poter avere una miglior comprensione delle differenze tra i classificatori si è poi
proposta una sperimentazione su dati simulati in cui si andavano a confrontare le
performance out of sample dei diversi modelli all’aumentare di due fattori particolarmente
problematici nella teoria della pattern recognition: il grado di confusione tra le classi e
l’asimmetria nella distribuzione tra i gruppi.
Questa sperimentazione ha evidenziato come in assenza di un’attenta attività preliminare
di preparazione dei data base di addestramento e di parametrizzazione dei modelli le
performance ottenute fossero insoddisfacenti quale che fosse il classificatore utilizzato.
Nella quarta parte è stata quindi presentata una serie di tecniche volte all’ottimizzazione
del modello tramite la selezione del miglior set di parametri e feature da considerare nella
fase di addestramento.
Infine nella quinta parte stata proposta una applicazione di tutta la teoria presentata ad un
caso concreto di pattern recognition riguardante il settore assicurativo. Da tale
applicazione è nuovamente emersa la centralità della attività di parametrizzazione e
preparazione del data base per poter ottenere delle performance out of sample
apprezzabili soprattutto in situazioni di forte squilibrio e confusione tra le classi.
Infine è stata evidenziato come sia sostanzialmente impossibile, dato un problema,
individuare a priori il miglior classificatore da utilizzare a causa di tutta una serie di fattori
esterni (quali ad esempio l’asimmetria nella gravità del commettere un particolare tipo di
errore di classificazione) che caratterizzano e differenziano ogni caso oggetto di studio.
Si conclude quindi l’elaborato evidenziando come la scelta del classificatore da utilizzare
non debba mai essere determinata da convinzioni a priori sulla capacità di un particolare
modello nel dare migliori performance ma bisogna invece basarsi su uno studio
approfondito del caso concreto che si sta analizzando per poi eseguire una serie di prove
esplorative volte a valutare quale macchina di classificazione possa essere la più adatta al
problema che si cerca di risolvere.
205
Appendice
Una proposta di modellizzazione economica del rischio frode per una
compagnia assicurativa
206
1.Premessa
In questa appendice verrà sviluppato un ragionamento che trova le sue radici nel modello
di microeconomia dell’informazione che studia la c.d. “assicurazione reciproca” ossia
quella situazione in cui due soggetti esposti a rischi speculari decidono di indennizzarsi
reciprocamente così da aumentare la loro utilità attesa rispetto al caso di autarchia.
Per semplicità rappresenteremo il contratto di assicurazione come una coppia di parametri
( , ℎ) che rappresentano rispettivamente la quota di danno risarcito ed il premio pagato.
Assumeremo inoltre che l’assicurato non abbia alcun potere contrattuale e che quindi
potrà solamente decidere di accettare o meno il contratto proposto dalla compagnia.
Partendo da questo si andrà a studiare la relazione tra assicurato e compagnia ipotizzando
uno scenario di frode in cui l’assicurato “simula” il sinistro al fine di ottenere il risarcimento
senza aver subito alcuna perdita. Andremo poi a studiare il caso in cui l’assicurato è
costretto a sottoscrivere il contratto anche se questo porti ad una diminuzione dell’utilità
attesa rispetto alla situazione di autarchia cercando di valutare come questo possa
modificare la propensione alla frode.
Infine verranno proposti alcuni ragionamenti su come sia possibile stimare la perdita
attesa per frode subita nonché quantificare una misura di esposizione al fraud risk ai fini
della normativa Solvency II
207
2.Introduzione
Supponiamo che l’individuo abbia una ricchezza di partenza aleatoria
può assumere valore
1.
2.
ove
=
=
−
che tra un periodo
con probabilità pari a
con probabilità pari a 1 −
> 0 è la perdita in caso di sinistro .
A questo individuo viene offerto un contratto definito dalla coppia
1. ℎ =
2.
=1
premio equo perché pari alla perdita attesa
copertura piena quindi il risarcimento in caso di sinistro sarà
=
Dalla microeconomia sappiamo che l’assicurato accetterà questo contratto perché gli
permette di ottenere con certezza la sua ricchezza attesa di partenza
=
−ℎ =
−
= ( )
ed assumendo che l’assicurato sia avverso al rischio avremo che la sua generica funzione di
utilità sarà di tipo concavo per la quale vale la diseguaglianza di Jensen
[ ( )] < [ ( )] = (
)
quindi l’individuo riesce ad aumentare la sua utilità attesa assicurandosi.
208
Si supponga che il danno da sinistro abbia un comportamento dicotomico del tipo (0, )
cioè che non si possano verificare danni di entità compresi tra 0 ed .
Posto quindi che l’individuo stipuli il contratto (dato che gli permette di aumentare la sua
utilità attesa rispetto al caso in cui non si assicura) quand’è che gli conviene tentare una
frode ai danni dell’assicuratore?
Per evitare confusione è bene evidenziare due punti:
1. La frode assicurativa è un fenomeno estremamente complesso che può avvenire in
diversi momenti del rapporto assicurativo e con diversa entità. Per semplicità in
questa sede con frode si intende il fatto che l’assicurato dichiari di aver subito il
sinistro per ottenere un risarcimento = (essendo la copertura piena) senza aver
subito alcuna perdita così da poter aumentare la sua ricchezza di
2. La frode è tentata solo nel caso di assenza del sinistro visto che la copertura piena e
la dicotomia del danno comportano l’inesistenza di ogni possibile guadagno illecito
in qualsiasi altro caso.
Sia dunque
la probabilità di riuscita della frode e sia la sanzione che l’assicurato
subirebbe se dovesse essere scoperto nel suo tentativo di frode (tipicamente > anche
se per ora non poniamo alcuna condizione). Lo schema dell’assicurato disposto a frodare
diventa quindi
=
=
=



−ℎ
−ℎ+
−ℎ−
con probabilità se non accade il sinistro
con probabilità (1 − ) se riesce nella frode
con probabilità (1 − )(1 − ) se non riesce nella frode
Per semplicità assumiamo che arrivati all’ultimo giorno di copertura assicurativa la
probabilità di accadimento del sinistro sia praticamente zero e che quindi l’assicurato
decida di inscenare il sinistro (ciò giustifica lo schema ex ante sopra indicato).
Quand’è che l’assicurato è disposto a tentare la frode? Quando l’utilità attesa di
maggiore dell’utilità certa di
ossia
(
)≤ [ (
scomponendo
otteniamo
(
)] = (1 − )[ (
(
) = (1 − ) (
(
)≤
(
)≤
[ (
−ℎ+
−ℎ+
) + (
)+
−ℎ+
− ℎ − )(1 − )] +
(
) e ricordando che
) + (
− ℎ − )(1 − )
)− (
− ℎ − )] + (
è
(
− ℎ)
=
−ℎ
−ℎ− )
e quindi
209
(
(
− ℎ) − ( − ℎ − )
≤
−ℎ+ )− ( −ℎ− )
Chiamando sinteticamente con
= (
− ℎ) − (
−ℎ− )
che rappresenta una sorta di effetto deterrente nel provare la frode (che dipende da ) e
che dovrebbe quindi invogliare l’assicurato a non tentare la frode tenendosi la ricchezza
certa.
E con
(
=
)− (
−ℎ+
−ℎ− )
il range di variazione del livello di utilità nel caso in cui è tentata la frode, questo può
essere facilmente scomposto come
=[ (
− ℎ) − (
−ℎ−
)] + [ (
−ℎ+
)− (
− ℎ)] =
+
ove
= (
)− (
−ℎ+
− ℎ)
rappresenta l’aumento di ricchezza che invoglia l’assicurato nel tentare la frode.
Il risultato precedente è quindi riscrivibile come
+
≤
alternativamente
(1 − ) ≤
[
à
]≤ [
à
]
Come ci aspettavamo l’assicurato ha convenienza a tentare la frode quando il maggior
ritorno atteso nel caso di successo è superiore al minor ritorno atteso in caso di fallimento.
Notiamo che se:
= 0 allora ≤ 0 che è impossibile essendo > 0 quindi l’assicurato non ha
convenienza a tentare la frode quale che sia il suo livello di avversione al rischio

= 1 allora 0 ≤ il che è sempre vero essendo > 0 quindi l’assicurato ha
convenienza a tentare la frode quale che sia il suo livello di avversione al rischio

210
Essendo ed strettamente maggiori di 0 (quale dei due sia più alto per ora non ci
interessa) si ha per definizione che ≤ essendo
contenuto in
e quindi vale il
seguente risultato
se
tende a 1 è razionale il comportamento di un assicurato che tenta la frode quale che
sia il suo grado di avversione al rischio e livello della sanzione
Il risultato è ovvio ma mostra un particolare interessante ossia che se → 1 l’assicurato
preferisce passare da una situazione di ricchezza certa ad una di ricchezza quasi (perché
è quasi 1) aleatoria quale che sia il suo grado di avversione.
Per una maggior precisione possiamo riformulare la frase come:
Dati
assicurati avversi al rischio il numero
→
assicurati che provano la frode è tale per cui
=
211
3.Quanto deve essere grande
Nell’introduzione abbiamo visto che dati
assicurati vale che
=
→
è opportuno chiedersi quale sia però un livello di
l’assicuratore.
Con pericoloso intendiamo quel
∗
da considerare “pericoloso” per
tale per cui
≥
ove
è un valore stabilito dall’assicuratore.
In sostanza vogliamo capire quel livello di per cui una quota di assicurati superiore a
trovi convenienza a provare al frode (si ricordi che ogni assicurato ha una diversa funzione
di utilità ma per semplicità assumiamo che siano tutti avversi al rischio e quindi ordinabili
in base al loro grado di avversione).
Ne segue che il ragionamento sarà fatto per una singola funzione di utilità (ossia uno
specifico assicurato) posto che l’ ∗ che lo renderà indifferente tra il provare o meno la
frode comporterà un interesse a frodare per tutti gli individui che sono meno avversi al
rischio dell’assicurato di riferimento ed una rinuncia da parte di tutti gli assicurati più
avversi al rischio.
Fatta questa premessa iniziamo il ragionamento partendo dal caso più semplice ossia
quello di simmetria nell’intorno di − ℎ che è definito quando = .
1.
=
Indicando con e le variazioni di utilità e con ′ e ′ le variazioni nei livelli monetari
notiamo che a causa della concavità di si ha che:
212
=
quindi se
ℎé
=
>>
à
= otteniamo
(1 − ) =
1
≤
2
1
=
2
≤
che contraddice quanto appena detto quindi nel caso di assicurazione con copertura piena
ed
=
basta un
=
perché l’individuo avverso non abbia interesse nel provare la
frode.
Perché la frode diventi conveniente all’assicurato è necessario che
all’assicuratore non serve fare grandi investimenti nella prevenzione frode.
> 1/2 allora
Notare che nella realtà non è dicotomico ed < 1 quindi i risultati potrebbero variare
soprattutto quando ℎ ≫
che è il premio equo.
Ricordando poi che ℎ =
si nota come l’aumento di (a parità di ) faccia traslare verso
destra i tre punti di interesse di egual misura (perché la dispersione non dipende da ed
) ossia in un’area ove l’effetto di concavità è maggiore quindi basta un minor perché sia
conveniente la frode allora se ℎ >
questo effetto è ancora più elevato.
In sostanza deve essere sufficientemente alto affinché l’utilità attesa nel caso in cui si
tenti la frode sia almeno pari all’utilità certa che si otterrebbe dal contratto assicurativo.
Definito questo expected possiamo definire l’area alla sua destra come quella che definisce
la zona di convenienza alla frode.
213
2.
<
In tal caso
non varia ma
diminuisce ne segue che al
diminuire di
diminuisce
anche la
di equilibrio che
rende l’individuo indifferente
tra il provare o meno la frode.
Basti osservare il caso (volutamente estremizzato) in cui = 0, in questa situazione l’utilità
attesa nel provare la frode è sempre maggiore di quella certa ottenibile dall’assicurazione
quale che sia il valore di . Ne segue che anche con una
tendente a 0 l’assicurato
avrebbe convenienza nel provare la frode.
3.
>
Il commento è speculare a quello appena fatto nel caso in cui S < .
214
215
4.Trade off: spesa per prevenzione e perdita da frode
Come indicato nell’introduzione del capitolo precedente il risultato
→
=
ci da la chiave di lettura nello studiare quale
provare o meno la frode.
∗
renda indifferente l’assicurato tra il
Notiamo infatti che nel caso in cui tutti gli assicurati abbiano la stessa funzione di utilità
potremmo individuare un livello di ∗ che sia valido per l’intero portafoglio e quindi
basterebbe ottenere un effettivo
< ∗ (investendo in misure di prevenzione e
detenzione frode) perché l’assicuratore possa interamente eliminare il rischio frode da
quel portafoglio.
Assumere che tutte le ( ) siano uguali tra loro è però un’ipotesi troppo forte ed è più
ragionevole pensare che vi siano diverse funzioni di utilità, una per ogni assicurato.
Assumendo che tutti gli individui siano avversi al rischio si hanno funzioni di utilità
diverse tra loro ma tutte di tipo concavo. Possiamo quindi immaginare di ordinare gli
assicurati in base al loro grado di avversione al rischio (ossia la forza della concavità della
rispettiva funzione di utilità) su una retta.
Dato che le funzioni di utilità sono tutte diverse tra loro possiamo immaginare una
distribuzione dell’avversione al rischio definita tra gli assicurati del portafoglio.
216
Diventa quindi evidente il ragionamento prima indicato ossia
∗
:
≤
ove equivale ad un’area della distribuzione che individua nel percentile la funzione di
utilità di riferimento (indicata con ) da studiare per calcolare la ∗ obiettivo.
Evidentemente lo studio dello shape della distribuzione dell’avversione al rischio è di
fondamentale importanza per capire come
indichi un percentile vicino o meno
all’origine.
E’ bene osservare che valori più a destra della distribuzione fanno riferimento ad individui
estremamente avversi al rischio per i quali serve una → 1 (cioè deve essere quasi certa la
riuscita della frode) perché vi sia convenienza nel provare l’illecito. D’altro canto vicino allo
0 ho individui molto poco avversi ove anche una
molto contenuta li renderebbe
indifferenti tra il provare o meno la frode.
217
La ∗ è il punto di equilibrio per la funzione di utilità definito da un certo grado di
avversione. Con 1 − ∗ si indica invece la probabilità che l’assicuratore scopra la frode e
quindi possiamo vederlo come una sorta target della compagnia nella sua capacità di
individuazione dei sinistri fraudolenti.
Lo shape della distribuzione a parità di è fondamentale per definire la funzione di utilità
di riferimento e quindi l’ ∗ (cioè gli investimenti in misure di contrasto alla frode). A parità
di shape il livello di ritenuto accettabile ha una conseguenza sul 1 − ∗ tale per cui
all’aumentare di
diminuisce 1 − ∗ perché l’assicuratore accetta una maggior
percentuale di individui che provano la frode (individui a sinistra del percentile).
Quando L’assicuratore decide di investire in misure anti-frode dovrà comunque tener
conto di un trade off di questo tipo
Quindi il quanto il valore ottimale di ∗ da cui ricavare lo stesso ∗ dipende anche da
quanto l’azienda debba investire nei processi antifrode. Si osservi che la curva Perdita per
frode subita sta ad indicare i costi che l’azienda si attende di sostenere nonostante una
performance nell’individuare la frode di 1 − ∗ (si veda il capitolo 8 a riguardo).
218
E’ di tutta evidenza che quanto fatto fin’ora serve ad individuare quel ∗ tale per cui solo
una percentuale di assicurati proverà la frode. Questa ∗ definisce un 1 − ∗ che a sua
volta identifica una sorta di livello di evoluzione delle tecniche antifrode che l’assicuratore
deve detenere.
D’altro canto l’assicuratore ha già implementato nell’organizzazione aziendale dei sistemi
antifrode quindi vi è già un livello 1 − ̇ ossia una capacità dell’azienda ad individuare la
frode allora l’investimento della compagnia non è definito da 1 − ∗ quanto più dal
risultato di una gap analisi del tipo
1 − ̇ ⎯⎯⎯⎯⎯⎯⎯⎯ 1 −
∗
=
La curva del costo per investimento in antifrode coincide con la precedente quando ̇ = 1
l’aver minori costi dovrebbe garantire un punto di equilibrio più basso (minor costo) e più a
sinistra quindi è possibile avere un più contenuto (a parità di ∗ significa che le aziende
con un sistema più evoluto ha minori costi.
Come il lettore avrà intuito tutto il ragionamento fin’ora fatto ha un evidente punto critico
ossia
∗
quindi basta superare la soglia di
∗
̇ − ∗
perché si possa risolvere il problema della frode?
Ovviamente no ed infatti tutta l’analisi fin’ora fatta può essere pensata come un’analisi ad
un periodo e dato che l’aggiornamento delle tecniche antifrode è un investimento non
indifferente ha senso fare dei ragionamenti prospettici di medio lungo.
In questa analisi però sorgono due fattori di dinamismo che rendono particolarmente
complesso il problema:
1.Evoluzione del portafoglio
Se nel tempo la dimensione e composizione del portafoglio varia allora potrebbe anche
variare la distribuzione dell’avversione al rischio e quindi i livelli di ottimo definiti
precedentemente.
Una gestione prospettica del rischio frode deve quindi tener conto di come si evolve nel
tempo la distribuzione del grado di avversione al rischio del portafoglio. A tale proposito
due sono gli scenari che si possono verificare:
219
a. esiste una distribuzione asintotica:
se fosse possibile individuarla allora con riferimento a questa distribuzione si
definisce il percentile
da cui otteniamo ∗ quindi l’investimento che consente di
passare da 1 − a 1 − ∗ permette alla compagnia di gestire definitivamente il rischio
frode.
b. non esiste una distribuzione asintotica
è necessario studiare al distribuzione dell’avversione su un ∆ medio lungo e quindi
definire un livello 1 − ∆ da cui ricaviamo l’investimento in antifrode che la compagnia
deve porre in essere, è però necessario monitorare nel tempo il portafoglio per capire se vi
sono delle variazioni rispetto a quando si è fatta originariamente l’analisi
2.Evoluzione delle tecniche di frode
Anche se la distribuzione dell’avversione al rischio non cambia nel tempo va considerato il
fatto che la frode è notoriamente un fenomeno estremamente dinamico ove le tecniche
poste in essere diventano sempre più raffinate proprio a causa del miglioramento dei
sistemi di antifrode degli assicuratori.
Quindi la effettiva nella sostanza aumenta rispetto alla ∗ con cui la compagnia effettua
la gap analisi facendo di conseguenza aumentare la distanza rispetto al nuovo ∗ che
garantirebbe = / .
Si crea un circolo del tipo:
→
→
→
→
Dato che la situazione più verosimile è quella in cui non esiste una distribuzione asintotica
dell’avversione (sempre che sia possibile averne una stima significativa) e data la dinamica
evolutiva della appena presentata una gestione organica e strutturale del rischio frode
risulta essere un compito estremamente complesso che comporta per l’azienda costi di
due tipi:
1. strutturali di lungo: con riferimento alla distribuzione di lungo dell’avversione (che
voglio ottenere?)
2. di monitoraggio continui: come si evolve la distribuzione dell’avversione e le
tecniche di frode
220
Tipicamente il fenomeno della frode (proprio per le difficoltà di cui sopra) non è stato
gestito seriamente dalle compagnie visto sostanzialmente la possibilità di rigirare questo
costo sugli assicurati con un aumento dei premi.
E’ evidente che un aumento dei premi non fa altro che aumentare al propensione
dell’assicurato a tentare la frode scatenando quindi un ulteriore circolo vizioso. Questo è
particolarmente evidente in casi ove il premio raggiunge livelli particolarmente alti e
l’assicurato è obbligato a contrarre l’assicurazione per motivi legali (si veda il prossimo
capitolo).
Il contesto di mercato sempre più competitivo, i livelli insostenibili dei premi su certi rami
che fanno paventare un eventuale fallimento di mercato nonché l’imminente normativa di
Solvency II che renderà sempre più pressante il bisogno di sapere a quali rischio l’azienda è
effettivamente esposta rendono il “fraud risk” un tema estremamente delicato e attuale
sia nella letteratura statistico attuariale che in quella più legata al risk management.
221
5 Forzatura di una scelta razionale
Fin’ora ci siamo concentrati sul caso in cui l’assicuratore offre un contratto all’assicurato
(che può solo accettare o meno senza contrattare sul prezzo) ove = 1 e
= ℎ. Siamo
certi che l’assicurato accetterebbe questo contratto perché sarebbe quello di equilibrio nel
caso di mercato perfettamente concorrenziale (dove l’assicurato ha tutto il potere
contrattuale).
Il contratto così definito permette di ottenere con certezza la ricchezza attesa nel caso di
assenza della copertura assicurativa ed essendo l’individuo assunto avverso al rischio
questi preferirà questa situazione rispetto all’avere una ricchezza aleatoria.
E’ però evidente che esiste un intero range di contratti con ℎ >
che sono comunque
preferiti dall’assicurato rispetto alla situazione senza copertura perché gli garantiscono una
ricchezza certa superiore alla ricchezza attesa di partenza.
Definiamo quindi con
l’equivalente certo ossia quella somma che data con certezza
rende l’assicurato indifferente tra ricevere
o tenere la sua ricchezza aleatoria di
partenza . Quindi tutti i contratti che presentano un = 1 ed un premio tale da
comportare una ricchezza certa
compresa tra:
1.
2.
e ( ) convengono all’assicurato rispetto al non assicurarsi
− ed
non convengono all’assicurato che preferisce non assicurarsi
Notare che sotto
− non ci interessa perché comunque il premio ℎ non può essere
maggiore o uguale al danno provocato dal sinistro. In sostanza l’ℎ è talmente alto da
consumare tutta l’utilità che un individuo avverso al rischio ottiene riducendo la propria
alea.
222
Sia ℎ∗ il premio tale per cui
(
− ℎ∗ ) = [ ( )]
e definiamo con ℎ un generico premio compreso tra ℎ∗ ed .
Supponiamo che l’assicuratore offra un contratto con { = 1; ℎ } e che l’assicurato sia
costretto a stipulare l’accordo anche se questo gli provoca una disutilità, come cambia la
sua propensione alla frode?
Va notato che all’individuo conviene essere assicurato nel caso di effettivo accadimento
del sinistro perché per quanto ℎ sia elevato comunque ragionevolmente varrà che
ℎ ≪
ma d’altro canto nel caso in cui il sinistro non accade l’assicurato percepisce una disutilità
data dal fatto di essere assicurato e quindi ha una utilità inferiore a quella nel caso senza
assicurazione.
Possiamo rappresentare questa disutilità percepita come un fattore e quindi definire la
ricchezza dell’individuo post assicurazione come una variabili bernoulliana
che assume
valori
1.
2.
−ℎ
−ℎ −
con probabilità
con probabilità 1 −
Definiamo inoltre la variabile
che va a rappresentare la ricchezza aleatoria
dell’assicurato nel caso in cui questi tenti la frode, tal variabile assume valori
1.
2.
3.
−ℎ
−ℎ +
−ℎ −
con probabilità
con probabilità (1 − )
con probabilità (1 − )(1 − )
Analogamente a quanto visto precedentemente l’assicurato avrà convenienza nel provare
la frode quando l’utilità attesa di
supera quella di
.
E’ però opportuno notare che rispetto al caso in cui ℎ =
si ha una importante modifica
ossia che la ricchezza attesa
è confrontata con un'altra grandezza aleatoria
mentre nel caso di contratto a premio equo la
era in realtà una grandezza certa.
Essendo = 1 la ricchezza monetaria dell’assicurato è certa e pari a
− ℎ , quello che
varia è la ricchezza percepita dal soggetto che sarà “contento” di aver stipulato la polizza
solo nel caso in cui avviene il sinistro. Quest’ultimo punto evidenzia come il combattere la
223
frode passi anche attraverso una educazione finanziaria sul ruolo dell’assicurazione che
potrebbe far diminuire l’entità del sovra indicato.
Tornando ai nostri ragionamenti analogamente a quanto visto precedentemente la
situazione in cui l’assicurato è indifferente tra il provare o meno la frode deve garantire la
seguente uguaglianza
(
− ℎ ) + ( − ℎ − )(1 − )
= ( − ℎ ) + (1 − )[ (
−ℎ + ) + (
− ℎ − )(1 − )]
e con passaggi analoghi a quelli già fatti otteniamo
(
(
−ℎ − )− (
−ℎ + )− (
−ℎ − )
=
−ℎ − )
che per semplicità possiamo riscrivere come
+
=
(1 − ) =
con
= (
−ℎ − )− (
−ℎ − )
= (
−ℎ + )− (
−ℎ − )
∈ [0, ]
Notiamo che all’aumentare di (ossia della disutilità percepita dall’assicurato per il fatto
di essere costretto ad assicurarsi a condizioni da lui ritenute svantaggiose) diminuisce il
numeratore del rapporto di cui sopra e quindi diminuisce anche la ∗ che rende
l’assicurato indifferente tra il provare o meno la frode.
Si osservi che la funzione di utilità ( ) di riferimento non è stata modificata e che questo
effetto è interamente dovuto a ossia al premio ℎ . Come ci aspettavamo la presenza di
un contratto di assicurazione con prezzi troppo elevati ed “obbligo a contrarre” da parte
dell’assicurato comporta un aumento della propensione alla frode.
224
6 Il paradosso del bravo conducente
Nel capitolo precedente abbiamo visto come la propensione a provare la frode da parte
dell’assicurato (a parità di ogni altra condizione) aumenti all’aumentare della disutilità
percepita
che deriva dall’essere obbligati a stipulare un contratto che comporta una
minor utilità rispetto alla situazione originale.
E’ però opportuno dare una definizione più precisa di questa grandezza
fattori lo influenzano. Si ricordi che il premio ℎ∗ garantiva l’eguaglianza
ℎ∗ : (
per capire quali
− ℎ∗ ) = [ ( )]
quindi
− ℎ∗ è l’equivalente certo di ossia la ricchezza che data con certezza rende
l’individuo indifferente tra l’assicurarsi o meno.
Anche nel contratto in cui premio è pari a ℎ la ricchezza dell’assicurato è certa e pari a
− ℎ essendo = 1 ma per costruzione dovrà valere che
(
− ℎ∗ ) < (
− ℎ∗ <
− ℎ∗ )
− ℎ∗
ℎ > ℎ∗
possiamo quindi definire
come
= ℎ − ℎ∗
Osserviamo come
diminuisca all’aumentare di ℎ∗ e che quest’ultimo possa essere
definito agevolmente isolandolo dalla prima equazione
ℎ∗ =
con
−
[
]
= [ ( )]
Assumendo infine che ed rimangano fissi (come abbiamo sempre fatto) osserviamo in
ultima analisi che ℎ∗ aumenta quando
diminuisce ossia quando aumenta. Non solo,
essendo ( ) assunta come funzione concava la sua inversa sarà una funzione convessa e
quindi l’aumento di ℎ∗ sarà più che proporzionale alla diminuzione di
.
Si è quindi ottenuto che
e ricordando che
225
(
(
−ℎ − )− (
−ℎ + )− (
−ℎ − )
=
−ℎ − )
abbiamo sostanzialmente ottenuto che
∗
Tradotto in termini più discorsivi significa che un assicurato “buono” ossia con una minor
probabilità di accadimento del sinistro ha una maggior propensione a frodare rispetto ad
un individuo “cattivo” ossia con una maggior probabilità di subire il sinistro.
Il buon conducente è quindi più rischioso dal punto di vista del fraud risk rispetto ad un
individuo meno attento alla guida.
Come si spiega tale situazione? Abbiamo visto che all’assicurato conviene assicurarsi solo
nel caso in cui si verifica il sinistro essendo ℎ ≪ quindi un individuo con un molto alto
tenderà comunque a favorire l’essere assicurato rispetto al non esserlo perché sa di avere
un’elevata probabilità di subire effettivamente .
Un individuo “buono” invece sa di avere una molto contenuta e quindi percepisce una
maggior disutilità nell’essere costretto ad assicurarsi a quelle condizioni rispetto
all’individuo “cattivo”. L’individuo “buono” si sente quindi più vessato da questa
coercizione e tenterà più facilmente di recuperare la sua perdita a scapito
dell’assicuratore.
Questo risultato non è nulla di straordinario nella teoria economica dell’informazione (non
è nient’altro che una rivisitazione in ambito frode di un concetto ben noto) ma permette di
legare maggiormente il rischio frode con un ambito più tipicamente attuariale che è quello
della personalizzazione del premio assicurativo.
Infatti se l’azienda fosse in grado di distinguere un assicurato in base al suo livello di rischio
allora verosimilmente cercherà di modulare il premio ℎ in modo tale che
1. Il soggetto buono paghi un premio ℎ < ℎ così da diminuirne
2. Il soggetto cattivo paghi un premio ℎ > ℎ sfruttando il fatto che questi comunque
preferisca essere assicurato (fino ad una certa soglia) avendo un elevato
Va inoltre notato che l’assicurato “buono” sarebbe anche disposto ad accettare un < 1
ossia tenersi parte del rischio (e quindi diminuire il premio) a differenza dell’individuo
“cattivo” per il quale il costo dell’accollarsi parte del rischio è maggiore avendo una più
elevata probabilità di subire il sinistro (notare che le funzioni di utilità dei due soggetti
sono comunque assunte uguali).
226
Questa personalizzazione del premio in ottica di fraud risk potrebbe permettere alla
compagnia una riduzione delle perdite da comportamenti fraudolenti che potrebbe
portare ad una ulteriore riduzione del premio e quindi innescare un circolo virtuoso del
tipo
→
→
→
fino a convergere a valori di premio più sostenibili.
E’ comunque opportuno evidenziare che il combattere la frode non può passare
unicamente per la personalizzazione del premio perché la definizione di classi troppo
specifiche può portare ad un eccessiva diminuzione della numerosità campionaria
disponibile in ogni classe erodendo quindi la significatività dei modelli stimati.
Questo paradosso ben rappresenta un fenomeno già evidenziato nei diversi case study
pubblicati sull’argomento ossia il fatto che la maggior parte delle frodi assicurative non
sono perpetuate da organizzazioni criminali “professionali” ma da persone comuni che
trovandosi nella condizione di poter ottenere un ricavo rispetto al danno del sinistro
tentano la froda.
L’occasionalità di tale fenomeno e l’assenza di un modus operandi rende ancora più
complessa la trattazione del problema.
227
7.Oltre la funzione di utilità
Dei ragionamenti fin’ora fatti il problema fondamentale è la loro scarsa applicabilità in un
caso concreto data principalmente dalla difficoltà nello stimare la funzione di utilità di un
dato individuo. Infatti tutto questo impianto teorico si basa sul fatto di conoscere la
funzione di utilità di ogni assicurato in portafoglio, di riordinarle sulla base del grado di
convessità e quindi di individuare quella funzione di riferimento su cui calcolare .
A fronte della difficoltà nello stimare una qualsiasi funzione di utilità ci si chiede se è
possibile mantenere il ragionamento fin’ora fatto bypassando la stima di ( ).
Riprendendo l’ultimo risultato
(
(
−ℎ − )− (
−ℎ + )− (
−ℎ − )
=
−ℎ − )
ove ( ) è la funzione di utilità percentilica di riferimento.
Possiamo osservare come la di equilibrio sia interamente definita da quelle che sono le
variazioni di quota della funzione di utilità ( ) e queste, fissati i valori monetari di
interesse, dipendono dallo shape della funzione
( ) ossia dal grado di
convessità/avversione.
Ne segue che la definizione della
di equilibrio dell’equazione di cui sopra non fa
riferimento ad una ( ) particolare quanto più ad un livello di avversione al rischio
percentilico data la distribuzione dell’avversione degli individui in portafoglio.
La distribuzione di cui sopra fa riferimento al grado di avversione degli assicurati in
portafoglio e non direttamente alla loro funzione di utilità.
228
Se quindi fosse possibile definire una funzione ( ) tale per cui
( )− ( )= (
, − ) ∀ ,
()
allora saremmo in grado di applicare il modello qui proposto perché non avremmo bisogno
di stimare la funzione di utilità di ogni individuo.
L’effettiva possibilità di calcolare ∗ è comunque condizionata alla possibilità di stimare la
distribuzione dell’avversione al rischio del portafoglio che potrà essere in qualche modo
definita come uno score funzione di un set di variabili osservate sull’assicurato (età,
genere, reddito ecc) ad esempio con l’utilizzo di un modello GLM binomiale.
L’avversione al rischio di un individuo -esimo sarà quindi definita come una generica
equazione
=
= 1, … ,
ove i coefficienti
mi dicono come e con che misura la generica variabile
determinare l’avversione al rischio di un individuo.
impatti nel
Un’ultima nota sulla stima dell’avversione al rischio è il seguente ragionamento: il livello di
rischiosità di un individuo è in qualche modo legato almeno in parte con la sua avversione
al rischio.
Non è assurdo pensare che più un individuo è avverso al rischio e più il suo
comportamento tenderà ad essere preventivo nei confronti dell’evento avverso e quindi
parte della sua rischiosità sarà più contenuta. Questo legame è solo parziale perché non si
può ignorare il fatto che il processo che genera il sinistro ha anche una componente
esogena all’assicurato il quale può mettere in atto tutte le misure preventive e comunque
subire il sinistro.
La tecnica attuariale ha storicamente una famiglia di metodologie atte ad individuare la
rischiosità del singolo individuo (o per meglio dire della classe di rischio omogenea)
seguendo il principio che il premio debba essere proporzionato al livello di rischio.
Ne segue che se fossimo in grado di assegnare ad ogni classe omogenea di rischio utilizzata
nel pricing un livello di avversione allora ordinando le diverse classi di pricing in base
all’avversione otterremmo la distribuzione dell’avversione di portafoglio e quindi saremmo
in grado di applicare il metodo.
229
8 Stima della perdita per frode subita e definizione del requisito di capitale
Fin’ora ci siamo focalizzati sulla percentuale
che indica la quota di assicurati che
nonostante una fraud detection performance della compagnia di 1 − ∗ hanno comunque
convenienza a tentare la frode perché gli garantisce una maggior utilità attesa.
Questa percentuale rappresenta la quota di contratti per i quali l’azienda accetta la
possibilità di subire una perdita per frode. E’ quindi evidente la necessità di associare a
questa quota una misura monetaria della perdita che l’azienda potrebbe sostenere così da
calcolare un requisito di capitale in grado di garantire la solvibilità della compagnia per
quanto riguarda il modulo fraud risk.
E’ bene evidenziare che qui si sta cercando di stimare il costo della frode che la compagnia
si attende di subire nonostante una performance nelle tecniche di antifrode pari a ∗ .
Questo non è l’intero costo della frode assicurativa perché vanno considerate anche tutte
le spese ed investimenti fatti dalla compagnia nell’adeguamento e miglioramento del suo
apparato anti frode.
Nei capitoli precedenti ci siamo chiesti, dato quindi un portafoglio di assicurati, quale
fosse il valore di equilibrio ∗ (che rappresenta probabilità di riuscire nella frode) tale per
cui solo una quota di assicurati pari a ∗ avesse convenienza a tentare la frode. Questa
quota rappresenta quel subset di assicurati la cui avversione al rischio è più bassa rispetto
a quella percentilica scelta dalla compagnia e che quindi hanno un’utilità attesa nel
provare la frode maggiore rispetto allo scenario in cui rinunciano al guadagno illecito.
Quindi il numero di assicurati per i quali esiste ancora un rischio frode è pari a
=
∗
230
a fronte di tale quota di assicurati vogliamo stimare un valore monetario che rappresenti il
costo complessivo atteso della frode subita dalla compagnia nell’anno di riferimento.
Si ricordi che nelle assunzioni di modello si era imposto che per tutti i contratti la
percentuale di copertura
fosse pari al 100% e che quindi il risarcimento in caso di
sinistro fosse esattamente pari alla perdita subita
=
per semplicità assumiamo che l’evento assicurato comporti necessariamente la distruzione
totale del bene coperto e che quindi la perdita in caso di sinistro sia una variabile
dicotomica che assuma valore 0 o .
E’ quindi di tutta evidenza che la perdita per sinistro equivale a sua volta al valore
assicurato nel contratto
=
=
questo ci da una prima misura monetaria della perdita che una singola frode (nei limiti
della definizione data nel modello) può causare all’azienda, dobbiamo ora cercare di
estendere il discorso a tutti gli assicurati esposti al rischio frode.
Posto che nella base campionaria disponibile sia noto per ogni individuo la stima del suo
grado di avversione (definito come uno score tra 0 e 1) evidentemente la compagnia sa
quali sono questi
assicurati esposti al rischio frode e disporrà di tutta l’informazione
relativa ai loro contratti sottoscritti.
Abbiamo quindi un data base con
valori assicurati sulla base dei quali cerchiamo di
fittare una adeguata distribuzione di probabilità che andrà a modellizzare il singolo costo
per frode.
Formalmente chiameremo con il costo del sinistro simulato dall’assicurato che tenta la
frode, per le assunzioni di cui sopra sappiamo che questo sarà pari al valore assicurato
relativo ai soli individui effettivamente esposti al rischio frode.
Possiamo quindi definire il costo aggregato della frode subita nell’anno come
=
ove
∗
~
(
∗
∗)
.
Nella sostanza ad ogni assicurato esposto al rischio frode si associa una dummy che
assume valore 0 o 1 in probabilità al fine di simulare la riuscita o meno della frode da parte
231
dell’assicurato. La probabilità di successo della Bernoulli è data dal valore di equilibrio
definito nei capitoli precedenti.
Possiamo osservare come (per ora) il costo aggregato della frode subita rispecchia in parte
quello che è il costo aggregato dei sinistri per una compagnia vita ove
1. Le somme assicurate sono note a priori (nel nostro caso il costo della frode del
contratto − esimo è pari al valore assicurato in base alle ipotesi fatte)
2. L’evento assicurato è di tipo dicotomico (nel nostro caso il costo del sinistro
simulato avviene solo nel caso in cui l’azienda non scopra la frode)
La definizione di cui sopra è però ancora incompleta perché non tiene conto del fatto che
se l’assicurato esposto al rischio frode effettivamente sperimenta il sinistro questi non ha
più motivo di tentare alcun comportamento illecito avendo già una copertura pari ad 1.
Possiamo quindi schematizzare il processo con cui un assicurato può generare il costo di un
sinistro alla compagnia come:
Assicurato
1. non esposto al rischio frode → accadimento del sinistro (CRM classico)
2. esposto al rischio frode
a. accade il sinistro (CRM classico)
b. non accade il sinistro → riesce nella frode
Formalmente indicheremo con ∗ un intero compreso tra 0 ed che va a rappresentare il
numero di assicurati esposti al rischio frode per i quali non si verifica il sinistro, quindi il
costo complessivo per la frode subita sarà pari a
∗
=
∗
gli altri − ∗ assicurati esposti al rischio frode ma per i quali si verifica il sinistro saranno
genereranno un costo modellizzabile con il CRM classico (posto che ne valgano le ipotesi
sottostanti).
232
Stimata la distribuzione di
(verosimilmente con un approccio simulato vista la
complessità del processo di cui sopra) è possibile stimare la perdita attesa per frode subita
nell’anno ed il requisito di capitale per il modulo frode (ad esempio un modello
.
coerentemente con la logica S ).
Possiamo quindi definire il costo complessivo dei sinistri di una data LOB e/o portafoglio in
logica CRM come
∗
=
+
∗
∗
+
ove le tre sommatorie rappresentano rispettivamente
1. il costo aggregato dei sinistri per tutti gli assicurati che non sono esposti al rischio
frode
2. il costo aggregato della frode subita relativamente agli assicurati esposti al fraud risk
per i quali non accade il sinistro
3. il costo aggregato dei sinistri per gli assicurati esposti al fraud risk per i quali accade
il sinistro e quindi perdono interesse nella frode
Ovviamente per una tale definizione devono valere tutte le ipotesi del CRM e si osservi che
se la distribuzione del valore assicurato tra tutti gli assicurati è la stessa e questi sono tra
loro indipendenti sarebbe possibile semplificare il modello accorpando la prima ed ultima
sommatoria.
Da questa scrittura di
capiamo inoltre come l’avere una performance
nell’individuazione della frode inferiore a quella di equilibrio definita da 1 − ∗ comporta
un aumento della
rispetto alle aspettative perché aumenterà
e la probabilità di
riuscire nella frode.
233
Bibliografia
“Statistical Learning Theory” di Vladimir N. Vapnik AT&T Research Laboratories
“The Nature of Statistical Learning Theory” di Vladimir N. Vapnik Springer Second Edition
“An Overview of Statistical Learning Theory” di Vladimir N Vapnik IEEE Transactions on
Neural Networks, vol. 10 NO 5 Settembre 1999
“Support Vector Machines for Pattern Classification” di Shigeo Abe APR Second Edition
“The Elements of Statistical Learning: Data Mining, Inference and Prediction” di Trevor
Hastie, Robert Tibshirani e Jerome Friedman Springer Second Edition
“An Introduction to Statistical Learning with Applications in R” di Gareth James, Daniela
Witten, Trevor Hastie e Robert Tibshirani Springer
“Support Vector Machine in R” di Alexandros Karatzoglou e David Meyer, Journal of
Statistical Software
“Support Vector Machines” di Marco Sciadrone, appunti delle lezioni dell’a.a. 2005-06
“Kernel Methods in Machine Learning” di Thomas Ofmann, Bernhard Scholkopf e
Alexander J. Smola, The Annals of Statistics 2008 Vol 36 No 3
“Kernel Methods for Pattern Analysis” di Nello Cristianini e John Shawe Taylor, Cambridge
2004
“Tecniche di DM: Alberi di decisione ed algoritmi di classificazione” di Vincenzo Antonio
Manganaro, Palermo
“An Introduction to Variable and Feature Selection” di Isabelle Guyon e André Elisseeff,
Journal of Machine Learning Research 2003
“Feature Selectiong per la Classificazione” di F. Rinaldi, Università La Sapienza Roma
“Kernel Principal Components Analysis” di Max Welling University of Toronto
“Kernel Principal Components Analysis” di Bernhard Sholkopf, Alexander Smola e Klaus
Robert Muller Bernil University
“Machine Learning and Statistical Techniques. An Application to Prediction of Insolvency in
Spanish Non-life Insurance Companies” di Zuleyka Diaz, Maria Jesus Segovia e Jose
Fernandez Universidad Complutense de Madrid
“Frodi nel settore assicurativo” di KPMG Advisory Settembre 2011
234
“Il quadro normativo nella prevenzione delle frodi e la prassi operativa delle imprese
assicurative” di Pietro Negri Seminario AIMAV, Ottobre 2014
“Relazione Antifrode 2013” ANIA
“Fraud Risk Management” KPMG Advisory 2006
“Fraud Detection Using Reputation Features, SVMs and Random Forests” di Dave DeBarr e
Harry Wechsler George Mason University
“The State of Insurance Fraud Technology” SAS Coalition Against Insurance Fraud
September 2014
“Support Vector Machine Ensemble with Bagging” di Hyun-Chul Kim, Shaoning Pang e
Hong-Mo Je, Pohang University Korea
“Asymmetric-margin support vector machines for lung tissue classification” di Adrien
Depeursinge, Gilles Cohenm, Antoine Greissbuhler e Henning Muller
“Complementi di Analisi Statistica Multivariata” di Benito V. Frosini EDUCatt Milano 2013
235