Рубрики
Без рубрики

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

Что такое машинное обучение (ML). Машинное обучение – это тип искусственного интеллекта, который … Помечено машинным обучением, Python, Data Science.

Что такое машинное обучение (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”