Введение в базовые функции и регуляризацию с теорией и реализацией Python
СОДЕРЖАНИЕ
Этот пост является частью серии постов, которые я буду делать. Вы можете прочитать более подробную версию этого поста в моем личном блоге, нажав здесь. Ниже вы можете увидеть обзор серии.
1. Введение в машинное обучение
- (А) Что такое машинное обучение?
- (Б) Выбор модели в машинном обучении
- (В) Проклятие размерности
- (Г) Что такое байесовский вывод?
2. Регресс
- (А) Как на самом деле работает линейная регрессия
- (b) Как улучшить линейную регрессию с помощью базисных функций и регуляризации
3. Классификация
- (А) Обзор классификаторов
- (B) Квадратичный дискриминантный анализ (QDA)
- (C) Линейный дискриминантный анализ (LDA)
- (Г) (гауссовский) наивный байесовский
Базовые функции
В предыдущем посте мы обсуждали модель линейной регрессии.
Мы говорим, что модель линейна, если она линейна по параметрам, а не по входным переменным. Однако (1) линейен как по параметрам, так и по входным переменным, что ограничивает его адаптацию к нелинейным отношениям. Мы можем дополнить модель, заменив входные переменные нелинейными базисными функциями входных переменных.
где
Используя нелинейные базисные функции, h может адаптироваться к нелинейным отношениям x, которые мы вскоре увидим - мы называем эти модели моделями линейных базисных функций .
Мы уже рассматривали один пример базисных функций в первом посте серии, где мы дополнили простую модель линейной регрессии базисными функциями степеней x, т. Е.
Другой распространенной базисной функцией является гауссовский
Следуя тому же выводу, что и в предыдущем посте, мы находим решения максимального правдоподобия для w и α, чтобы быть
где
На изображении ниже показана модель линейной базисной функции с M -1 базисными функциями Гаусса. Мы видим, что увеличение количества базисных функций делает модель лучше, пока мы не начнем переобучать.
Выполнение
Используя тот же набор данных, что и в предыдущих сообщениях, мы получаем реализацию ниже.
Регуляризация
Мы вкратце столкнулись с концепцией регуляризации в посте о байесовском выводе, который мы описали как метод предотвращения переобучения. Если мы посмотрим на целевую функцию, которую мы определили в предыдущем посте (дополненную базовыми функциями), мы можем ввести термин регуляризации.
где q ›0 обозначает тип регуляризации, а λ контролирует степень регуляризации.
Наиболее частыми значениями q являются 1 и 2, которые называются регуляризацией L1 и регуляризацией L2 соответственно. Мы называем это регрессией лассо, когда мы используем регуляризацию L1, и регрессией гребня, когда мы используем регуляризацию L2.
Целевая функция гребневой регрессии
особенно удобен, поскольку является квадратичной функцией от w и, следовательно, имеет единственный глобальный минимум. Решение которого
где α остается таким же, как и без регуляризации, поскольку член регуляризации не влияет на него.
Когда мы вводим регуляризацию, процесс выбора модели переходит от поиска подходящего количества базисных функций к поиску подходящего значения для параметра регуляризации λ.
На изображении ниже показана модель линейной базисной функции с различными значениями для λ, при этом количество базисных функций остается постоянным M = 8. Мы видим, что даже несмотря на то, что мы переобучаем с самого начала, мы можем настроить параметр регуляризации λ, чтобы предотвратить это - фактически, мы начинаем переобучать, когда регуляризация слишком велика. Еще одна интересная вещь, которую стоит увидеть, это то, что наша неопределенность увеличивается вместе с регуляризацией.
Выполнение
Резюме
- линейной делает модель то, что она линейна по параметрам, а не по входным параметрам.
- Мы можем дополнить линейную регрессию базисными функциями, получив модели линейных базисных функций.
- Полиномиальная регрессия - это модель линейной базисной функции.
- Регуляризация - это метод предотвращения переобучения.
- В линейной регрессии есть различные виды регуляризации, например регуляризация L1 и L2.