Decrescente in ML: regressione lineare

È noto da tempo che i grilli (una specie di insetti) suonano più spesso nei giorni più caldi che in quelli più freddi. Per decenni, i scienziati professionisti e dilettanti hanno catalogato i dati su suoni al minuto e temperatura. Come regalo di compleanno, tua zia Ruth ti offre il suo database di cricket e ti chiede di imparare un modello per prevedere questa relazione. Utilizzando questi dati, vuoi esaminare questa relazione.

Innanzitutto, esamina i dati tracciandoli:

Dati non elaborati di cicalini/minuto (asse x) e temperatura (asse y).

Figura 1. Suono al minuto rispetto alla temperatura in Celsius.

Come previsto, il grafico mostra l'aumento della temperatura associato al numero di cicalini. Questa relazione tra il cicalino e la temperatura è lineare? Sì, potresti disegnare una singola linea retta come la seguente per approssimare questa relazione:

La linea migliore che stabilisce la relazione tra cicalini/minuti (asse x) e temperatura (asse y).

Figura 2. Una relazione lineare.

Vero, la linea non passa attraverso ogni punto, ma la linea mostra chiaramente la relazione tra cicalini e temperatura. Utilizzando l'equazione per una riga, puoi scrivere questa relazione nel seguente modo:

$$ y = mx + b $$

dove:

  • \(y\) è la temperatura in Celsius, il valore che stiamo cercando di prevedere.
  • \(m\) è la pendenza della linea.
  • \(x\) indica il numero di cicalini al minuto: il valore della nostra funzionalità di input.
  • \(b\) è l'intercetta y.

Per convenzione nel machine learning, scriverai l'equazione di un modello in modo leggermente diverso:

$$ y' = b + w_1x_1 $$

dove:

  • \(y'\) è l'etichetta prevista (un output desiderato).
  • \(b\) è il bias (l'intercetta y), a volte indicato come \(w_0\).
  • \(w_1\) è la ponderazione della funzionalità 1. Il peso è lo stesso concetto della"pendenza" \(m\) nell'equazione tradizionale di una retta.
  • \(x_1\) è una funzionalità (un input noto).

Per inferire (previsione) la temperatura \(y'\) a un nuovo valore del cicalino al minuto \(x_1\), basta sostituire il \(x_1\) valore in questo modello.

Anche se questo modello utilizza una sola funzionalità, un modello più sofisticato potrebbe basarsi su più funzionalità, ciascuna con una ponderazione separata (\(w_1\), \(w_2\)e così via). Ad esempio, un modello che si basa su tre funzionalità potrebbe avere il seguente aspetto:

$$y' = b + w_1x_1 + w_2x_2 + w_3x_3$$