Машинное обучение, или почему твой чайник никогда не захватит мир
Содержание:
Самое крутое и захватывающее в машинном обучении — это при знакомстве с кем-то говорить, что ты этим занимаешься, приобретая ранг полубога.
Ну действительно, круто же звучит! Что-то неизведанное, непонятное и немного опасное, а ты этим занимаешься. Ведь машинное обучение — это что-то совсем новое, пик развития науки.
Однако стоит капнуть немного глубже, и «под капотом» ML (Machine Learning) обнаруживается обычная математика.
При этом в 80% случаев эта математика не выходит за рамки школьного курса. У меня нет цели разбирать алгоритмы ML. Лучше вместе посмотрим, что это вообще такое машинное обучение, и с чем его едят. 🙂
Весь процесс обучения модели можно разделить на 3 стадии:
- Подготовка данных
- Обучение модели
- Валидация
Подготовка данных
Это, пожалуй, самое «неволшебное» в ML, однако самое важное. Не сформировав консистентные данные, не очистив мусор, твоя модель обречена отличать кошечек от собак. А ты же не хотел ей такой участи. В общем обычными SQL/Pandas методами приводим данные в порядок.
Обучение модели
Садитесь поудобнее, мои юные друзья! Сейчас будет магия (но это не точно). Есть множество алгоритмов обучения. Мы разберем самый простенький. Но я вас уверяю — все остальные выглядят приблизительно так же.
KNN — метод ближайших соседей. Работает он крайне просто. Представим, что мы обучаем модельку на определение возраста человека по его росту и весу. У нас есть два признака (рост и вес) и есть бинарный (извините меня за мою нетолерантность) признак пола. При обучении мы скармливаем (это термин, а не жаргон) нашей модели множество записей, где указан пол при определенных значениях веса и роста. Далее наш алгоритм «строит график», где рост — это x, а вес — y (или наоборот), а точки на графике маркированы в зависимости от пола.
Теперь, когда мы хотим использовать нашу модель, то подаем ей на вход 2 параметра (рост и вес). Алгоритм же «ставит точку на график» и по ближайшим соседям определяет, к какому классу отнести новую точку. Количество соседей определяем мы. Такое значение называется гиперпараметром.
Вот собственно и вся магия. Так что, если в 7 классе ты не брызгал святой водой в параболу, то и переживать по поводу восстания машин не стоит. Это всё лишь математика и алгоритмы.
Валидация
Это одна из самых важных стадий обучения модели. На этом этапе мы убедимся в том, что наша модель может предсказывать (это термин, а не жаргон) по указанным параметрам к какому классу отнести конкретное измерение. Вся валидация зиждется на одной простой идее.
Мы берем все наши данные и делим на данные для обучения и валидации (чаще всего 3 к 1). На данных для обучения мы обучаем модель. На данных же для валидации мы ее тестируем, сравнивая предсказания с известными нам данными.
Вот и всё
Конечно, машинное обучение значительно сложнее, чем то, что я тут расписал. Есть более сложные алгоритмы, нейронки, веса и много других знакомых вам слов.
Однако логика и процесс неизменны. Так что не стоит бояться современных технологий. Зачастую, это лишь математика 60-х и красивое название.
Запишитесь на курс по безопасной разработке
И получите уверенный старт в карьере востребованного специалиста 😉
Старт
Длительность
4.5 месяца
Понравилась статья?
Или подпишись на рассылку и получай полезную информацию на почту каждую неделю
Заказать обратный звонок
Мы используем cookie
Используя наш сайт, вы соглашаетесь с использованием файлов cookie и сервисов сбора технических данных посетителей (IP-адресов, местоположения и др.) для обеспечения работоспособности и улучшения качества обслуживания.