機器學習 - 標準差
什麼是標準差?
標準差是一個描述數值分散程度的數字。
低的標準差意味著大多數數值都接近均值(平均值)。
高的標準差意味著數值分佈在一個更寬的範圍內。
示例:這次我們記錄了 7 輛汽車的速度
speed = [86,87,88,86,87,85,86]
標準差是
0.9
這意味著大多數數值都在距離均值(86.4)0.9 的範圍內。
讓我們對一組範圍更廣的數字做同樣的事情
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)
自己動手試一試 »
方差
方差是另一個表明數值分散程度的數字。
事實上,如果你計算方差的平方根,你就能得到標準差!
反之亦然,如果你將標準差乘以自身,你就能得到方差!
要計算方差,你需要執行以下步驟
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 Squared 表示:σ2
Chapter Summary
標準差和方差是機器學習中常用的術語,所以理解如何獲得它們以及它們背後的概念非常重要。