Что такое машинное обучение (ML).
Машинное обучение это тип искусственного интеллекта, который извлекает шаблоны из необработанных данных с помощью алгоритма или метода.
Основное внимание ML – позволить компьютерным системам учиться на опыте без явно запрограммированного или вмешательства человека.
Необходимость в машинном обучении.
Люди в этот момент являются самыми умными и продвинутыми видами на Земле, потому что они могут думать, оценивать и решать сложные проблемы. С другой стороны, искусственный интеллект находится на своем начальном этапе и не превзошел человеческий интеллект.
Из -за растущих объемов и разновидностей доступных данных, вычислительной обработки, которая является более дешевой и мощной, и доступным хранением данных, машинное обучение имеет важное значение; *Создание моделей, которые могут анализировать более крупные, более сложные данные и обеспечить более быстрые и более точные результаты. *Создание точных моделей, которые обеспечивают больше шансов определить выгодные возможности или избежать неизвестных рисков.
Почему и когда делать машины учиться
Есть несколько обстоятельств, когда нам нужны машины для принятия решений, основанных на данных с эффективностью и в огромном масштабе, таких как;
Отсутствие человеческого опыта. Сценарии, в которых отсутствует человеческий опыт, такой как навигация на неизвестных территориях или пространственных планетах, нуждается в машинном обучении.
Динамические сценарии Сценарии, которые продолжают меняться со временем, нужна машина для изучения и принятия различных решений, основанных на данных.
Сложность в переводе опыта в вычислительную задачу Могут быть различные области, в которых люди имеют свой опыт, но они не могут перевести опыт в вычислительные задачи, такие как распознавание речи и когнитивные задачи.
Проблемы в машинном обучении
Хотя машинное обучение быстро развивается, ему еще предстоит пройти долгий путь. Причина этого заключается в том, что ML не смог преодолеть такие проблемы, как;
Труто-потребляемая задача- сбор данных, выбор функций и поиск потребления много времени.
Отсутствие специалистов- Поскольку ML все еще развивается, доступность экспертов является сложной работой.
Проблемы пережитки и недостаточности- Если модель переживает или подходит, она не может быть хорошо представлена для проблемы.
Сложность в развертывании- сложность проектов ML затрудняет развертывание в реальной жизни.
Качество данных- наличие данных хорошего качества для алгоритмов ML является проблемой. Использование низкокачественных данных приводит к проблемам, связанным с предварительной обработкой данных и извлечением объектов.
Приложения машинного обучения.
Машинное обучение-это наиболее быстро растущая технология, используемая для решения реальных сложных проблем, которые не могут быть решены традиционным подходом, таким как:
- Анализ эмоций
- Анализ и прогнозирование фондового рынка
- Синтез речи.
- Сегментация клиента.
- Обнаружение мошенничества.
- Прогнозирование погоды и прогноз.
Почему Python для машинного обучения?
Обширный набор пакетов. У Python есть обширный и мощный набор пакетов, готовых к использованию в различных доменах, таких как Numpy, Scipy, Pandas и Scikit.
Легкое прототипирование. Python обеспечивает легкое и быстрое прототипирование, полезное для разработки новых алгоритмов.
Python имеет библиотеки для загрузки данных, визуализации, статистики, обработки естественного языка и обработки изображений, что предоставляет ученым-ученым с большим количеством функциональности общего и специального назначения.
Установка
Чтобы мы могли работать с проектами машинного обучения, мы будем использовать предварительно упакованное распределение Python: Anaconda.
- Anaconda – это распределение языков программирования Python и R для научных вычислений, которое направлено на упрощение управления и развертывания пакетов.
- Распределение включает в себя пакеты данных, подходящие для Windows, Linux и MacOS.
- Anaconda поставляется с Numpy, Scipy, Matplotlib, Pandas, Ipython, Jupyter Notebook и Scikit-Learn.
Для настройки среды Python с помощью Anaconda Используйте следующие шаги:
Загрузите требуемый пакет установки из Anaconda Distribution Используя эту ссылку Анкет
Вы можете выбрать для Windows, Mac и Linux в соответствии с вашими требованиями.
Затем выберите версию Python, которую хотите установить на машине. Последняя версия Python – 3.9. Там вы получите параметры для 64-битного и 32-битного установщика для обоих.
После выбора версии ОС и Python она загрузит установщик Anaconda на вашем компьютере. Дважды щелкните файл, и установщик установит пакет Anaconda.
Компоненты экосистемы Python ML.
Основные библиотеки, которые формируют компоненты экосистемы Python Machine Learning, являются;
Nopbook Jupyter Это интерактивная среда для запуска кода в браузере. Это отличный инструмент для анализа исследовательских данных и широко используется учеными для данных, а также позволяет легко включить код, текст и изображения.
Numpy Это фундаментальный пакет для научных вычислений с Python, который содержит функциональность для многомерных массивов, математических функций высокого уровня, таких как операции линейной алгебры и преобразование Фурье, и генераторы чисел псевдорядома.
Matplotlib Это всеобъемлющая библиотека для создания статических, анимированных и интерактивных визуализаций в Python.
Панды это быстрый, мощный, гибкий и прост в использовании инструмента анализа и манипуляций с открытым исходным кодом, созданный на языке программирования Python.
Знание вашей задачи и знание ваших данных
- Наиболее важной частью в процессе машинного обучения является понимание данных, с которыми вы работаете, и то, как они связаны с задачей, которую вы хотите решить.
- Не будет эффективно случайным образом выбирать алгоритм и бросать ваши данные в него.
- Необходимо понять, что происходит в вашем наборе данных, прежде чем вы начнете создавать модель, поскольку каждый алгоритм отличается с точки зрения того, какие данные и какую задачу он работает лучше всего.
Подходы машинного обучения.
После того, как у вас есть четкое понимание ваших данных, вы можете выбрать лучший алгоритм, поэтому решайте свою проблему на основе следующих подходов.
1. Связанный Обучение в контролируемом обучении пользователь предоставляет алгоритм пары входов и желаемых выходов, а алгоритм находит способ создать желаемый вывод, учитывая вход.
Наиболее распространенными формами контролируемого обучения являются Классификация и Регрессия Анкет
Классификация используется для группировки аналогичных точек данных в разные разделы. Алгоритмы классификации включают;
- Логистическая регрессия
- Поддержка векторных машин
- Сверточные глубокие нейронные сети
- Наивный Байес
Регрессия выводит число, а не класс и полезен при прогнозировании таких проблем, как цены на акции, вероятность события и даже температура в течение определенного дня. Алгоритмы регрессии включают;
- Линейная регрессия
- Случайный лес
- Многослойный персептрон
- Сверточная глубокая нейронная сеть
Примеры контролируемых учебных задач – это;
Прогнозирование цен на жилье. Здесь входные данные могут быть квадратными метрами, количеством комнат, функций, есть ли в доме сад или нет. -Используя данные, поступающие из тысяч домов, их функций и цен, теперь мы можем обучить модель контролируемого машинного обучения для прогнозирования цены нового дома на основе примеров, наблюдаемых моделью.
Обнаружение мошеннической деятельности в транзакциях кредитных карт. Здесь вход является записью транзакции кредитной карты, и вывод такова, будет ли он мошенничеством или нет.
Другими примерами являются прогноз погоды, прогноз запасов и поэтому на
2. Обучение обучению.
В неконтролируемом обучении известно только входные данные, и для алгоритма не дано никаких известных выходных данных.
Примером неконтролируемого обучения в реальной жизни было бы сортировать разные цветные монеты по отдельным кучам. Глядя на их функции, такие как цвет, вы можете увидеть, какие монеты Связанный и кластер их в правильные группы.
Обучение без присмотра обычно используется для Кластеризация и Обнаружение аномалии Анкет
Кластеризация – это акт создания групп с разными характеристиками. Он пытается найти различные подгруппы в наборе данных. В ассоциации кластеризации обучение раскрывает правила, которые описывают ваши данные.
Обнаружение аномалии – это идентификация редких или необычных элементов, которые отличаются от большинства данных.
Примеры неконтролируемых учебных задач включают:
- Сегментирование клиентов на группы с аналогичными предпочтениями
-Набор записей клиентов, вы можете определить, какие клиенты похожи, и есть ли группы клиентов с аналогичными предпочтениями. Для торгового сайта это могут быть «родители», «книжные черви» или «геймеры». Поскольку вы заранее не знаете, какими могут быть эти группы или даже сколько их, у вас нет известных результатов.
- Обнаружение ненормальных шаблонов доступа к веб -сайту
-Чтобы идентифицировать злоупотребления или ошибки, часто полезно найти шаблоны доступа, которые отличаются от нормы. Каждый аномальный паттерн может быть совсем другой, и у вас может не быть никаких зарегистрированных случаев аномального поведения. Поскольку в этом примере вы наблюдаете только о трафике, и вы не знаете, что составляет нормальное и ненормальное поведение, это неконтролируемая проблема.
3. Семейское обучение.
Это смесь между подходами и неконтролируемыми подходами. Он берет среднюю дорогу, имея возможность смешивать небольшое количество помеченных данных с гораздо большим немеченочным набором данных.
Популярные полупроницаемые алгоритмы обучения включают:
- Классификация PU
- Трандуктивный SVM
- Совместное обучение
4. Перезагрузка.
Это реже и гораздо сложнее по сравнению с другими подходами. Он не использует метки и вместо этого использует награды для обучения.
Три основных компонента, которые составляют обучение подкреплению: агент, окружающая среда и действия. Агент является учеником или принимающим решения, окружающая среда включает в себя все, с чем агент взаимодействует, и действия-это то, что делает агент.
Подкрепление обучения происходит, когда агент выбирает действия, которые максимизируют ожидаемое вознаграждение в течение определенного времени.
Популярные алгоритмы обучения подкреплению включают:
- Q-обучение
- Временная разница
- Поиск дерева Монте -Карло
- Сарса
Оригинал: “https://dev.to/phylis/introduction-to-machine-learning-with-python-2ak0”