Перейти к содержимому

Машинное обучение

Машинное обучение (Machine Learning, ML) — это раздел информатики и математики, в котором компьютер учится находить закономерности в данных сам, без того чтобы программист прописывал каждое правило вручную.

Обычное программирование работает так: человек пишет правила → программа им следует. В машинном обучении всё наоборот: программе дают данные и правильные ответы → она сама выводит правила.

Термин «машинное обучение» появился в 1959 году — его ввёл Артур Сэмюэл, инженер из IBM, который написал программу, играющую в шашки. Программа улучшала свою стратегию с каждой партией, не получая новых инструкций от человека.

Долгое время ML развивался медленно — не хватало данных и вычислительных мощностей. Всё изменилось в 2010-х годах: интернет наполнился огромными объёмами данных, видеокарты (GPU) стали достаточно мощными, а облачные сервисы сделали вычисления доступными. Машинное обучение начало проникать всюду — от рекомендаций в Netflix до автопилотов Tesla.

Отдельное направление — генеративные модели (LLM, ChatGPT и другие). Про них будет своя страница, здесь мы сосредоточимся на фундаменте.

ml Картинка взята из блога https://vas3k.blog/ и там тема расскрыта хорошо.

Самый понятный тип. Модели дают данные + правильные ответы, и она учится предсказывать ответ для новых данных. «Учитель» — это и есть те самые правильные ответы (их ещё называют «разметкой»).

Обучение с учителем Supervised Learning Данные Метка Шерсть: короткая | Звук: мяукает Размер: маленький | Прыгает высоко: да Кот Шерсть: длинная | Звук: гавкает Размер: большой | Прыгает высоко: нет Собака Шерсть: пушистая | Звук: мяукает Размер: средний | Прыгает высоко: да Кот Обучение Модель Обучается... Находит закономерности в данных Предсказание НОВЫЕ ДАННЫЕ Шерсть: короткая | Звук: гавкает Размер: средний | Прыгает высоко: нет Собака 96% 👨‍🏫 Учитель = метки (правильные ответы) Модель учится на примерах, затем предсказывает ответ для новых данных

Модель предсказывает число. На входе — набор характеристик, на выходе — конкретное значение.

Модель предсказывает категорию. Не число, а ответ из заранее известных вариантов.

Train/Test Split - это способ проверить, насколько хорошо твоя модель машинного обучения будет работать на новых данных, которые она раньше не видела. Идея простая: берешь свой датасет и делишь его на две части. Большую часть (обычно 80%) отдаешь модели для обучения, а меньшую (20%) прячешь от нее.

Модель учится на train-части, находит закономерности, строит свои правила. А потом ты даешь ей test-часть и смотришь, насколько точно она предсказывает результат на данных, которые никогда не видела.

Зачем это нужно? Если проверять модель на тех же данных, на которых она училась, она покажет отличный результат, но это обман. Это как дать студенту экзамен с теми же вопросами, по которым он готовился. Настоящая проверка - это новые вопросы. Test-выборка и есть такой “честный экзамен”. Если модель хорошо справляется с test-данными, значит она действительно уловила закономерности, а не просто запомнила ответы. Если плохо - скорее всего, произошло переобучение (overfitting), и модель нужно дорабатывать.

ml

Здесь нет правильных ответов. Модель получает только данные и должна сама найти в них структуру, закономерности или аномалии.

Модель группирует похожие объекты, хотя никто не говорил ей, какие группы бывают.

Обучение без учителя Unsupervised Learning / Кластеризация У каждого клиента - множество признаков Пол Возраст Ср. чек Покупок Товар Источник Промокод Ж 24 1 200 ₽ 18 Одежда Ins*** SALE20 М 42 18 500 ₽ 2 Техника Google Ж 35 3 400 ₽ 7 Дом Яндекс WELCOME М 19 0 ₽ 0 TikTok Ж 31 5 100 ₽ 11 Косметика VK NEW10 ... ещё 49 995 клиентов × 7 признаков Что такое многомерное пространство? Каждый признак - отдельная ось. 7 признаков = 7 осей. Человек видит максимум 3 оси, а модель работает сразу со всеми. Каждый клиент = точка в 7-мерном пространстве Ср. чек Покупки ...ещё 5 осей Ср. чек Покупки ...ещё 5 осей Анализ Модель Ищет паттерны... Группирует похожее поведение Охотники за скидками Ж 18-28 | Чек 900-1 500 ₽ | Много покупок | Соцсети | С промокодом Премиум-покупатели М/Ж 35-55 | Чек 12 000+ ₽ | Редко | Поисковики | Без промокодов Витринные зрители М 16-22 | 0 покупок | Долго на сайте | TikTok/YouTube | Только смотрят Модель сама нашла ЦА в 7-мерном пространстве Маркетолог работает с каждым сегментом по-разному 🔍 Нет учителя - нет меток. Модель сама находит структуру в данных

Модель ищет связи между событиями — что часто происходит вместе.

Модель упрощает данные, убирая лишнее, но сохраняя суть. Это нужно, когда у каждого объекта слишком много характеристик и с ними сложно работать.

Можно поиграться с методом Анализ соответствий в нашем инструменте.

Идея простая: один ум хорошо, а много — лучше. Вместо одной модели берут сразу несколько и объединяют их ответы. Итоговый результат получается точнее, чем у любой отдельной модели.

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

Нейросети — это модели, вдохновлённые устройством мозга. Они состоят из слоёв «нейронов», которые передают сигналы друг другу. Чем больше слоёв — тем «глубже» сеть, отсюда термин «глубокое обучение» (Deep Learning).

Нейросети умеют находить невероятно сложные закономерности, которые другие методы просто не видят. Именно они стоят за распознаванием лиц, голосовыми помощниками, переводчиками и генерацией изображений.

Минус — им нужно очень много данных и мощное железо для обучения. А ещё они работают как «чёрный ящик»: дают результат, но объяснить, почему именно такой, часто невозможно.

Если вы хотите по лучше разобраться в этой теме, то рекомендуем курсы Анатолия Карпова на stepik.