Scipy Softmax

Scipy Softmax

Python è il linguaggio di programmazione più versatile e riconosciuto di tutti gli altri linguaggi di programmazione esistenti. Python è molto apprezzato dai programmatori amatoriali perché Python ha una sceneggiatura relativamente semplice che è più simile alla lingua inglese. Inoltre, questa lingua è considerata portatile e un linguaggio di computer multipiattaforma poiché Python non richiede alcuna dipendenza da sistemi operativi specifici per il suo interprete per funzionare correttamente.

Scipy è un pacchetto che include un ampio elenco di linguaggi di programmazione Python. Questo pacchetto viene utilizzato per costruire e formare reti neurali artificiali e modelli di apprendimento profondo. Abilita anche i calcoli matematici per i programmi. SCIPY "Softmax" rappresenta una funzione utilizzata per l'array ND nei programmi per applicare la trasformazione di Softmax sulle righe dell'array ND e calcolare la somma lungo le righe dell'array.

Per comprendere il softmax, possiamo supporre che la funzione Softmax possa trasformare le righe o ogni elemento nell'array ND e può calcolare l'esponenziale del singolo elemento prendendo la sua divisione con la somma dell'esonenziale di tutti gli elementi nelle righe /colonne. È una funzione matematica ed è responsabile della conversione di un vettore che è in numero in un vettore che è in probabilità. Questa probabilità di ciascun elemento è proporzionale alla scala/intervallo di ciascuno del valore dell'elemento in quel vettore ed è data dall'equazione come segue:

$ softmax (x) = np. exp (x)/ somma (NP. exp (x))

SoftMax è una funzione di attivazione e generalizza o si avvicina all'insieme di valori in qualche soglia. Se il valore è inferiore alla soglia, avrà un'importanza diversa rispetto al valore pari o maggiore della soglia che rientra nella diversa categoria. Nelle reti neurali artificiali, la funzione di attivazione decide quale neurone viene licenziato o attivato per cadere nell'output.

Procedura:

Nell'articolo, implementeremo la funzione di attivazione di SoftMax da Scipy. Esploreremo come funziona questa funzione e quale vantaggio può offrire nel programma. Impareremo anche la sintassi di questa funzione ed eseguiremo due esempi per ottenere buone pratiche sulla funzione.

Sintassi:

$ SCIPY. è speciale.softmax (x, axis = nessuno)

I parametri del softmax sono il "x" e "asse" in cui "x" definisce l'array o il set di dati su cui applichiamo l'attivazione di softmax e "asse" è l'asse lungo il quale calcoliamo questa funzione Softmax. Il suo valore predefinito è uguale a nessuno.

Valore di ritorno:

Poiché le funzioni convertono il valore di ciascun elemento nell'array nella sua probabilità, il valore di ritorno di questa funzione è un singolo valore ed è "1" poiché prende la somma massima e di approssimazione di tutti i valori esponenziali nelle righe.

Esempio:

Usiamo la funzione softmax su un array ed esaminiamo l'output se arriva esattamente il modo in cui abbiamo rivendicato nella descrizione della funzione. Passare alla "collaborazione di Google". Questa è una piattaforma Python online e fornisce pacchetti preinstallati con allocazione GPU per salvare il tempo e l'archiviazione del sistema. Per lavorare con Google Collab, creiamo un nuovo notebook e salviamo in Google Drive. Per cominciare con l'esempio, importa alcuni pacchetti necessari dal pacchetto preinstallato di Python per caricare i moduli pertinenti che consentono il funzionamento della funzione "Softmax ()".

Due delle biblioteche più importanti sono incluse nel programma, "Numpy" e "Scipy. Biblioteche speciali ". Importiamo Numpy come "NP". Il Scipy.Special viene importato come "Softmax". Questo softmax è ora aggiunto al nostro programma. Ora possiamo usarlo e far funzionare il nostro programma senza sforzo. Ora creiamo un Array ND in modo da poter applicare la funzione di attivazione di SoftMax su di esso. Ma prima di ciò, facciamo un altro passo e questo è quello di preselezionare i valori fluttuanti nel nostro array che vengono visualizzati a quale precisione o fino a quale numero di luoghi dopo il decimale. Questo viene fatto scrivendo il comando come "NP.set_printoptions (precision = 4) ”nel programma. La funzione set_printoptions fa questa precisione. Qui, la precisione pari a "4" significa che i valori stampati su quattro decimali.

Con questo passaggio, ora dichiariamo una variabile denominata "array". Assegniamo un array tridimensionale a questa variabile. Per creare l'array tridimensionale, chiamiamo "NP. Metodo array ([]) "come" NP. array ([[1, 0.5, 0.2, 3], [1, -1, 7, 3], [2, 12, 13, 3]]) ". Questo è l'array tridimensionale poiché questo array ha tre colonne e tre righe. Questo array nell'esempio rappresenta il set di dati poiché il set di dati è anche un array multidimensionale. Applichiamo la funzione SoftMax su questo array come "softmax (array)" e salviamo i risultati da questa funzione in un altro "risultato" variabile. Oppure stampiamo direttamente i risultati con l'aiuto della funzione "print ()". Il codice per questo programma viene visualizzato nel seguente snippet allegato:

da Scipy.Importazione speciale Softmax
Importa Numpy come NP
np.set_printoptions (precisione = 4)
array = np.Array ([[1, 2, 8, 3],
[1, -1, 2, 3],
[2, 11, 14, 3]])
risultato = softmax (array)
Stampa (risultato)
risultato.somma()

Osserva dall'output che la funzione ha convertito il valore nella riga che era in numero nei valori esponenziali esattamente come abbiamo discusso in precedenza nell'introduzione di questo argomento. Ora, per verificare un altro punto che questa funzione prende la somma di questi valori e restituisce il valore uguale a "1", passiamo i risultati dalla funzione SoftMax alla funzione di somma come "risultato.Sum () ”e visualizzare i risultati. Il codice per questa spiegazione è riportato nel seguente output:

L'output restituisce il valore "1" dopo aver calcolato la somma, il che significa che viene verificato anche il secondo punto.

Conclusione

L'articolo mette la funzione "Softmax" di Scipy sotto i riflettori. L'articolo fornisce una visione più profonda del concetto della funzione Softmax di attivazione e perché la richiediamo nei nostri modelli. Quindi, dimostra il metodo per applicare la funzione Softmax sull'array ND per verificare i risultati discussi nella spiegazione dell'argomento.