Apprendimento automatico: dati e preprocessing

Dalla regressione lineare fino agli algoritmi ensemble di ultima generazione, questa sezione di FAQ esplora i principali modelli e tecniche di machine learning supervisionato. Una guida chiara e completa che combina teoria, vantaggi e limiti, metodologie di implementazione e strategie di ottimizzazione. Perfetta per studenti, sviluppatori e professionisti che desiderano padroneggiare gli strumenti fondamentali del machine learning, applicarli in contesti reali e rimanere aggiornati sulle pratiche più efficaci.

Come funzionano la regressione lineare e polinomiale?

La regressione lineare rappresenta uno dei pilastri dell'apprendimento supervisionato, modellando relazioni tra variabili attraverso l'equazione y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ + ε, dove β sono i coefficienti da stimare ed ε rappresenta l'errore casuale. L'obiettivo è trovare la linea (o iperpiano in dimensioni superiori) che minimizza la somma dei quadrati degli errori tra valori predetti e osservati.

Stima dei parametri e assunzioni: Il metodo dei minimi quadrati ordinari (OLS) fornisce la soluzione analitica β̂ = (X^T X)^(-1) X^T y, richiedendo che X^T X sia invertibile. Le assunzioni fondamentali includono linearità nella relazione, indipendenza degli errori, omoschedasticità (varianza costante), normalità dei residui e assenza di multicollinearità perfetta tra predittori. Violazioni di queste assunzioni possono invalidare inferenze statistiche e degradare performance predittive.

Regressione polinomiale - estensioni non-lineari: Trasforma il problema lineare includendo termini polinomiali: y = β₀ + β₁x + β₂x² + β₃x³ + ... + βₖxᵏ + ε. Nonostante la non-linearità nella variabile indipendente, rimane lineare nei parametri, permettendo l'uso di OLS. Degree selection è critico: gradi bassi potrebbero underfittare pattern complessi, gradi elevati causano overfitting drammatico, specialmente con dataset piccoli.

Regolarizzazione e validazione: Per prevenire overfitting in regressioni polinomiali, si applicano tecniche di regolarizzazione: Ridge regression (L2) aggiunge penalità λ∑βᵢ² shrinkando coefficienti verso zero; Lasso regression (L1) con penalità λ∑|βᵢ| può eliminare feature completamente; Elastic Net combina L1 e L2. Cross-validation determina hyperparameter ottimali (degree, λ) bilanciando training error e generalization capability. Feature scaling è essenziale per regolarizzazione efficace.

Diagnostica e interpretazione: R-squared misura variabilità spiegata ma può essere misleading con overfitting. Adjusted R-squared penalizza complessità del modello. Analisi dei residui rivela pattern non catturati: residui vs fitted values per omoschedasticità, Q-Q plots per normalità, residui vs leverage per outlier influenti. Coefficienti standardizzati permettono confronto dell'importanza relativa delle feature. Modern alternatives includono splines, kernel methods, e neural networks per catturare non-linearità più complesse.

Quali sono i vantaggi e limiti delle logistic regression?

La logistic regression estende la regressione lineare a problemi di classificazione utilizzando la funzione sigmoide σ(z) = 1/(1 + e^(-z)) per mappare linear combination delle feature su probabilità tra 0 e 1. La formulation matematica è P(y=1|x) = σ(β₀ + β₁x₁ + ... + βₙxₙ), con stima dei parametri tramite maximum likelihood estimation invece di least squares.

Vantaggi substantiali: Interpretabilità eccellente: coefficienti rappresentano log-odds ratios, facilmente convertibili in odds ratios (e^βᵢ) per quantificare l'impatto delle feature. Efficienza computazionale: training rapido anche su large datasets, convergenza garantita con sufficient data. Probabilistic output: fornisce confidence estimates utili per decision making e risk assessment. No distributional assumptions sui predittori, robustezza a outlier moderati. Baseline eccellente: performance spesso competitive con algoritmi più complessi, specialmente con feature engineering appropriata.

Limitazioni significative: Linear decision boundary: assume che log-odds siano linear combination delle feature, inadeguato per pattern complessi senza feature engineering. Multicollinearity sensitivity: coefficienti instabili con predittori highly correlated, richiedendo regularization. Large sample requirement: maximum likelihood estimates possono essere unreliable con small datasets. Complete separation: quando classi sono perfectly separable da linear combination, MLE non converge, richiedendo regularization o penalized likelihood.

Extensions e miglioramenti: Multinomial logistic regression gestisce multi-class problems. Ordinal logistic regression per outcome ordinali. Regularized versions (L1/L2) prevengono overfitting e feature selection. Polynomial features e interaction terms catturano non-linearità. Class weights bilanciamento per imbalanced datasets. Modern neural networks possono essere visti come logistic regression multi-layer con non-linear activations.

Come si implementano decision tree e random forest?

I decision trees costruiscono modelli attraverso recursive binary splitting del feature space, creando una hierarchical sequence di if-then rules che partiziona i dati in regioni omogenee rispetto alla target variable.

Algoritmo di costruzione: A ogni nodo, l'algoritmo seleziona la feature e threshold che massimizzano impurity reduction secondo criteri specifici. Per classificazione: Gini impurity G = 1 - ∑pᵢ² misura probabilità di misclassification, Entropy H = -∑pᵢlog₂(pᵢ) quantifica information content. Per regressione: Mean Squared Error o Mean Absolute Error. Stopping criteria includono minimum samples per leaf, maximum depth, minimum impurity decrease. Pruning post-construction rimuove branches che non migliorano validation performance.

Random Forest - ensemble bagging: Costruisce B decision trees indipendenti su bootstrap samples del training set, introducendo randomness aggiuntiva selezionando random subset di √p feature a ogni split (dove p è total features). Final prediction combina individual trees: media per regressione, majority vote per classificazione. Questo dual randomness (data + features) decorrelates trees, riducendo variance senza aumentare bias significativamente.

Hyperparameter tuning: n_estimators (numero trees): più alberi riducono variance ma aumentano computational cost. max_depth e min_samples_split controllano individual tree complexity. max_features bilancia randomness e performance: √p per classificazione, p/3 per regressione sono defaults ragionevoli. bootstrap size influenza diversity vs individual tree quality. Out-of-bag (OOB) error fornisce unbiased estimate senza separate validation set.

Interpretabilità e feature importance: Decision trees sono naturally interpretable attraverso visualization dei decision paths. Random Forest sacrifica interpretabilità per performance ma fornisce feature importance aggregata: mean decrease impurity somma impurity reductions across all trees, permutation importance misura performance degradation quando feature values sono randomly shuffled. SHAP values forniscono model-agnostic explanations per individual predictions.

Qual è la teoria alla base delle SVM e come si scelgono kernel e C?

Le Support Vector Machines risolvono problemi di classificazione e regressione trovando optimal separating hyperplane che massimizza il margine tra classi, basandosi sulla theory of statistical learning e principio di structural risk minimization.

Formulazione matematica: Per linearly separable data, l'obiettivo è minimizzare ½||w||² soggetto a yᵢ(w·xᵢ + b) ≥ 1 per tutti training examples. Questa constrained optimization si risolve tramite Lagrangian duality, trasformando il problema in maximization di ∑αᵢ - ½∑∑αᵢαⱼyᵢyⱼ(xᵢ·xⱼ) soggetto a ∑αᵢyᵢ = 0 e αᵢ ≥ 0. Solo examples con αᵢ > 0 sono support vectors, definendo completamente l'hyperplane.

Soft margin e parameter C: Per non-separable data, si introduce slack variables ξᵢ permettendo violations: yᵢ(w·xᵢ + b) ≥ 1 - ξᵢ. L'objective diventa minimizzare ½||w||² + C∑ξᵢ, dove C controls bias-variance tradeoff. Large C (hard margin) minimizza training errors ma rischia overfitting; small C (soft margin) allows more violations, improving generalization. Cross-validation optimizes C bilanciando training accuracy e validation performance.

Kernel trick e non-linearity: Per pattern non-linearly separable, kernel functions K(x,z) implicitly map data a higher-dimensional space dove linear separation è possible. Linear kernel K(x,z) = x·z per linearly separable problems. Polynomial kernel K(x,z) = (γx·z + r)^d cattura polynomial interactions. RBF (Gaussian) kernel K(x,z) = exp(-γ||x-z||²) crea smooth, localized decision boundaries. Sigmoid kernel simula neural network tanh activation.

Kernel selection strategy: Start con linear kernel se features >> samples o data è high-dimensional (text, genomics). RBF kernel è versatile default per most problems, con γ parameter controlling smoothness: large γ creates tight boundaries (overfitting risk), small γ creates smoother boundaries. Polynomial kernel useful when interactions matter but degree selection è critical. Grid search su (C, γ) pairs con cross-validation è standard approach. Advanced methods includono multiple kernel learning e automatic kernel selection basata su validation performance.

Quando utilizzare k-NN e come scegliere k ottimale?

L'algoritmo k-Nearest Neighbors rappresenta un instance-based learning method che classifica new examples basandosi sulla similarity con training instances, utilizzando distance metrics per identificare k nearest neighbors e aggregating their labels tramite majority voting (classification) o averaging (regression).

Quando è appropriato k-NN: Eccelle con locally smooth decision boundaries dove similar inputs have similar outputs. Efficace per small to medium datasets (≤100k samples) dove computational cost è manageable. Ideale quando decision boundaries sono irregular e difficili da catturare con parametric methods. Useful per multi-modal class distributions e quando no strong assumptions sulla data distribution sono reasonable. Applications includono recommendation systems, pattern recognition, e anomaly detection.

Distance metrics e feature scaling: Euclidean distance √∑(xᵢ-zᵢ)² assume feature independence e equal importance. Manhattan distance ∑|xᵢ-zᵢ| è robust a outliers e appropriate per high-dimensional sparse data. Cosine similarity misura angle between vectors, useful per text e high-dimensional data. Mahalanobis distance accounts per feature correlations. Feature scaling è critical: standardization o min-max normalization prevent domination da features con large magnitudes.

Optimal k selection: Small k (1-3) creates highly flexible boundaries ma high variance, overfitting to local noise. Large k creates smoother boundaries ma potential underfitting, losing local patterns. Bias-variance tradeoff: k=1 has zero bias ma maximum variance; large k reduces variance ma increases bias. Cross-validation evalua range di k values, plotting validation error vs k per identify optimal balance. Rule of thumb: k = √n spesso reasonable starting point.

Computational optimization: Naive implementation ha O(nd) complexity per query. KD-trees accelerano search in low dimensions (d <10) ma degrade in high dimensions. Ball trees e LSH (Locality Sensitive Hashing) handle high-dimensional data better. Approximate nearest neighbors (ANN) libraries like FAISS, Annoy trade accuracy per speed. Weighted k-NN assigns weights inversely proportional to distance, giving closer neighbors more influence. Modern extensions include adaptive k-NN che vary k locally basato su local data density.

Cos'è l'ensemble learning e quali tecniche (bagging, boosting, stacking)?

L'ensemble learning combina predictions da multiple models per achieve superior performance rispetto a qualsiasi individual model, sfruttando il principio che "wisdom of crowds" può compensate individual weaknesses e reduce overall prediction error attraverso diversification.

Bagging (Bootstrap Aggregating): Creates multiple models training su different bootstrap samples del training set, poi averaging predictions (regression) o majority voting (classification). Random Forest è quintessential bagging algorithm, adding feature randomness per further decorrelate trees. Extra Trees introduce additional randomness in split thresholds. Bagging primarily reduces variance without significantly increasing bias, particularly effective con high-variance base learners come decision trees. OOB (out-of-bag) samples provide unbiased performance estimate.

Boosting - sequential learning: Builds models sequentially dove each learner focuses on mistakes del previous learner. AdaBoost reweights misclassified examples, forcing subsequent learners to focus su difficult cases. Gradient Boosting fits new models ai residuals del ensemble corrente, optimizing arbitrary differentiable loss functions. Boosting primarily reduces bias e può convert weak learners in arbitrarily accurate ensembles, ma increased overfitting risk requiring careful regularization.

Stacking (Stacked Generalization): Uses meta-learning approach dove base models (level-0) generate predictions che become features per meta-model (level-1). Cross-validation prevents overfitting: base models trained su k-1 folds predict on held-out fold, creating "clean" meta-features. Advanced variants includono multi-level stacking e dynamic stacking che adapt based su input characteristics. Stacking can combine heterogeneous models (e.g., neural networks + tree-based + linear models) leveraging their complementary strengths.

Ensemble diversity e design principles: Effective ensembles require diversity among base learners: different algorithms, different data subsets, different feature subsets, different hyperparameters. Bias-variance decomposition: prediction error = bias² + variance + noise. Bagging reduces variance, boosting reduces bias, stacking can reduce both. Ensemble size: performance typically plateaus after certain number of models. Computational cost increases linearly con ensemble size, requiring balance between accuracy gains e practical constraints.

Come funzionano algoritmi di boosting (AdaBoost, Gradient Boosting, XGBoost, LightGBM)?

Gli algoritmi di boosting implementano sequential ensemble learning dove weak learners vengono combined per create strong predictors, con ogni subsequent model focusing su correcting errors del ensemble corrente.

AdaBoost (Adaptive Boosting): Iteratively trains weak classifiers (typically decision stumps) su weighted versions del training data. Initially, all examples have equal weights. After each iteration, weights di misclassified examples increase mentre correctly classified examples decrease, forcing next classifier to focus su hard examples. Final prediction è weighted vote of weak classifiers. Theoretical guarantee: training error decreases exponentially se each weak classifier has error <0.5. Sensitive to outliers e noise perché reweighting can emphasize mislabeled examples.

Gradient Boosting: Generalizes boosting a arbitrary differentiable loss functions fitting new models ai negative gradients (pseudo-residuals) del current ensemble. Algorithm: initialize con constant prediction, iteratively add models που predict residuals, update ensemble tramite line search per optimal step size. Shrinkage parameter ν scales contribution di each new model, trading training speed per better generalization. Supports regression, classification, ranking through appropriate loss functions (squared loss, logistic loss, exponential loss).

XGBoost (eXtreme Gradient Boosting): Advanced gradient boosting implementation con multiple enhancements: regularized objective function adding L1/L2 penalties on leaf weights; second-order approximation using Hessian per faster convergence; intelligent handling di missing values learning optimal default directions; parallel preprocessing per column block structure enabling efficient feature selection; cache-aware algorithms optimizing memory access patterns. Built-in cross-validation e early stopping prevent overfitting.

LightGBM (Light Gradient Boosting Machine): Microsoft's highly efficient implementation focusing su speed e memory efficiency: histogram-based learning discretizes continuous features reducing computational complexity; leaf-wise tree growth instead di level-wise, adding leaves che reduce loss most; exclusive feature bundling (EFB) combines sparse features reducing feature count; gradient-based one-side sampling (GOSS) excludes examples con small gradients while keeping influential ones. Often achieves better accuracy than XGBoost con significantly faster training.

Hyperparameter optimization e best practices: Number of estimators: use early stopping based su validation performance rather than fixed number. Learning rate: smaller values (0.01-0.1) generally better con more trees. Tree depth: shallow trees (3-8 levels) often optimal, preventing overfitting. Regularization parameters: L1 for feature selection, L2 for smooth coefficients. Subsampling reduces overfitting e computational cost. Modern practice includes automated hyperparameter optimization (Optuna, Hyperopt) e careful validation strategies per robust performance estimates.

How to create an avatar on HeyGen

Faq

Come funzionano la regressione lineare e polinomiale?

La regressione lineare modella relazioni tra variabili tramite una combinazione lineare dei predittori, stimata con OLS. La regressione polinomiale estende il modello aggiungendo potenze delle variabili indipendenti: resta lineare nei parametri, ma può catturare non-linearità. Critico scegliere il giusto grado per evitare underfitting o overfitting.

Quali sono i vantaggi e limiti della logistic regression?

La logistic regression fornisce interpretabilità chiara (odds ratios), output probabilistici e training efficiente. Limiti: assume decision boundary lineare, è sensibile alla multicollinearità e richiede dataset ampi per stime stabili. Può fallire con classi perfettamente separabili.

Come si implementano decision tree e random forest?

I decision tree si costruiscono dividendo ricorsivamente il dataset in regioni omogenee, usando criteri come Gini o Entropia. I random forest combinano molti alberi addestrati su bootstrap samples e subset casuali di feature, riducendo varianza e migliorando la generalizzazione.

Qual è la teoria alla base delle SVM e come si scelgono kernel e C?

Le SVM trovano l’iperpiano che massimizza il margine tra classi. Il parametro C regola il compromesso bias-varianza: alto C minimizza errori sul training ma rischia overfitting, basso C aumenta la tolleranza agli errori. I kernel (lineare, polinomiale, RBF) permettono di gestire pattern non-lineari.

Quando utilizzare k-NN e come scegliere k ottimale?

k-NN è adatto a dataset piccoli/medi con confini decisionali irregolari. k piccolo aumenta varianza e rischio di overfitting, k grande riduce varianza ma aumenta bias. Una regola empirica: k ≈ √n. La normalizzazione delle feature è essenziale per buone prestazioni.

Cos'è l'ensemble learning e quali tecniche esistono?

L’ensemble learning combina più modelli per migliorare accuratezza e robustezza. Tecniche principali: bagging (riduce varianza), boosting (riduce bias), stacking (usa meta-modelli per combinare predizioni). La diversità tra modelli base è fondamentale per massimizzare i benefici.

Come funziona AdaBoost?

AdaBoost addestra deboli classificatori in sequenza, aumentando i pesi dei campioni misclassificati per focalizzare i successivi su esempi difficili. L’output finale è una combinazione pesata dei classificatori. È potente ma sensibile a rumore e outlier.

Qual è il principio del Gradient Boosting?

Gradient Boosting costruisce modelli in sequenza, facendo predire ai nuovi alberi i residui del modello corrente. Usa il gradiente della funzione di perdita per guidare l’ottimizzazione. Parametri chiave: learning rate, numero di alberi e profondità massima.

Quali innovazioni introduce XGBoost?

XGBoost ottimizza il boosting con regolarizzazione L1/L2, gestione nativa dei valori mancanti, calcolo parallelo e tecniche cache-aware. Supporta early stopping e fornisce un eccellente compromesso tra velocità e accuratezza, risultando popolare in competizioni e applicazioni pratiche.

Perché LightGBM è spesso preferito a XGBoost?

LightGBM è più veloce e scalabile grazie a tecniche come histogram-based learning, leaf-wise growth e feature bundling. Mantiene alta accuratezza con training rapido, risultando ideale per dataset molto grandi o con feature sparse. Richiede però attenzione ai parametri per evitare overfitting.


Author
Nicolò Caiti
I have made MarTech my profession. I specialize in artificial intelligence applied to digital marketing. In this blog, I analyze how AI is transforming the industry: improving web performance, optimizing digital strategies, and speeding up everyone’s work. With years of experience in marketing automation and managing advanced customer journeys, I share practical insights, case studies, and best practices to help everyone make the most of AI’s potential in their work. I hope you find the answers you’re looking for!