Машинное обучение — стандартное отклонение
Что такое стандартное отклонение?
Стандартное отклонение — это число, которое описывает, насколько разбросаны значения.
Низкое стандартное отклонение означает, что большинство чисел близки к среднему (среднему) значению.
Высокое стандартное отклонение означает, что значения разбросаны по более широкому диапазону.
Пример: На этот раз мы зарегистрировали скорость 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
Это означает, что большинство значений находятся в диапазоне 37,85 от среднего значения, равного 77,4.
Как видите, более высокое стандартное отклонение указывает на то, что значения разбросаны по более широкому диапазону.
В модуле 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 Square: σ 2
Краткое содержание главы
Стандартное отклонение и дисперсия — это термины, которые часто используются в машинном обучении, поэтому важно понимать, как их получить, и лежащую в их основе концепцию.