Logistic regression
Classificazione
Nota: il termine logistic regression sta ad indicare un algoritmo per la classificazione anche se nel nome è presente la parola “regression”. La classificazione differisce dalla regressione solo per la tipologia della variabile target. Nei task di classificazione si va ad utilizzare un threshold, ossia un valore tale che se il valore predetto supera tale valore, allora viene assegnato ad una classe, altrimenti viene assegnata la classe restante. Nel caso in cui il dominio della variabile target sia compreso tra 0 e 1, il modello dovrà generare un valore predetto in questo range e non superiore.
Anche nella regressione logistica si usa una funzione lineare (come nella regressione normale), ma dato che siamo interessati ad ottenere un valore che è o 0 oppure 1, è necessario usare la funzione sigmoid che prende in input il valore restituito dalla funzione lineare e restituisce un valore compreso tra 0 e 1.
Logistic regression 1
Nota: la funzione sigmoid viene anche chiamata funzione logistica. Applicare la funzione sigmoid non basta per la classificazione (in quanto abbiamo solo valori tra 0 e 1 e non i due estremi direttamente). Per ottenere un 1 oppure uno 0, dobbiamo applicare un decision boundary, una sorta di soglia/threshold che in base al valore restituito dalla funzione sigmoid stabilisce la classe (se supera o meno questa soglia).
Nota: alla fine di tutto, il modello non è altro che la funzione sigmoid che riceve in input il valore della funzione lineare, mentre il decision boundary è qualcosa di distaccato dalla funzione sigmoid ma che serve comunque per la classificazione. Nota: in questo caso si può pensare al modello come una coppia sigmoid function + decision boundary.
Dal punto di vista probabilistico
Dal punto di vista probabilistico, la funzione sigmoid ci dice la probabilità che l’istanza che stiamo considerando appartenga alla classe 1 (positiva).
Logistic regression 2
Quindi se \( h(x) = 0.7 \), il modello ci sta dicendo che l’istanza di input \( x \) appartiene alla classe 1 con probabilità 0.7 (70%) con l’insieme dei parametri \( \theta \).
Come nella regressione lineare, per determinare i migliori parametri è necessario stabilire una funzione di costo che poi verrà minimizzata per identificare i migliori parametri. In questo caso, il problema di minimizzare la funzione di costo può essere ripensato andando a trovare la migliore ipotesi usando il criterio della massima verosimiglianza.
Nota: \( L(\theta) \) rappresenta la massima verosimiglianza. Nota: il nostro obiettivo è quello di trovare l’insieme di parametri \( \theta \) che massimizza la probabilità \( p(y|X; \theta) \). Nota: la funzione di massima verosimiglianza rappresenta la probabilità che un modello di parametro \( \theta \) abbia generato i dati osservati \( X \).
Nota: la funzione di costo in questo caso rappresenta la nostra funzione di “costo”, solo che invece di massimizzarla dobbiamo massimizzarla dato che, per quanto detto prima:
Logistic regression 3
Nota: la probabilità condizionata viene calcolata in questo modo perché \( Y \) segue una distribuzione di Bernoulli (\( P(y) = \sigma \cdot (1-\sigma)^{1-y} \)). Possiamo riformulare la funzione di massima verosimiglianza nel seguente modo: Dato che la produttoria di probabilità (numeri più minori di 0) potrebbe portare il computer in underflow, si passa al logaritmo della funzione:
Nota: il passaggio da produttoria a sommatoria è dovuto alla proprietà dei logaritmi \( \log(a \cdot b \cdot c) = \log(a) + \log(b) + \log(c) \).