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

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

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

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

Давайте посмотрим на некоторые более ранние определения машинного обучения.

Артур Сэмюэл в 1959 году определил машинное обучение как

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

Затем Том Мишель в 1999 году определил машинное обучение как

Говорят, что компьютерная программа учится на опыте E по отношению к некоторому классу задач T и показателю производительности P, если ее производительность при выполнении задач в T, измеряемая P, улучшается с опытом E.

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

Типы машинного обучения

  • Контролируемое обучение
  • Неконтролируемое обучение
  • Обучение с подкреплением
  • Рекомендательные системы

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

Контролируемое обучение

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

Y = f(X)

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

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

  • Регрессия: проблема, когда выходная переменная непрерывна, как цена и т. д.
  • Классификация: проблема, в которой выходная переменная дискретна, например, у пациента рак или нет.

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

Дайте компьютеру научиться что-то делать и использовать это для определения структуры и закономерностей в данных. При этом мы получаем входные переменные (X), но у нас нет назначенной им правильной метки, т. е. мы не знаем, каким будет результат. Нам сказали, что это данные, вы можете их структурировать. Это называется обучением без учителя, потому что в отличие от обучения с учителем здесь нет правильного ответа. Один из способов сделать это — объединить данные в группы. Различные примеры кластеризации:

  • Новости Google
  • Организовывать компьютерные кластеры
  • Анализ социальных сетей
  • Анализ астрономических данных

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

Тип обучения, при котором агент учится вести себя в окружающей среде, выполняя действия и видя результаты. В последние годы в этой области было сделано много достижений, и она набирает огромную популярность. Примеры включают в себя победу AlphaGo над чемпионом мира в игре Го в 2016 году, OpenAI в соревнованиях по Dota 2 и другие. Давайте рассмотрим пример обучения с подкреплением, когда агент играет в игру. Весь процесс можно смоделировать как цикл, который работает следующим образом:

  • Наш Агент получает состояние S от Среды.
  • В зависимости от состояния S агент выполняет действие A.
  • Переход среды в новое состояние S1
  • В какой-то момент агент получил награду R от окружения. Награда может быть отрицательной или положительной.

Этот цикл выводит последовательность состояния, действия и вознаграждения. Цель агента — максимизировать ожидаемое вознаграждение.

Рекомендательные системы

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

…..

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

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