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

Линейная модель

Линейные модели описывают непрерывную переменную отклика как функцию одной или нескольких переменных-предикторов. Линейная регрессия — это статистический метод, используемый для создания линейной модели. Модель описывает взаимосвязь между зависимой переменной Y (также называемой response) как функцией одной или нескольких независимых переменных Xi (называемой предикторы). Общее уравнение для линейной модели:

Частотная линейная регрессия

Модель предполагает, что переменная ответа y представляет собой линейную комбинацию весов, умноженную на набор предикторов x.

w — это вес, а член ε — это член ошибки; представляющий шум случайной выборки. Мы можем обобщить линейную модель на любое количество предикторов, используя матричные уравнения.

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

Байесовская линейная регрессия

Байесовский подход формулирует линейную регрессию, используя распределения вероятностей, а не точечные оценки. Ответ y не оценивается как одно значение, а предполагается, что он получен из распределения вероятностей. Выход y генерируется из нормального распределения Гаусса, характеризуемого средним значением и дисперсией. Среднее значение для линейной регрессии – это транспонирование матрицы весов, умноженное на матрицу предикторов x.

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

Здесь P(w | y,x) — апостериорное распределение вероятностей параметров модели с учетом входных и выходных данных. Это равно вероятности данных P(y | w,x), умноженной на априорную вероятность параметров и деленной на константу нормализации.

Максимальная вероятность

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

Переоснащение и недообучение

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

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

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

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

Работа с переоснащением и недообучением

Переобучение:

  • Перекрестная проверка (разделение набора данных на «test» и «train»)
  • Регуляризация
  • Ранняя остановка
  • Обрезка
  • Dropout (случайно выбранные нейроны игнорируются при обучении)

Недооснащение:

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

Регуляризация

Для линейной модели регуляризация достигается путем ограничения весов модели. Веса рассчитываются в соответствии с функцией стоимости, для линейной регрессии функция стоимости представляет собой среднеквадратичную ошибку. Для регуляризации модели к функции стоимости будет добавлен член регуляризации.

Это оштрафует большие значения коэффициентов. Если получить большое значение для w, ошибка также будет выше.

Лассо-регрессия (регуляризация L1)

Он используется как для регуляризации, так и для выбора признаков (выбор модели). Он устраняет менее важные признаки, уменьшая веса до нуля. Поэтому он используется при выборе признаков.

Ридж-регрессия (регуляризация L2)

Накладывает ограничение на коэффициенты, вводя штрафной коэффициент. Гребневая регрессия берет квадрат, а лассо-регрессия берет величину коэффициентов.

Почему Lasso можно использовать для выбора модели, но не для гребневой регрессии?

Эллиптические контуры являются функциями стоимости для каждого из них. Ослабление ограничений, вводимых штрафным фактором, приводит к увеличению ограниченной области (ромб, круг). Делая это постоянно, вы попадете в центр эллипса, где результаты обеих моделей Лассо и Риджа аналогичны модели линейной регрессии. Поскольку регрессия Лассо принимает форму ромба в ограниченной области, каждый раз, когда эллиптическая область пересекается с этими углами, по крайней мере один из коэффициентов становится равным нулю. Это невозможно в модели гребневой регрессии, поскольку она образует круглую форму, и поэтому значения могут быть уменьшены почти до нуля, но никогда не равны нулю. Другими словами, он никогда не сделает их ровно равными нулю. Поэтому окончательная модель будет включать все предикторы.

Примечание. Байесовская линейная регрессия дает нам регуляризацию.

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

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

Ограничения градиентного спуска

  1. Он находит только локальные минимумы, а не глобальный минимум. Когда мы минимизируем функцию, мы хотим найти глобальный минимум, но градиентный спуск никак не может различить глобальный и локальный минимумы.
  2. Еще одним ограничением является размер шага α. Хороший размер шага быстро приближается к минимуму и быстро сходится. Если размер шага слишком велик, он может никогда не сойтись к локальному минимуму из-за промаха каждый раз. Поэтому; большой размер шага расходится и, в конце концов, сходится, но медленно! Если размер шага слишком мал, он, скорее всего, сойдется, но потребует гораздо больше шагов, чем необходимо.
  3. Последнее ограничение заключается в том, что градиентный спуск работает только тогда, когда функция везде дифференцируема. В противном случае может возникнуть точка, в которой градиент не определен, и тогда мы не сможем использовать нашу формулу обновления.

Рекомендации

Распознавание образов и машинное обучение Кристофера Бишопа

https://www.kaggle.com/code/melisnurverir/linear-regression-model-gradient-descent