機器學習 - 標準差
什么是標準差?
標準差(Standard Deviation,又常稱均方差)是一個數字,描述值的離散程度。
低標準偏差表示大多數數字接近均值(平均值)。
高標準偏差表示這些值分布在更寬的范圍內。
例如:這次我們已經登記了 7 輛車的速度:
speed = [86,87,88,86,87,85,86]
標準差是:
0.9
意味著大多數值在平均值的 0.9 范圍內,即 86.4。
讓我們對范圍更廣的數字集合進行處理:
speed = [32,111,138,28,59,77,97]
標準差是:
37.85
這意味著大多數值都在平均值(平均值為 77.4)的 37.85 范圍內。
如您所見,較高的標準偏差表示這些值分布在較寬的范圍內。
NumPy 模塊有一種計算標準差的方法:
實例
請使用 NumPy std()
方法查找標準差:
import numpy speed = [86,87,88,86,87,85,86] x = numpy.std(speed) print(x)
實例
import numpy speed = [32,111,138,28,59,77,97] x = numpy.std(speed) print(x)
方差
方差是另一種數字,指示值的分散程度。
實際上,如果采用方差的平方根,則會得到標準差!
或反之,如果將標準偏差乘以自身,則會得到方差!
如需計算方差,您必須執行以下操作:
1. 求均值:
(32+111+138+28+59+77+97) / 7 = 77.4
2. 對于每個值:找到與平均值的差:
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
3. 對于每個差異:找到平方值:
(-45.4)2 = 2061.16 (33.6)2 = 1128.96 (60.6)2 = 3672.36 (-49.4)2 = 2440.36 (-18.4)2 = 338.56 (- 0.4)2 = 0.16 (19.6)2 = 384.16
4. 方差是這些平方差的平均值:
(2061.16+1128.96+3672.36+2440.36+338.56+0.16+384.16) / 7 = 1432.2
幸運的是,NumPy 有一種計算方差的方法:
實例
使用 NumPy var()
方法確定方差:
import numpy speed = [32,111,138,28,59,77,97] x = numpy.var(speed) print(x)
標準差
如我們所知,計算標準差的公式是方差的平方根:
√ 1432.25 = 37.85
或者,如上例所示,使用 NumPy 計算標準差:
實例
請使用 NumPy std() 方法查找標準差:
import numpy speed = [32,111,138,28,59,77,97] x = numpy.std(speed) print(x)
符號
標準差通常用 Sigma 符號表示:σ
方差通常由 Sigma Square 符號 σ2 表示
章節總結
標準差和方差是機器學習中經常使用的術語,因此了解如何獲取它們以及它們背后的概念非常重要。