• Non ci sono risultati.

Tipologie di apprendimento non supervisionato

CAPITOLO II – FUNZIONAMENTO DELL’INTELLIGENZA ARTIFICIALE

2.2 Modalità di apprendimento non supervisionato

2.2.1 Tipologie di apprendimento non supervisionato

Alcune applicazioni di tecniche di apprendimento automatico senza supervisione includono:

- il clustering: tecnica che consente il raggruppamento automatico del set di dati in gruppi (detti cluster) in base alla somiglianza ovvero basandosi sulle informazioni che li descrivono e sulle relazioni esistenti tra di essi. I dati appartenenti allo stesso gruppo dovranno essere caratterizzati dalle medesime caratteristiche e/o proprietà, mentre quelli appartenenti a gruppi diversi avranno caratteristiche e/o proprietà diametralmente opposte113.

Sono tecniche semplici ed efficaci e ne esistono diverse tipologie:

- esclusivo: metodo che raggruppa i dati in modo tale che una singola informazione possa appartenere a un solo cluster o gruppo. Un esempio di algoritmo basato su tale tipologia di cluster è il K-means. Esso è un algoritmo, progettato nel 1967 da MacQueen, basato sul centroide o punto medio, il cui obiettivo è determinare gruppi di dati generati da distribuzioni gaussiane i cui attributi sono rappresentati come vettori. Esso si propone di minimizzare la varianza intra-cluster tenendo presente che ogni cluster viene identificato mediante un punto medio114. Esso segue una procedura iterativa che consente inizialmente di creare k partizioni e assegnando ad ognuna di esse i punti di

112 Mohammed M., Khan B. M., e Bashier M.B.E., (2017), Machine Learning. Algorithms and

Applications, CRC Press, Boca Raton

113 Seif G., (2019), Una facile introduzione all’apprendimento senza supervisione con 4 tecniche

di base, Towards Data Science, 19/08/2019.

114 Govoni L., (2019), Algoritmo k – means: cose ‘è e come funziona?, Business e Tecnologia,

46

ingresso casualmente o utilizzando informazioni euristiche, successivamente è necessario calcolare il centroide di ogni gruppo con la costituzione conseguente di una nuova partizione che associa ogni punto di ingresso al cluster il cui centroide è più vicino ad esso e infine, ricalcola i centroidi per i nuovi cluster affinché l’algoritmo non converga115. A titolo esemplificativo, la dinamica utilizzata dal clustering esclusivo, viene riportata di seguito:

FIGURA 11:RAPPRESENTAZIONE GRAFICA DEL FUNZIONAMENTO DELL’ALGORITMO K– MEANS.FONTE: STANDFORD.EDU.

È un algoritmo applicabile in molti scenari come ad esempio per la segmentazione della clientela, la classificazione di documenti, la rilevazione di frodi assicurative o l’identificazione della località dove avvengono, con maggiore frequenza, attività criminali116.

Oltre alla versatilità che lo contraddistingue, esso è efficiente nel gestire quantità molto rilevanti di dati, permette di variare la posizione iniziale dei centroidi per ridurre la dipendenza dalle condizioni iniziali e spesso si risolve con un ottimo

115 Govoni L., (2019), Algoritmo k – means: cose ‘è e come funziona?, Business e Tecnologia,

02/07/2018.

47

locale117. Presenta però anche dei limiti, infatti funziona solo su valori numerici, i cluster hanno una forma convessa quindi la sua applicazione per la ricerca di cluster di altra forma risulta difficile ed è necessaria, ex – ante, la fissazione di k cluster118.

- gerarchico: in questa tipologia, il clustering può essere agglomerativo se inizia con un numero fisso di cluster, ognuno dei quali rappresenta un singolo oggetto. Successivamente inizia il processo di agglomerazione, infatti ad ogni iterazione vengono accorpati i cluster più simili aumentando di volta in volta la soglia di similarità. L’iterazione termina quando tutti i dati sono presenti in un unico cluster119. Un esempio di algoritmo basato sul cluster agglomerativo è l’algoritmo AGNES che utilizza il metodo del single - linkage; in questo algoritmo la distanza tra i cluster corrisponde alla distanza minima fra due punti non appartenenti allo stesso cluster. A ogni iterazione i due cluster più vicini vengono fusi tra di loro120.

Una seconda variante di cluster gerarchico è quello divisivo che agisce in maniera inversa rispetto al precedente. Lo stato di partenza in questo caso è un unico cluster contenente tutte le unità statistiche e solo successivamente divide i cluster fino al raggiungimento di una determinata condizione. Un esempio di algoritmo basato su tale tipologia di cluster è l’algoritmo DIANA, introdotto da Kaufmann e Rousseeuw nel 1990.

Per entrambi le tipologie di cluster gerarchico, il risultato finale è un insieme di cluster contenenti uno o più oggetti e il quale, può essere rappresentato da un dendogramma, un diagramma ad albero, verticale o orizzontale che permette di rappresentare la successione delle partizioni. Le “radici” sono le unità iniziali e a

117Sia x ∈ F. Se esiste ε > 0 tale che f (x) ≤ f (y), per ogni y ∈ F con || x – y|| ≤ ε, allora x prende il

nome di ottimo locale. Naturalmente un ottimo globale è anche un ottimo locale, ma in generale non è vero il viceversa. L’equivalenza si ha solo F e f hanno proprietà di convessità.

L'ottimo globale si può rincorrere con tecniche standard come annealing simulato o algoritmi genetici. Fonte: Cotronei M., Introduzione alla Ricerca Operativa, Facoltà di Ingegneria dell’Università degli Studi “Mediterranea” di Reggio Calabria.

118 Govoni L., (2019), Algoritmo k – means: cose ‘è e come funziona?, Business e Tecnologia,

02/07/2018.

119 Di Pietro S., (2019), Introduzione alla cluster analysis, Italian Association for Machine

Learning, 05/02/2019.

48

livelli crescenti di distanza di uniscono o si separano i gruppi tra loro, rispettivamente per il cluster agglomerativo e per il cluster divisivo.

A titolo esemplificativo si riportano delle rappresentazioni grafiche:

FIGURA 12:RAPPRESENTAZIONE GRAFICA DEL CONFRONTO TRA IL CLUSTER GERARCHICO AGGLOMERATIVO E IL CLUSTER GERARCHICO DIVISIVO.FONTE:

HTTPS://WWW.RESEARCHGATE.NET/PUBLICATION/332291727.

Questa è una metodologia che permette di ottenere una gerarchia organizzata di gruppi anziché un insieme amorfo di cluster, è facile da utilizzare ma purtroppo non si basa su una teoria statistica o dell’informazione, l’algoritmo non può mai annullare ciò che è stato fatto in precedenza, nessuna funzione obiettivo è minimizzata direttamente e presenta una scarsa efficienza se la numerosità campionaria è elevata.

- basato sulla densità: gli algoritmi basati sulla densità sono caratterizzati dalla capacità di identificare cluster di forma arbitraria, definiti come regioni ad alta densità di punti distribuiti arbitrariamente e separati da regioni a bassa densità121. Questi sono in grado di gestire in maniera efficiente gli errori e gli eventuali punti anomali e non richiedono ex-ante la definizione di un numero di cluster. La criticità che presentano, è il fatto di dover determinare la soglia di densità122. Un algoritmo utilizzato in questa tipologia è l’algoritmo DBSCAN; esso divide il set di dati in n dimensioni, successivamente, per ogni punto nel set di dati, crea una forma n dimensionale e conta il numero di punti che rientrano in

121 Research Gate (2018), Data Clustering Spaziale basati su densità: indagine esplorativa delle

tecniche di Data Clustering spaziale e metriche di distanza, disponile a https://www.researchgate.net/publication/332291727.

49

quella forma, detta cluster. Poi espande quest’ultimo in modo iterativo esaminando ogni singolo punto al suo interno e tenendo conto degli altri punti nelle vicinanze123. Tale algoritmo svolge in maniera efficiente la separazione dei cluster ad alta densità rispetto a quelli a bassa densità all’interno di un determinato set di dati e gestisce in maniera eccellente i valori anomali, ma per contro non funziona bene con i cluster a densità variabile e con set di dati di dimensioni molto elevate124. A titolo di esempio, di seguito si riporta una rappresentazione grafica del funzionamento di tale algoritmo:

FIGURA 13:RAPPRESENTAZIONE GRAFICA DEL FUNZIONAMENTO DELL’ALGORITMO DBSCAN.

FONTE:LUTINS E.,(2017),DBSCAN:WHAT IS IT?WHEN TO USE IT?HOW TO USE IT.,

MEDIUM,06/09/2017.

- basato sulla distribuzione: questo approccio presuppone che i dati siano composti da distribuzioni, quindi ogni cluster è rappresentato da una distribuzione di probabilità diversa, ognuna delle quali descrive la distribuzione dei valori per i membri di quel cluster125. Ogni distribuzione fornisce la probabilità che un determinato elemento del dataset abbia certi valori, supponendo che sia noto a quale cluster appartiene. Un esempio di algoritmo utilizzato in questi casi è l’algoritmo EM (Expectation – Maximization) il quale si basa su distribuzioni

123 Lutins E., (2017), DBSCAN: What is it? When to use it? How to use it., Medium, 06/09/2017. 124 Ibidem.

125 Seif G., (2018), The 5 Clustering Algorithms Data Scientists Need to Know, Towards Data

50

gaussiane: i dati vengono utilizzati come modello per risolvere il problema, cioè stimare i vari parametri di ogni distribuzione126. Esso calcola la densità di probabilità di appartenenza ai cluster per ogni componente, a partire dai parametri e solo successivamente stima questi ultimi tenendo conto delle rispettive probabilità di appartenenza.

Nella figura che viene riportata di seguito, l’algoritmo raggruppa i dati in tre distribuzioni gaussiane. All’aumentare della distanza dal centro della distribuzione, diminuisce la probabilità che un punto appartenga ad essa. Nel momento in cui però non sono note le distribuzioni, è necessario utilizzare un algoritmo diverso127.

FIGURA 14:RAPPRESENTAZIONE GRAFICA DELL’ALGORITMO EM.FONTE:BROWNLEE J.,(2019),A GENTLE INTRODUCTION TO EXPECTATION-MAXIMIZATION (EMALGORITHM),MACHINE LEARNING

MASTERY,01/11/2019.

Esso rappresenta un algoritmo di raffinamento iterativo che viene utilizzato per il calcolo delle stime dei parametri, ma non viene garantita l’ottimalità del risultato.

126 Brownlee J., (2019), A Gentle Introduction to Expectation-Maximization (EM Algorithm),

Machine Learning Mastery, 01/11/2019.

51

Una seconda tecnica di apprendimento non supervisionato è una tecnica di mapping dei dati e quindi una delle operazioni di pre – elaborazione del dataset nell’apprendimento automatico non supervisionato ovvero:

- la riduzione della dimensionalità: quando il numero n di variabili osservate sulle unità statistiche è elevato, i dati sono dispersi nello spazio n – dimensionale. In circostanze di questo genere, gli eventuali algoritmi che verranno impiegati necessiteranno di più tempo e memoria; con tale tecnica quindi, si riduce la dimensione del dataset, senza perdere le informazioni rilevanti, si eliminano gli eventuali errori e si combinano le informazioni correlate128. Esistono diversi metodi di riduzione dimensionale:

- Analisi delle componenti principali (PCA): metodo introdotto da Karl Pearson e detta anche trasformazione discreta di Karhunen – Loeve, è utilizzata nell’ambito della statistica multivariata per la semplificazione dei dati d’origine. Avviene tramite la combinazione lineare delle variabili129.

Nel caso di una matrice di dati n x p si immaginano n punti in uno spazio p- dimensionale. Se p è elevato, l’obiettivo è quello di effettuare una riduzione delle dimensioni pur mantenendo, nel miglior modo possibile la struttura dei punti originari. Le nuove dimensioni sono individuate dalle componenti principali130.

Utilizzando tale tecnica quindi si avrà una riduzione del volume dei dati che si andranno ad analizzare, riducendo così la difficoltà computazionale dell’algoritmo di apprendimento, ma per contro, tale diminuzione dimensionale può deteriorare le informazioni predittive del medesimo algoritmo. Di seguito, a titolo di esempio, viene riportata una rappresentazione grafica del funzionamento e del risultato ottenuto grazie all’utilizzo di tale metodologia.

128 Raschka S., (2016), Machine Learning con Python. Costruire algoritmi per generare

conoscenza, Apogeo, Milano.

129 James G., Witten D., Hastie T., Tibshinari R., (2013), An Introduction to Statistical Learning

with Applications in R, Springer, Londra.

52

FIGURA 15:RAPPRESENTAZIONE GRAFICA DELLA TRASFORMAZIONE DEI DATI CON L’ALGORITMO PCA. FONTE:JAMES G.,WITTEN D.,HASTIE T.,TIBSHINARI R.,(2013),AN INTRODUCTION TO

STATISTICAL LEARNING WITH APPLICATIONS IN R,SPRINGER,LONDRA.

- Apprendimento tramite le regole di associazione ovvero una tecnica che permette di determinare relazioni e dipendenze all’interno del dataset131. L’obiettivo di tale metodologia non è quello di prevedere un determinato valore, ma fornire informazioni affini rilevanti per un importante sottoinsieme dei dati disponibili: sostanzialmente si basa sulle relazioni causa/effetto132. L’algoritmo più utilizzato per tale metodologia è l’algoritmo A – priori: ideato da R. Agrawal e R. Srikant nel 1994, esso identifica una caratteristica particolare di un set di dati e tenta di determinare la frequenza con cui tale caratteristica viene visualizzata in tutto il set ed è utilizzato principalmente per l’ordinamento di grandi quantità di dati133.

131 Raschka S., (2016), Machine Learning con Python. Costruire algoritmi per generare

conoscenza, Apogeo, Milano.

132 Ibidem.

53