• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Data Science, machine-learning

Ridge Regression

Ridge Regression

Ridge Regression, chiamato anche Tikhonov regularization, è una versione regolarizzata della Regressione Lineare (linear regression): aggiungendo un termine di regolarizzazione (regularization term), comunemente denominato alpha, alla cost function, l’algoritmo di apprendimento viene forzato a tenere i weight quanto più bassi possibili.

Abbiamo iniziato in quinta, ma per un motivo chiaro: avendo fornito una definizione come introduzione ti sarà facile ripassare quando un giorno tornerai su questo post unicamente per lei.

Not bad

Ora però ci prendiamo un po’ di tempo per allinearci e procedere a comprendere davvero cosa sia la Ridge Regression.

Ridge Regression: why?

Il miglior modo per comprendere la Ridge Regression è capire perché esista.

Quando ci allontaniamo dalle sfide di Kaggle per addentrarci in quella giungla del mondo reale troviamo dataset con decine di feature.

Vuoi perché il nostro stakeholder ci abbia fornito l’intero database di produzione aziendale, o per il semplice fatto che si è deciso di tenere ogni colonna e non perderne nemmeno una, al momento della creazione del modello predittivo dobbiamo affrontare una sfida niente male.

Tendenzialmente iniziamo a lavorare con modelli semplici, ben lontani dalle complicate reti neurali.

Ricorda infatti che le Neural Network non sono la soluzione a ogni problema.

Ora dobbiamo tenere presente che i modelli di regressione lineare (tra i più semplici) difficilmente vengono usati in applicazioni concrete per due ragioni:

  • Faticano a esprimere relazioni non lineari
  • Tendono all’overfitting quando il numero di feature aumenta

Gli Alberi Decisionali (Decision Trees) possono risolvere il primo problema, per il secondo dobbiamo invece indagare più a fondo.

Il problema è che un modello di regressione lineare ha pochi gradi di libertà (degrees of freedom): quando questi aumentano, la complessità del modello aumenta, e con essa il rischio di overfitting.

Intuitivamente i gradi di libertà sono i punti in cui la funzione si flette, e curva.

Quando usiamo un modello di regressione lineare applicato, ad esempio, a 100 feature, questo è quello che succede:

Per tracciare il grafico ho generato dei numeri randomici, puro rumore, che simulano però la presenza di feature inutili nel dataset (cosa molto comune).

Per risolvere questo problema, entra in gioco Ridge Regression.

Ridge Regression: how?

Abbiamo capito perché sia importante, ora svisceriamone il funzionamento.

Ridge Regression aggiunge un fattore di penalizzazione (penalty factor) alla cost function. Ciò determina la perdita d’importanza del valore di una feature, che a seconda della penalità, può essere più o meno accentuata.La forza della penalità è tunable controllata cioé da un hyperparameter che deve essere setato.

Parlando di regolarizzazione in generale esistono due tipi di penalizzazione:

  • L1 (absolute size) penalizza il valore assoluto dei coefficienti del modello
  • L2 (squared size) penalizza il quadrato del valore dei coefficienti del modello.

Ridge Regression usa la L2 penalty

In pratica questo produce coefficienti piccoli, ma nessuno di loro è mai annullato. Quindi i coefficienti non sono mai 0. Il fenomeno è denominato feature shrinkage.

Ridge Regression Sklearn

Teoria a parte, è arrivato il momento di prendere in mano un po’ di codice.

Qui puoi trovare la documentazione di sklearn, mentre di seguito ti faccio vedere come importare il tutto velocemente:

from sklearn.linear_model import Ridge
ridge = Ridge(alpha=0.1)
ridge.fit(x_train,y_train)
ridge.score(x_test,y_test)

Un caldo abbraccio, Andrea.

No, questo contenuto è riservato.
Non ci puoi accedere

E’ destinato a una ristretta lista di persone motivate e intraprendenti.

E’ diritto esclusivo di sognatori e curiosi.

Come? Pensi di essere una di loro?

Dimostramelo…

accetto i noiosi termini e le condizioni

Written by Andrea Provino - Novembre 6, 2019
Tags | data science, data scientist, teoria

You Might Also Like

data-science-for-finance-machine-learning-deep-learning-data-science-use-cases-use-cases

Data Science for Finance | Use Cases per il Data Scientist

Febbraio 13, 2021

Information Entropy e Information Theory | Divertente e in Italiano

Ottobre 17, 2019

Machine Learning Pipelines cosa sono? In italiano

Settembre 21, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • fully-homomorphic-encryption-crittografia-completamente-omomorfica Privacy Preserving

    Cos’è la Crittografia Omomorfica | Homomorphic Encryption (HE)

    Marzo 4, 2021
  • data-science-for-finance-machine-learning-deep-learning-data-science-use-cases-use-cases Business, Data Science, machine-learning

    Data Science for Finance | Use Cases per il Data Scientist

    Febbraio 13, 2021
  • differential-privacy-example-privacy-differenziale-esempio-italiano-applicazioni-reali Business, Data Science, Privacy Preserving

    Differential Privacy Example | Esempi di privacy differenziale

    Febbraio 10, 2021
  • privacy-enhancing-technologies-techniques-machine-learning-data-science-pets-guida-italiano-spiegazione-semplice Business, Data Science, machine-learning, Privacy Preserving

    Cosa sono le Privacy-enhancing technologies o techniques (PETs)

    Febbraio 7, 2021
  • condivisione-dati-finance-fintech-problems-machine-learning-for-finance-data-science-deep-learning-case-study Business

    Problemi della condivisione dati in finanza | Finance data sharing problems

    Febbraio 4, 2021
  • finance-privacy-settore-finanziario-dati-privacy-enhancing-technologies-ai Business

    Il legame tra Privacy Dati AI nel settore finanziario

    Febbraio 1, 2021
  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino