Когда в компании говорят «мы внедрили машинное обучение», за этой фразой почти всегда стоит одна конкретная вещь: обученная модель. Файл на несколько мегабайт, который принимает на вход таблицу с числами и выдаёт ответ. Купит или не купит. Спам или не спам. 240 000 ₽ или 310 000 ₽.
Моделей таких десятки, и это первое, обо что спотыкается новичок. Линейная регрессия, случайный лес, градиентный бустинг, метод опорных векторов, k-means, трансформеры. Названия звучат так, будто без второго высшего в них не разобраться.
Разберёмся. В этой статье собрали девять моделей, которые встречаются в реальной работе чаще всего, объяснили каждую на бытовом примере, свели в таблицу «какая модель под какую задачу» и отдельно разобрали две вещи, которые почему-то обходят стороной все обзоры: как понять, что модель работает хорошо, и почему она может блестяще решать примеры из учебника и проваливаться на живых данных.
Если само словосочетание «машинное обучение» пока звучит туманно, начните с обзорной статьи «Машинное обучение для неспециалистов»: там про то, зачем это бизнесу и как устроено в целом. Здесь мы сразу идём в модели.
Дальше будет тяжело и без второго понятия: данные, на которых модель учится. Про них у нас есть отдельный разбор: что такое датасет и как его собрать.
Математика для чтения этой статьи не нужна. Программирование тоже: примеры кода мы дадим, но их можно спокойно пролистать. А если после статьи захочется не только понимать, но и уметь, у нас собрана подборка курсов по машинному обучению: 168 программ от двухнедельных интенсивов до годовых.
Что такое модель машинного обучения простыми словами

Модель машинного обучения — это программа, которая нашла закономерность в данных и теперь умеет применять её к новым случаям. Никто не писал ей правил вида «если площадь больше 60 метров, прибавь 2 миллиона». Она вывела эти правила сама, посмотрев на двадцать тысяч сделок.
Проще всего представить так. Вы показываете компьютеру таблицу, где строки — это квартиры, а столбцы: площадь, этаж, район, год постройки и цена продажи. Столбцы, по которым мы делаем вывод, называются признаками (в разговоре часто «фичи»). Столбец, который мы хотим предсказывать, — целевая переменная, в нашем случае цена.
Компьютер прогоняет таблицу через математическую процедуру и подбирает числа, при которых его ответы ближе всего к реальным ценам. Эти подобранные числа называются весами модели. Их набор вместе со структурой, в которую они уложены, и есть модель.
Дальше модель живёт своей жизнью. Ей скармливают квартиру, которой в таблице не было, и она выдаёт цену. Этот момент, когда обученная модель отвечает на новый вопрос, называют инференсом, хотя в русской речи чаще говорят просто «предсказание» или «прогноз».
Короткий тест на понимание. Модель — это не программа, которая знает ответ. Это программа, которая угадывает ответ и иногда ошибается. Вся работа специалиста по машинному обучению сводится к тому, чтобы она ошибалась реже, чем это критично для бизнеса.
Отсюда сразу следует важное. У модели нет понимания. Она не знает, что такое квартира, район и деньги. Она видит числа и повторяет замеченную в них связь. Если в обучающей таблице все дорогие квартиры случайно оказались с чётным номером дома, модель честно выучит, что чётный номер стоит денег.
Модель и алгоритм: в чём разница
Эти два слова путают чаще всего, и путаница мешает читать любые тексты по теме. Разница простая, и лучше всего она объясняется через кухню.
Алгоритм — это рецепт. Способ обучения, описанная последовательность действий: возьми данные, посчитай ошибку, подкрути веса, повтори. Рецепт один и тот же для всех, кто им пользуется. «Случайный лес», «градиентный бустинг», «метод k-ближайших соседей» — это названия рецептов.
Модель — это готовое блюдо. Результат, который получился, когда рецепт применили к вашим конкретным продуктам. Один и тот же алгоритм случайного леса на данных о квартирах Москвы и на данных о квартирах Казани даст две совсем разные модели. Рецепт общий, блюда разные.
Поэтому фраза «мы используем алгоритм XGBoost» и фраза «у нас в проде крутится модель оттока клиентов» описывают разные вещи. Первая про способ, вторая про конкретный артефакт, который лежит на сервере и отвечает на запросы.
В повседневной речи специалисты обе сущности часто называют моделями, и это нормально. Но когда вы читаете документацию или вакансию, разделение помогает: «знание алгоритмов» означает, что вы понимаете рецепты, а «вывод модели в прод» говорит, что вы умеете довезти готовое блюдо до клиента.
Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединитьсяТри способа обучения: с учителем, без учителя, с подкреплением
Первое, по чему делят модели, это что именно им показывают во время обучения. Способов три, и они не взаимозаменяемы: выбор зависит от того, есть у вас правильные ответы или нет.
Обучение с учителем (supervised learning)
Самый частый вариант. У вас есть таблица, где для каждой строки известен правильный ответ. Двадцать тысяч квартир с реальными ценами. Сто тысяч писем, размеченных вручную как спам и не спам. Три тысячи клиентов, из которых часть ушла, а часть осталась.
«Учитель» здесь — это те самые правильные ответы. Модель делает предположение, сравнивает с ответом, видит размер ошибки и подстраивается. Проделав так миллион раз, она выходит на приемлемую точность.
Процесс подготовки таких ответов называется разметкой, и это обычно самая дорогая и скучная часть проекта. Люди руками проставляют метки: этот снимок с патологией, этот без, на этой фотографии кошка. Восемь из десяти рабочих задач машинного обучения решают именно так, поэтому и большинство моделей ниже относятся именно к нему.
Обучение без учителя (unsupervised learning)
Правильных ответов нет. Есть просто данные, и нужно найти в них структуру, о которой вы заранее не знали.
Классический случай: у вас база из пятидесяти тысяч клиентов и ощущение, что они разные, но чем именно — непонятно. Модель разбивает базу на группы по схожести поведения, и выясняется, что есть кластер «покупает раз в неделю, чек маленький», кластер «раз в полгода, чек огромный» и кластер «зашёл один раз по скидке и пропал». Дальше маркетинг пишет каждой группе своё письмо.
Важный нюанс: модель не скажет вам, как называются эти группы и что с ними делать. Она нарисует границы, а смысл в них вкладывает человек.
Обучение с подкреплением (reinforcement learning)
Здесь нет ни готовых ответов, ни таблицы. Есть среда, в которой модель действует, и награда за удачные действия. Робот учится ходить, падая тысячи раз. Программа учится играть в шахматы, проиграв миллион партий самой себе.
В прикладных задачах бизнеса этот способ встречается заметно реже двух первых: он требует либо реальной среды, где можно безнаказанно ошибаться, либо хорошего симулятора. Зато там, где он применим, результат бывает недостижимым для других подходов: управление складскими роботами, динамическое ценообразование, обучение больших языковых моделей отвечать так, как нравится людям.
Как отличить с первого взгляда. Есть колонка с правильными ответами, значит, обучение с учителем. Есть только данные без ответов, значит, без учителя. Нет таблицы вообще, но есть среда и очки за успех, значит, с подкреплением.
Три типа задач: регрессия, классификация, кластеризация
Второе деление идёт по тому, какого вида ответ вы хотите получить. Оно важнее первого на практике, потому что именно от него зависит выбор модели и способ проверки качества.
Регрессия — это когда ответ число. Сколько будет стоить квартира. Какая выручка ждёт кофейню в следующем месяце. Сколько дней проработает деталь до поломки. Ответ лежит на непрерывной шкале, и промах на 5 % лучше промаха на 40 %.
Классификация — это когда ответ категория. Спам или нормальное письмо. Уйдёт клиент или останется. Кошка, собака или енот. Отдельно выделяют бинарную классификацию (два класса) и многоклассовую (три и больше). Модель обычно выдаёт не жёсткое «спам», а вероятность: 0,87 за то, что спам, и уже человек решает, с какого порога считать письмо мусором.
Кластеризация — это когда ответ разбиение на группы. Классов заранее не существует, модель придумывает их сама. Это и есть та задача, ради которой обычно берут обучение без учителя.
Есть и другие типы: ранжирование (выстроить товары в порядке интереса конкретному человеку), генерация (написать текст, нарисовать картинку), поиск аномалий (найти подозрительную транзакцию среди миллиона нормальных). Но начинающему хватит трёх основных: под них написано большинство готовых инструментов, и почти любая бизнес-задача формулируется через них.
Практический совет: прежде чем выбирать модель, сформулируйте задачу одной фразой в формате «по таким-то данным предсказать такое-то». Если в конце фразы стоит число, это регрессия. Если название категории, классификация. Если фраза не складывается, потому что вы не знаете, что предсказывать, вам, скорее всего, нужна кластеризация.
Как модель появляется: шесть шагов от данных до прода

Со стороны кажется, что работа специалиста сводится к выбору модели покруче. На деле выбор модели занимает от силы десятую часть времени, а весь остальной процесс выглядит так.
Шаг 1. Постановка задачи. Что предсказываем, по каким данным, какая ошибка допустима и что бизнес будет делать с прогнозом. Без ответа на последний вопрос проект часто заканчивается красивой моделью, которой никто не пользуется.
Шаг 2. Сбор данных. Выгрузки из базы, логи, внешние источники. На этом шаге обычно выясняется, что половины нужных полей просто не собирали.
Шаг 3. Подготовка признаков. Чистка пропусков, перевод текстовых полей в числа, удаление дублей, создание новых колонок из старых. Дата продажи сама по себе бесполезна, а выведенные из неё «день недели» и «количество дней до праздника» работают хорошо. Этот шаг съедает большую часть проекта, и именно он чаще всего определяет, получится что-то или нет.
Шаг 4. Разделение выборки. Данные делят минимум на две части: обучающую выборку (на ней модель учится) и тестовую (её модель не видит до самого конца и на ней проверяется). Типичная пропорция: 70 на 30 или 80 на 20. Пропустить этот шаг означает обмануть самого себя, и почему именно, разобрано в разделе про переобучение.
Шаг 5. Обучение и подбор гиперпараметров. Гиперпараметры — это настройки самого рецепта, которые задаёт человек до начала обучения: сколько деревьев в лесу, какой глубины, как быстро модель подстраивается. Их перебирают, сравнивая результаты, пока не найдут удачную комбинацию.
Шаг 6. Вывод в прод и мониторинг. Модель заворачивают в сервис, к которому обращаются другие программы, и начинают следить за качеством. Со временем оно почти всегда падает: рынок меняется, поведение клиентов меняется, а модель осталась в прошлом. Это явление называют дрейфом данных, и лечится оно переобучением на свежих данных, иногда еженедельным.
Почему это важно знать заранее. Если вы приходите в профессию с картинкой «буду придумывать умные модели», реальность разочарует: восемьдесят процентов времени уходит на шаги 2–4. Зато если вас не пугает возня с данными, порог входа оказывается ниже, чем кажется.
Девять моделей, которые встречаются чаще всего
Дальше короткий разбор каждой: что она делает, на каком бытовом примере это понятно и когда её берут. У первых трёх дадим по несколько строк кода на библиотеке scikit-learn — это бесплатный набор готовых моделей для Python, самый популярный инструмент для классического машинного обучения. Код можно пролистать: он тут для того, чтобы вы увидели, насколько мало нужно написать, чтобы модель заработала.
Линейная регрессия
Самая простая модель и та, с которой начинают все курсы. Она проводит через ваши точки прямую линию и по ней предсказывает.
Представьте кофейню. Вы выписали за год: температуру на улице и выручку за день. Точки на графике легли облаком с наклоном: теплее — выручка выше. Линейная регрессия находит ту самую прямую, которая проходит через облако с наименьшим суммарным промахом, и дальше по прогнозу погоды говорит: завтра +18, ждите примерно 47 000 ₽.
Главное достоинство — прозрачность. Модель прямо говорит: каждый градус добавляет 1 300 ₽ выручки, а каждый выходной прибавляет ещё 9 000 ₽. Такое можно показать руководителю и защитить.
Главное ограничение — линия. Если зависимость изогнутая (до +25 выручка растёт, а в жару люди сидят дома), прямая её не поймает.
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train) # обучаем на исторических данных
prognoz = model.predict(X_test) # предсказываем выручку
Логистическая регрессия
Несмотря на слово «регрессия» в названии, это модель классификации. Она отвечает не числом, а вероятностью: насколько вероятно, что этот клиент уйдёт.
Работает похоже на линейную: складывает признаки с весами, но результат прогоняет через функцию, которая сжимает любое число в диапазон от 0 до 1. Получается ответ «вероятность 0,73».
Её до сих пор используют банки для кредитного скоринга, хотя есть модели точнее. Причина в регулировании: банк обязан уметь объяснить, почему отказал в кредите, а логистическая регрессия объясняет себя честно и по пунктам.
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train, y_train)
veroyatnosti = model.predict_proba(X_test)[:, 1] # шанс класса «уйдёт»
Дерево решений
Модель, которую понимает даже человек, впервые открывший тему. Она строит цепочку вопросов с ответами «да» и «нет», примерно как игра в «Акинатора».
Клиент старше 35 лет? Да. Покупал за последние 90 дней? Нет. Средний чек выше 5 000 ₽? Да. Вывод: с вероятностью 68 % уйдёт. Дерево можно распечатать на листе и повесить на стену, а менеджер по продажам разберётся в нём без объяснений.
Слабость у одиночного дерева серьёзная: оно склонно вызубривать обучающие данные до последней мелочи и плохо работать на новых. Именно поэтому в реальных проектах деревья почти всегда используют пачками, как в двух следующих моделях.
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(max_depth=4) # ограничили глубину
model.fit(X_train, y_train)
otvet = model.predict(X_test)
Случайный лес
Берём не одно дерево, а пятьсот. Каждое обучаем на случайной части данных и случайном наборе признаков, а потом устраиваем голосование: какой ответ выбрало большинство, тот и правильный.
Это работает по тому же принципу, по которому средняя оценка десяти экспертов надёжнее оценки одного. Отдельные деревья ошибаются каждое по-своему, и при голосовании ошибки гасят друг друга. Модели, собранные из нескольких моделей, называют ансамблями.
Случайный лес — крепкий рабочий выбор по умолчанию. Он почти не требует настройки, редко проваливается, работает и с числами, и с категориями, и спокойно переносит пропуски в данных. Платите за это потерей прозрачности: объяснить решение пятисот деревьев словами уже нельзя.
Градиентный бустинг
Тоже ансамбль деревьев, но собранный иначе. Деревья строятся не параллельно и независимо, а по очереди: каждое следующее учится исправлять ошибки предыдущих. Первое дерево грубо намечает ответ, второе смотрит, где первое промахнулось, и правит, третье правит за вторым, и так сотни раз.
На табличных данных, а это почти вся бизнес-аналитика, градиентный бустинг сегодня чаще всего оказывается точнее всех остальных, включая нейросети. Три реализации, которые встретятся в любой вакансии: CatBoost (разработка Яндекса, хорошо жуёт категориальные признаки без предварительной подготовки), XGBoost и LightGBM.
Цена такой точности — капризность. Бустинг чувствителен к настройкам и при неаккуратном обращении переобучается охотнее случайного леса.
Метод k-ближайших соседей
Пожалуй, самая интуитивная модель: она вообще ничему не учится заранее. Когда приходит новый объект, модель находит среди известных примеров k самых похожих и выдаёт их усреднённый ответ.
Оцениваем квартиру: находим пять самых похожих проданных квартир, берём среднюю цену. Ровно так же поступает риелтор, и в этом главная прелесть метода: его логику можно объяснить кому угодно за двадцать секунд.
Проблема в скорости. Модель хранит внутри весь обучающий набор и на каждый запрос пересчитывает расстояния до всех точек. На тысяче примеров это мгновенно, на десяти миллионах уже нет.
Метод опорных векторов (SVM)
Модель проводит между классами разделяющую границу так, чтобы оставить как можно более широкий зазор до ближайших точек с обеих сторон. Идея в том, что чем шире полоса безопасности, тем увереннее модель будет чувствовать себя на новых данных.
Отдельный трюк позволяет ей проводить не прямые, а изогнутые границы, поэтому метод хорош там, где классы перепутаны сложным образом. Классическое поле применения: задачи с большим числом признаков и небольшим числом примеров: тексты, биоинформатика, распознавание рукописных цифр. Собирают такие модели и выводят их в прод ML-инженеры: как стать ML-инженером, разобрано по шагам.
На больших наборах данных SVM работает медленно, поэтому в типовых бизнес-задачах его сегодня встретишь реже, чем бустинг.
Наивный байесовский классификатор
Считает вероятности по обычной школьной формуле. «Наивный» он потому, что делает заведомо неверное допущение: будто все признаки независимы друг от друга. Слово «выигрыш» в письме и слово «миллион» он считает не связанными, хотя вместе они куда подозрительнее, чем поодиночке.
Забавно, что при неверном допущении модель работает прилично, особенно на текстах. Первые спам-фильтры были устроены именно так: посмотреть, какие слова чаще встречаются в спаме, и перемножить вероятности.
Обучается за секунды, требует мало данных, отлично идёт как быстрая первая проверка гипотезы: если даже наивный Байес даёт что-то осмысленное, значит, сигнал в данных есть.
K-means (кластеризация)
Единственная модель в этом списке, которая работает без правильных ответов. Вы говорите: «разбей мне базу на пять групп», и алгоритм расставляет пять центров, приписывает каждого клиента к ближайшему центру, пересчитывает центры и повторяет, пока границы не перестанут меняться.
Так делают сегментацию клиентов, группировку товаров, разбиение регионов по похожести спроса. Число групп задаёте вы сами, и это одновременно и свобода, и головная боль: угадать правильное количество кластеров с первого раза удаётся редко.
Из того же семейства пригодятся DBSCAN (сам определяет число групп и отдельно помечает выбросы) и иерархическая кластеризация (строит дерево вложенных групп, удобно, когда нужна структура, а не плоский список).
Сравнительная таблица: какая модель под какую задачу
Свели девять моделей в одну таблицу. Колонка «интерпретируемость» отвечает на вопрос, сможете ли вы объяснить решение модели человеку без технического образования. На практике это часто решает больше, чем лишние два процента точности.
| Модель | Тип задачи | Сколько нужно данных | Интерпретируемость | Скорость обучения | Где применяют |
|---|---|---|---|---|---|
| Линейная регрессия | Регрессия | От сотен строк | Высокая | Секунды | Прогноз выручки, оценка недвижимости |
| Логистическая регрессия | Классификация | От сотен строк | Высокая | Секунды | Кредитный скоринг, отток клиентов |
| Дерево решений | Обе | От сотен строк | Очень высокая | Секунды | Правила для менеджеров, первичный разбор |
| Случайный лес | Обе | От тысяч строк | Низкая | Минуты | Универсальный выбор по умолчанию |
| Градиентный бустинг | Обе | От тысяч строк | Низкая | Минуты и часы | Табличные данные, где важна точность |
| k-ближайших соседей | Обе | От сотен строк | Средняя | Мгновенно | Рекомендации, оценка по аналогам |
| Метод опорных векторов | Классификация | Сотни и тысячи строк | Низкая | Минуты | Тексты, много признаков и мало примеров |
| Наивный Байес | Классификация | От сотен строк | Средняя | Мгновенно | Спам-фильтры, тональность отзывов |
| K-means | Кластеризация | От тысяч строк | Средняя | Секунды | Сегментация клиентов и товаров |
| Нейросети | Все | От десятков тысяч | Очень низкая | Часы и дни | Картинки, звук, текст, видео |
Если непонятно, с чего начать: на табличных данных возьмите случайный лес. Он почти не требует настройки, не обидится на пропуски и даст результат, относительно которого потом можно сравнивать всё остальное. Такой первый простой прогон называют базовым решением, и без него непонятно, хороша ли ваша следующая, более умная модель.
Как выбрать модель под свою задачу

Пошагово, пять вопросов к себе. Отвечаете по порядку и отсекаете лишнее.
Вопрос 1. Что за ответ вам нужен? Если число, смотрите на строки с регрессией. Если категория, на классификацию. Не знаете, какие вообще бывают ответы, вам нужна кластеризация. Это отсекает примерно половину таблицы.
Вопрос 2. Какого вида ваши данные? Таблица со строками и столбцами: берите бустинг или случайный лес, нейросеть тут почти наверняка проиграет. Картинки, звук, видео, длинные тексты: только нейросети, классические модели с таким не работают.
Вопрос 3. Сколько у вас строк? Меньше тысячи, берите простые модели: линейная и логистическая регрессия, наивный Байес, k-ближайших соседей. Сложная модель на маленьких данных просто заучит их наизусть. От десятков тысяч открывается всё остальное.
Вопрос 4. Нужно ли объяснять решения? Если модель отказывает людям в кредите, ставит медицинский диагноз или влияет на чью-то зарплату, объяснимость перестаёт быть удобством и становится требованием. Тогда линейные модели и неглубокие деревья выигрывают у точных, но непрозрачных ансамблей.
Вопрос 5. Сколько времени на ответ? Если прогноз нужен за миллисекунды под нагрузкой в тысячи запросов в секунду, тяжёлая нейросеть и k-ближайших соседей на большом наборе отпадают сами собой.
Универсальный порядок действий. Соберите данные, обучите самую простую подходящую модель, замерьте качество, запишите цифру. Дальше пробуйте модели сложнее и сравнивайте с этой цифрой. В половине случаев выясняется, что усложнение даёт плюс полпроцента, и лучше остаться на простом.
Нейросети, трансформеры и LLM: где их место среди моделей
Вопрос, который возникает у каждого: ChatGPT — это модель машинного обучения или что-то отдельное? Ответ: та же самая, просто гигантская.
Нейросеть — это модель, устроенная как слои простых вычислительных элементов, соединённых между собой. Данные проходят сквозь слои, на каждом преобразуясь, и на выходе получается ответ. Если у линейной регрессии несколько весов, то у нейросети их миллионы, а у самых больших счёт идёт на сотни миллиардов. Подробный разбор устройства есть в статье «Что такое нейросети простыми словами».
Глубокое обучение — это просто работа с нейросетями, у которых много слоёв. Термин появился, когда научились обучать сети глубже двух-трёх уровней.
Трансформер — архитектура нейросети, придуманная в 2017 году. Её ключевая идея в том, что модель при обработке каждого слова смотрит сразу на весь текст и сама решает, какие слова важнее для понимания текущего. Именно эта архитектура лежит в основе всех современных языковых моделей.
LLM (large language model, большая языковая модель) — трансформер, обученный на огромном объёме текстов предсказывать следующее слово. Из этой простой задачи неожиданно вырастает способность отвечать на вопросы, писать код и переводить. Подробнее про устройство и ограничения читайте в материале «Языковые модели: что это простыми словами».
Важно понимать иерархию: машинное обучение включает в себя нейросети, нейросети включают трансформеры, трансформеры включают языковые модели. Все они модели машинного обучения, просто разного размера и назначения.
И отдельно про то, из-за чего многие сегодня выбирают неправильно. Языковые модели впечатляют, но на задаче «предскажи выручку по таблице продаж» обычный градиентный бустинг обгонит любую LLM, обучится за минуту и обойдётся дешевле в тысячи раз. Нейросети выигрывают там, где данные неструктурированные: изображения, звук, длинный текст.
Как понять, что модель работает: метрики простыми словами
Модель всегда что-нибудь предскажет. Вопрос в том, насколько её предсказаниям можно верить, и для ответа существуют метрики — числа, которыми измеряют качество. Метрика зависит от типа задачи.
Метрики для регрессии (когда ответ число)
MAE (средняя абсолютная ошибка) — на сколько модель промахивается в среднем. Если MAE прогноза цены квартиры равна 400 000 ₽, значит, типичный промах примерно такой. Самая понятная метрика: измеряется в тех же единицах, что и предсказание, и её можно назвать вслух на совещании.
RMSE (квадратный корень из средней квадратичной ошибки) — почти то же самое, но крупные промахи наказываются сильнее мелких. Берут её тогда, когда один промах на три миллиона хуже, чем десять промахов по триста тысяч.
R² (коэффициент детерминации) — какую долю разброса в данных модель сумела объяснить. Единица означает идеальное попадание, ноль — что модель работает не лучше, чем если бы всегда называла среднее значение. Отрицательное R² означает, что модель хуже простого среднего, и это повод остановиться и пересобрать признаки.
Метрики для классификации (когда ответ категория)
Accuracy (доля правильных ответов) — самая соблазнительная и самая коварная метрика. Представьте задачу поиска мошеннических транзакций, где мошеннических всего 1 %. Модель, которая всегда отвечает «всё в порядке», получит accuracy 99 % и при этом окажется полностью бесполезной. На несбалансированных данных accuracy читать нельзя.
Precision (точность) отвечает на вопрос: из тех случаев, где модель крикнула «тревога», сколько тревог были настоящими. Метрика про ложные срабатывания.
Recall (полнота) отвечает на другой: из всех настоящих тревог сколько модель заметила. Метрика про пропуски.
Эти две всегда тянут одеяло друг у друга, и баланс между ними выбирает бизнес, а не специалист. В медицинской диагностике важнее recall: лучше зря вызвать человека на дообследование, чем пропустить болезнь. В автоматической блокировке карт важнее precision: заблокировать честного клиента дороже, чем пропустить одну сомнительную покупку.
F1 — это компромиссное число, объединяющее precision и recall в одну цифру. Удобно, когда моделей несколько и надо быстро выбрать лучшую.
ROC-AUC — показывает, насколько хорошо модель в принципе отличает один класс от другого при любом пороге. Значение 0,5 означает, что модель угадывает как подброшенная монета, 0,9 и выше — что работает уверенно.
Правило, которое экономит месяцы. Метрику выбирают до обучения модели, а не после. Иначе соблазн слишком велик: обучил, посмотрел на все метрики сразу и выбрал ту, где цифра красивее.
Переобучение: почему модель отличница на своих данных и двоечница на новых

Это главная ловушка машинного обучения, и в неё попадают все без исключения.
Переобучение — состояние, когда модель вместо общих закономерностей выучила наизусть конкретные примеры вместе со всеми их случайностями. На обучающих данных она показывает почти идеальный результат, а на новых разваливается.
Школьная аналогия работает точно. Ученик, который прорешал сборник задач и понял метод, справится с контрольной. Ученик, который вызубрил ответы из конца сборника, покажет блестящий результат на домашней работе и провалит контрольную с другими числами.
Как это выглядит в цифрах: на обучающей выборке accuracy 0,99, на тестовой 0,71. Разрыв между двумя числами и есть диагноз.
Есть и обратная беда, недообучение: это когда модель слишком проста для задачи и плохо работает вообще везде, включая обучающие данные. Лечится усложнением модели или добавлением признаков.
Чем лечат переобучение
- Честное разделение выборки. Тестовые данные модель не должна видеть ни при обучении, ни при подборе настроек. Иначе вы проверяете память, а не понимание.
- Кросс-валидация. Данные делят на пять частей, обучают модель пять раз, каждый раз оставляя новую часть для проверки, и усредняют результат. Так вы понимаете, стабильна модель или ей просто повезло с удачным разбиением.
- Упрощение модели. Ограничить глубину дерева, сократить число деревьев, уменьшить количество слоёв в нейросети.
- Больше данных. Самое надёжное средство: на большом объёме случайности перестают выглядеть закономерностями.
- Регуляризация. Встроенный в модель штраф за излишнюю сложность: он мягко удерживает её от того, чтобы придавать слишком большой вес отдельным признакам.
Отдельная и особенно обидная разновидность проблемы называется утечкой данных. Это когда в признаки случайно попадает информация, которой в момент реального предсказания ещё не будет. Классика жанра: в модель предсказания оттока клиентов попала колонка «дата закрытия договора». Качество на тестах получается фантастическим, а в проде модель бесполезна, потому что дату закрытия в момент прогноза никто не знает.
Где взять готовую модель и не обучать свою
Обучать модель с нуля нужно далеко не всегда. Для типовых задач готовые решения уже существуют, и половина работы сводится к тому, чтобы подобрать подходящее.
Библиотеки с реализациями алгоритмов. scikit-learn для классических моделей, CatBoost и XGBoost для бустинга, PyTorch для нейросетей. Здесь вы получаете рецепт, а обучать всё-таки придётся на своих данных: две-три строки кода, как в примерах выше.
Хранилища обученных моделей. Hugging Face — это крупнейшая площадка, где выложены сотни тысяч уже обученных моделей для текста, картинок и звука. Многие можно запустить бесплатно на своём компьютере и получить работающее решение за вечер.
Дообучение готовой модели. Компромисс между «взять чужое» и «сделать своё»: берёте большую модель, обученную на общих данных, и доучиваете её на небольшом наборе своих. Приём называется файнтюнингом и позволяет получить приличный результат на тысяче примеров там, где обучение с нуля потребовало бы миллиона.
Облачные сервисы. У российских облаков есть готовые инструменты, которые сами подбирают модель под загруженную таблицу и сразу отдают её в виде сервиса. Подход экономит время на старте, но привязывает к конкретной платформе и выходит дороже на объёме.
Открытые датасеты для тренировки. Если своих данных нет, а руки чешутся, идите на Kaggle: тысячи размеченных наборов от цен на жильё до медицинских снимков, плюс чужие решения тех же задач с разбором.
Где это работает прямо сейчас: примеры из российского бизнеса
Чтобы модели перестали быть абстракцией, вот пять живых сценариев, за каждым из которых стоит одна из разобранных выше моделей.
Прогноз спроса в рознице. Сеть считает, сколько молока привезти в конкретный магазин на завтра, с учётом дня недели, погоды, промо и праздников. Задача регрессии, работает градиентный бустинг. Каждый процент точности оборачивается списанным или, наоборот, непроданным товаром.
Оценка кредитного риска. Банк решает, выдавать ли заём и под какую ставку. Бинарная классификация, логистическая регрессия или бустинг с обязательным объяснением решения.
Предсказание отказа оборудования. На производстве датчики снимают вибрацию и температуру станка, модель предупреждает о поломке за несколько дней. Плановая остановка стоит в разы дешевле аварийной.
Сегментация клиентской базы. Маркетинг разбивает базу на группы по поведению и делает разные предложения вместо одной рассылки на всех. Кластеризация, k-means.
Поиск мошеннических операций. Модель просматривает поток транзакций и помечает подозрительные. Классификация на сильно несбалансированных данных, где accuracy бесполезна, а смотреть надо на precision и recall. Как устроена эта работа изнутри, разбирали в статье про антифрод-аналитика.
Что учить, если хочется работать с моделями
Порядок, в котором тема укладывается в голове быстрее всего.
Первое: Python и работа с таблицами. Не весь язык целиком, а конкретный минимум: синтаксис языка и библиотека pandas для работы с таблицами. Это две-три недели занятий по часу в день.
Второе: SQL. Данные лежат в базах, и доставать их оттуда придётся самому. Ещё две недели.
Третье: статистика на школьном уровне. Среднее, медиана, разброс, корреляция, нормальное распределение. Высшая математика на старте не нужна: она понадобится, когда захотите разбираться, что происходит внутри моделей, а не просто их применять.
Четвёртое: scikit-learn и первые модели. Прогнать через себя весь путь из раздела про шесть шагов на учебном наборе с Kaggle. Первый собственный проект от данных до метрики даёт больше, чем десять просмотренных лекций.
Пятое: метрики и валидация. Тот раздел, который выше. Без него вы не сможете отличить работающую модель от самообмана, а это ровно то, что отличает специалиста от человека, скопировавшего чужой ноутбук.
Куда идти дальше, зависит от склонностей. Ближе к бизнесу и отчётам, это аналитик данных. Ближе к моделям и исследованию, это Data Scientist. Ближе к коду и выводу моделей в прод, это ML-инженер, и под эту роль у нас собраны курсы ML-инженера с программами и ценами.
Где научиться работать с моделями машинного обучения
Самостоятельно тему поднять можно, но дольше: главная сложность не в том, чтобы узнать про случайный лес, а в том, чтобы получить обратную связь по собственному проекту и понять, где вы обманули себя метрикой. Курс эту обратную связь даёт, плюс задаёт порядок изучения и не даёт застрять на втором месяце.
| Курс | Школа | Стоимость со скидкой | В рассрочку | Длительность | Обзор курса от Checkroi |
|---|---|---|---|---|---|
| Нейросети для изображений и видео Перейти на сайт курса | 48 455 ₽ | 4037 ₽/мес. | 2 месяца | Обзор курса | |
| Нейросети для рабочих задач Перейти на сайт курса | 31 290 ₽ | 2608 ₽/мес. | 1 месяц | Обзор курса | |
| Нейросети. Практический курс Перейти на сайт курса | 74 900 ₽ | 6242 ₽/мес. | 3 месяца | Обзор курса | |
| Продуктовый маркетолог + Нейросети для маркетинга Перейти на сайт курса | 110 200 ₽ | 3875 ₽/мес. | 5 месяцев | Обзор курса | |
| Нейросети для работы | 44 690 ₽ | 5477 ₽/мес. | 3 месяца | Обзор курса | |
| Нейросети для дизайнера Перейти на сайт курса | 84 272 ₽ | 3831 ₽/мес. | 4 месяца | Обзор курса | |
| Нейросети для каждого Перейти на сайт курса | 39 900 ₽ | 3325 ₽/мес. | 3 месяца | Обзор курса | |
| Нейросети для начинающих Перейти на сайт курса | 42 000 ₽ | 2333 ₽/мес. | 1 месяц | Обзор курса | |
| Нейросети для маркетинга Перейти на сайт курса | 29 800 ₽ | 4967 ₽/мес. | 1 месяц | Обзор курса | |
| Нейросети для бизнеса Перейти на сайт курса | 97 632 ₽ | 2712 ₽/мес. | Обзор курса |
Больше программ — в полном каталоге курсов по нейросетям и искусственному интеллекту
Если пока не уверены, что тема ваша, начните с бесплатных вводных модулей и одного маленького проекта на открытых данных. А чтобы понимать, откуда вообще берутся данные для обучения, загляните в наш разбор курсов по анализу данных: базовая работа с таблицами пригодится в любом сценарии.




