Types of Machine Learning Systems Flashcards
Types of Machine Learning Systems
Supervised, unsupervised, semisupervised e rainforcement learning
Supervised Learning + Attivita’ comuni
Il dataset fornito all’algoritmo contiene le soluzioni desiderate (labels)
Esempio: filtro antispam
Attivita’ comuni: Regressione e Classificazione
Algoritmi Supervised
k-Nearest Neighbors Linear Regression Logistic Regression Support Vector Machines (SVMs) Decision Trees and Random Forests Neural networks2
Unsupervised
I dataset sono privi del target (label)
Il sistema cerca di imparare senza un insegnante
Algoritmi Unsupervised
Clustering K-Means DBSCAN Hierarchical Cluster Analysis (HCA) Anomaly detection and novelty detection One-class SVM Isolation Forest Visualization and dimensionality reduction Principal Component Analysis (PCA) Kernel PCA Locally Linear Embedding (LLE) t-Distributed Stochastic Neighbor Embedding (t-SNE) Association rule learning Apriori Eclat
Tipi di Unsupervised
Clustering (raggruppamento) visualization Dimensionality reduction Anomaly Detection Association Rule Learning(l'apprendimento delle regole di associazione)
Dimensionality Reduction
l’obiettivo: semplificare i dati senza perdere troppe informazioni
Buona idea provare a ridurre la dimensione dei dati di addestramento utilizzando un algoritmo di dimensionality reduction prima di inserirli in un altro algoritmo di ML (come un algoritmo di supervised learning). Verrà eseguito molto più velocemente, i dati occuperanno meno spazio su disco e memoria e in alcuni casi potrebbe anche funzionare meglio.
Anomaly Detection
Il sistema mostra per lo più casi normali durante l’allenamento, quindi impara a riconoscerli; poi, quando vede una nuova istanza, può dire se sembra normale o se è probabile che sia un’anomalia.
Semisupervised Learning
Dataset con qualche istanza con etichetta e con alcune senza
Reinforcement Learning
Il sistema di apprendimento può osservare l’ambiente, selezionare ed eseguire azioni e ottenere in cambio ricompense (o penalità sotto forma di ricompense negative). Deve quindi imparare da solo qual è la strategia migliore, chiamata policy, per ottenere la massima ricompensa nel tempo
Offline Learning
Il sistema non è in grado di apprendere in modo incrementale: deve essere addestrato utilizzando tutti i dati disponibili. Prima il sistema viene addestrato, quindi viene avviato in produzione e viene eseguito senza più apprendere; applica solo ciò che ha appreso.
Online Learning
Un online learning system può apprendere in modo incrementale, a differenza di un batch learning system. Ciò lo rende in grado di adattarsi rapidamente sia ai dati in evoluzione che ai sistemi autonomi, e di addestrarsi su quantità molto grandi di dati.
Out-of-core Learning
Gli algoritmi out-of-core possono gestire grandi quantità di dati che non possono entrare nella memoria principale di un computer. Un algoritmo di apprendimento out-of-core suddivide i dati in mini-batch e utilizza tecniche di apprendimento online per apprendere da questi mini-batch
Overfitting + Soluzioni
il modello sta probabilmente superando i dati di addestramento
Soluzioni: più dati, la semplificazione del modello (selezione di un algoritmo più semplice, la riduzione del numero di parametri o funzionalità utilizzate o la regolarizzazione del modello) o la riduzione del rumore nei dati di addestramento.
Underfitting + Soluzioni
l’opposto dell’overfitting: si verifica quando il modello è troppo semplice per apprendere la struttura sottostante dei dati.
Soluzioni:
Selezionare un modello più potente, con più parametri.
Fornire caratteristiche migliori all’algoritmo di apprendimento (feature engineering).
Ridurre i vincoli sul modello (ad esempio, ridurre l’iperparametro di regolarizzazione).