Что такое машинное обучение и почему мы его используем

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

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

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

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

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

Давайте рассмотрим пример. Спам-фильтр — это программа с машинным обучением, которая может научиться помечать спам на примерах спам-писем и на примерах обычных писем (не спама или ветчины). Примеры, которые система использует для обучения, называются «тренировочным набором». Каждый обучающий пример называется обучающим экземпляром или образцом. В этом случае задача T состоит в том, чтобы помечать спам для новых электронных писем, опыт E — это обучающие данные, а показатель эффективности P необходимо определить. Например, вы можете использовать соотношение правильно классифицированных электронных писем, и этот конкретный показатель производительности называется точностью.

Почему мы используем машинное обучение

Давайте перетащим приведенный выше пример. Какие традиционные шаблоны кода вы используете для создания фильтров спама в электронной почте?

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

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

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

Если спамеры заметят, что все их электронные письма, содержащие «4U», заблокированы, они могут вместо этого начать писать «Для вас». Традиционный метод программирования спам-фильтров необходимо обновить, чтобы пометить электронные письма «Для вас». Если спамеры продолжат обходить ваш спам-фильтр, вам придется навсегда сохранить новые правила.

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

Таким образом, преимущество использования кода машинного обучения заключается в следующем:

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

Большое спасибо, что прочитали….