# MANUALE CERTIFICAZIONE IT SPECIALIST IN AI
## Guida Rapida ai Concetti Principali

---

## SEZIONE 1: FONDAMENTI DI MACHINE LEARNING

### 1.1 Tipi di Machine Learning

#### **Apprendimento Supervisionato (Supervised Learning)**
L'algoritmo impara da dati etichettati (input e output noti).

**Quando usarlo:**
- Dati storici con etichette disponibili
- Obiettivo chiaro e predefinito
- Problemi di classificazione o regressione

**Esempi:**
- Predizione del numero di clienti giornalieri (con dati storici)
- Rilevamento di email spam (messaggi già classificati come spam/non spam)
- Previsione dei prezzi delle case

#### **Apprendimento Non Supervisionato (Unsupervised Learning)**
L'algoritmo scopre pattern nascosti in dati non etichettati.

**Quando usarlo:**
- Dati grezzi senza etichette
- Scoperta di pattern o raggruppamenti
- Segmentazione clienti

**Esempi:**
- Clustering (K-means): raggruppare clienti per strategie di marketing
- Organizzare prodotti in categorie automaticamente
- Rilevare anomalie non previste

#### **Apprendimento per Rinforzo (Reinforcement Learning)**
L'algoritmo impara attraverso ricompense/penalità basate su azioni.

**Quando usarlo:**
- Sistemi che interagiscono con l'ambiente
- Giochi e robotica
- Decisioni sequenziali

**Esempio:**
- IA che gioca a videogame imparando dalle ricompense

#### **Quando NON usare AI**
Se il problema può essere risolto con semplici regole decisionali (es. domande Sì/No fisse), **l'AI non è la soluzione più efficiente**.

---

### 1.2 Classificazione vs. Regressione

| Aspetto | Classificazione | Regressione |
|---------|----------------|------------|
| **Output** | Categoria discreta (es. Spam/Non Spam, Cane/Gatto) | Valore continuo (es. prezzo, temperatura) |
| **Esempi** | Email spam, riconoscimento immagini, approvazione prestiti | Previsione prezzi case, popolazione, vendite |
| **Metriche** | Accuracy, Precision, Recall, F1-Score | RMSE, MAE, R-squared |

---

## SEZIONE 2: PREPARAZIONE DATI

### 2.1 Dataset e Splitting

**Divisione ottimale del dataset:**
- **80% Training** - per addestrare il modello
- **20% Testing** - per valutare le performance su dati nuovi
- **Validation set** - opzionale, per tuning degli iperparametri

**Principio importante:** Il test set rimane costante e non viene mai usato durante l'addestramento.

### 2.2 Qualità dei Dati

#### **Dati Bilanciati vs. Sbilanciati**
- **Bilanciati**: categorie rappresentate equamente (es. 50% spam, 50% non spam)
- **Sbilanciati**: una categoria predomina (es. 95% transazioni legittime, 5% fraudolente)
- **Soluzione**: utilizzare metriche di valutazione appropriate (confusion matrix, non solo accuracy)

#### **Tipi di Bias nei Dati**

**Data Collection Bias**
- Dati raccolti in modo incompleto o discriminatorio
- Esempio: app con GPS solo su smartphone → dati da aree benestanti
- Soluzione: raccogliere dati da fonti diverse e rappresentative

**Reinforcement Bias**
- Il bias nei dati storici si perpetua nel modello
- Esempio: dati di assunzioni discriminatori → il modello discrimina
- Soluzione: pulire i dati storici o usare feature non discriminatorie

**Correlation with Protected Features**
- Altre feature correlate indirettamente con caratteristiche protette (es. reddito)
- Esempio: codice postale correlato con reddito, anche se non esplicito
- Soluzione: analizzare correlazioni nascoste

### 2.3 Feature Engineering

**Che cos'è:** Trasformare i dati grezzi in feature significative per il modello.

#### **Selezione delle Feature**
1. **Rimuovere feature ridondanti**: se età e anno_nascita sono entrambi presenti
2. **Rimuovere feature non correlate**: non hanno relazione con l'output (target)
3. **Parlare con esperti**: chiedere a chi approva manualmente (es. agenti di credito) quali fattori considerare

#### **Encoding Categorico**

**Label Encoding**
- Assegna numero a ogni categoria: [A=0, B=1, C=2]
- Problema: implica ordine (non adatto per categorie non ordinate)

**One-Hot Encoding**
- Crea colonna binaria per ogni categoria
- Esempio: Tipo Veicolo → [è_auto, è_camion, è_furgone]
- Migliore per reti neurali e alberi decisionali

**Dummy Encoding**
- Come one-hot ma omette una colonna (evita multicollinearità)
- Usa n-1 colonne per n categorie

#### **Normalizzazione e Standardizzazione**
- **Normalizzazione**: scala i dati tra 0 e 1
- **Standardizzazione**: media=0, deviazione standard=1
- Importante per: distanze euclidee, reti neurali, SVM

#### **Data Augmentation**
Aumentare la diversità del dataset, specialmente per immagini:
- Rotazione, scaling, cropping, flipping
- Riduce overfitting
- Essenziale per vision model con dataset piccolo

---

## SEZIONE 3: ALGORITMI CLASSICI

### 3.1 Decision Trees (Alberi Decisionali)

**Come funziona:**
1. Usa le feature per dividere il dataset iterativamente
2. Ogni divisione crea nodi basati su soglie di feature
3. Crea regole decisionali facili da interpretare

**Vantaggi:**
- **Altamente interpretabili/explainable** (mostrano il ragionamento)
- Gestiscono variabili categoriche e numeriche
- Richiedono poco preprocessing

**Svantaggi:**
- Propensi all'overfitting

**Prevenire Overfitting:**
- Specificare limite sulla profondità dell'albero
- Specificare numero minimo di campioni per foglia

**Usi:**
- Classificazione e regressione
- Guida per tecnici (es. radiologia veterinaria)

### 3.2 K-Means Clustering

**Come funziona:**
1. Definisci numero di cluster (K)
2. Assegna casualmente K centroidi
3. Itera finché centroidi non convergono

**Quando usare:**
- Segmentazione clienti
- Raggruppamento prodotti
- Scoperta di pattern non supervisionati

**Limitazione:**
- Deve specificare K in anticipo
- **Elbow Method**: traccia inerzia vs K, trova il "gomito"

### 3.3 Logistic Regression

- **Lineare vs. Logistica**: lineare predice valori continui, logistica predice probabilità (0-1) per classificazione binaria
- Usa funzione sigmoid per convertire output in probabilità
- Interpretabile: coefficienti mostrano importanza di feature

### 3.4 Support Vector Machine (SVM)

- Trova iper-piani ottimali che separano le classi
- Funziona bene in alta dimensione
- Kernel methods: può gestire relazioni non-lineari

### 3.5 Random Forest

- Ensemble di decision trees
- Riduce overfitting rispetto a singolo albero
- Fornisce feature importance

---

## SEZIONE 4: RETI NEURALI E DEEP LEARNING

### 4.1 Struttura Base di una Rete Neurale

**Componenti:**
1. **Input Layer**: riceve le feature
2. **Hidden Layers**: elaborazione (neuroni artificiali)
3. **Output Layer**: fornisce previsione
4. **Neuroni**: hanno pesi (w) e bias (b)

**Funzioni di Attivazione:**
- **ReLU** (Rectified Linear Unit): max(0, x) - più usata
- **Sigmoid**: converte in [0,1]
- **Tanh**: converte in [-1,1]

**Processo di Training:**
1. Forward pass: calcola output
2. Calcola errore (loss)
3. Backpropagation: aggiorna pesi per ridurre errore
4. Ripeti finché convergenza

### 4.2 Convolutional Neural Networks (CNN)

**Specializzate per immagini.**

**Componenti:**
- **Convoluzione**: applica filtri per estrarre feature locali
- **Pooling**: riduce dimensione
- **Fully connected layer**: classificazione finale

**Quando usare:**
- Classificazione immagini (cani vs gatti)
- Rilevamento oggetti
- Segmentazione immagini

### 4.3 Recurrent Neural Networks (RNN) e LSTM

**Specializzate per sequenze (testo, serie temporali).**

**RNN standard:** mantiene memoria (state) da step precedente
- **Problema**: vanishing gradient - difficile imparare relazioni lunghe

**LSTM** (Long Short-Term Memory): risolve il problema
- Mantiene memoria a lungo termine
- Controllata da gate (input, forget, output)

**Usi:**
- Traduzioni automatiche
- Generazione di testo
- Previsioni serie temporali

### 4.4 Transformer e Attention Mechanism

**Rivoluzione NLP (Natural Language Processing).**

**Self-Attention:**
- Permette al modello di focalizzarsi su parole importanti
- Calcola rilevanza relativa di tutte le parole

**GPT (Generative Pre-trained Transformer):**
- Auto-regressivo: predice parola successiva
- Base per ChatGPT, assistenti AI

**BERT (Bidirectional Encoder Representations from Transformers):**
- Bidirenzionale: legge da sinistra e destra
- Migliore per classification tasks

---

## SEZIONE 5: VALUTAZIONE MODELLI

### 5.1 Metriche di Classificazione

#### **Confusion Matrix**
```
                    Predetto Positivo | Predetto Negativo
Reale Positivo      TP (Vero Pos)     | FN (Falso Neg)
Reale Negativo      FP (Falso Pos)    | TN (Vero Neg)
```

#### **Accuracy (Accuratezza)**
- Formula: (TP + TN) / Totale
- **Limite**: fuorviante con dati sbilanciati
- Esempio: 99% accuracy su 99% transazioni legittime = praticamente inutile per frodi

#### **Precision (Precisione)**
- Formula: TP / (TP + FP)
- "Di tutte le volte che predico positivo, quante sono corrette?"
- Importante quando falsi positivi sono costosi

#### **Recall (Richiamo/Sensibilità)**
- Formula: TP / (TP + FN)
- "Di tutti i positivi reali, quanti riesco a catturare?"
- Importante quando falsi negativi sono costosi (es. diagnosi malattie)

#### **F1-Score**
- Formula: 2 × (Precision × Recall) / (Precision + Recall)
- Media armonica di precision e recall
- Buono per bilanciare entrambi

#### **ROC Curve e AUC**
- **ROC**: True Positive Rate vs False Positive Rate
- **AUC** (Area Under Curve): 0=pessimo, 0.5=casuale, 1=perfetto
- Buono per valutare modelli di classificazione binaria

### 5.2 Metriche di Regressione

| Metrica | Formula | Uso |
|---------|---------|-----|
| **RMSE** | √(Σ(pred-reale)²/n) | Penalizza errori grandi |
| **MAE** | Σ\|pred-reale\|/n | Media errori assoluti |
| **R²** | 1 - (SS_residui/SS_tot) | Quanto il modello spiega della varianza |

### 5.3 Overfitting vs. Underfitting

| Caratteristica | Overfitting | Underfitting |
|---|---|---|
| **Training Accuracy** | Altissima (>95%) | Bassa |
| **Test Accuracy** | Bassa | Bassa |
| **Bias** | Basso | Alto |
| **Variance** | Alto | Basso |
| **Causa** | Modello troppo complesso | Modello troppo semplice |
| **Soluzione** | Limitare profondità, regolarizzazione, più dati | Modello più complesso, più feature |

**Come riconoscere:**
- **Overfitting**: training accuracy 99.7%, test accuracy 72.45% ← Grande gap = problema!
- **Underfitting**: entrambi bassi (~60%)
- **Ottimale**: entrambi alti (~85-90%) e simili

---

## SEZIONE 6: OTTIMIZZAZIONE MODELLI

### 6.1 Cross-Validation

**K-Fold Cross-Validation:**
1. Dividi dati in K parti uguali
2. Usa K-1 parti per training, 1 parte per validation
3. Ripeti K volte, cambiando quale parte usi per validation
4. Media i risultati

**Vantaggi:**
- Usa tutti i dati per training e validation
- Più robusto rispetto a singolo train/test split
- Previene overfitting a specifico split

### 6.2 Hyperparameter Tuning

**Parametri vs. Iperparametri:**
- **Parametri**: pesi e bias (imparati durante training)
- **Iperparametri**: configurazioni fissate prima del training (learning rate, profondità albero, K per K-means)

**Tecniche di Tuning:**

**Grid Search**
- Prova tutte le combinazioni di iperparametri in una griglia
- Esaustivo ma computazionalmente costoso

**Random Search**
- Prova combinazioni casuali
- Più veloce di grid search

**Bayesian Optimization**
- Usa modello probabilistico per guidare ricerca
- Più efficiente di grid/random search

---

## SEZIONE 7: COMPUTER VISION E NLP

### 7.1 Computer Vision

**Image Classification:**
- Assegnare immagine a una categoria
- CNN tradizionale o Transfer Learning (modelli pre-addestrati)

**Object Detection:**
- Localizzare E classificare oggetti in immagine
- Più complesso di classification

**Object Segmentation:**
- Identificare pixel di ogni oggetto
- Più dettagliato di detection

**Transfer Learning:**
- Usare modello pre-addestrato (es. su ImageNet)
- Fine-tunare su dati specifici
- Riduce tempo di training e dati necessari

**Importanza del Dataset di Training:**
- Deve includere entrambe le categorie rilevanti (es. piante infestanti E colture)
- Dataset rappresentativo del problema reale
- Diversità: immagini in diverse condizioni di luce

### 7.2 Natural Language Processing (NLP)

**Sentiment Analysis:**
- Classificare testo come positivo/negativo/neutro
- Usare dati da API social media (es. Twitter API)

**Text Encoding:**
- Convertire parole in numeri per il modello
- **Approccio semplice**: assegnare numero unico a ogni parola
- **Approccio avanzato**: Word embeddings (Word2Vec, GloVe)

**Modelli Moderni:**
- BERT: bidirenzionale, ottimo per classification
- GPT: generativo, predice testo successivo

---

## SEZIONE 8: DEPLOYMENT E MLOPS

### 8.1 Definizioni

**Inference:** Usando il modello allenato per fare previsioni su dati nuovi.

**MLOps (Machine Learning Operations):**
- Portare modelli ML da sperimentazione a produzione
- Gestire ciclo di vita completo

### 8.2 Strategie di Deployment

**Online Deployment:**
- Modello serve predizioni in tempo reale tramite API
- Latenza bassa critica (es. raccomandazioni e-commerce)
- Scalabilità importante

**Batch Deployment:**
- Processa grandi quantità di dati periodicamente
- Latenza meno importante
- Più efficiente computazionalmente

**Edge Deployment:**
- Modello gira localmente su dispositivo/edge server
- Critica latenza ultra-bassa (es. turbine ~15ms)
- Riduce dipendenza da internet

### 8.3 Model Monitoring e Retraining

**Cosa Monitorare:**
- **Accuracy**: performance su dati nuovi
- **Data Drift**: distribuzione input cambia
- **Concept Drift**: relazione tra input/output cambia
- **Prediction Latency**: velocità risposte
- **System Health**: errori, downtime

**Strategie di Retraining:**

| Strategia | Quando | Pro | Contro |
|-----------|--------|-----|--------|
| **Periodica** | Ogni giorno/settimana/mese | Semplice da implementare | Potrebbe retrain quando non necessario |
| **Performance-based** | Quando accuracy scende sotto soglia | Efficiente, retraina quando serve | Richiede ground truth labels |
| **Data-based** | Quando dati nuovi significativi | Reattiva a veri cambiamenti | Richiede monitoraggio continuo |

**Fattore Critico:** Visibilità alle performance del modello in produzione

### 8.4 A/B Testing

- Testa nuovo modello (variante B) su subset di utenti
- Confronta con modello corrente (variante A)
- Misura: conversioni, engagement, revenue
- Dura tipicamente 1-3 mesi

---

## SEZIONE 9: ETICA, BIAS E SICUREZZA

### 9.1 Bias Algoritmico

**Tipi di Bias:**

**1. Data Collection Bias**
- Dati non rappresentativi di tutta la popolazione
- Esempio: GPS su smartphone → aree benestanti
- Effetto: modello discrimina contro gruppi sottorappresentati

**2. Reinforcement Bias / Historical Bias**
- Bias nei dati storici si perpetua
- Esempio: assumere sulla base di assunzioni passate discriminatorie
- Effetto: discriminazione sistematica

**3. Automation Bias**
- Persone si fidano troppo di decisioni automatiche
- Usare AI senza revisione umana
- Effetto: problemi non rilevati, danno maggiore

**4. Algorithmic Bias**
- L'algoritmo stesso è sbilenato
- Esempio: feature non correlata ma usata comunque

**Mitigazione:**
- Usare dati rappresentativi e diversi
- Monitorare accuracy per sottogruppi
- Includere domain experts
- Feature selection consapevole
- Audit regolari

### 9.2 Explainability (Interpretabilità)

**Perché è importante:**
- Conformità regolamentare (es. GDPR, AI Act)
- Fiducia degli utenti
- Debug e miglioramento
- Responsabilità legale

**Modelli Intrinsecamente Interpretabili:**
- **Decision Trees**: mostrano il ragionamento passo per passo
- **Linear/Logistic Regression**: coefficienti mostrano importanza

**Model-Agnostic Methods:**
- **LIME** (Local Interpretable Model-agnostic Explanations)
  - Spiega predizione specifica usando modello locale interpretabile
  - Perturba input, osserva come cambia output

- **SHAP** (SHapley Additive exPlanations)
  - Calcola contributo di ogni feature alla previsione
  - Basato su teoria dei giochi
  - Più rigoroso di LIME

### 9.3 Sicurezza e Privacy

**Vulnerabilità:**

**Data Extraction**
- Malicious actor estrae dati sensitivi dal modello
- Esempi: membership inference, model inversion
- Mitigazione: differential privacy, limitare accesso

**Model Inversion**
- Ricostruire dati di training dal modello
- Rischio per dati sensitivi

**Adversarial Attacks**
- Input lievemente modificati causano previsioni errate
- Esempio: patch su stop sign → auto autonoma non la riconosce

**Model Poisoning**
- Contaminare dati di training per bias deliberato

**Mitigazioni:**
- Limitare accesso al modello e dati
- Monitorare query sospette
- Robustness testing
- Encryption, data anonymization

### 9.4 Data Privacy

**GDPR/Regolamentazioni:**
- Diritto all'oblio: cancellare dati personali
- Trasparenza: spiegare come vengono usati i dati
- Consenso informato: ottenere permesso
- Data minimization: raccogliere solo necessario

---

## SEZIONE 10: TEAM E PROJECT MANAGEMENT

### 10.1 Ruoli in un Team AI

| Ruolo | Responsabilità |
|------|-----------------|
| **Data Scientist** | Analisi dati, modellazione, esperimenti, feature engineering |
| **Data Engineer** | Infrastruttura dati, pipelines, big data, ETL |
| **ML Engineer** | Deployment, produzione, scalabilità, monitoring |
| **Domain Expert** | Conoscenza specifica del dominio, validazione risultati, fornire insight |
| **AI Project Manager** | Coordinamento, timeline, stakeholder, conformità |
| **DevOps Engineer** | Infrastructure, CI/CD, deployment automation |

**Chi prende decisioni chiave:**
- **Product Manager**: valuta feature nuove, monitora incident database
- **Domain Expert**: fornisce insight su quali feature considerare
- **Project Manager**: misura costi, schedule, compliance

### 10.2 Assemblaggio Team per Specifici Problemi

**Esempio: Classificazione Tumori da Radiologie Veterinarie**
- ✅ **AI Developer** con esperienza image classification
- ✅ **Veterinary Radiologist Expert** che riconosce tumori
- ❌ Pet boarding business owner (non rilevante)
- ❌ Pharma sales rep (non rilevante)
- ❌ CFO (non rilevante a sviluppo)

### 10.3 Stakeholder e Governance

**Internal Stakeholder:** team produzione ML, altri team interni
**External Stakeholder:** clienti, regolatori
**Compliance:** documentazione, audit trail, modello versioning

---

## SEZIONE 11: APPLICAZIONI PRATICHE

### 11.1 Quando Usare AI vs. Quando Non Usare

#### **Usare AI quando:**
- Pattern complessi non catturabili da regole semplici
- Dati storici disponibili e rappresentativi
- Feedback/etichettatura possibile
- ROI positivo atteso

#### **NON usare AI quando:**
- Problemi risolvibili con regole semplici (es. 10 domande Yes/No)
- Mancanza di dati storici
- Costi training/deployment > benefici
- Interpretabilità critica e non ottenibile

### 11.2 Casi d'Uso Comuni

**Previsione (Forecasting)**
- Predire numero clienti giornalieri
- Prevedere vendite, popolazione, prezzi

**Classificazione**
- Email spam detection
- Approvazione/negazione prestiti
- Diagnosi mediche
- Rilevamento frodi

**Clustering/Segmentazione**
- Raggruppamento clienti per marketing
- Organizzazione prodotti
- Anomaly detection

**Recommendation**
- Suggerire prodotti (e-commerce)
- Suggerire contenuti (Netflix, YouTube)
- Suggerire connessioni (LinkedIn)

### 11.3 Quando usare Decision Trees

**Migliore scelta quando:**
- Spiegabilità è critica (es. tecnici, medicinale)
- Dati contengono feature categoriche
- Meno preprocessing necessario

---

## SEZIONE 12: QUALITÀ DATI E GOVERNANCE

### 12.1 Selezione Dataset

**Fattori Critici:**
1. **Sufficienza**: dataset abbastanza grande? (più data = meglio)
2. **Qualità**: dati puliti, senza corruzione, non sbilanciati?
3. **Rappresentatività**: diverse fonti geografiche/temporali? (Esempio: ammissioni universitarie da scuole diverse, non solo una)
4. **Diversità**: copre tutti i casi d'uso reali?

**Dati Imbananciati:** una classe molto più frequente (es. 95% legittimo, 5% frode)
- **Problema**: accuracy fuorviante
- **Soluzione**: usare confusion matrix, precision, recall, F1
- **Undersampling/Oversampling**: tecniche di bilanciamento

### 12.2 Audit Trail e Compliance

**Documentazione Essenziale:**
- Metodi di raccolta dati e consenso ottenuto
- Chain of responsibility (chi ha accesso)
- Quality assessment e accuracy checks
- Data sharing agreements
- Incident log (problemi identificati)
- Risk register (rischi potenziali)

**Versioning:**
- Modelli devono essere tracciati
- Dataset version
- Hyperparameter configuration
- Training date e performance metrics

---

## SEZIONE 13: PROBLEMI COMUNI E SOLUZIONI

### 13.1 Modello Non Perfoma Bene

**Diagnostica:**

| Sintomo | Causa Probabile | Soluzione |
|---------|-----------------|-----------|
| Train 85%, Test 75% | Bias alto/underfitting | Modello più complesso, più feature |
| Train 99%, Test 60% | Variance alto/overfitting | Limitare complessità, regolarizzazione, più dati, bilanciare dati |
| Accuracy basso ma bilanciato | Bias vero | Raccogliere più dati, feature engineering, try algoritmi diversi |

### 13.2 Modello Degrada in Produzione

**Possibili Cause:**
- **Data Drift**: distribuzione input cambiata (es. nuovi tipi clienti)
- **Concept Drift**: relazione input/output cambiata (es. comportamenti utenti cambiano)
- **Software upgrade**: cambio ambiente
- **Cambiamento comportamento utenti**: nuovo segmento inizia usare sistema

---

## SEZIONE 14: TERMINOLOGIA CHIAVE

| Termine | Definizione |
|---------|------------|
| **Inference** | Usare modello allenato per previsioni |
| **Validation Set** | Subset per tuning iperparametri durante training |
| **Label** | Output/target che il modello cerca di predire |
| **Feature** | Input/variabile indipendente |
| **Monochrome** | Immagine bianco/nero (meno memoria di colore) |
| **Principal Component Analysis (PCA)** | Tecnica per ridurre dimensionalità mantenendo varianza |
| **API** | Interfaccia per raccogliere dati strutturati (es. Twitter API) |
| **One-Hot Encoding** | Convertire categoria in colonne binarie |
| **Data Collaboratives** | Sharing dati tra aziende/governo per risolvere problemi pubblici |
| **Model Drift** | Usare modello per input che non è designato a gestire |

---

## SEZIONE 15: QUICK REFERENCE - DOMANDE COMUNI

**D: Quale metrica usare per regressione?**
A: RMSE (Root Mean Squared Error)

**D: Quale metrica usare per classificazione con dati sbilanciati?**
A: Confusion Matrix, Precision, Recall, F1-Score (NON solo Accuracy)

**D: Come decidere numero di cluster in K-means?**
A: Elbow Method - traccia inerzia vs K, cerca il "gomito"

**D: Accuracy 60% vs 80% - quale modello è migliore?**
A: Dipende dalla distribuzione delle predizioni. Se uno ha predizioni uguali tra categorie è migliore (bilanciato).

**D: 99.7% training, 72% test - che problema è?**
A: Overfitting - modello memorizza training set, non generalizza

**D: Quando usare Decision Tree?**
A: Quando spiegabilità è critica, o dati hanno feature categoriche

**D: Deployment urgente con latenza <100ms?**
A: Integrare modello direttamente nel dispositivo (edge deployment), non via internet

**D: Modello degrada dopo mesi in produzione?**
A: Controllare data drift o concept drift, pianificare retraining

**D: Quali info servono per audit/compliance?**
A: Dataset usato, metodo raccolta, consent, quality check, version modello, incident log

---

## NOTE FINALI

**Principi Fondamentali:**
1. **Garbage In, Garbage Out**: qualità dati = qualità modello
2. **Etica First**: bias/fairness sono critici, non opzionali
3. **Simplicity**: miglior modello non è sempre quello più complesso
4. **Monitoring**: anche dopo deployment, il lavoro continua
5. **Documentation**: essenziale per compliance e manutenzione

**Roadmap di Studio:**
1. Comprendere tipi ML (supervised/unsupervised/reinforcement)
2. Imparare preprocessing e feature engineering
3. Studiare algoritmi classici (decision trees, regression, clustering)
4. Approfondire neural networks e deep learning
5. Imparare valutazione modelli (metriche, overfitting/underfitting)
6. Comprendere deployment, monitoring, MLOps
7. Apprendere etica, bias, privacy, security
8. Praticare progetti end-to-end