Основы машинного обучения: путеводитель по алгоритмам 0:00
Машинное обучение — это область искусственного интеллекта, сфокусированная на создании статистических алгоритмов, способных обучаться на данных и обобщать полученный опыт для предсказания результатов на новых, ранее не виденных примерах. По словам автора видео Тима, за последние 10 лет работы в качестве специалиста по данным и преподавателя буткемпов, он выработал простую стратегию выбора алгоритма, которая позволяет структурировать работу и избавиться от чувства перегруженности.
Разделение на supervised и unsupervised обучение 0:52
В основе машинного обучения лежит классификация задач по типу обучения:
- Обучение с учителем (Supervised Learning): Имеется размеченный набор данных (тренировочный датасет), где для каждого набора входных переменных (признаков) известна целевая переменная (метка). Алгоритм учится на этих примерах, чтобы в будущем предсказывать значения для новых данных, например, цену недвижимости на основе её характеристик.
- Обучение без учителя (Unsupervised Learning): Алгоритму предоставляются данные без какой-либо «правды» или меток. Задача заключается в поиске скрытых структур или группировке данных по схожести без явных инструкций.
[Image of machine learning algorithm categorization]
Алгоритмы обучения с учителем: регрессия и классификация 2:10
Обучение с учителем делится на две ключевые категории:
- Регрессия: Предсказание непрерывной числовой величины, например, стоимости дома.
- Классификация: Присвоение дискретной метки (класса), например, определение является ли письмо спамом.
Ключевые алгоритмы:
- Линейная регрессия: «Мать всех алгоритмов», ищущая линейную зависимость между входными данными и целевым значением. Она минимизирует среднее расстояние между реальными данными и линией предсказания.
- Логистическая регрессия: Вариант линейной регрессии для задач классификации, использующий сигмоидную функцию для определения вероятности принадлежности данных к определённому классу.
- Метод K-ближайших соседей (KNN): Непараметрический алгоритм, который предсказывает значение для новой точки на основе среднего значения её K ближайших соседей. Важным параметром является $K$: слишком малое значение ведет к переобучению (overfitting), а слишком большое — к недообучению (underfitting).
- Метод опорных векторов (SVM): Строит разделяющую гиперплоскость между классами с максимальным зазором (margin). Алгоритм очень эффективен в пространствах высокой размерности и использует «ядерный трюк» (kernel trick) для создания сложных нелинейных границ.
- Наивный байесовский классификатор: Основан на теореме Байеса и часто используется для классификации текстов, например, фильтрации спама. Он делает «наивное» предположение о независимости признаков, что обеспечивает высокую вычислительную эффективность.
- Деревья решений: Алгоритм, выстраивающий серию вопросов «да/нет» для разделения данных на максимально «чистые» группы (листья).
- Ансамбли (Random Forest и Boosting): Комбинируют множество деревьев решений для повышения точности. Случайный лес (Random Forest) обучает деревья параллельно на подмножествах данных, а бустинг (например, XGBoost) обучает модели последовательно, где каждая следующая исправляет ошибки предыдущей.
Нейронные сети и глубокое обучение 10:22
Нейронные сети являются развитием идеи логистической регрессии, но способны автоматически генерировать сложные признаки. В отличие от человека, который может вручную задать признаки (например, наличие «вертикальной линии» в цифре), нейросеть делает это через скрытые слои.
- Deep Learning (Глубокое обучение): Добавление множества скрытых слоев позволяет модели выявлять абстрактные иерархические признаки — от простых линий до сложных объектов, таких как человеческие лица.
Обучение без учителя и снижение размерности 12:43
При отсутствии меток применяются другие методы:
- Кластеризация (K-means): Алгоритм разбивает данные на $K$ групп, итеративно пересчитывая центры кластеров до их стабилизации.
- Снижение размерности (PCA): Метод главных компонент помогает избавиться от избыточных данных, находя направления (компоненты) с наибольшей вариативностью. Это делает модели более эффективными и помогает удалять шум, объединяя коррелирующие признаки.
Автор отмечает, что для выбора подходящего инструмента новичкам лучше всего использовать специализированные шпаргалки, такие как диаграмма от библиотеки scikit-learn.