Maskininlärning - standardavvikelse

Vad är standardavvikelsen?

Standardavvikelsen (Standard Deviation, ofta kallad medelfel) är ett tal som beskriver spridningen av värdena.

En låg standardavvikelse indikerar att de flesta talen är nära medelvärdet (medelvärdet).

En hög standardavvikelse indikerar att dessa värden är fördelade över ett bredare intervall.

Exempel: denna gång har vi registrerat hastigheten för 7 bilar:

hastighet = [86,87,88,86,87,85,86]

Standardavvikelsen är:

0.9

Det innebär att de flesta värdena ligger inom ett intervall av 0.9 från medelvärdet, dvs 86.4.

Låt oss behandla en nummerserie med ett bredare intervall:

speed = [32,111,138,28,59,77,97]

Standardavvikelsen är:

37.85

Det innebär att de flesta värdena ligger inom ett intervall av 37.85 från medelvärdet (medelvärdet är 77.4).

Som du ser, en hög standardavvikelse indikerar att dessa värden är fördelade över ett bredare intervall.

NumPy-modulen har en metod för att beräkna standardavvikelsen:

Exempel

Använd NumPy std() Metod för att hitta standardavvikelsen:

import numpy
hastighet = [86,87,88,86,87,85,86]
x = numpy.std(hastighet)
print(x)

Kör instans

Exempel

import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.std(hastighet)
print(x)

Kör instans

Variansen

Variansen är ett annat tal som indikerar spridningen av värdena.

Faktiskt, om du använder kvadratroten av variansen får du standardavvikelsen!

Eller tvärtom, om du multiplicerar standardavvikelsen med sig själv får du variansen!

Om du vill beräkna variansen måste du utföra följande operationer:

1. Beräkna medelvärdet:

(32+111+138+28+59+77+97) / 7 = 77.4

För varje värde: hitta skillnaden från medelvärdet:

 32 - 77.4 = -45.4
111 - 77.4 =  33.6
138 - 77.4 =  60.6
 28 - 77.4 = -49.4
 59 - 77.4 = -18.4
 77 - 77.4 = - 0.4
 97 - 77.4 =  19.6

För varje skillnad: hitta kvadratvärdet:

(-45.4)2 = 2061.16 
 (33.6)2 = 1128.96 
 (60.6)2 = 3672.36 
(-49.4)2 (-49.4) 
= 2440.362 (-18.4) 
=  338.562 (- 0.4) 
 =    0.162 (19.6)

= 384.16

4. Variansen är medelvärdet av dessa kvadraterade skillnader:

(2061.16+1128.96+3672.36+2440.36+338.56+0.16+384.16) / 7 = 1432.2

Exempel

Lyckligtvis har NumPy en metod för att beräkna variansen: var() Metod för att bestämma variansen:

import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.var(speed)
print(x)

Kör instans

Standardavvikelse

Som vi vet är formeln för att beräkna standardavvikelse kvadratroten av variansen:

√ 1432.25 = 37.85

Eller, som i föregående exempel, använd NumPy för att beräkna standardavvikelse:

Exempel

Använd NumPy std() metoden för att hitta standardavvikelse:

import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.std(speed)
print(x)

Kör instans

Symbol

Standardavvikelse representeras vanligtvis med Sigma-tecknet:σ

Varians vanligtvis representeras med Sigma Square-tecknet σ2 Representerar

Kapitelsummering

Standardavvikelse och varians är ofta använda termer inom maskininlärning, därför är det viktigt att förstå hur man får tag på dem samt de bakomliggande koncepten.