Известно, что цена любого дома может зависеть от таких характеристик, как населенный пункт, количество комнат, возраст дома и многих других. Давайте возьмем задачу, в которой вы хотите предсказать цену, основываясь только на одной функции. Такую проблему можно решить с помощью модели линейной регрессии с одной переменной. Давайте посмотрим, как это работает.

Типы:

• Одномерная линейная регрессия (один признак)

• Множественная линейная регрессия (несколько функций)

Представление

Одномерная линейная регрессия

Мы хотим предсказать однозначный вывод (y) из однозначного ввода (x).

Допустим, мы хотим предсказать цену дома на основе его размера. При построении точек данных мы получаем следующий график:

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

Используя уравнение ст. строка , мы получаем гипотезу в виде:

hθ (x) — это значение y, которое мы прогнозируем, а x — это значение входного признака.

Функция стоимости

Определяет, как подобрать наилучшую возможную прямую линию к нашим данным, чтобы минимизировать потери. Потеря — это число, показывающее, насколько плохим был прогноз модели на одном примере. В случае линейной регрессии это можно принять как разницу между прогнозируемым значением и фактическим значением. Цель обучения модели — найти набор параметров с низкими потерями в среднем во всех примерах.

Считайте синюю линию функцией, а желтые кружки — точками данных. Ясно видно, что функция на правой диаграмме является более подходящей, поскольку совокупные потери меньше по сравнению с функцией на левой.

Поэтому идея выбора функции стоимости дается как:

Градиентный спуск

Алгоритм минимизации функции стоимости. У нас есть J(θ0, θ1), мы хотим получить min J(θ0, θ1)

Работает

  • Начните с начального предположения [скажем, (0,0) (или любое другое значение)
  • Продолжая немного изменять θ0 и θ1, чтобы попытаться уменьшить J(θ0, θ11)
  • Каждый раз, когда вы меняете параметры, вы выбираете градиент, который максимально уменьшает J(θ0,θ1).
  • Повторение
  • Делайте так, пока не сойдетесь к локальному минимуму

Алгоритм

Повторять до сходимости:

Обозначения

:= — оператор присваивания

α - скорость обучения

  • Это число, которое контролирует спуск
  • Если α большое, то это соответствует очень агрессивным шагам.
  • Если α очень мало, то шаги очень малы

Реализация приведенного выше уравнения:

  • Одновременное обновление θ0 , θ1

Для производных терминов:

  • Градиентный спуск может сходиться к локальному минимуму даже при фиксированной скорости обучения.
  • Когда мы приближаемся к локальному минимуму, градиентный спуск автоматически будет делать меньшие шаги и, наконец, станет равным 0.

Линейная регрессия с несколькими переменными

Представление

Теперь, когда у нас есть много признаков, гипотеза меняется на:

Функция стоимости

Градиентный спуск

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

Приятного чтения!