Машинное обучение с Python - основы
Мы живем в «эпоху данных», которая обогащается более высокой вычислительной мощностью и большим объемом ресурсов хранения. Эти данные или информация увеличиваются день ото дня, но настоящая проблема состоит в том, чтобы разобраться во всех данных. Компании и организации пытаются справиться с этим, создавая интеллектуальные системы, используя концепции и методологии Data Science, Data Mining и Machine Learning. Среди них машинное обучение - самая захватывающая область информатики. Было бы правильно, если бы мы назовем машинное обучение приложением и наукой об алгоритмах, которые придают смысл данным.
Что такое машинное обучение?
Машинное обучение (ML) - это та область информатики, с помощью которой компьютерные системы могут придавать смысл данным почти так же, как это делают люди.
Проще говоря, ML - это тип искусственного интеллекта, который извлекает закономерности из необработанных данных с помощью алгоритма или метода. Основная цель ML - позволить компьютерным системам учиться на собственном опыте без явного программирования или вмешательства человека.
Потребность в машинном обучении
В настоящий момент люди являются наиболее умными и продвинутыми видами на Земле, потому что они могут думать, оценивать и решать сложные проблемы. С другой стороны, ИИ все еще находится на начальной стадии и во многих аспектах не превзошел человеческий интеллект. Тогда возникает вопрос: зачем заставлять машину учиться? Наиболее подходящая причина для этого - «принимать решения на основе данных с эффективностью и масштабом».
В последнее время организации вкладывают значительные средства в новые технологии, такие как искусственный интеллект, машинное обучение и глубокое обучение, чтобы получать ключевую информацию из данных для выполнения нескольких реальных задач и решения проблем. Мы можем назвать это решениями, основанными на данных, которые принимаются машинами, в частности, для автоматизации процесса. Эти решения, основанные на данных, могут использоваться вместо использования логики программирования в задачах, которые не могут быть запрограммированы изначально. Дело в том, что мы не можем обойтись без человеческого интеллекта, но другой аспект заключается в том, что всем нам необходимо решать реальные проблемы с эффективностью в огромных масштабах. Вот почему возникает потребность в машинном обучении.
Почему и когда заставлять машины учиться?
Мы уже обсуждали необходимость машинного обучения, но возникает другой вопрос: в каких сценариях мы должны заставить машину учиться? Может быть несколько обстоятельств, когда нам нужны машины для принятия решений на основе данных с эффективностью и в большом масштабе. Ниже приведены некоторые из таких обстоятельств, при которых обучение машин было бы более эффективным:
Отсутствие человеческого опыта
Самый первый сценарий, в котором мы хотим, чтобы машина училась и принимала решения на основе данных, может быть областью, в которой отсутствует человеческий опыт. Примерами могут быть навигации по неизвестным территориям или пространственным планетам.
Динамические сценарии
Есть несколько сценариев, которые по своей природе динамичны, т.е. они постоянно меняются. В случае этих сценариев и поведения мы хотим, чтобы машина училась и принимала решения на основе данных. Некоторыми из примеров могут быть подключение к сети и доступность инфраструктуры в организации.
Сложность перевода опыта в вычислительные задачи
Могут быть различные области, в которых люди имеют свой опыт; однако они не могут воплотить этот опыт в вычислительных задачах. В таких обстоятельствах нам нужно машинное обучение. Примерами могут быть области распознавания речи, когнитивные задачи и т. Д.
Модель машинного обучения
Прежде чем обсуждать модель машинного обучения, мы должны понять следующее формальное определение машинного обучения, данное профессором Митчеллом:
«Считается, что компьютерная программа учится на опыте E в отношении некоторого класса задач T и показателя производительности P, если ее производительность при выполнении задач в T, измеренная с помощью P, улучшается с опытом E.»
Приведенное выше определение в основном сосредоточено на трех параметрах, а также на основных компонентах любого алгоритма обучения, а именно на Задаче (T), Производительности (P) и опыте (E). В этом контексте мы можем упростить это определение как -
ML - это область ИИ, состоящая из алгоритмов обучения, которые:
Улучшите их производительность (P)
При выполнении некоторой задачи (T)
Со временем с опытом (E)
Основываясь на вышеизложенном, следующая диаграмма представляет модель машинного обучения -
Давайте теперь обсудим их подробнее -
Задача (T)
С точки зрения проблемы, мы можем определить задачу T как реальную проблему, которую необходимо решить. Проблема может быть чем угодно, например, найти лучшую цену на дом в определенном месте или найти лучшую маркетинговую стратегию и т. Д. С другой стороны, если мы говорим о машинном обучении, определение задачи другое, потому что трудно решить задачи на основе машинного обучения с помощью традиционный подход к программированию.
Задача T называется задачей на основе машинного обучения, если она основана на процессе, и система должна выполнять действия с точками данных. Примеры задач на основе машинного обучения: классификация, регрессия, структурированная аннотация, кластеризация, транскрипция и т. Д.
Опыт (E)
Как следует из названия, это знания, полученные из точек данных, предоставленных алгоритму или модели. После предоставления набора данных модель будет работать итеративно и изучать некоторый внутренний шаблон. Приобретенное таким образом обучение называется опытом (E). Проводя аналогию с человеческим обучением, мы можем думать об этой ситуации как о том, что человек учится или приобретает некоторый опыт с помощью различных атрибутов, таких как ситуация, отношения и т.д. Опыт, полученный с помощью нашей модели или алгоритма ML, будет использован для решения задачи T.
Производительность (P)
Алгоритм машинного обучения должен выполнять задачу и получать опыт с течением времени. Показателем, который показывает, работает ли алгоритм ML в соответствии с ожиданиями или нет, является его производительность (P). P - это в основном количественный показатель, который показывает, как модель выполняет задачу, T, используя свой опыт, E. Существует множество показателей, которые помогают понять производительность ML, например, оценка точности, оценка F1, матрица путаницы, точность, отзыв , чувствительность и т. д.
Проблемы в обучении машин
Хотя машинное обучение стремительно развивается, добиваясь значительных успехов в области кибербезопасности и автономных автомобилей, этому сегменту ИИ в целом еще предстоит пройти долгий путь. Причина в том, что ML не смог преодолеть ряд проблем. Проблемы, с которыми в настоящее время сталкивается ML:
Quality of data- Наличие качественных данных для алгоритмов машинного обучения - одна из самых больших проблем. Использование некачественных данных приводит к проблемам, связанным с предварительной обработкой данных и извлечением признаков.
Time-Consuming task - Еще одна проблема, с которой сталкиваются модели машинного обучения, - это расход времени, особенно на сбор данных, извлечение функций и поиск.
Lack of specialist persons - Поскольку технология машинного обучения все еще находится на начальной стадии, наличие экспертных ресурсов - сложная задача.
No clear objective for formulating business problems - Отсутствие четкой цели и четко определенной цели для бизнес-проблем - еще одна ключевая проблема для ML, потому что эта технология еще не настолько развита.
Issue of overfitting & underfitting - Если модель переоснащается или не подходит, она не может быть хорошо представлена для проблемы.
Curse of dimensionality- Еще одна проблема, с которой сталкивается модель ML, - это слишком много характеристик точек данных. Это может стать настоящей помехой.
Difficulty in deployment - Сложность модели машинного обучения затрудняет развертывание в реальной жизни.
Применение машинного обучения
Машинное обучение - самая быстрорастущая технология, и, по мнению исследователей, мы живем в золотой год ИИ и машинного обучения. Он используется для решения многих реальных сложных проблем, которые не могут быть решены с помощью традиционного подхода. Ниже приведены некоторые реальные приложения ML.
Анализ эмоций
Анализ настроений
Обнаружение и предотвращение ошибок
Прогноз погоды и предсказание
Анализ и прогноз фондового рынка
Синтез речи
Распознавание речи
Сегментация клиентов
Распознавание объекта
Обнаружение мошенничества
Предотвращение мошенничества
Рекомендация товаров покупателю в интернет-магазинах.