Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'Intelligenza Artificiale, Machine Learning e Deep Learning - Prof. Sorell, Schemi e mappe concettuali di Bioingegneria

Un'introduzione chiara e concisa all'intelligenza artificiale (ia), al machine learning e al deep learning. Esplora le definizioni fondamentali, le tecniche principali come support vector machine e random forest, e le sfide associate all'apprendimento supervisionato e non supervisionato. Approfondisce concetti come clustering (k-means, gaussian mixture models) e riduzione della dimensionalità (pca), offrendo una panoramica completa e utile per chi si avvicina a questi campi. Ideale per studenti universitari e appassionati che desiderano comprendere le basi e le applicazioni di queste tecnologie avanzate, fornendo una solida base per ulteriori studi e approfondimenti nel settore dell'ia e dell'apprendimento automatico. L'analisi della silhouette per la selezione del numero dei cluster e le spiegazioni sui mini-batch k-means aggiungono valore pratico e teorico al contenuto.

Tipologia: Schemi e mappe concettuali

2023/2024

In vendita dal 18/09/2025

salvatore-sava-1
salvatore-sava-1 🇮🇹

6 documenti

1 / 30

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INTRODUZIONE
1. Intelligenza artificiale ramo dell’informatica che si occupa della creazione
di sistemi e programmi in grado di simulare
capacità tipiche dell’intelligenza umana,
come apprendere, ragionare, risolvere
problemi, comprendere il linguaggio e
prendere decisioni.
2. Machine learning è un sottoinsieme
dell’intelligenza artificiale che permette ai
computer di apprendere dai dati e migliorare
le proprie prestazioni nel tempo senza
essere esplicitamente programmati.
3. Deep learning sottoinsieme del machine
learning che utilizza reti neurali artificiali
profonde (composte da molti strati) per
apprendere in modo più complesso e accurato dati a livelli sempre più astratti
Il deep learning può essere visto come l'arte di spiegare dati complessi, proprio
come si distendono lentamente due fogli di carta accartocciati, con una serie di
trasformazioni geometriche semplici e progressive. Ogni strato successivo di
una rete neurale profonda contribuisce a districare gradualmente le informazioni,
rendendo trattabile anche il processo di classificazione più complesso.
Apprendimento supervisionato categoria di apprendimento automatico
comprendente metodi dipendenti da dataset annotati per l’addestramento di algoritmi
di classificazione o regressione.
Tecniche trattate:
Support vector machine
Decision trees
Random forest
Neural networks
Sfide:
Dipendenza da una
ground trurh
generata manualmente
Tempi di addestramento elevati
Addestramento manuale difficoltoso o
inaccurato
La ground truth è il termine usato per indicare i
dati reali, accurati e verificati, usati come
riferimento per valutare o addestrare un modello di
intelligenza artificiale o machine learning.
Esempio: se stai addestrando un sistema a
riconoscere gatti nelle foto, la ground truth sono le
etichette corrette (es. “questo è un gatto”, “questo
non lo è”), fornite da umani o fonti affidabili.
Serve per confrontare ciò che il modello prevede
con ciò che è davvero7giusto.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Anteprima parziale del testo

Scarica Introduzione all'Intelligenza Artificiale, Machine Learning e Deep Learning - Prof. Sorell e più Schemi e mappe concettuali in PDF di Bioingegneria solo su Docsity!

INTRODUZIONE

  1. Intelligenza artificiale  ramo dell’informatica che si occupa della creazione di sistemi e programmi in grado di simulare capacità tipiche dell’intelligenza umana, come apprendere, ragionare, risolvere problemi, comprendere il linguaggio e prendere decisioni.
  2. Machine learning  è un sottoinsieme dell’intelligenza artificiale che permette ai computer di apprendere dai dati e migliorare le proprie prestazioni nel tempo senza essere esplicitamente programmati.
  3. Deep learning  sottoinsieme del machine learning che utilizza reti neurali artificiali profonde (composte da molti strati) per apprendere in modo più complesso e accurato dati a livelli sempre più astratti Il deep learning può essere visto come l'arte di spiegare dati complessi , proprio come si distendono lentamente due fogli di carta accartocciati, con una serie di trasformazioni geometriche semplici e progressive. Ogni strato successivo di una rete neurale profonda contribuisce a districare gradualmente le informazioni, rendendo trattabile anche il processo di classificazione più complesso. Apprendimento supervisionato  categoria di apprendimento automatico comprendente metodi dipendenti da dataset annotati per l’addestramento di algoritmi di classificazione o regressione. Tecniche trattate:  Support vector machine  Decision trees  Random forest  Neural networks Sfide:

 Dipendenza da una ground trurh

generata manualmente  Tempi di addestramento elevati  Addestramento manuale difficoltoso o inaccurato La ground truth è il termine usato per indicare i dati reali, accurati e verificati, usati come riferimento per valutare o addestrare un modello di intelligenza artificiale o machine learning. Esempio: se stai addestrando un sistema a riconoscere gatti nelle foto, la ground truth sono le etichette corrette (es. “questo è un gatto”, “questo non lo è”), fornite da umani o fonti affidabili. Serve per confrontare ciò che il modello prevede con ciò che è davvero giusto.

 Performance deteriorate nel caso di una ground truth inaccurata o non abbastanza ‘ricca’ Deep learning Può essere considerato come un filtro multi stadio che distilla progressivamente l’informazione di interesse (Ogni strato della rete neurale prende l’informazione grezza, per esempio un’immagine, la trasforma e semplifica, estraendo via via caratteristiche sempre più rilevanti.) Apprendimento non supervisionato  categoria di apprendimento automatico comprendente tecniche in grado di apprendere schemi dai dati grezzi senza supervisione umana, sfruttando la distanza degli elementi di un dataset nello spazio delle caratteristiche. Ideale per l’analisi esplorativa di dataset:  Scoprire pattern non evidenti  Scoprire dati anomali (outlier)  Identificare specifiche caratteristiche utili per un task di classificazione Approcci principali:  Clustering  Riduzione della dimensionalità Sfide: ha il pregio di essere svincolato dalla disponibilità di una ground truth generata manualmente da operatori umani, tuttavia:  Intervento umano richiesto in fase di validazione/test (devono essere note le classi reali per poter quantificare le performance)  Sensibilità delle performance rispetto alla configurazione di parametri interni  Prestazioni deteriorate per dati ad alta dimensionalità  Bassa trasparenza dei meccanismi di funzionamento Clustering  tecnica di estrazione di informazioni (data mining) per raggruppare dati non etichettati in base al loro grado di somiglianza reciproca Tale somiglianza viene tipicamente quantificata come una distanza all’interno di uno speazio multidimensionale Tecniche non supervisionate trattate:  Standard (k-means)  Probabilistiche (Gaussian Mixture Models)  Gerarchiche

Se scegli un numero di cluster sbagliato, i risultati possono essere poco rappresentativi o fuorvianti.

  1. Forma dei cluster: K-means funziona bene solo se i cluster sono convessi e isotropi (cioè rotondi, non allungati). Se i dati hanno forme irregolari, le prestazioni peggiorano.
  2. Inerzia e alta dimensionalità: L’inerzia (cioè la somma delle distanze dei punti dal loro centroide) aumenta con più dimensioni. Questo fenomeno, detto curse of dimensionality, rende la metrica poco affidabile in spazi ad alta dimensione.
  3. Minimo locale: L’obiettivo dell’algoritmo è minimizzare l’inerzia, ma la funzione non è convessa. Questo significa che non garantisce di trovare la soluzione migliore (minimo globale), ma può fermarsi su una soluzione intermedia (minimo locale).
  4. Dipendenza dall’inizializzazione: I risultati dipendono da come vengono scelti inizialmente i centroidi. Inizializzazioni diverse possono portare a risultati diversi, a volte poco intuitivi o sbagliati. In breve: K-means è semplice ed efficace, ma sensibile alla scelta di k, alla forma dei dati e all’inizializzazione.

La maledizione della dimensionalità

È un problema che si presenta quando si lavora con dati che hanno molte variabili (dimensioni). Due effetti principali:

  1. Distanze poco significative: In spazi con tante dimensioni, tutti i punti sembrano più o meno alla stessa distanza tra loro. Questo rende difficile capire quali punti sono simili o diversi.
  2. Convergenza più lenta: Alcuni algoritmi che funzionano bene con pochi dati o dimensioni, diventano molto più lenti e imprecisi quando il numero di variabili cresce. In sintesi: più dimensioni hai, più diventa difficile analizzare bene i dati.

Analisi della ‘silhouette’ per la selezione del numero dei cluster

La silhouette s( i) (s:s∈[-1,+1]) misura quanto un elemento i sia simile al proprio

cluster (coesione) rispetto agli altri (separazione) Interpretazione:

  • si ≈ +1 il campione 𝑖 è lontano dai cluster vicini (𝑏 i ≫ 𝑎 i)
  • si ≈ 0 il campione 𝑖 è molto vicino al confine decisionale fra cluster adiacenti (𝑏 i

≈ 𝑎 i)

  • si < 0 il campione 𝑖 potrebbe essere stato assegnato al cluster errato (𝑎 i > 𝑏 i)

Segnali di un k subottimale

  • presenza di cluster con silhouette massima inferiore alla media complessiva
  • presenza di elementi con silhouette negativa
  • numerosità dei cluster sbilanciata Il cluster 2 in questo caso è formato da due sotto cluster ha una silhouette massima inferiore a quella media (linea rossa tratteggiata) e presenta anche degli elementi con silouhette negativa. Inoltre la difformità del cluster 2 dagli altri si osserva anche dalla maggiore ampiezza che questo ha. Non è una soluzione ottimale Imponendo delle maschere booleane per esempio a livello di programmazione si può ricavare questa soluzione ottimale. Qui si ha che i cluster hanno più o meno medesima numerosità e la silhouette max di tutti supera quella media sull’intero dataset. Praticamente è stato separato il cluster 2 in 0 e 2. Per scegliere il numero ottimale di cluster (K), si eseguono più iterazioni con inizializzazioni diverse per evitare minimi locali. Si valuta ogni risultato con metriche come inerzia (che misura la compattezza dei cluster) e silhouette (che misura la separazione tra cluster). Un buon K ha bassa inerzia e alta silhouette, ma non sempre garantisce il minimo globale.

Mini-batch K-means

Il termine mini-batch si riferisce al campionamento aleatorio di un sottoinsieme di database, eseguito a ogni iterazione di aggiornamento dei centroidi

  • Riduzione drastica del tempo computazionale richiesto per la convergenza su un minimo locale dell’inerzia (soprattutto su database grandi)
  • Centroidi aggiornati mediando tutti gli elementi assegnati a ciascun cluster, comprendendo le passate iterazioni (correzione rallentata)
  • Qualità sensibilmente ridotta rispetto al k-means standard Quindi è una variante del k-means che utilizza piccoli sottoinsiemi del databse per aggiornare i centri dei cluster, cosi viene ridotto il tempo di ogni iterazione aumentando l’efficienza computazionale, tuttavia perde precisione rispetto alla ground truth.
  • I pesi iniziali delle gaussiane, che rappresentano la proporzione di dati che si ritiene appartengano a ciascun componente Problema: dato un insieme di punti distribuiti nello spazio delle feature,si ipotizza che essi provengano da più distribuzioni Gaussiane sovrapposte Obiettivo: identificare le componenti Gaussiane che rappresentano in modo ottimale la distribuzione dei dati Fase 1: E-step per ogni punto del dataset, viene calcolata la probabilità che esso appartenga a ciscuna delle componenti Gaussiane, date le stime correnti dei parametri Fase 2: M-step in cui si aggiornano i parametri del modello (media, covarianza e peso) massimizzando la funzione di verosimiglianza (likehood); in altre parole le singole componenti Gaussiane sono aggiornate cosi da avvicinarle ai punti loro assegnati. L’algoritmo procede operando E e M fino alla convergenza possibile in due modi:
  1. Quando le variazioni dei parametri tra le iterazioni sono inferiori ad una soglia prestabilita
  2. Quando la funzione di verosimiglianza raggiunge un valore stabile Metodi di inizializzazione  k means: usa i centroidi trovati dal clustering K-means come stima iniziale delle medie delle componenti gaussiane.  k-means++: seleziona la prima media in modo aleatorio tra i dati, poi le successive in modo da massimizzare la distanza tra di esse (migliora la stabilità).  random_from_data: tutte le medie delle componenti vengono inizializzate casualmente scegliendo punti dal dataset.  random: le medie vengono inizializzate partendo dalla media globale del dataset, ma perturbata casualmente (aggiungendo rumore).

Criteri di valutazione delle performance

AIC (Akaike Information Criterion) e BIC (Bayesian Information Criterion) sono metriche usate per valutare modelli probabilistici come il GMM. Entrambi bilanciano:

  • Qualità dell’adattamento del modello ai dati
  • Semplicità del modello (meno cluster = meno parametri) Valori più bassi indicano un modello migliore. La differenza principale è che BIC penalizza maggiormente la complessità (cioè l’aggiunta di cluster), mentre AIC è più permissivo, quindi può preferire modelli leggermente più complessi.

Bayesiani variazionali

Identificazione del modello tramite inferenza Bayesiana, con un meccanismo di regolarizzazione delle stime dei parametri del GMM che tiene conto di informazioni a priori sulla distribuzione di probabilità dei pesi (w) delle diverse componenti Gaussiane

Distribuzioni di probabilità a priori

  • Distribuzione di Dirichlet  favorisce componenti pesate uniformemente e pertanto l’introduzione di componenti superflue rispetto agli effetti cluster presenti nel dataset
  • Processo di Dirichlet o HP: numero infinito di componenti Gaussiane o Consente di determinare automaticamente il numero più appropriato di componenti o Algoritmo di aggiornamento dei parametri Configurazione (tuning) Iper-parametro del GMM Bayesiano: concentrazione dei pesi
  • Bassa concentrazione  larga parte del peso viene concentrato su poche componenti con un contributo pressochè nullo delle restanti
  • Alta concentrazione  contributo significativo da parte di un numero elevate di componenti 3. CLUSTERING GERARCHICO Categoria di algoritmi non supervisionati che generano cluster di dati nidificati unendoli oppure suddividendoli in successione La gerarchia dei cluster viene rappresentata come un albero (dendrogramma) avente:
  • Come radice l’intero dataset di tutti i campioni disponibili
  • Le foglie corrispondono a cluster di un solo campione Non è necessario conoscere a priori l’effettivo numero di cluster

Sotto categorie

Clustering agglomerativo (approccio bottom-up) Ogni elemento del dataset viene inizialmente associato a un proprio cluster e le coppie di cluster più simili (cioè vicine) vengono fuse assieme in modo iterativo Clustering divisivo (approccio top-down) Tutti gli elementi sono inizialmente raggruppati in un unico cluster e vengono ricorsivamente suddivisi in più gruppi Passaggi principali:

  1. Calcolo della matrice delle distanze fra gli elementi del dataset
  2. Fusione/divisione dei cluster più vicini/lontani
  3. Aggiornamento della matrice delle distanze inter-cluster Ripetizioni dei passaggi 2 e 3 fino allo scenario limite o al soddisfacimento di un criterio di arresto

Criteri di collegamento

  1. Ward: minimizza la somma dei quadrati delle differenze interne ai cluster, usa distanza euclidea, robusto al rumore.
  • Integra una rappresentazione del rumore ed è robusto rispetto alla presenza di outlier Svantaggi
  • Le performance sono legate alla metrica adottata per valutare la distanza fra i dati. Per dataset ad alta dimensionalità, la più comune distanza Euclidea mostra

una scarsa variabilità ( curse of dimensionality), ed è complesso trovare un

valore di 𝜀 adeguato

  • Non è in grado di gestire cluster di densità significativamente diversa
  • La selezione di un raggio 𝜀 adeguato è intimamente legata alla scala del dataset
  • Il principale difetto quindi è che i cluster devono avere una densità paragonabile altrimenti non funziona bene Quindi DBSCAN rispetto al cluster riesce a gestire bene cluster disposti in maniera molto diversa o linearmente separabili. Regola pratica per cui il numero minimo di campioni deve essere il doppio rispetto al numero delle caratteristiche RIDUZIONE DELLA DIMENSIONALITÀ La riduzione della dimensionalità trasforma dati ad alta dimensionalità in uno spazio con meno variabili (feature), mantenendo il più possibile l’informazione originale. Questo si ottiene eliminando feature irrilevanti, ridondanti o rumorose, facilitando così problemi di regressione o classificazione. I vantaggi principali sono:
  • Riduzione dei tempi di addestramento e predizione
  • Minor spazio di archiviazione richiesto
  • Diminuzione del rischio di overfitting Questi benefici aiutano a contrastare la curse of dimensionality, cioè il problema per cui aumentando il numero di variabili i dati diventano sempre più sparsi nello spazio delle feature. Questo spargimento rende difficile per i modelli generalizzare bene, favorendo invece il sovra-adattamento ai dati di training, peggiorando le prestazioni su dati nuovi. Poiché servirebbe un numero esponenzialmente maggiore di dati per riempire spazi ad alta dimensionalità, la riduzione della dimensionalità diventa necessaria per mantenere efficacia e efficienza nell’apprendimento automatico. PCA (Principal Component Analysis) La PCA è una tecnica di riduzione della dimensionalità che trasforma le caratteristiche originali in un nuovo insieme di variabili, chiamate componenti principali, che catturano la massima varianza (informazione) del dataset.

Come funziona:

  • Individua le direzioni nello spazio delle feature dove i dati variano di più (componenti principali).
  • Proietta i dati originali in questo sottospazio a dimensionalità ridotta, ottenendo nuove feature derivate da quelle originali.
  • Non si tratta di selezionare alcune feature originali, ma di creare nuove feature combinando quelle esistenti. Vantaggi:
  • Riduce l’overfitting lavorando solo sulle informazioni più rilevanti.
  • Facilita il training di modelli più semplici e veloci. Limiti:
  • Le nuove componenti non sempre hanno un significato interpretabile, riducendo la trasparenza del modello.

Diagramma di flusso PCA:

  1. Centralizzazione dati: si sottrae la media di ogni feature dai dati originali.
  2. Calcolo matrice di covarianza: si ottiene la matrice che descrive la correlazione tra le feature.
  3. Decomposizione ai valori singolari (SVD): si calcolano autovettori (componenti principali) e autovalori dalla matrice di covarianza.
  4. Ordinamento: si ordinano gli autovettori in base ai rispettivi autovalori decrescenti.
  5. Selezione componenti principali: si scelgono le prime N componenti associate alla massima varianza.
  6. Proiezione dati: si proiettano i dati originali su questo sottospazio ridotto, ottenendo una rappresentazione con meno dimensioni. Applicazione PCA - Zebrafish:
  • Dal video si estrae una traccia temporale della frequenza cardiaca per analizzare il legame tra cuore e cervello.
  • L’obiettivo è valutare l’accoppiamento funzionale e la direzione di influenza (cuore → cervello o viceversa), andando oltre la semplice correlazione.
  • Si analizza anche la relazione respirazione-cuore, osservando che la respirazione modula la frequenza cardiaca:
    • inspirazione → aumento frequenza
    • espirazione → diminuzione (fenomeno detto gating respiratorio) Aspetti tecnici:

Nel Support Vector Machine, il parametro β rappresenta il reciproco del margine, quindi minimizzarlo equivale a massimizzare il margine tra le classi. C’è anche un secondo parametro importante: C, un iperparametro che controlla quanto penalizzare gli errori di classificazione nei dati di training:

  • C alto: margine più stretto → si penalizzano di più gli errori → maggiore accuratezza sul training, ma rischio overfitting.
  • C basso: margine più ampio → si tollerano più errori → confine più semplice e generalizzabile, ma minore accuratezza sul training. I dati classificati erroneamente (detti misclassificati, indicati con asterisco) si trovano dentro il margine o sul lato sbagliato del confine. Il valore di C bilancia quindi tra complessità del modello e tolleranza agli errori. SVM con Kernel Radiale (RBF):
  • Estende l’SVM lineare per gestire dati non linearmente separabili.
  • Trasforma i dati in uno spazio a dimensioni superiori dove un iperpiano lineare può separare le classi.

Kernel RBF:

  • Usa una funzione radiale basata sulla distanza tra punti (in particolare tra i vettori di supporto).
  • L’iperparametro γ (gamma) regola il raggio di influenza dei vettori di supporto:
    • Gamma alto: influenza molto locale, include solo dati molto vicini → rischio di overfitting (modello troppo complesso).
    • Gamma basso: influenza ampia, considera dati più lontani → rischio di underfitting (modello troppo semplice, simile a SVM lineare).
  • La funzione del kernel decresce più o meno rapidamente in base a gamma, pesando l’influenza dei punti in modo diverso. Vantaggi:
  1. Efficace in spazi ad alta dimensionalità: funziona bene anche quando il numero di caratteristiche supera il numero di campioni, evitando facilmente l’overfitting rispetto ad altri classificatori.
  2. Uso efficiente dei dati: la funzione decisionale si basa solo su un sottoinsieme ridotto di campioni, i vettori di supporto, rendendo il modello più leggero e veloce nelle predizioni.
  3. Elevata versatilità: grazie alla disponibilità di diversi kernel e all’ottimizzazione degli iperparametri (es. margine C e gamma γ nel kernel RBF), può adattarsi a molti tipi di problemi. Svantaggi:
  1. Tuning degli iperparametri cruciale: la scelta di C e gamma è fondamentale, soprattutto con pochi dati rispetto al numero di caratteristiche, per evitare overfitting o sottoaddestramento.
  2. Rischio di overfitting nel training: se non calibrate bene, le SVM possono adattarsi troppo ai dati di addestramento, compromettendo le prestazioni su dati nuovi (test set). Valutazione delle performance Matrice di confusione È una tabella che mette a confronto le classi reali con le classi predette dal modello:
    • TP (veri positivi): predetti correttamente come positivi
    • TN (veri negativi): predetti correttamente come negativi
    • FP (falsi positivi): negativi ma classificati come positivi
    • FN (falsi negativi): positivi ma classificati come negativi Accuracy (Accuratezza)  Percentuale di predizioni corrette:  Limite: poco affidabile con classi sbilanciate (es. malattie rare). Sensibilità (Recall / True Positive Rate - TPR)  Quanto bene riconosce i positivi:  Utile quando è importante trovare tutti i casi positivi, ad es. nel rilevare malattie. Specificità (True Negative Rate - TNR)  Quanto bene riconosce i negativi: FPR (False Positive Rate)  Quanti falsi allarmi vengono fatti: FNR (False Negative Rate)  Quanti positivi vengono persi: Metriche derivate (molto usate in pratica) Precision (Precisione o Fedeltà)  Quanto sono affidabili i positivi predetti:  Alta precision: pochi falsi positivi. Recall (Sensibilità, completezza)

K-Fold Cross Validation (es. con k=5)

  • Il dataset viene prima randomizzato per evitare partizioni fisse.
  • Viene suddiviso in 5 fold (cioè 5 parti): In ogni iterazione, 1 fold viene usato per la validazione, gli altri 4 per il training.
  • Si ripete il processo 5 volte, cambiando il fold usato per la validazione.
  • Si ottiene così una media delle performance su tutti i fold.

K-fold cross validation

Vantaggi:

  • Usa tutti i dati sia per il training che per il test, in momenti diversi.
  • Fornisce una valutazione più stabile e affidabile del modello. È molto usato per confrontare modelli e scegliere iperparametri.

Leave-One-Out Cross-Validation (LOOCV ) è un caso estremo di k-fold cross- validation in cui k = numero di campioni nel dataset. Come funziona:

  • Se hai n campioni, fai n iterazioni.
  • In ogni iterazione:
    • Alleni il modello su n−1 campioni.
    • Testi il modello su 1 solo campione lasciato fuori.
  • Alla fine, calcoli la media degli n risultati di test. Vantaggi:
  • Usa quasi tutti i dati per l’addestramento → bassa varianza.
  • Utile per dataset piccoli. Svantaggi:
  • Molto costoso computazionalmente (n modelli da allenare).
  • Può avere alta varianza nei risultati se i dati hanno outlier o molta variabilità. In sintesi: molto preciso ma pesante, usato quando si hanno pochi dati.

k-fold cross-validation: selezione del numero di fold

  • Obiettivo: stimare le performance del classificatore su dati nuovi, senza addestrare troppi modelli come avviene nella LOOCV.
  • Si usa la media dell’errore sulle K fold come stima dell’errore reale.
  • Scelta di K: si fa un’analisi di sensibilità, confrontando l’errore medio al variare di K con quello della LOOCV.
  • L’idea è di scegliere il K minimo per cui l’errore medio si avvicina a quello della LOOCV, ma con meno variabilità e costo computazionale minore.
  • Per K troppo basso si ha bias (sottostima dell’errore), per K troppo alto si ha alta varianza.
  • K = 5 o K = 10 sono solitamente buoni compromessi. Repeated k-fold cross-validation combina k-fold cross-validation con la ripetizione del processo
  • Nella pratica, la K-Fold CV si ripete più volte (n trial) con randomizzazioni diverse del dataset.
  • Questo serve a ridurre la variabilità dovuta a una singola suddivisione e ottenere una stima più robusta delle performance del classificatore.
  • A ogni prova: training e validation set sono diversi → si calcola la media delle performance finali.
  • Esistono varianti utili:
    • Stratified K-Fold: mantiene la stessa proporzione di classi in ogni fold.
    • Group K-Fold: evita che elementi correlati finiscano in fold diversi.
  • In Scikit-learn ci sono iteratori già pronti per automatizzare queste operazioni.

Conclusione: se le performance del modello reale superano nettamente quelle ottenute sui dati randomizzati, significa che le feature contengono informazioni rilevanti. Nested K-Fold Cross Validation Cos'è? Una tecnica che unisce due livelli di cross- validation:

  • CV interna → ottimizzazione dei iper- parametri e scelta del miglior modello.
  • CV esterna → stima finale delle performance generali del modello selezionato. Perché usarla?
  • Evita il data leakage (fuga di informazioni tra training e test).
  • Fornisce una valutazione più affidabile delle reali performance del modello.
  • Riduce il rischio di overfitting. Come funziona (esempio con K=5):
  1. Si divide il dataset in 5 fold (CV esterna).
  2. Per ciascun fold esterno:
    • Si prende il relativo training set.
    • Su questo, si fa una seconda CV (interna) per testare varie combinazioni di iper- parametri (es. C, γ in SVM).
    • Si sceglie la combinazione ottimale.
    • Si riaddestra il modello con quella combinazione sul training set esterno.
    • Si valuta sul fold esterno (mai visto prima).
  3. Si ripete per tutti i fold esterni → si ottiene la performance media finale. In sintesi: è la strategia più rigorosa e affidabile per:
  • Selezionare il miglior classificatore tra più modelli.
  • Ottimizzare iper-parametri.
  • Evitare overfitting. 2. ALBERI DECISIONALI Un albero decisionale è un modello costituito da biforcazioni (nodi) corrispondenti a decisioni binarie basate su particolari valori di soglia applicati a determinate feature.

Ogni arco (ramo) discendente corrisponde a due alternative possibili, fino al raggiungimento dei nodi terminali (foglie) che mostrano la classe prevista per un particolare gruppo di dati. Meccanismo di apprendimento dell’albero decisionale Obiettivo: Trovare, per ogni nodo, la combinazione feature + soglia che separa al meglio le classi nel dataset.

  1. Nodo iniziale (m): Si analizza il dataset in ingresso a quel nodo.
  2. Generazione delle partizioni: Per ogni feature e ogni possibile valore soglia, si divide il dataset in due gruppi (left/right).
  3. Valutazione dell’impurità: Si calcola una funzione di perdita (loss), detta impurità, che misura quanto bene sono separate le classi nelle due partizioni.
    • Obiettivo: minimizzare l’impurità → ottenere partizioni il più omogenee possibile.
  4. Scelta della suddivisione migliore: Si seleziona la combinazione feature-soglia che minimizza l’impurità totale (media pesata delle impurità di left e right).
  5. Ripetizione ricorsiva: Si ripete il processo su ogni sottoinsieme, nodo dopo nodo, fino a soddisfare una condizione di stop, come:
    • Numero minimo di campioni
    • Massima profondità raggiunta
    • Purezza totale raggiunta in una partizione In sintesi: L’albero impara dividendo ricorsivamente i dati per ridurre l’impurità e separare al meglio le classi. Vantaggi
    • Semplici da interpretare: il meccanismo degli alberi decisionali può essere visualizzato (white box)
    • Il costo computazionale in fase di predizione è logaritmico rispetto al numero di campioni
    • Non è richiesta una preparazione particolare del dataset in ingresso (normalizzazione, rimozione di dati incompleti) Svantaggi
    • Gli alberi decisionali possono essere instabili rispetto a piccole variazioni del training set
    • Il rischio di overfitting del training set è elevato: sono spesso necessari accorgimenti come la «potatura» (pruning) dei rami, l'imposizione di un numero minimo di campioni nei nodi terminali, e l’imposizione di una profondità massima