Диагностика Mock-интервью
Главная · Основы машинного обучения

Что такое машинное обучение

Стартовая тема курса: чем машинное обучение отличается от классического программирования, какие бывают парадигмы обучения, зачем данные режут на три части и что такое обобщение — понятие, ради которого всё и затевается.

Интуиция: правила против данных

Классическая программа — это правила, которые придумал и записал человек. Хочешь фильтровать спам — садишься и пишешь: если в письме есть слово «выигрыш» и незнакомый отправитель — в спам. Такой подход ломается, как только правил нужны тысячи, а спамеры начинают их обходить быстрее, чем ты успеваешь дописывать новые.

Машинное обучение (machine learning, ML) переворачивает схему: мы не пишем правила, а показываем алгоритму данные — тысячи писем с пометками «спам / не спам» — и он сам выводит правила, подбирая параметры модели. Классическое определение Тома Митчелла: программа учится, если её качество на задаче T, измеренное метрикой P, улучшается с накоплением опыта E. Опыт — это данные; «становится лучше с опытом» — и есть суть обучения.

классика: данные + правила → ответы  ·  ML: данные + ответы → правила (модель)

Три парадигмы обучения

💡 Ключевая мысль Во всех трёх парадигмах повторяется один шаблон: модель с параметрами + сигнал качества (лосс или награда) + процедура, которая улучшает параметры по этому сигналу. Меняется только источник сигнала.

Train, validation, test — зачем резать данные

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

Если гонять тест много раз и подстраивать под него решения, он незаметно превращается во вторую валидацию — и финальная оценка становится оптимистично завышенной. На собеседовании это называют утечкой (leakage) выбора модели.

Обобщение и типы задач

Обобщение (generalization) — способность модели работать на данных, которых она не видела при обучении. Это и есть цель: нам не нужен прогноз цены квартир из обучающей таблицы — их цены и так известны. Разрыв между качеством на train и на новых данных — главный диагностический сигнал (подробнее — в теме про переобучение).

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

⚠️ Подводный камень Высокая точность на обучающей выборке сама по себе ничего не доказывает: достаточно большая модель способна просто запомнить весь train. Единственное честное свидетельство качества — метрики на отложенных данных, которые модель не видела и под которые ты не подстраивал решения.
🎤 На собеседовании
  • «Чем ML отличается от классического программирования?» — правила не пишутся вручную, а выводятся из данных через оптимизацию параметров.
  • «Приведи примеры задач для каждой парадигмы» — supervised: спам-фильтр, прогноз цены; unsupervised: сегментация клиентов, поиск аномалий; RL: игры, робототехника, RLHF.
  • «Зачем отдельные validation и test?» — по валидации подбирают гиперпараметры, значит она «затёрта» этим подбором; тест нужен нетронутым для финальной оценки.
  • «Классификация или регрессия?» — смотри на тип ответа: дискретный класс или непрерывное число. Вопрос-ловушка: предсказание вероятности клика — регрессия по форме, но решает задачу классификации.