Введение в машинное обучение

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

Машинное обучение (ML) – это изучение компьютерных алгоритмов, которые автоматически улучшаются благодаря опыту. Он рассматривается как подмножество искусственного интеллекта. Алгоритмы машинного обучения строят математическую модель на основе выборочных данных, известных как «данные для обучения», чтобы делать прогнозы или принимать решения без явного программирования для этого.

Когда следует использовать машинное обучение

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

Есть гораздо больше примеров использования ML.

  • Прогнозирование. Машинное обучение также можно использовать в системах прогнозирования. В примере с кредитом для вычисления вероятности неисправности системе потребуется классифицировать доступные данные по группам.
  • Распознавание изображений. ML также можно использовать для распознавания лиц на изображении. Для каждого человека есть отдельная категория в базе данных из нескольких человек.
  • Распознавание речи. Это преобразование произносимых слов в текст. Он используется в голосовом поиске и многом другом. Голосовые пользовательские интерфейсы включают голосовой набор, маршрутизацию вызовов и управление устройством. Его также можно использовать для простого ввода данных и подготовки структурированных документов.
  • Медицинские диагнозы:ML обучен распознавать раковые ткани.
  • Финансовая отрасль и торговля: компании используют ОД в расследованиях мошенничества и проверке кредитоспособности.

По словам Артура Сэмюэля, « алгоритмы машинного обучения позволяют компьютерам учиться на данных и даже совершенствовать себя без явного программирования».

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

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

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

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

Машинное обучение с учителем строит модель, которая делает прогнозы на основе данных в условиях неопределенности. Алгоритм контролируемого обучения берет известный набор входных данных и известные реакции на данные (выходные данные) и обучает модель генерировать разумные прогнозы для реакции на новые данные. Используйте обучение с учителем, если у вас есть известные данные для результата, который вы пытаетесь предсказать.

Другими словами, обучение с учителем — это процесс обучения модели путем подачи ей входных данных, а также правильных выходных данных. Эта пара ввода/вывода обычно называется «помеченными данными». Подумайте об учителе, который, зная правильный ответ, либо награждает, либо снимает оценки со студента в зависимости от правильности его ответа на вопрос. Обучение с учителем часто используется для создания моделей машинного обучения для двух типов задач.

Как показано в приведенном выше примере, мы изначально взяли некоторые данные и пометили их как «Спам» или «Не спам». Эти помеченные данные используются моделью обучения под наблюдением, эти данные используются для обучения модели.

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

Типы контролируемого обучения

  • Классификация. Проблема классификации возникает, когда выходной переменной является категория, например «красный» или «синий», или «заболевание» и «отсутствие заболевания». Методы классификации предсказывают дискретные ответы, например, является ли электронное письмо подлинным или спамом, является ли опухоль злокачественной или доброкачественной. Модели классификации классифицируют входные данные по категориям. Типичные приложения включают медицинские изображения, распознавание речи и кредитный скоринг. Используйте классификацию, если ваши данные могут быть помечены, классифицированы или разделены на определенные группы или классы.
  • Регрессия. Проблема регрессии возникает, когда выходная переменная представляет собой реальное значение, например «доллары» или «вес». Методы регрессии предсказывают непрерывные реакции, например изменения температуры или колебания энергопотребления. Типичные приложения включают прогнозирование нагрузки на электроэнергию и алгоритмическую торговлю. Используйте методы регрессии, если вы работаете с диапазоном данных или если характер вашего отклика является действительным числом, например, температура или время до отказа для части оборудования.

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

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

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

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

Типы неконтролируемого обучения

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

  • Ассоциация. Проблема изучения правила ассоциации возникает, когда вы хотите обнаружить правила, которые описывают большие части ваших данных, например, люди, которые покупают X, также склонны покупать Y. Кроме того, правила ассоциации позволяют вам устанавливать ассоциации. среди объектов данных внутри больших баз данных. Этот неконтролируемый метод предназначен для обнаружения интересных взаимосвязей между переменными в больших базах данных. Например, люди, которые покупают новый дом, чаще всего покупают новую мебель.

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

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

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

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

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

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

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

Преимущества машинного обучения

Постоянное улучшение

Алгоритмы машинного обучения способны учиться на данных, которые мы предоставляем. По мере поступления новых данных точность модели и эффективность принятия решений улучшаются при последующем обучении. Такие гиганты, как Amazon, Walmart и другие, каждый день собирают огромный объем новых данных. Благодаря этому огромному количеству доступных обучающих данных повышается точность поиска связанных продуктов или механизма рекомендаций.

Автоматизация всего

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

Выявление тенденций и закономерностей

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

Широкий спектр приложений

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

Машинное обучение: технологические лидеры

Помимо Microsoft, Google, Facebook, IBM и Amazon Apple также тратит огромные финансовые ресурсы на использование и дальнейшее развитие машинного обучения. Суперкомпьютер IBM Watson по-прежнему остается самым известным устройством для машинного обучения. Watson в основном используется в медицинском и финансовом секторах. Как уже упоминалось, Facebook использует Machine Learning для распознавания изображений, Microsoft — для системы распознавания речи Cortana, Apple — для Siri. Конечно, машинное обучение также используется в Google, как в области сервисов изображений, так и в ранжировании в поисковых системах.

Облачные провайдеры, такие как Google, Microsoft, Amazon Webservice и IBM, уже создали сервисы для машинного обучения. С их помощью разработчики, не обладающие специфическими знаниями в области машинного обучения, также могут разрабатывать приложения. Эти приложения могут учиться на свободно определяемом наборе данных. В зависимости от провайдера эти платформы имеют разные названия:

  • IBM: Ватсон
  • Amazon: Машинное обучение Amazon
  • Майкрософт: Azure ML Studio
  • Гугл: тензорный поток

Резюме

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

Вам также может быть интересно прочитать Интеллектуальный анализ данных и машинное обучение: в чем разница?

Библиография