La regressione logistica è in realtà un algoritmo di regressione?


11

La consueta definizione di regressione (per quanto ne so) prevede una variabile di output continua da un determinato set di variabili di input .

La regressione logistica è un algoritmo di classificazione binaria, quindi produce un output categoriale.

È davvero un algoritmo di regressione? Se è così, perché?

Risposte:


23

La regressione logistica è innanzitutto la regressione. Diventa un classificatore aggiungendo una regola decisionale. Farò un esempio che va indietro. Cioè, invece di prendere dati e adattare un modello, inizierò con il modello per mostrare come questo sia veramente un problema di regressione.

Nella regressione logistica, stiamo modellando le probabilità del log, o logit, che si verifichi un evento, che è una quantità continua. Se la probabilità che si verifichi l' evento è P ( A ) , le probabilità sono:UNP(UN)

P(UN)1-P(UN)

Le probabilità del registro, quindi, sono:

log(P(UN)1-P(UN))

Come nella regressione lineare, modelliamo questo con una combinazione lineare di coefficienti e predittori:

logit=B0+B1X1+B2X2+

Immagina di avere un modello per stabilire se una persona ha i capelli grigi. Il nostro modello utilizza l'età come unico predittore. Ecco, il nostro evento A = una persona ha i capelli grigi:

probabilità di registro di capelli grigi = -10 + 0,25 * età

...Regressione! Ecco un po 'di codice Python e una trama:

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

x = np.linspace(0, 100, 100)

def log_odds(x):
    return -10 + .25 * x

plt.plot(x, log_odds(x))
plt.xlabel("age")
plt.ylabel("log odds of gray hair")

trama delle probabilità del registro per il nostro esempio di giocattoli

P(UN) . Possiamo usare la funzione sigmoid:

P(UN)=11+exp(-probabilità di registro))

Ecco il codice:

plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")

trama della probabilità di capelli grigi per il nostro esempio di giocattolo

P(UN)>0.5

La regressione logistica funziona alla grande come classificatore anche in esempi più realistici, ma prima che possa essere un classificatore, deve essere una tecnica di regressione!


Sebbene in pratica le persone usino la regressione logistica come sinonimo di regressione logistica + classificatore binario.
jinawee,

10

Risposta breve

Sì, la regressione logistica è un algoritmo di regressione e prevede un risultato continuo: la probabilità di un evento. Il fatto che lo utilizziamo come classificatore binario è dovuto all'interpretazione del risultato.

Dettaglio

La regressione logistica è un tipo di modello di regressione lineare generalizzato.

In un normale modello di regressione lineare, un risultato continuo y, è modellato come la somma del prodotto dei predittori e del loro effetto:

y = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e

dov'è el'errore.

I modelli lineari generalizzati non modellano ydirettamente. Invece, usano le trasformazioni per espandere il dominio ya tutti i numeri reali. Questa trasformazione è chiamata funzione di collegamento. Per la regressione logistica la funzione di collegamento è la funzione logit (di solito, vedere la nota sotto).

La funzione logit è definita come

ln(y/(1 + y))

Quindi la forma della regressione logistica è:

ln(y/(1 + y)) = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e

dove y la probabilità di un evento.

Il fatto che lo utilizziamo come classificatore binario è dovuto all'interpretazione del risultato.

Nota: probit è un'altra funzione di collegamento utilizzata per la regressione logistica, ma logit è la più utilizzata.


1

Mentre discutete, la definizione di regressione prevede una variabile continua. La regressione logistica è un classificatore binario. La regressione logistica è l'applicazione di una funzione logit sull'output di un normale approccio di regressione. La funzione Logit attiva (-inf, + inf) su [0,1]. Penso che sia solo per ragioni storiche che mantiene quel nome.

Dicendo qualcosa del tipo "Ho fatto qualche regressione per classificare le immagini. In particolare ho usato la regressione logistica". è sbagliato.


2
La regressione logistica può essere utilizzata come classificatore binario, ma non è intrinsecamente uno. Potresti usarlo per stimare le probabilità o determinare la relazione di una variabile predittore con il risultato.
MattBagg,

0

Per dirla semplicemente qualsiasi funzione ipotetica f rende algoritmo di regressione if f:XR. Quindi la funzione logistica che èP(Y=1|λ,X)=11+e-λTX[0,1]crea un algoritmo di regressione. Quiλ è il coefficiente o iperpiano trovato da set di dati addestrati e Xè un punto dati. Qui,Siogn(P(Y=1|λ,X)) è preso come classe.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.