Что такое machine learning

Машинное обучение — это легко

Для кого эта статья?

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

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

В цифрах

С каждым годом растёт потребность в изучении больших данных как для компаний, так и для активных энтузиастов. В таких крупных компаниях, как Яндекс или Google, всё чаще используются такие инструменты для изучения данных, как язык программирования R, или библиотеки для Python (в этой статье я привожу примеры, написанные под Python 3). Согласно Закону Мура (а на картинке — и он сам), количество транзисторов на интегральной схеме удваивается каждые 24 месяца. Это значит, что с каждым годом производительность наших компьютеров растёт, а значит и ранее недоступные границы познания снова «смещаются вправо» — открывается простор для изучения больших данных, с чем и связано в первую очередь создание «науки о больших данных», изучение которого в основном стало возможным благодаря применению ранее описанных алгоритмов машинного обучения, проверить которые стало возможным лишь спустя полвека. Кто знает, может быть уже через несколько лет мы сможем в абсолютной точности описывать различные формы движения жидкости, например.

Анализ данных — это просто?

Да. А так же интересно. Наряду с особенной важностью для всего человечества изучать большие данные стоит относительная простота в самостоятельном их изучении и применении полученного «ответа» (от энтузиаста к энтузиастам). Для решения задачи классификации сегодня имеется огромное количество ресурсов; опуская большинство из них, можно воспользоваться средствами библиотеки Scikit-learn (SKlearn). Создаём свою первую обучаемую машину:

Вот мы и создали простейшую машину, способную предсказывать (или классифицировать) значения аргументов по их признакам.

— Если все так просто, почему до сих пор не каждый предсказывает, например, цены на валюту?

С этими словами можно было бы закончить статью, однако делать я этого, конечно же, не буду (буду конечно, но позже) существуют определенные нюансы выполнения корректности прогнозов для поставленных задач. Далеко не каждая задача решается вот так легко (о чем подробнее можно прочитать здесь)

Ближе к делу

— Получается, зарабатывать на этом деле я не сразу смогу?

Итак, сегодня нам потребуются:

Дальнейшее использование требует от читателя некоторых знаний о синтаксисе Python и его возможностях (в конце статьи будут представлены ссылки на полезные ресурсы, среди них и «основы Python 3»).

Как обычно, импортируем необходимые для работы библиотеки:

— Ладно, с Numpy всё понятно. Но зачем нам Pandas, да и еще read_csv?

Иногда бывает удобно «визуализировать» имеющиеся данные, тогда с ними становится проще работать. Тем более, большинство датасетов с популярного сервиса Kaggle собрано пользователями в формате CSV.

— Помнится, ты использовал слово «датасет». Так что же это такое?

Датасет — выборка данных, обычно в формате «множество из множеств признаков» → «некоторые значения» (которыми могут быть, например, цены на жильё, или порядковый номер множества некоторых классов), где X — множество признаков, а y — те самые некоторые значения. Определять, например, правильные индексы для множества классов — задача классификации, а искать целевые значения (такие как цена, или расстояния до объектов) — задача ранжирования. Подробнее о видах машинного обучения можно прочесть в статьях и публикациях, ссылки на которые, как и обещал, будут в конце статьи.

Знакомимся с данными

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

Работая в Jupyter notebook, получаем такой ответ:

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Это значит, что теперь нам доступны данные для анализа. В первом столбце значения Grade показывают, к какому сорту относится вино, а остальные столбцы — признаки, по которым их можно различать. Попробуйте ввести вместо data.head() просто data — теперь для просмотра вам доступна не только «верхняя часть» датасета.

Простая реализация задачи на классификацию

Переходим к основной части статьи — решаем задачу классификации. Всё по порядку:

Создаем массивы, где X — признаки (с 1 по 13 колонки), y — классы (0ая колонка). Затем, чтобы собрать тестовую и обучающую выборку из исходных данных, воспользуемся удобной функцией кросс-валидации train_test_split, реализованной в scikit-learn. С готовыми выборками работаем дальше — импортируем RandomForestClassifier из ensemble в sklearn. Этот класс содержит в себе все необходимые для обучения и тестирования машины методы и функции. Присваиваем переменной clf (classifier) класс RandomForestClassifier, затем вызовом функции fit() обучаем машину из класса clf, где X_train — признаки категорий y_train. Теперь можно использовать встроенную в класс метрику score, чтобы определить точность предсказанных для X_test категорий по истинным значениям этих категорий y_test. При использовании данной метрики выводится значение точности от 0 до 1, где 1 100% Готово!

— Неплохая точность. Всегда ли так получается?

Для решения задач на классификацию важным фактором является выбор наилучших параметров для обучающей выборки категорий. Чем больше, тем лучше. Но не всегда (об этом также можно прочитать подробнее в интернете, однако, скорее всего, я напишу об этом ещё одну статью, рассчитанную на начинающих).

— Слишком легко. Больше мяса!

Для наглядного просмотра результата обучения на данном датасете можно привести такой пример: оставив только два параметра, чтобы задать их в двумерном пространстве, построим график обученной выборки (получится примерно такой график, он зависит от обучения):

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Да, с уменьшением количества признаков, падает и точность распознавания. И график получился не особенно-то красивым, но это и не решающее в простом анализе: вполне наглядно видно, как машина выделила обучающую выборку (точки) и сравнила её с предсказанными (заливка) значениями.

Предлагаю читателю самостоятельно узнать почему и как он работает.

Последнее слово

Надеюсь, данная статья помогла хоть чуть-чуть освоиться Вам в разработке простого машинного обучения на Python. Этих знаний будет достаточно, чтобы продолжить интенсивный курс по дальнейшему изучению BigData+Machine Learning. Главное, переходить от простого к углубленному постепенно. А вот полезные ресурсы и статьи, как и обещал:

Материалы, вдохновившие автора на создание данной статьи

Более углубленное изучение использования машинного обучения с Python стало возможным, и более простым благодаря преподавателям с Яндекса — этот курс обладает всеми необходимыми средствами объяснения, как же работает вся система, рассказывается подробнее о видах машинного обучения итд.
Файл сегодняшнего датасета был взят отсюда и несколько модифицирован.

Где брать данные, или «хранилище датасетов» — здесь собрано огромное количество данных от самых разных источников. Очень полезно тренироваться на реальных данных.

Буду признателен за поддержку по улучшению данной статьи, а так же готов к любому виду конструктивной критики.

Источник

Что такое машинное обучение?

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

Что такое машинное обучение и как оно работает

Машинное обучение (ML) — это использование математических моделей данных, которые помогают компьютеру обучаться без непосредственных инструкций. Оно считается одной из форм искусственного интеллекта (ИИ). При машинном обучении с помощью алгоритмов выявляются закономерности в данных. На основе этих закономерностей создается модель данных для прогнозирования. Чем больше данных обрабатывает такая модель и чем дольше она используется, тем точнее становятся результаты. Это очень похоже на то, как человек оттачивает навыки на практике.

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

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Как машинное обучение связано с ИИ

Машинное обучение считается подмножеством ИИ. «Интеллектуальный» компьютер мыслит как человек и самостоятельно выполняет задачи. Один из способов обучить компьютер имитировать мышление человека — использовать нейронную сеть. Это серия алгоритмов, смоделированных по принципу работы человеческого мозга.

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Как машинное обучение связано с прогнозной аналитикой

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

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

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

Глубокое обучение — это специализированная форма машинного обучения, использующая нейронные сети (NN) для предоставления ответов. Алгоритмы глубокого обучения могут самостоятельно определять точность. Они позволяют классифицировать информацию так же, как человеческий мозг. Такие алгоритмы лежат в основе одних из самых близких к мышлению человека систем ИИ.

Преимущества машинного обучения

Машинное обучение применяется во множестве областей. Его возможности постоянно расширяются. Вот некоторые из основных преимуществ, которые компании получили благодаря проектам машинного обучения:

Получение аналитических сведений

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

Повышение уровня целостности данных

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

Расширение возможностей пользователей

Адаптивные интерфейсы, целевое содержимое, чат-боты и виртуальные помощники с поддержкой голоса — это примеры того, как машинное обучение расширяет возможности пользователей.

Уменьшение риска

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

Прогнозирование поведения клиентов

С помощью машинного обучения можно выполнять интеллектуальный анализ данных, связанных с клиентами. Это позволяет выявлять закономерности и особенности поведения, чтобы оптимизировать рекомендации по продукту и максимально повысить уровень обслуживания клиентов.

Снижение затрат

Одна из сфер применения машинного обучения — автоматизация процессов, которая освобождает время и ресурсы для выполнения наиболее важных задач.

Методики машинного обучения

Есть три основных методики машинного обучения.

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Контролируемое обучение

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

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Неконтролируемое обучение

Эта методика подходит для наборов данных без меток или структуры. Чтобы определить закономерности и связи, данные группируются в кластеры.

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Обучение с подкреплением

Заменяющий оператора агент (программа, которая действует от чьего-либо имени) помогает определить результат на основе цикла обратной связи.

Как машинное обучение помогает решать проблемы

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

Шаг 1. Сбор и подготовка данных

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

Шаг 2. Обучение модели

Подготовленные данные делятся на две группы: набор для обучения и набор для проверки. Набор для обучения — это большая часть данных, с помощью которых модели машинного обучения настраиваются с максимальной точностью.

Шаг 3. Проверка модели

При выборе конечной модели данных производительность и точность оценивается с помощью набора для проверки.

Шаг 4. Интерпретация результатов

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

Возможности машинного обучения

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Прогнозирование значений

Полезно при определении причины и следствия использования различных переменных. С помощью алгоритмов регрессии создается модель на основе значений, которые затем используются для прогнозирования. Регрессионные исследования могут помочь в прогнозировании спроса на продукт и продаж или в предварительной оценке результатов кампании.

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Выявление необычных инцидентов

Часто используется для определения потенциальных рисков. Алгоритмы обнаружения аномалий выявляют данные, которые отклоняются от ожидаемой нормы. С помощью машинного обучения можно обнаружить, к примеру, неисправность оборудования, структурный дефект, ошибки в тексте или попытки мошенничества.

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Определение структуры

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

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Прогнозирование категорий

Алгоритмы классификации помогают определить правильную категорию информации. Здесь есть сходство с кластеризацией. Но в отличие от нее классификация применяется при контролируемом обучении, в процессе которого назначаются предварительно определенные метки.

В чем заключается работа инженера по машинному обучению?

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

Сводка по алгоритмам машинного обучения

Алгоритмы машинного обучения позволяют выявлять закономерности в данных и помогают специалистам по обработке и анализу данных решать возникающие проблемы. С помощью алгоритмов машинного обучения можно прогнозировать значения, выявлять необычные сценарии, определять структуру и создавать категории. Используемые алгоритмы будут зависеть от типа данных и нужного результата. Алгоритмы обычно группируются по методике (контролируемое, неконтролируемое обучение или обучение с подкреплением) или семейству (алгоритмы классификации, регрессии и кластеризации и пр.). Узнайте больше об алгоритмах машинного обучения.

Использование машинного обучения в разных отраслях

Предприятия во множестве отраслей используют машинное обучение в самых разных направлениях. Ниже приведены примеры применения машинного обучения в основных отраслях.

Банковское дело и финансы

Управление рисками и предотвращение мошенничества — это важнейшие направления, рентабельность которых можно значительно повысить с помощью машинного обучения.

Здравоохранение

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

Транспортировка

Выявление аномалий дорожного движения, оптимизация маршрутов доставки и автономное вождение — это лишь несколько направлений транспортной отрасли, в которые машинное обучение может внести значительные улучшения.

Обслуживание клиентов

Ответы на вопросы, определение намерений клиентов и предоставление виртуальной помощи — примеры того, как машинное обучение поддерживает сферу обслуживания клиентов.

Retail

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

Сельское хозяйство

Developing robots to address labor shortages, diagnosing plant diseases, and monitoring the health of the soil are examples of ways machine learning can improve agriculture. Watch this video to see an example of how machine learning helped increase farmers’ crop yield by 30%.

Какие возможности должна обеспечивать платформа машинного обучения

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

Облачные вычисления

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

Доступная среда разработки

Идеальная платформа должна поддерживать все уровни навыков и предоставлять доступные возможности разработки. Она должна помогать в реализации преимуществ машинного обучения независимо от того, как вы предпочитаете работать: самостоятельно разрабатывая код или используя автоматизированные средства и интерфейсы перетаскивания, которые не требуют написания кода.

Встроенная поддержка привычных платформ машинного обучения

Вам нужна платформа, на которой вы сможете работать с привычными и удобными средствами, будь то ONNX, Python, PyTorch, Scikit-learn или TensorFlow.

Безопасность корпоративного уровня

Вам нужна платформа, которая поможет защитить инфраструктуру с помощью системы управления, а также средств безопасности и контроля корпоративного уровня.

Быстрый вывод моделей машинного обучения на рынок

Упростите создание и развертывание моделей с помощью автоматизированных средств машинного обучения, поддержки решений с открытым кодом и надежных процессов DevOps для машинного обучения.

Источник

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

Обучение — это универсальный навык, который присущ любому живому организму на планете.

Обучение — это приобретение знаний и навыков посредством опыта или учебы. Это то, что нас объединяет и в то же время делает уникальными. Это то, что развивается с течением времени.

Что такое machine learning. Смотреть фото Что такое machine learning. Смотреть картинку Что такое machine learning. Картинка про Что такое machine learning. Фото Что такое machine learning

Что, если я скажу: «Машины тоже могут учиться»?

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

Эта статья познакомит вас с основами машинного обучения.
Самое главное, что вы должны понять: машины могут предсказывать будущее, основываясь на прошлом.

Что такое машинное обучение

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

Машинное обучение — создание алгоритмов (набора правил), которые учатся на сложных функциях (шаблонах) из данных и делает прогнозы.

Это происходит в 3 этапа:
1) Анализ данных
2) Нахождение шаблонов
3) Предсказание на основе шаблона

Применение машинного обучения

Краткий обзор, где можно использовать машинное обучение

Не хочу вас запутать, поэтому просто скажу, что машины учатся, находя похожие данные в больших массивах данных. Чем больше данных передается машине, тем «умнее» она становится.

Не все данные одинаковы. Представьте, что вы пират и ваша цель — найти клад где-то на острове. Для того, чтобы это сделать, понадобится большое количество информации. Как и данные, эта информация может вести вас либо в правильном направлении, либо в неправильном. Чем точнее полученная информация/данные, тем больше шансов на успех. Поэтому важно учитывать тип данных, с помощью которых будет проходить обучение.

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

Типы машинного обучения

Существует три основные категории машинного обучения:

Supervised learning (обучение с учителем): Машина учится по выбранным данным. Обычно, данные отмечаются людьми.

Unsupervised learning (обучение без учителя): Машина учится не по выбранным данным. Смысл в том, что среди данных нет «правильного» ответа, машина должна найти зависимость между объектами.

Reinforcement learning (обучение с подкреплением): Машина учится через систему на основе вознаграждения.

1. Supervised learning (обучение с учителем)

Обучение с учителем — наиболее распространенный и изученный тип машинного обучения, ведь легче обучить машину с выбранными данными. В зависимости от того, что вы хотите предсказать, обучение с учителем может использоваться для решения двух типов задач: задача регрессии и задача классификации.

Задача регрессии:

Если вы хотите спрогнозировать непрерывные значения, например, попытаться спрогнозировать стоимость дома или погоду на улице в градусах, используйте регрессию. Этот тип задач не имеет определенного ограничения значений, поскольку значение может быть любым числом без ограничений.

Если требуется спрогнозировать дискретные значения, например классифицировать что-либо по категориям, используйте классификацию. Вопрос «Будет ли человек делать покупку», имеет ответ, который попадает в две конкретные категории: да или нет. Число допустимых ответов конечно.

2. Unsupervised learning (обучение без учителя)

Поскольку у машин нет отмеченных данных для обучения, цель машинного обучения без учителя — обнаружение закономерностей в данных и их группировка.
Обучение без учителя решает 2 типа задач: задача кластеризации и задача поиска ассоциациативных правил.

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

Задача поиска ассоциациативных правил:

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

3. Reinforcement learning (обучение с подкреплением)

Этот тип машинного обучения требует использования системы вознаграждения/штрафа. Цель — вознаградить машину, когда она учится правильно, и наказать машину, когда она учится неправильно.

Примеры обучения с подкреплением

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *