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

Опубликовано: 14 Июля, 2021

Термин «машинное обучение» был придуман Артуром Самуэлем в 1959 году, американским пионером в области компьютерных игр и искусственного интеллекта, и заявил, что «оно дает компьютерам возможность учиться без явного программирования».
А в 1997 году Том Митчелл дал «корректное» математическое и реляционное определение, что «компьютерная программа, как говорят, учится на опыте E в отношении некоторой задачи T и некоторого показателя производительности P, если ее производительность на T, измеряемая с помощью P, улучшается с опытом E.

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

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

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

Это означает, что задачи, связанные с машинным обучением, должны предлагать фундаментально операционное определение, а не определять область в когнитивных терминах. Это следует за предложением Алана Тьюринга в его статье «Вычислительные машины и интеллект», в которой был задан вопрос «Могут ли машины думать?» заменяется вопросом «Могут ли машины делать то, что можем делать мы (как мыслящие сущности)?»
В области анализа данных машинное обучение используется для разработки сложных моделей и алгоритмов, которые поддаются прогнозированию; при коммерческом использовании это называется предиктивной аналитикой. Эти аналитические модели позволяют исследователям, специалистам по обработке данных, инженерам и аналитикам «принимать надежные, повторяемые решения и результаты» и выявлять «скрытые идеи» путем изучения исторических взаимосвязей и тенденций в наборе данных (входных данных).

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

Поэтому, если вы хотите, чтобы ваша программа предсказывала, например, модели трафика на оживленном перекрестке (задача T), вы можете запустить ее через алгоритм машинного обучения с данными о прошлых моделях трафика (опыт E) и, если она успешно «научилась ”, Тогда он будет лучше предсказывать будущие модели трафика (показатель эффективности P).
Однако очень сложный характер многих реальных проблем часто означает, что изобретение специализированных алгоритмов, которые будут идеально их решать каждый раз, непрактично, если не невозможно. Примеры проблем машинного обучения: «Это рак?», «Кто из этих людей дружит друг с другом?», «Понравится ли этому человеку этот фильм?» такие задачи - отличные цели для машинного обучения, и на самом деле машинное обучение применялось для решения таких задач с большим успехом.

Классификация машинного обучения

Реализации машинного обучения подразделяются на три основные категории в зависимости от характера обучающего «сигнала» или «ответа», доступного для обучающей системы, а именно:

  1. Контролируемое обучение: когда алгоритм учится на примерах данных и связанных целевых ответах, которые могут состоять из числовых значений или строковых меток, таких как классы или теги, чтобы впоследствии предсказать правильный ответ при постановке с новыми примерами, попадает в категорию контролируемого обучения. . Этот подход действительно похож на человеческое обучение под наблюдением учителя. Учитель дает ученику хорошие примеры для запоминания, а затем ученик выводит общие правила из этих конкретных примеров.
  2. Неконтролируемое обучение: когда алгоритм учится на простых примерах без какого-либо связанного ответа, оставляя алгоритму определять шаблоны данных самостоятельно. Этот тип алгоритма имеет тенденцию реструктурировать данные во что-то другое, например, новые функции, которые могут представлять класс или новую серию некоррелированных значений. Они весьма полезны, поскольку дают людям понимание значения данных и новые полезные входные данные для контролируемых алгоритмов машинного обучения.
    Как своего рода обучение, это напоминает методы, которые люди используют для определения того, что определенные объекты или события принадлежат к одному классу, например, путем наблюдения за степенью сходства между объектами. Некоторые системы рекомендаций, которые вы найдете в Интернете в форме автоматизации маркетинга, основаны на этом типе обучения.
  3. Обучение с подкреплением: когда вы представляете алгоритм на примерах без ярлыков, как при обучении без учителя. Тем не менее, вы можете сопровождать пример положительной или отрицательной обратной связью в соответствии с решением, предлагаемым алгоритмом, которое относится к категории обучения с подкреплением, которое связано с приложениями, для которых алгоритм должен принимать решения (так что продукт является предписывающим, а не просто описательным, как при обучении без учителя), и решения влекут за собой последствия. В человеческом мире это похоже на обучение методом проб и ошибок.
    Ошибки помогают вам учиться, потому что к ним добавляется штраф (стоимость, потеря времени, сожаление, боль и т. Д.), Показывая, что определенный образ действий менее вероятен, чем другие. Интересный пример обучения с подкреплением возникает, когда компьютеры сами учатся играть в видеоигры.
    В этом случае приложение представляет алгоритм с примерами конкретных ситуаций, например, когда игрок застревает в лабиринте, избегая врага. Приложение позволяет алгоритму знать результат предпринимаемых им действий, и обучение происходит при попытке избежать того, что он считает опасным, и стремиться к выживанию. Вы можете посмотреть, как компания Google DeepMind создала программу обучения с подкреплением, которая воспроизводит старые видеоигры Atari. При просмотре видео обратите внимание на то, что программа изначально неуклюжая и неквалифицированная, но постепенно улучшается с тренировками, пока не станет чемпионом.
  4. Полу-контролируемое обучение: когда дается неполный обучающий сигнал: обучающий набор с отсутствующими некоторыми (часто многими) целевыми выходами. Существует особый случай этого принципа, известный как преобразование, когда весь набор проблемных примеров известен во время обучения, за исключением того, что часть целей отсутствует.

Категоризация на основе требуемого результата

Другая категоризация задач машинного обучения возникает при рассмотрении желаемого результата системы с машинным обучением:

  1. Классификация: когда входные данные делятся на два или более классов, и учащийся должен создать модель, которая назначает невидимые входные данные одному или нескольким (классификация с несколькими метками) этих классов. Обычно это решается под наблюдением. Фильтрация спама является примером классификации, где входными данными являются сообщения электронной почты (или другие), а классы - «спам» и «не спам».
  2. Регрессия: это тоже контролируемая проблема, случай, когда выходы являются непрерывными, а не дискретными.
  3. Кластеризация: когда набор входов должен быть разделен на группы. В отличие от классификации, группы не известны заранее, что обычно делает эту задачу неконтролируемой.

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

Эта статья предоставлена Сиддхартхом Пандей . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

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