Scipy softmax

Scipy softmax

Python er det mest allsidige og anerkjente programmeringsspråket til alle andre eksisterende programmeringsspråk. Python er mest likt av amatørprogrammerere fordi Python har et relativt enkelt manus som er mest som det engelske språket. Videre anses dette språket som bærbart og et dataspråk på tvers av plattformer siden Python ikke krever noen avhengigheter av spesifikke operativsystemer for at tolken skal fungere ordentlig.

Scipy er en pakke som inneholder en omfattende liste over Python -programmeringsspråk. Denne pakken brukes til å bygge og trene kunstige nevrale nettverk og dype læringsmodeller. Det muliggjør også matematiske beregninger for programmer. Scipy “SoftMax” representerer en funksjon som brukes til ND-Array i programmene for å anvende SoftMax-transformasjonen på radene til ND-array og beregne summen langs radene til matrisen.

For å forstå SoftMax, kan vi anta at SoftMax-funksjonen kan transformere radene eller hvert element i ND-array og kan beregne eksponentiell for det individuelle elementet ved å ta sin inndeling med summen av eksponentiell for alle elementene i radene /kolonner. Det er en matematisk funksjon, og den er ansvarlig for å konvertere en vektor som er i antall til en vektor som er i sannsynlighet. Denne sannsynligheten for hvert element er proporsjonal med skalaen/området for hver av elementets verdi i den vektoren og er gitt av ligningen som følger:

$ softmax (x) = np. exp (x)/ sum (np. exp (x))

SoftMax er en aktiveringsfunksjon, og den generaliserer eller tilnærmer settet med verdier i en eller annen terskel. Hvis verdien er mindre enn terskelen, vil den ha annen betydning enn verdien som er lik eller større enn terskelen som faller inn i den forskjellige kategorien. I kunstige nevrale nettverk bestemmer aktiveringsfunksjonen hvilken nevron som blir avfyrt eller blir aktivert for å falle i utgangen.

Fremgangsmåte:

I artikkelen vil vi implementere SoftMax -aktiveringsfunksjonen fra Scipy. Vi vil utforske hvordan denne funksjonen fungerer og hvilken fordel den kan gi i programmet. Vi vil også lære om syntaks for denne funksjonen og utføre to eksempler for å få god praksis på funksjonen.

Syntaks:

$ scipy. er spesiell.softmax (x, akse = ingen)

Parametrene til SoftMax er “X” og “Axis” der “X” definerer matrisen eller datasettet som vi bruker softMax -aktiveringen og “Axis” er aksen som vi beregner denne softMax -funksjonen. Standardverdien er lik ingen.

Returverdi:

Siden funksjonene konverterer verdien av hvert element i matrisen til sannsynligheten, er returverdien til denne funksjonen en enkelt verdi og den er "1" siden den tar maksimum og tilnærmingssum for alle eksponentielle verdier i radene.

Eksempel:

La oss bruke SoftMax -funksjonen på en matrise og undersøke utgangen hvis det kommer akkurat slik vi hevdet i beskrivelsen av funksjonen. Naviger til “Google Collab”. Dette er en online Python-plattform og gir forhåndsinstallerte pakker med GPU-tildeling for å spare tid og systemlagring. For å jobbe med Google Collab, oppretter vi en ny notisbok og lagrer den i Google Drive. Til å begynne med eksemplet, la oss importere noen nødvendige pakker fra den forhåndsinstallerte pakken med Python for å laste inn de relevante modulene som muliggjør arbeid med "softmax ()" -funksjonen.

To av de viktigste bibliotekene er inkludert i programmet, "Numpy" og "Scipy. Spesielle ”biblioteker. Vi importerer Numpy som “NP”. Scipy.Spesiell importeres som "softmax". Denne softmax er nå lagt til i programmet vårt. Vi kan nå bruke det og få programmet vårt til å kjøre uten problemer. Nå lager vi en ND-array slik at vi kan bruke SoftMax-aktiveringsfunksjonen på den. Men før det gjør vi et nytt trinn, og det er å forhåndsinnsatte flyteverdiene i vår matrise som vises til hvilken presisjon eller til hvilket antall sted etter desimal. Dette gjøres ved å skrive kommandoen som “NP.set_printOptions (presisjon = 4) ”i programmet. Set_printOptions -funksjonen gjør denne presisjonen. Her betyr presisjonen som tilsvarer “4” at verdiene skriver ut til fire desimaler.

Når dette trinnet blir gjort, erklærer vi nå en variabel som heter “Array”. Vi tildeler en tredimensjonal matrise til denne variabelen. For å lage den tredimensjonale matrisen, kaller vi “NP. Array ([]) "-metode som“ NP. Array ([[1, 0.5, 0.2, 3], [1, -1, 7, 3], [2, 12, 13, 3]]) ””. Dette er den tredimensjonale matrisen siden denne matrisen har tre kolonner og tre rader i den. Denne matrisen i eksemplet representerer datasettet siden datasettet også er en flerdimensjonal matrise. Vi bruker SoftMax -funksjonen på denne matrisen som “SoftMax (Array)” og lagrer resultatene fra denne funksjonen i en annen variabel “Resultat”. Eller vi skriver direkte ut resultatene ved hjelp av "print ()" -funksjonen. Koden for dette programmet vises i følgende vedlagte utdrag:

Fra scipy.Spesiell import softmax
Importer numpy som NP
np.set_printOptions (presisjon = 4)
Array = NP.Array ([[1, 2, 8, 3],
[1, -1, 2, 3],
[2, 11, 14, 3]])
Resultat = softMax (matrise)
trykk (resultat)
resultat.sum()

Observer fra utgangen at funksjonen konverterte verdien i raden som var i antall til eksponentielle verdier nøyaktig som vi diskuterte tidligere i introduksjonen av dette emnet. For å bekrefte et annet punkt at denne funksjonen tar summen av disse verdiene og returnerer verdien lik "1", passerer vi resultatene fra softMax -funksjonen til sumfunksjonen som "Resultat.sum () ”og vise resultatene. Koden for denne forklaringen er gitt i følgende utdata:

Utgangen returnerer verdien “1” etter beregning av summen, noe som betyr at det andre punktet også er bekreftet.

Konklusjon

Artikkelen setter Scipys “softmax” -funksjon i søkelyset. Artikkelen gir en dypere innsikt i konseptet med Activation SoftMax -funksjonen og hvorfor vi krever den i modellene våre. Deretter demonstrerer den metoden for å anvende SoftMax-funksjonen på ND-array for å bekrefte resultatene som ble diskutert i forklaringen av emnet.