Найти в Дзене

Degrees of Freedom в Машинном обучении простыми словами

Оглавление
Фото: @tom_churchhill
Фото: @tom_churchhill

Степени свободы (D_f , C) – это количество параметров (точек контроля) Модели (Model). Они указывают количество независимых значений, которые могут изменяться в ходе анализа без нарушения каких-либо ограничений.

Пример.

  • Рассмотрим выборку данных, состоящую для простоты из пяти положительных целых чисел. Значения могут быть любыми числами без известной связи между ними. Эта выборка данных теоретически должна иметь пять степеней свободы.
  • Четыре числа в выборке - это {3, 8, 5 и 4}, а среднее значение всей выборки данных равно 6.
  • Это должно означать, что пятое число равно 10. Иначе быть не может. У пятого значения нет свободы варьироваться.
  • Таким образом, степень свободы для этой выборки данных равна 4.

Формула степени свободы выглядит следующим образом:

-2

где

D_f – степень свободы

N – количество значений

Математически степени свободы часто представляют, используя греческую букву "ню", которая выглядит так: ν. Вы наверняка встретите и такие сокращения: 'd.o.f.', 'dof', 'd.f.' или просто 'df'.

Степени свободы в статистике

Степени свободы в статистике – это количество значений, используемых при вычислении переменной.

Степени свободы = Количество независимых значений - Количество статистик

Пример. У нас есть 50 независимых значений, и мы хотим вычислить одну-единственную статистику "среднее". Согласно формуле, степеней свободы будет 50 - 1 = 49.

Степени свободы в Машинном обучении

В прогностическом моделировании, степени свободы часто относятся к количеству параметров, включая данные, используемые при вычислении ошибки модели. Наилучший способ понять это – рассмотреть модель линейной регрессии.

Рассмотрим модель линейной регрессии для Датасета (Dataset) с двумя входными переменными. Нам потребуется один коэффициент в модели для каждой входной переменной, то есть модель будет иметь еще и два параметра.

-3

где

y – целевая переменная

x_1, x_2 – входные переменные

β_1, β_2 – параметры модели

Эта модель линейной регрессии имеет две степени свободы, потому что есть два параметра модели, которые должны быть оценены на основе обучающего датасета. Добавление еще одного столбца к данным (еще одной входной переменной) добавит модели еще одну степень свободы. Сложность обучения модели линейной регрессии описывается степенью свободы, например, "модель четвертой степени сложности" означает наличие четырех входных переменных, а также степень свободы, равную четырем.

Степени свободы для ошибки линейной регрессии

Количество обучающих примеров имеет значение и влияет на количество степеней свободы регрессионной модели. Представьте, что мы создаем модель линейной регрессии на базе датасета, состоящего из ста строк.

Сравнивая предсказания модели с реальными выходными значениями, мы минимизируем ошибку. Итоговая ошибка модели имеет одну степень свободы для каждого ряда за вычетом количества параметров. В нашем случае ошибка модели 98 степеней свободы (100 рядов - 2 параметра).

Итоговые степени свободы для линейной регрессии

Конечные степени свободы для модели линейной регрессии рассчитываются как сумма степеней свободы модели плюс степени свободы ошибки модели. В нашем примере это 100 (2 степени свободы модели + 98 степеней свободы ошибки). Как вы уже заметили, степеней свободы столько, сколько рядов в датасете.

Теперь рассмотрим набор данных из 100 строк, но теперь у нас есть 70 входных переменных. Это означает, что модель имеет еще и 70 коэффициентов, что дает нам d.o.f. ошибки, равной 30 (100 строк - 70 коэффициентов). d.o.f. самой модели по-прежнему равен ста.

Отрицательные степени свободы

Что происходит, когда у нас больше столбцов, чем строк данных? Отрицательные значения вполне допустимы здесь. Например, у нас может быть 100 строк данных и 10 000 переменных, к примеру, маркеры генов для 100 пациентов. Следовательно, модель линейной регрессии будет иметь 10 000 параметров, то есть модель будет иметь 10 000 степеней свободы.

Тогда степени свободы рассчитываются следующим образом:

Степень свободы модели = Количество независимых значение - Количество параметров = 100 - 10 000 = -9 900

В свою очередь, степени свободы модели линейной регрессии будут следующими:

Степени свободы модели линейной регрессии = Степени свободы модели - Степени свободы ошибки модели = 10 000 - 9 900 = 100

Понравилась статья? Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал. И попробуйте наши курсы по Машинному обучению на Udemy.