Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
DA ESAME: DIFFERENZA TA CLASSIFICAZIONE E CLUSTERING 14
Classificazione 28.03.17
Misure di similarità:
Se le variabili non sono numeriche di solito sono stringhe composte da caratteri e/o numeri visti come
caratteri.
Sotto misure legate alla stringa:
La lunghezza della sottostringa più lunga più comune tra le due stringhe.
Numero di caratteri uguali nelle due sottostringhe, non devono essere necessariamente di stessa
lunghezza.
Normalmente il confronto si fa tenendo conto anche della posizione.
Dal punto di vista di un insieme:
Un insieme è un gruppo di elementi normalmente che non ha un ordinamento nella versioje più generale.
Possiamo immaginare ad esempio di avere 3 pazienti, il primo ha un sintomo S1, S4, S7, S10; il secondo S1,
S2, S4, S5; il terzo S1, S4, S7, S8. Posso prendere ad esempio il numero di elementi che compongono il
sottoinsieme intersezione tra i 3 insiemi sintomi: S1, S4.
Una soluzione degli algoritmi genetici può essere vista come stringa
La regola di decisione di un classificatore solitamente si basa sulla misura di similarità.
Metodi per costruire un classificatore:
Logica fuzzy: (LAB 3)
È stata creata una matematica fuzzy completamente alla matematica che siamo abituati ad usare. Il
concetto di logica fuzzy nasce perché alcuni ricercatori si sono resi conto della necessità di rappresentare in
modo esplicito l’incertezza, necessità di avere metodi formali per gestire problemi dove l’incertezza è così
significativa e importane da diventare poco efficiente nasconderla all’interno dell’algoritmo. L’incertezza c’è
sempre. Possiamo gestire l’incertezza con la logica fuzzy quando ne vogliamo capire l’incertezza. Questo
tipo di approccio ha il vantaggio di essere molto facile da applicare nel momento in cui voglio ragionare
direttamente con i concetti espressi in modo naturale (linguaggio naturale). La logica fuzzy parte dalla
filosofia. Viene messa in contrapposizione con la logica crisp, logica dello 0-1, vero-falso. Ci sono molte
situazioni in cui non abbiamo un confine così netto tra 01, vero e falso o tra due classi. Es: differenza tra la
collina e la montagna, non abbiamo una soglia di altezza oltre la quale classifichiamo la montagna. Ci sono
colline che sono più alte di altre zone che vengono chiamate montagne. Altro esempio: decidere se una
persona è alta oppure no; non abbiamo una soglia ben definita.
Il classificatore basato su logica fuzzy si basa su regole che mi premettono di dire perché ho ottenuto un
certo tipo di risultato. Le regole le posso ottenere dai dati, dalla conoscenza (libri o esperti) e possono
mettere insieme regole dalle di fonti. Partendo dai dati costruiamo le regole andando a sfruttare degli
strumenti.
Non è una logica fuzzy nel senso che è incerta, il formalismo è molto formale. La logica fuzzy permette di
descrivere l’incertezza, situazione in cui non abbiamo dei confini netti tra vero e falso. Diamo un grado di
verità e falsità. Nella logica fuzzy un elemento può appartenere a due classi con un grado di appartenenza
diverso.
L’incertezza può avere origini diverse, la più semplice è quella legata a misure, soglie. 15
Incertezza legata alla conoscenza perché non sempre la nostra conoscenza è coerente. C’è anche una
incertezza legata alle decisioni che non possono essere controllate.
(vedi slide)
Un insieme fuzzy è definito in contrapposizione alla logica crisp in cui un elemento ha grado di
appartenenza 0 o 1, nella logica fuzzy il grado di appartenenza è compreso tra 0 e 1. Posso avere grado di
appartenenza 1 per una classe con grado di appartenenza inferiore ad un'altra classe. L’appartenenza certa
a una classe non esclude l’appartenenza ad altre classi.
1=appartenenza certa
0= certezza di non appartenenza
Il grado di appartenenza di modellizza attraverso la membership function che ha valore compreso tra 0 e 1-
Il percorso di utilizzo del classificatore fuzzy parte da degli input crisps, ho un vettore di variabili che hanno
un certo valore attraverso cui ottengo i gradi di appartenenza alle varie membership function che
rappresentano quella variabile, questa è la fizzyficazione. Utilizzando le regole si va a creare una sintesi dei
risultati fuzzy, in molti casi questo risultato viene poi defazzificato e l’output finale è normalmente un
numero.
Costruzione di un classificatore fuzzy:
Il primo passo è la costruzione delle membership function, prendere le variabili e rappresentarle attraverso
le membership function. La definizione della membership function non è una cosa definita e inequivocabile,
dipende da chi la costruisce. Le membership function che rappresenta la stesa variabile si disegnano tutte
insieme su una unica scala. Le membership function si intersecano tra di loro. Classificazione 29.03.17
Esempio
Come costruire un insieme di membership function:
“Sapendo che la durata della somministrazione di una chemioterapia per via infusionale può variare da 1
ora a 5 ore, modellizzare tramite logica fuzzy la variabile “durata della chemioterapia“ ”.
Conosciamo solo il range. Ci sono durate medio-brevi e durate-medio lunghe (vedi appunti grafico)
Possiamo pensare a 3 function: breve, media, lunga. Possiamo fare un istogramma delle durate.
Come costruire una membership function: (
La membership function di un fuzzy set I fuzzy set are set i cui elementi hanno gradi di
appartenenza) è una generalizzazione della funzione indicatore nei set classici. Nella logica fuzzy,
rappresenta il grado di vero (di appartenenza) come una estensione della validazione. I gradi di
appartenenza sono spesso confusi con la probabilità, nonostante siano concettualmente differenti,
perché il vero fuzzy rappresenta l’appartenenza a un set definito, non come probabilità di un evento o
condizione. (preso da Wikipedia)
Nella maggior parte dei casi andiamo a costruire partendo dai dati. Si parte dal ragionare su cosa significa
assegnare un grado di appartenenza di un elemento.
Likelihood view: Es: altezza, classe: alti. La costruzione se uso la likelihood view parte da una popolazione di
persone e mi dice che vale 0.7 se 70 su 100 persone lo definiscono alto, lo assegnano alla classe degli alti. Si
16
devono avere tante persone che gli assegnano una certa classe, le tante persone possono essere sostituite
da un data set.
Random set view: chiedere a un certo insieme di persone degli intervalli.
Supponiamo di avere 10 esperti. Chiedo ad ognuno qual è l’altezza minima che deve avere una persona per
essere inserita nella classe degli alti. (vedi appunti quaderno)
Esempio chemio: di tutti i dati di durata prendo il massimo: B=max e A=min e costruisco la funzione
(quaderno). Per convenzione usiamo un decremento lineare ma può anche non esserlo. Per comprendere
l’andamento di decremento costruisco il bar diagram. Per capire in modo empirico quando abbiamo
raggiunto un’informazione consistente: partiamo da numeri ragionevolmente alti di pazienti (es 50-100
pazienti a seconda del tempo necessario per acquisire i dati).
Similarity view: usiamo prototipi e vediamo rispetto al prototipo quale è il grado di similarità.
La membership function dipende dal contesto e da chi la costruisce.
Totally ordered set: Non ho una variabile numerica. Posso dividere i valori che la variabile può assumere in
insiemi ordinati con gradi di appartenenza diversi.
Discerete fuzzy set: Prendo ciascun elemento e gli do un grado di appartenenza.
Non confondere il fuzzy con la probabilità! Non confondere la probabilità con un grado di appartenenza.
Quando associo un grado di appartenenza lo associo e poi lo rimuovo. La probabilità di un evento ha quella
probabilità solo fintanto quell’evento non si manifesta. (probabilità 0.2 che domani piova, domani non ho
più la probabilità, o è piovuto o non è piovuto)
La probabilità di solito assume l’indipendenza dagli eventi. La probabilità è stimata attraverso la frequenza
di accadimento degli eventi mentre il grado di appartenenza è una descrizione.
Regole fuzzy:
Uno dei modi di rappresentare una regola è usare il costrutto IF-THEN. Normalmente le condizioni sono più
di una e il risultato uno solo. Nel caso classico abbiamo due soglie di velocità per definire la condizione; i
valori in mezzo danno distanza media ed è un paradosso perché la distanza aumenta con l’aumentare della
velocità. Con la logica fuzzy definisco la classe fast e la class slow; do un grado di appartenenza che
sminuisce man mano, ho una rappresentazione più coerente con la realtà. Passo rappresentare con le
membership function sia gli IF sia i THEN. Possiamo anche avere una regola che ha anche una sola
condizione e più conseguenze.
Quando devo ragionare con le regole in modo fuzzy devo farlo in due momenti diversi. Le conseguenze le
valuto in due momenti. Valuto l’antecedente, se esso ha grado di appartenenza maggiore di 0 allora la
regola si attiva e devo riportare il grado di appartenenza dell’antecedente sul conseguente. Normalmente
se ho un certo grado di appartenenza come risultato di valutazione di precedenti questo grado di
appartenenza lo riporto sul conseguente.
Nel momento in cui creo un classificatore con un set di regole ho un certo numero di variabili e ogni
variabile mi dà un antecedente. Ci possono essere regole dove il valore di una o più variabili non ha
importanza e nelle regole inserisco solo le variabili il cui valore è rilevante; se manca una variabile nella
regola significa che il suo valore non è importante per quella regola.
Per implementare gli operatori dobbiamo partire dalla matematica fuzzy:
Nella matematica fuzzy esistono i fuzzy number e fuzzy interval. Il fuzzy number è rappresentato da una
membership function triangolare e l’interval da una trapezoidale. Entrambe sono caratterizzate da un core
17
che deve essere diverso da 0. Nel fuzzy number il core è un punto, un valore; nell’interval il core è un
intervallo di valori in cui il grado di appartenenza è 1. Il supporto è l’intervallo limitato i cui il grado di
appartenenza diverso da 0. Alpha-cut: intervallo con grado di appartenenza 1. Il core e supporto devono
essere collegati senza interruzione.
Teoria degli insiemi: (slide)
AND: implementato come intersezione (t-norm). Classificazione 04.04.17
Nella logica fuzzy non esiste una unica implementazione dell’operatore END, si devono solo rispettare i
vincoli. A seconda di come scelgo l’implementazione, a seconda della funzione utilizzata, il risultato può
cambiare anche in modo significativo.
Operatore OR
Unione di due insiemi. Si parla di grado d