Регуляризация в Machine Learning | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
iOS Developer. Professional Kotlin Backend Developer Flutter Mobile Developer Symfony Framework C++ Developer. Basic Unity Game Developer. Basic Java Developer. Professional
-35%
Highload Architect Unity Game Developer. Professional React.js Developer Специализация Java-разработчик
-25%
Алгоритмы и структуры данных
-16%
Scala-разработчик C# Developer. Professional
-23%
Разработчик голосовых ассистентов и чат-ботов Team Lead Архитектура и шаблоны проектирования NoSQL Web-разработчик на Python Golang Developer. Professional PostgreSQL Vue.js разработчик Супер-практикум по использованию и настройке GIT Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Программист С HTML/CSS
Инфраструктура
Инфраструктурная платформа на основе Kubernetes Microservice Architecture Базы данных Highload Architect Reverse-Engineering. Professional
-8%
Network engineer. Basic Administrator Linux.Basic MongoDB Infrastructure as a code MS SQL Server Developer Cloud Solution Architecture Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Разработчик IoT Экcпресс-курс «ELK» Супер-интенсив "Tarantool" Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker»
Корпоративные курсы
Безопасность веб-приложений Экосистема Hadoop, Spark, Hive Пентест. Практика тестирования на проникновение Node.js Developer Java QA Engineer. Basic
-18%
Reverse-Engineering. Professional
-8%
DevOps практики и инструменты NoSQL Reverse-Engineering. Basic Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Game QA Engineer Супер - интенсив по Kubernetes Дизайн сетей ЦОД Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Регуляризация в Machine Learning

Регуляризация используется в машинном обучении в целях контроля баланса между bias (предвзятостью) и variance (отклонением). Предвзятость нужна, чтобы показать, насколько модель переобучилась на тренировочном наборе данных, а отклонение — насколько предсказания между тренировочным датасетами и тестовым датасетами отличались. Давайте посмотрим, какие существуют техники регуляризации.

Как известно, и дисперсия, и предвзятость должны быть маленькими — это идеальный вариант. Тут и приходит на помощь регуляризация. Выделяют 2 основные техники: «Лассо» и Ridge.

Регуляризация по технике «Лассо» (L1)

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

Регуляризация по технике Ridge (L2)

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

Elastic-Net

Таким образом, техника Ridge оставляет все переменные, а техника «Лассо» более эффективно устанавливает их важность. На основании этого был создан специальный алгоритм, объединивший в себе преимущества обеих техник регуляризации. Этот алгоритм называют Elastic-Net. Реализовать его можно посредством перекрестной валидации sklearn:

1-1801-1cdaa5.png

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

По материалам: https://pub.towardsai.net/feature-selection-in-machine-learning-3b2902852933.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться