Машинное обучение, или почему твой чайник никогда не захватит мир

Самое крутое и захватывающее в машинном обучении — это при знакомстве с кем-то говорить, что ты этим занимаешься, приобретая ранг полубога.

Ну действительно, круто же звучит! Что-то неизведанное, непонятное и немного опасное, а ты этим занимаешься. Ведь машинное обучение — это что-то совсем новое, пик развития науки.

Однако стоит капнуть немного глубже, и «под капотом» ML (Machine Learning) обнаруживается обычная математика.

 

При этом в 80% случаев эта математика не выходит за рамки школьного курса. У меня нет цели разбирать алгоритмы ML. Лучше вместе посмотрим, что это вообще такое машинное обучение, и с чем его едят. 🙂

Весь процесс обучения модели можно разделить на 3 стадии:

  1. Подготовка данных
  2. Обучение модели
  3. Валидация

Подготовка данных 

 

Это, пожалуй, самое «неволшебное» в ML, однако самое важное. Не сформировав консистентные данные, не очистив мусор, твоя модель обречена отличать кошечек от собак. А ты же не хотел ей такой участи. В общем обычными SQL/Pandas методами приводим данные в порядок.

Обучение модели

 

Садитесь поудобнее, мои юные друзья! Сейчас будет магия (но это не точно). Есть множество алгоритмов обучения. Мы разберем самый простенький. Но я вас уверяю — все остальные выглядят приблизительно так же.

 

KNN — метод ближайших соседей. Работает он крайне просто. Представим, что мы обучаем модельку на определение возраста человека по его росту и весу. У нас есть два признака (рост и вес) и есть бинарный (извините меня за мою нетолерантность) признак пола. При обучении мы скармливаем (это термин, а не жаргон) нашей модели множество записей, где указан пол при определенных значениях веса и роста. Далее наш алгоритм «строит график», где рост — это x, а вес — y (или наоборот), а точки на графике маркированы в зависимости от пола.

 

Создать карусель             Добавьте описание

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

 

Вот собственно и вся магия. Так что, если в 7 классе ты не брызгал святой водой в параболу, то и переживать по поводу восстания машин не стоит. Это всё лишь математика и алгоритмы.

Валидация

 

Это одна из самых важных стадий обучения модели. На этом этапе мы убедимся в том, что наша модель может предсказывать (это термин, а не жаргон) по указанным параметрам к какому классу отнести конкретное измерение. Вся валидация зиждется на одной простой идее.

 

Мы берем все наши данные и делим на данные для обучения и валидации (чаще всего 3 к 1). На данных для обучения мы обучаем модель. На данных же для валидации мы ее тестируем, сравнивая предсказания с известными нам данными.

Вот и всё

 

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

Однако логика и процесс неизменны. Так что не стоит бояться современных технологий. Зачастую, это лишь математика 60-х и красивое название.

Запишитесь на курс по безопасной разработке

И получите уверенный старт в карьере востребованного специалиста 😉

Старт

Длительность

4.5 месяца

Услуги раздела

Понравилась статья?

Следи за обновлениями в наших соц. сетях

Или подпишись на рассылку и получай полезную информацию на почту каждую неделю

Программирование
Кибербезопасность
Получить консультацию
!
!

Спасибо,
менеджер свяжеться с вами в ближайшее время

Спасибо,
за регистрацию на вебинар

Заказать обратный звонок

!
Заполните это поле
!
Заполните это поле