
Линейная регрессия - самый простой, но эффективный алгоритм машинного обучения
Итак, вы попали сюда после поиска в Интернете, чтобы понять линейную регрессию, и я должен сказать, что ваш поиск здесь заканчивается.
Итак, без дальнейшего ожидания, давайте просто перейдем к нему.
«Обобщение - конечная цель любого алгоритма машинного обучения»
Алгоритмы машинного обучения пытаются решить два основных типа проблем:
- Регрессия - прогнозирование непрерывного значения заданной точки данных
- Классификация - предсказать класс данной точки данных.
Линейная регрессия интуитивно представляет собой алгоритм регрессии с линейным подходом. Мы пытаемся предсказать непрерывное значение данной точки данных, обобщая данные, которые у нас есть. Линейная часть указывает на то, что мы используем линейный подход при обобщении данных.
Пример
Примеры упрощают понимание, поэтому предположим, что вы хотите предсказать цену дома, зная его размер. У вас есть данные, в которых указаны цены на жилье и соответствующие размеры. Нанесение данных на диаграмму и построение линии между ними будет выглядеть примерно так:

Чтобы обобщить, вы рисуете прямую линию так, чтобы она пересекала максимальные точки. Как только вы получите эту линию, для дома любого размера вы просто спроецируете эту точку данных на линию, которая дает вам цену дома.
Вот и все. Вы сделали. Но ждать!
Настоящая проблема
Проблема заключалась в том, чтобы не узнать цену дома. Проблема заключалась в том, чтобы найти наиболее подходящую линию, которая хорошо обобщает данные.
Используется то же старое линейное уравнение: y = mx + c с небольшим статистическим взглядом, а некоторые терминологии, приведенные ниже, добавлены специально для моделирования линейной регрессии.

Мы рассмотрим элементы уравнения один за другим:
- y - значение, которое вы хотите спрогнозировать.
- β₀ - Пересечение линии по оси Y означает, что линия пересекает ось Y
- β ₁ - Наклон или уклон линии означает, насколько крутой является линия.
- x - значение точки данных.
- u - остаточный шум или шум, вызванный необъяснимыми факторами.
Похоже, что мы можем легко прийти к лучшим значениям параметров методом проб и ошибок и, таким образом, найти наиболее подходящую линию. Но все не так просто, когда проблема, которую вы решаете, имеет больше измерений, что также известно как Проклятие размерности.

Множественная линейная регрессия будет иметь n функций, и мы должны найти линию, которая соответствует всем точкам данных для всех измерений. Вы начали понимать, что это уже не пробное решение.
Математика спешит на помощь
Мы можем нарисовать бесконечное количество линий, но никогда нельзя быть уверенным, что линия подходит лучше всего или нет, поэтому здесь входит наш спаситель: Функция стоимости
«Математика - королева науки»
Я всю жизнь убегал от математики, но, видите ли, от нее просто не уйти. Он действительно интуитивно понятен и дает вам возможность увидеть, что происходит под капотом.
Функция стоимости - это математическая конструкция, которая вычисляется путем сложения квадратов ошибок.

Немного изменив приведенное выше уравнение, мы получим следующее уравнение:

где J - обозначение стоимости, а θ - параметр
Наша цель - уменьшить функцию стоимости, что, в свою очередь, повысит точность. Мы можем взять значения параметров методом проб и ошибок и вычислить MSE для каждой комбинации параметров, но это неэффективный метод. Похоже, у этой проблемы есть исчисление.
Градиентный спуск
Градиентный спуск - это простой метод оптимизации для поиска минимума любой функции, в этом случае мы хотим найти минимумы нашей функции MSE.

Вы можете визуализировать функцию как долину, и вы стоите в какой-то случайной точке. Ваша цель - добраться до самой нижней точки долины, и градиентный спуск поможет вам добраться до самой нижней точки долины.
Вот как вы это сделаете:
Вы увидите и узнаете, где спускается склон долины, затем начнете делать шаги к спускающемуся склону. Как только вы видите, что каждый контур вокруг вас находится выше того места, где вы стоите, вы заявляете, что достигли самой нижней точки.
Вот как это работает с градиентным спуском:
Он должен знать, куда идет склон долины (и у него нет глаз, как у вас), поэтому здесь нужна помощь математики.
Чтобы узнать наклон функции в любой точке, вы дифференцируете эту точку относительно ее параметров, таким образом, градиентный спуск дифференцирует указанную выше функцию стоимости и узнает наклон этой точки.
Чтобы добраться до самой нижней точки, необходимо пройти в направлении, противоположном склону, то есть там, где уклон уменьшается.
Он должен делать небольшие шаги, чтобы двигаться к нижней точке, и, таким образом, скорость обучения определяет длину шага, который будет выполняться при градиентном спуске.
После каждого хода он проверяет, является ли текущая позиция глобальным минимумом или нет. Это подтверждается наклоном этой точки, если наклон равен нулю, то алгоритм достиг самой нижней точки.
После каждого шага он обновляет параметр (или веса) и, повторяя вышеуказанный шаг несколько раз, достигает самой нижней точки.
Победа
Как только вы достигли самой нижней точки долины, это означает, что у вас есть параметры, соответствующие наименьшей функции MSE или стоимости, и эти значения параметров обеспечат вам наивысшую точность.
Теперь вы можете использовать свою модель линейной регрессии для прогнозирования зависимой переменной любой непредвиденной точки данных с очень высокой точностью.
Если вы все еще здесь со мной, значит, у вас есть концепция линейной регрессии, и вы готовы применять ее для решения реальных проблем, которые имеют значение.
Приложения линейной регрессии
- Анализ драйверов продаж - линейную регрессию можно использовать для прогнозирования продаж продуктов в будущем на основе покупательского поведения в прошлом.
- Прогнозирование экономического роста. Экономисты используют линейную регрессию для прогнозирования экономического роста страны или штата.
- Прогнозирование результатов - спортивный аналитик использует линейную регрессию для прогнозирования количества забегов или голов, которые игрок забьет в следующих матчах, на основе предыдущих результатов.
- Оценка заработной платы - организация может использовать линейную регрессию, чтобы определить, сколько они будут платить новому сотруднику на основе многолетнего опыта.
- Прогноз цен на жилье - линейный регрессионный анализ может помочь застройщику предсказать, сколько домов он продаст в ближайшие месяцы и по какой цене.
- Прогноз цен на нефть - цены на нефть можно прогнозировать с помощью линейной регрессии.
В следующих статьях мы углубимся в математическую часть и закодируем модель линейной регрессии с использованием Python.
Сообщите мне, могу ли я улучшить этот пост в каком-либо аспекте, оставив свой отзыв в разделе комментариев ниже или отправив мне письмо по адресу [email protected]