Concetto di regressione logistica
La regressione logistica è un algoritmo di classificazione binaria. È un algoritmo decisionale, il che significa che crea confini tra due classi. Estende il problema di regressione lineare che utilizza un funzione di attivazione sulle sue uscite per limitarlo tra 1 e 0. Di conseguenza, questo viene utilizzato per i problemi di classificazione binaria. Il grafico della regressione logistica sembra la figura seguente:
Possiamo vedere che il grafico è limitato tra 0 e 1. La regressione lineare normale può dare il valore target come numero reale, ma non è così con la regressione logistica dovuta alla funzione sigmoideo. La regressione logistica si basa sul concetto di stima della massima verosimiglianza (MLE). La massima probabilità sta semplicemente prendendo una distribuzione di probabilità con un determinato set di parametri e chiedendo: “Quanto è probabile che vedrei questi dati se i miei dati fossero generati da questa distribuzione di probabilità?"Funziona calcolando la probabilità per ogni singolo punto dati e quindi moltiplicando tutte quelle probabilità insieme. In pratica, aggiungiamo i logaritmi delle probabilità.
Se abbiamo bisogno di creare un modello di apprendimento automatico, ogni punto dati variabile indipendente sarà x1 * w1 + x2 * w2 ... e così via, producendo un valore tra 0 e 1 quando è passato attraverso la funzione di attivazione. Se prendiamo 0.50 come fattore o soglia decisiva. Quindi, qualsiasi risultato maggiore di 0.5 è considerato come 1, mentre qualsiasi risultato inferiore a quello è considerato come 0.
Per più di 2 classi, utilizziamo l'approccio unico per tutti. One-VS-All, noto anche come REST a VS, è un processo di classificazione ML multilabel e multiclasse. Funziona prima allenando un classificatore binario per ciascuna categoria, quindi adattando ogni classificatore a ciascun input per determinare a quale classe appartiene. Se il tuo problema ha nzioni N, un VS-tutti convertirà il tuo set di dati di formazione in n problemi di classificazione binaria.
La funzione di perdita associata alla regressione logistica è Entropia incrociata binaria che è il contrario del guadagno delle informazioni. Questo è anche noto come il nome Perdita di registro. La funzione di perdita è data dall'equazione:
Qual è la funzione di perdita?
Una funzione di perdita è una metrica matematica che vogliamo ridurre. Vogliamo costruire un modello in grado di prevedere accuratamente ciò che vogliamo e un modo per misurare le prestazioni del modello è guardare la perdita poiché sappiamo cosa produce il modello e cosa dovremmo ottenere. Possiamo addestrare e migliorare il nostro modello utilizzando questa perdita e regolando i parametri del modello di conseguenza. Le funzioni di perdita variano a seconda del tipo di algoritmo. Per la regressione lineare, l'errore medio quadrato e l'errore assoluto medio sono funzioni di perdita popolari, mentre l'intropia è appropriata per i problemi di classificazione.
Qual è la funzione di attivazione?
Le funzioni di attivazione sono semplicemente funzioni matematiche che modificano la variabile di input per fornire un nuovo output. Questo di solito viene fatto nell'apprendimento automatico per standardizzare i dati o limitare l'input a un determinato limite. Le funzioni di azione popolare sono sigmoidee, unità lineare rettificata (RELU), tan (H), ecc.
Cos'è Pytorch?
Pytorch è una popolare alternativa di apprendimento profondo che funziona con la torcia. È stato creato dal dipartimento di intelligenza artificiale di Facebook, ma può essere utilizzato in modo simile ad altre opzioni. Viene utilizzato per sviluppare una varietà di modelli, ma è ampiamente applicato nei casi d'uso di elaborazione del linguaggio naturale (NLP). Pytorch è sempre un'ottima opzione se si desidera creare modelli con pochissime risorse e desideri una libreria intuitiva, facile da usare e light per i tuoi modelli. Si sente anche naturale, il che aiuta nel completamento del processo. Useremo Pytorch per l'implementazione dei nostri modelli per le ragioni menzionate. Tuttavia, l'algoritmo rimane lo stesso con altre alternative come Tensorflow.
Implementazione della regressione logistica in Pytorch
Useremo i passaggi seguenti per l'implementazione del nostro modello:
Classificheremo il Set di dati mnist cifre. Questo è un popolare problema di apprendimento profondo insegnato ai principianti.
Per prima cosa importa le librerie e i moduli richiesti.
Torcia di importazioneIl prossimo passo è importare il set di dati.
treno = dset.Mnist (root = './Data ', treno = true, trasform = trasformazioni.Totensor (), download = false)Utilizza il caricatore di dati per rendere i tuoi dati
train_loader = torcia.utils.dati.DataLoader (DataSet = Train, batch_size = batch_size, shuffle = true)Definire il modello.
Modello di classe (torcia.nn.Modulo):Specificare iperparametri, ottimizzatore e perdita.
batch = 50Allena finalmente il modello.
ITR = 0Conclusione
Abbiamo esaminato la spiegazione della regressione logistica e la sua implementazione usando Pytorch, che è una biblioteca popolare per lo sviluppo di modelli di apprendimento profondo. Abbiamo implementato il problema della classificazione del set di dati MNIST in cui abbiamo riconosciuto le cifre in base ai parametri delle immagini.