Определения и примеры, с которых можно начать свой путь к машинному обучению

Все говорят о машинном обучении - и те, кто занимается компьютерными науками, и те, кто нет.

Это стало новым трендом - одна из фраз, которые заставят вас казаться умным. Мое любопытство побудило меня узнать об этом, и, поскольку вы здесь, это означает, что вам, вероятно, тоже любопытно!

Покопавшись на некоторое время в деталях, я был впечатлен тем, на что способно машинное обучение. От классификации изображений собак и кошек до решения головоломок и игры в шахматы до вождения машины - машинное обучение может решить множество различных задач!

Я надеюсь, что после прочтения этой статьи вам тоже будет интересно узнать о ML. Мой план здесь - охватить некоторые основы, и если вы обнаружите, что вам интересно, то это знак того, что вам следует углубиться в эту тему больше!

Во-первых, нетехнические аспекты

Для начала рассмотрим пример.

Допустим, наша подруга Сара любит читать. Она регистрируется в приложении, в котором она может покупать книги в Интернете. В процессе регистрации она устанавливает флажок: «Я предпочитаю быстрое чтение».

Вскоре приложение начинает рекомендовать ей книги. Одни ей нравятся и покупаются (зеленые), а другие не нравятся (красные). Через пару месяцев приложение фиксирует следующее:

Это пример простой системы рекомендаций, своего рода модели машинного обучения. Теперь существует 2 сценария для системы рекомендаций приложения:

  • Если бы это приложение использовало традиционные операторы if-else, оно бы ничего не изменило в своей системе рекомендаций. С таким же успехом можно не сохранять эти данные. К сожалению, он по-прежнему будет рекомендовать Саре короткие чтения, хотя она явно этого не хочет.
## A sample of a basic if-else code
if(sara.preferes_good_reads && new_book.number_of_pages < 300):
   sara.recommendation_list.add(new_book)
  • Если бы это приложение было умным, оно бы распознало этот шаблон с помощью алгоритмов машинного обучения и изменило бы свою систему рекомендаций, чтобы она больше соответствовала ее потребностям. Он узнает, что Сара изменила свое мнение о быстром чтении и теперь предпочитает более длинные книги. Что еще более важно (и что наиболее впечатляет), это то, что он выясняет, что Сара учитывает отзывы о книге, прежде чем покупать ее.

На скетче выше приложение только что получило 3 новые книги, обозначенные желтыми, пурпурными и серыми точками. Что порекомендует умное приложение?

Дисквалификация серой книги и рекомендация желтой кажется логичным поступком. Можно с уверенностью сказать, что существует большая вероятность, что Саре не понравится серая книга, а ей понравится желтая.

А как насчет фиолетовой книги? Вот где пригодится машинное обучение. Просто взглянув, мы смогли решить более очевидные проблемы, но это не всегда так просто. Здесь мы учитываем только 2 фактора (количество страниц книги и ее рецензии).

Такие факторы, как титульная страница, название, качество книги, отзывы об авторе, рефералы, цена, жанр и т. Д., Еще не были добавлены в наше уравнение, что значительно усложняет нашу проблему. Проблема, которую более или менее невозможно решить одними людьми.

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

Показательный пример: в настоящее время я работаю над проектом, в котором машинное обучение используется, чтобы взглянуть на МРТ и определить, есть ли у этого человека опухоль или нет. Довольно впечатляюще, да ?! Но это непросто.

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

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

Модели машинного обучения способны видеть то, чего не могут люди. Они могут подсчитать, насколько Сара учитывает размер книги по сравнению с обзорами книг. Поэтому, когда книга появляется в неясной области, модель может оценить вес каждого фактора на основе истории Сары, применить эти оценки к текущей новой книге и предсказать понравится она ей или нет.

Еще не довольны? Вот отличная статья, в которой новичкам предлагается план стать экспертом в области машинного обучения:



А теперь расслабьтесь - время для некоторых технических деталей.

Существует 4 основных типа систем машинного обучения, которые обычно классифицируются в зависимости от объема и типа контроля, который они получают во время обучения:

  • Контролируемое обучение
  • Неконтролируемое обучение
  • Полу-контролируемое обучение
  • Обучение с подкреплением

Ниже приводится более или менее краткое содержание главы 1 из замечательной книги, которую я рекомендую: Практическое машинное обучение с помощью Scikit-Learn и TensorFlow Орелиен Жерон.

Важные примечания. Обычно, когда вы используете машинное обучение для прогнозирования метки (желаемое решение проблемы, т. е. следует ли рекомендовать эту книгу Саре? да / нет), вы используете набор данных ( сбор данных).

Вы разделяете этот набор данных на обучающий и тестовый наборы. Обучающий набор используется для обучения вашей модели машинного обучения до тех пор, пока вы не достигнете приемлемой точности (измерение того, насколько правильно ваша модель предсказывает метки). А набор тестов измеряет, как ваша модель работает с новыми данными, которых она никогда раньше не видела.

Чаще всего точность тестового набора ниже, чем точность обучающего набора. Точность тестового набора - это то, на что вы должны рассчитывать, что ваша модель будет более похожа на серийную.

4 типа систем машинного обучения

Обучение с учителем

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

Проблемы классификации определяют, принадлежит ли X множеству или нет. Книга понравится Саре? Да или нет? Это спам по электронной почте? Да или нет?

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

Обучение без учителя

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

Задачи кластеризации разделяют данные на группы по схожей тематике. Например, мне может быть интересно узнать, что 40% моих читателей - мужчины, 70% - старше 30 лет и 10% - ниже 60 дюймов. Вы не говорите своей модели, какой читатель к какой группе принадлежит - вместо этого она сама определяет все эти факторы и сходства.

Полу-контролируемое обучение

При полууправляемом обучении набор данных частично помечен. Обычно помечена меньшая часть. Рассмотрим пример. Приложение iPhone Photos имеет свои альбомы «людей», в которых оно объединяет людей, которые похожи друг на друга, выбирает представителя из каждого кластера и спрашивает вас об их имени (ярлыке). Затем приложение «Фотографии» маркирует тех, кто похож на этого человека, и помещает их в один кластер.

Обучение с подкреплением

Система обучения здесь совсем другая. Он называется агент. Этот агент наблюдает за окружающей средой, и агент выполняет действие, за которое он либо получает штраф, либо вознаграждение - так агент учится. Примерно так, когда малыш впервые касается огня - он получает травму, поэтому (в идеале) больше не приближается к огню.

Как говорит Жерон в своей книге по машинному обучению:

Подводя итог, машинное обучение отлично подходит для:

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

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

- Колеблющаяся среда: система машинного обучения может адаптироваться к новым данным. Получение информации о сложных проблемах и больших объемах данных.

Надеюсь, благодаря этому вы узнали больше о машинном обучении. Я уверен, что чем больше вы погружаетесь в это, тем больше вам это понравится.

Примечание редактора. Heartbeat - это онлайн-издание и сообщество, созданное авторами и посвященное предоставлению первоклассных образовательных ресурсов для специалистов по науке о данных, машинному обучению и глубокому обучению. Мы стремимся поддерживать и вдохновлять разработчиков и инженеров из всех слоев общества.

Являясь независимой редакцией, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее и лучше строить лучшие модели машинного обучения.