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

Машинное обучение важно, поскольку оно позволяет компаниям видеть тенденции в поведении клиентов и бизнес-модели, а также облегчает разработку новых продуктов. Многие крупные организации, такие как Google и Facebook, в основном полагаются на машинное обучение. Даже если мы этого не осознаем, мы используем машинное обучение в повседневной жизни через Google Maps, Google Assistant и другие подобные сервисы. Машинное обучение часто применяется к механизмам рекомендаций. Распознавание изображений, распознавание речи, прогнозирование трафика, рекомендации по продуктам, фильтрация спама и вредоносных программ в электронной почте, обнаружение онлайн-мошенничества, торговля на фондовом рынке, медицинская диагностика и автоматический языковой перевод — вот лишь некоторые из других распространенных приложений.
Как работает машинное обучение?
Система машинного обучения учится на прошлых данных, строит модели прогнозирования и предсказывает результаты всякий раз, когда поступают новые данные. Точность прогнозируемого результата определяется количеством доступных данных, поскольку большой объем данных помогает в разработке лучшей модели, которая более точно прогнозирует результат. Если у нас есть сложная проблема, для которой нам нужно делать прогнозы, а не создавать для нее код, мы можем просто ввести данные в общие алгоритмы, а машина разработает логику на основе данных и предскажет результат. На следующей блок-схеме показано, как работают алгоритмы машинного обучения:

Классификация машинного обучения
Машинное обучение можно разделить на три категории
- Контролируемое обучение
- Неконтролируемое обучение
- Обучение с подкреплением
Контролируемое обучение
Обучение с учителем — это подход, при котором компьютерный алгоритм обучается на входных данных, которые были помечены для определенного выхода. Система строит модель, используя размеченные данные, чтобы понять наборы данных и узнать о каждом из них. Модель обучается до тех пор, пока она не сможет идентифицировать основные шаблоны и отношения между входными данными и выходными метками, что позволит ей получать точные результаты маркировки при воздействии на новые данные. После обучения и обработки мы тестируем модель, предоставляя образец набора данных, чтобы увидеть, точно ли она предсказывает конечный результат или нет.
Обучение с учителем хорошо подходит для задач классификации и регрессии, таких как выяснение того, к какой категории относится новостная статья, или прогнозирование объема продаж на конкретную дату в будущем. Хорошим примером классификации является спам-фильтр, который должен научиться классифицировать новые электронные письма после обучения на большом количестве примеров электронных писем вместе с их классом (спам или ветчина). Примером регрессии является прогнозирование целевого числового значения, например цены автомобиля, на основе набора функций (пробег, возраст, марка и т. д.), известных как предикторы. Чтобы обучить модель, вы должны предоставить ей множество примеров автомобилей, а также их метки и предикторы. Целью контролируемого обучения является интерпретация данных в свете определенного вопроса.
Некоторыми из наиболее важных алгоритмов обучения с учителем являются K-ближайшие соседи (KNN), линейная регрессия, логистическая регрессия, машины опорных векторов (SVM), деревья решений и случайные леса.
Обучение без учителя
Неконтролируемое обучение — это тип машинного обучения, при котором пользователям не нужно контролировать модель. Вместо этого он позволяет модели работать независимо и находить ранее необнаруженные закономерности и информацию.
Машина обучается на наборе немаркированных, неклассифицированных или некатегоризированных данных, и алгоритм должен реагировать независимо на эти данные. Целью неконтролируемого обучения является реструктуризация входящих данных в новые функции или набор объектов с похожими шаблонами. У нас нет предопределенного результата в неконтролируемом обучении. Машина ищет в огромном объеме данных полезную информацию. Его также можно разделить на два типа алгоритмов: кластеризация и ассоциация.
Рассмотрим сценарий, когда у вас есть доступ к большому количеству данных о посетителях вашего сайта. Чтобы определить группу похожих посетителей, вы можете использовать метод кластеризации. Вы никогда не сообщаете алгоритму, к какой группе принадлежит посетитель; он находит эти связи самостоятельно. При изучении правил ассоциации мы изучаем большие объемы данных и определяем взаимосвязь между атрибутами. Например, предположим, что у вас есть супермаркет. Запустив правило ассоциации в журнале продаж, выясните, что люди, которые покупают шампунь, также склонны покупать кондиционер. Поэтому вы можете разместить эти продукты рядом друг с другом.
Обучение с подкреплением
Обучение с подкреплением — это метод обучения на основе обратной связи, в котором система обучения, известная как агент, получает вознаграждение за каждое правильное действие и штраф за каждое неправильное действие. Агент обучения имеет возможность наблюдать за окружающей средой, выбирать и выполнять действия и получать в результате вознаграждение (или штрафы в виде отрицательного вознаграждения). Наилучшая стратегия, известная как политика, — для получения наибольшего вознаграждения с течением времени — должна быть обнаружена системой самостоятельно. Политика определяет, какое действие должен выбрать агент в данной ситуации.
Многие роботы учатся двигаться, внедряя обучение с подкреплением. Программа DeepMind AlphaGo также является хорошим примером обучения с подкреплением.
Обучение с полуучителем
Некоторые алгоритмы способны обрабатывать частично размеченные обучающие данные, которые часто состоят из большого количества неразмеченных и небольшого количества размеченных данных. Это называется обучением с полуучителем. Многие полуконтролируемые алгоритмы представляют собой комбинацию контролируемых и неконтролируемых алгоритмов.
Давайте рассмотрим сценарий из реального мира, например, обнаружение мошенничества. Рассмотрим корпорацию с десятью миллионами пользователей, которая оценивала 5% всех транзакций, чтобы определить, были ли они мошенническими или нет, но не помечала оставшиеся данные метками «мошенничество» и «немошенничество». В этой ситуации частично контролируемое обучение позволяет обрабатывать все данные без необходимости нанимать огромный штат аннотаторов или ставить под угрозу точность.
Это моя первая статья, поэтому я надеюсь, что она оказалась вам полезной! Пожалуйста, не стесняйтесь оставлять примечания, если есть что-то еще, что вы хотели бы добавить к этой статье. Мы очень ценим любые
отзывы. Не стесняйтесь делиться этим! Спасибо!