Openbravo-rus.ru

Образование по русски
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Данные для машинного обучения

Лучшие датасеты для машинного обучения и анализа данных

Лучшие датасеты для машинного обучения и анализа данных

  • Переводы , 13 мая 2019 в 11:50
  • Никита Прияцелюк

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

Где искать датасеты

  • Google Dataset Search. Dataset Search позволяет по ключевому слову искать датасеты по всей Сети.
  • Kaggle. Площадка для соревнований по машинному обучению с множеством интересных датасетов. В списке датасетов можно найти разные нишевые экземпляры — от оценок рамена до баскетбольных данных NCAA и базы лицензий на домашних животных в Сиэтле.
  • UCI Machine Learning Repository. Один из старейших источников датасетов в Сети и первое место, куда стоит заглянуть в поиске интересных датасетов. Хотя они добавляются пользователями и потому имеют различную степень «чистоты», большинство из них очищены. Данные можно скачивать сразу, без регистрации.
  • VisualData. Датасеты для компьютерного зрения, разбитые по категориям. Доступен поиск.
  • Find Datasets | CMU Libraries. Коллекция датасетов, предоставленная университетом Карнеги Меллон.

Датасеты общего назначения

Государственные датасеты

  • Data.gov. Здесь можно найти данные от разных государственных учреждений США. Они варьируются от государственных бюджетов до школьных оценок.
  • Food Environment Atlas. Содержит данные о том, как различные факторы (близость магазинов/ресторанов, цены на продукты и тому подобное) влияют на выбор продуктов и качество питания в США.
  • School system finances. Данные о финансах школьных систем в США.
  • Chronic disease data. Данные о показателях хронических заболеваний на территории США.
  • The US National Center for Education Statistics. Данные об образовательных учреждениях и образовательной демографии в США и во всём мире.
  • The UK Data Service. Крупнейшая в Великобритании коллекция социальных, экономических и демографических данных.
  • Data USA. Исчерпывающая визуализация общедоступных данных США.

Данные о жилье

  • Boston Housing Dataset. Содержит информацию о жилье в Бостоне, собранную бюро переписи населения США. Она была получена из архива StatLib и широко использовалась в литературе для оценки алгоритмов.

Экономика и финансы

  • Quandl. Хороший источник экономических и финансовых данных — полезен при построении моделей для прогнозирования экономических показателей или цен на акции.
  • World Bank Open Data. Наборы данных, охватывающих демографическую ситуацию, огромное количество экономических показателей и индикаторов развития со всего мира.
  • IMF Data. Международный валютный фонд публикует данные о международных финансах, показателях долга, валютных резервах, инвестициях и ценах на сырьевые товары.
  • Financial Times Market Data. Актуальная информация о финансовых рынках со всего мира, которая включает индексы цен на акции, товары и валюту.
  • Google Trends. Изучайте и анализируйте данные о поисковой активности в Интернете и трендах по всему миру.
  • American Economic Association (AEA). Хороший источник данных о макроэкономике США.

Датасеты для машинного обучения

Компьютерное зрение

  • xView. Один из самых больших общедоступных наборов воздушных снимков земли. Он содержит изображения различных сцен со всего мира, аннотированных с помощью ограничительных рамок.
  • Labelme. Большой датасет аннотированных изображений.
  • ImageNet. Датасет изображений для новых алгоритмов, организованный в соответствии с иерархией WordNet, в которой сотни и тысячи изображений представляют каждый узел иерархии.
  • LSUN. Датасет изображений, разбитых по сценам и категориям с частичной разметкой данных.
  • MS COCO. Крупномасштабный датасет для обнаружения и сегментации объектов.
  • COIL100. 100 разных объектов, изображённых под каждым углом в круговом обороте.
  • Visual Genome. Датасет с

100 тыс. подробно аннотированных изображений.

  • Google’s Open Images. Коллекция из 9 миллионов URL-адресов к изображениям, «которые были помечены метками, охватывающими более 6000 категорий» под лицензией Creative Commons.
  • Labelled Faces in the Wild. Набор из 13 000 размеченных изображений лиц людей для использования приложений, которые предполагают использование технологии распознавания лиц.
  • Stanford Dogs Dataset. Содержит 20 580 изображений из 120 пород собак.
  • Indoor Scene Recognition. Датасет для распознавания интерьера зданий. Содержит 15 620 изображений и 67 категорий.
  • Анализ тональности текста

    • Multidomain sentiment analysis dataset. Немного устаревший датасет, который содержит отзывы на товары с Amazon.
    • IMDB reviews. Староватый, относительной небольшой (25 000 отзывов к фильмам) датасет для бинарного анализа тональности.
    • Stanford Sentiment Treebank. Стэнфордский датасет для анализа тональности.
    • Sentiment140. Популярный датасет с 160 000 твитов с удалёнными смайликами.
    • Twitter US Airline Sentiment. Набор данных из Twitter об авиакомпаниях США, датируемый февралём 2015 года, разделённый на положительные, негативные и нейтральные твиты.

    Обработка естественного языка

    • HotspotQA Dataset. Датасет с вопросами-ответами, позволяющий создавать системы для ответов на вопросы более понятным способом.
    • Enron Dataset. Данные электронной почты от высшего руководства Enron.
    • Amazon Reviews. Содержит около 35 млн отзывов с Amazon за 18 лет. Данные включают информацию о продукте и пользователе, оценки и сам текст отзыва.
    • Google Books Ngrams. Коллекция слов из Google Книги.
    • Blogger Corpus. Коллекция из 681 288 постов с Blogger. Каждый блог содержит как минимум 200 вхождений часто используемых английских слов.
    • Wikipedia Links data. Датасет, состоящий из веб-страниц, которые удовлетворяют следующим двум условиям: каждая из них содержит хотя бы одну ссылку на Википедию и текст её якоря совпадает или похож на заголовок целевой страницы.
    • Gutenberg eBooks List. Аннотированный список электронных книг проекта «Гутенберг».
    • Hansards text chunks of Canadian Parliament. Датасет с 1.3 миллионами пар текстовых файлов, записанных с дебатов 36-го Канадского Парламента.
    • Jeopardy. Архив с более чем 200 000 вопросов с телевикторины Jeopardy.
    • Rotten Tomatoes Reviews. Архив из более чем 480 000 рецензий с Rotten Tomatoes.
    • SMS Spam Collection in English. Датасет, состоящий из 5574 спам-смс на английском.
    • Yelp Reviews. Датасет от Yelp, содержащий более 5 млн отзывов.
    • UCI’s Spambase. Большой датасет спам-писем.

    Автопилоты

    • Berkeley DeepDrive BDD100k. На данный момент это самый большой датасет для автопилотов. Он содержит более 100 000 видео с более чем 1100 часами записей вождения в разное время дня и в различных погодных условиях.
    • Baidu Apolloscapes. Большой датасет для распознавания 26 семантически разных объектов вроде машин, велосипедов, пешеходов, зданий, уличных фонарей и т. д.
    • Comma.ai. Более семи часов езды по шоссе. Датасет включает информацию о скорости машины, ускорении, угле поворота руля и GPS-координатах.
    • Oxford’s Robotic Car. Более ста повторений одного маршрута по Оксфорду, заснятого в течение года. В датасет попали разные комбинации погодных условий, трафика и пешеходов, а также более длительные изменения вроде дорожных работ.
    • Cityscape Dataset. Большой датасет, содержащий записи ста уличных сцен в 50 городах.
    • KUL Belgium Traffic Sign Dataset. Более 10 000 аннотаций тысяч разных светофоров в Бельгии.
    • LISA. Laboratory for Intelligent & Safe Automobiles, UC San Diego Datasets. Датасет с дорожными знаками, светофорами, распознанными средствами передвижения и траекториями движения.
    • Bosch Small Traffic Light Dataset. Датасет с 24 000 аннотированных светофоров.
    • LaRa Traffic Light Recognition. Ещё один датасет для распознавания светофоров.
    • WPI datasets. Датасет для распознавания светофоров, пешеходов и дорожной разметки.

    Медицинские данные

    • MIMIC-III. Датасет с обезличенными данными о состоянии здоровья

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

    Чернобровов Алексей Аналитик

    Где взять данные для машинного обучения: 3 способа собрать датасет из открытых источников

    Мечта каждого data scientist’а – очищенная выборка без ошибок, выбросов и пропущенных значений, но с полным набором данных, необходимых для решения поставленной задачи. Однако, в реальности мы часто имеем дело с некорректной или неполной информацией. А, поскольку эффективность моделей машинного обучения (Machine Learning, ML) напрямую зависит от качества исходного датасета, требуется много времени на его подготовку к моделированию: очистку, нормализацию и генерацию переменных. При этом в первоначальной выборке могут запросто отсутствовать данные, нужные для формирования предикторов и целевых переменных. Таким образом, перед data scientist’ом возникает вопрос обогащения датасета. В этой статье мы рассмотрим 3 легальных способа сбора чужих больших данных для собственных бизнес-задач:

    1. использование готовых датасетов;
    2. работа со веб-платформами, предоставляющими статистику;
    3. использование информации со сторонних сайтов.

    Готовые датасеты

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

    1.1 Конкурсные платформы и соревнования по Data Science(DS) и ML, которые предоставляют наборы исходных данных в рамках решения конкретной задачи;

    1.2. Интернет-порталы и сообщества по DS и ML, где содержатся датасеты для индивидуального и группового обучения, а также научных исследований;

    1.3 Открытые данные – информация машиночитаемого формата, размещенная в Интернете и доступная для всеобщего свободного использования и дальнейшей републикации без ограничений авторского права и других способов контроля [1].

    Далее подробно рассмотрен каждый из этих способов.

    1 Конкурсные платформы и соревнования по Data Science и Machine Learning

    Индивидуальные и групповые олимпиады, чемпионаты, хакатоны и конкурсы по анализу данных и машинному обучению в масштабах страны и всего мира, которые, как правило, проводятся в онлайн-режиме. В России наиболее крупными и популярными являются следующие мероприятия [2]:

    • Russian ML Cup – онлайн-чемпионат по машинному обучению от Mail.Ru Group для взрослых участников (18+) с опытом работы в Data Science – победители получают ценные призы и приглашаются на собеседование в компанию;
    • Boosters.pro — крупнейшая в России и Восточной Европе платформа для проведения индивидуальных и групповых чемпионатов по анализу данных. Ее клиентами которой являются крупные международные и отечественные компании: Авито, Газпром, Росбанк и многие другие. Они ставят перед участниками реальную бизнес-задачу, например, кредитный скоринг, предоставляют исходные данные, оценивают и награждают победителей [3].

    На международном уровне наиболее популярными считаются следующие соревновательные площадки [2]:

    • Kaggle– платформа корпорации Google для проведения соревнований по машинному обучению и анализу данных. Организаторами выступают крупные компании: Google, Intel, Mercedes-Benz и т.д., которые сами определяют критерии оценки, сроки и призы своих корпоративных конкурсов. Одновременно идет до 20 соревнований, принять участие в которых может каждый желающий. Победители получают денежные призы в размере от 15-100 тысяч долларов. Кроме того, Kaggle содержит наборы данных, доступные для скачивания и свободного использования даже вне конкурсов.
    • KDD CUP – международный кубок Ассоциации вычислительной техники (ACM) по машинному обучению и анализу данных для команд до 10 человек. Как правило, основной задачей является решение общественно значимой проблемы, например, предсказание загрязнения воздуха и т.д. Победители получают денежное вознаграждение и очно презентуют решения на KDD CUP workshop в Лондоне.

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

    Все участники ML-соревнований получают главный приз — важный опыт

    2. Интернет-порталы и сообщества по Data Science и Machine Learning

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

    Популярными выборками для изучения ML считаются следующие датастеты:

    • Titanic – структурированная выборка о выживших в крушении легендарного корабля;
    • Boston – набор данных о ценах на недвижимость Бостона;
    • Visual Genome – огромная база данных подробно аннотированных изображений.

    Также можно воспользоваться следующими источниками:

    3. Открытые данные

    Открытые данные могут поступать из различных источников, среди которых государственные органы и научные сообщества – наиболее крупные и регулярные поставщики информации. Например, в рамках концепции электронного правительства (e-Government), активно развивающейся по всему миру с начала 2000-х годов [4], многие страны, в числе которых и Россия, создали веб-сайты для распространения информации, обрабатываемой в секторе государственного управления – открытые государственные данные (ОГД).

    ОГД публикуются госучреждениями, органами местного самоуправления или организациями, которые находятся в их ведомствах. На портале открытых данных России содержится более 22 тысяч наборов данных в csv-формате по всем направлениям деятельности, от экономики до электроники, как по стране в целом, так и по отдельным регионам [5]. Кроме того, в рамках реализации постановления правительства РФ от 10.07.2013 № 583 каждый субъект федерации и каждое ведомство федерального уровня (министерства, службы, комитеты и т.д.) должны регулярно размещать структурированные массивы данных в машиночитаемых форматах (CSV, JSON, XML) на своих интернет-порталах для всеобщего и бесплатного использования [6]. Например, на портале открытых данных правительства Москвы содержится более 600 датасетов по столице: от реестра предпринимателей до велосипедных парковок.

    ОГД представляют собой ненумерованные записи об объектах с минимальным набором описательных характеристик. Например, в датасете по велосипедным парковкам Москвы вы увидите таблицу из 3-х столбцов: наименование парковки, адрес и количество мест. Сведения об удобстве пользования, охране и автоматизации отсутствуют. Поэтому извлечь готовые признаки из набора ОГД не получится, однако, находящиеся в них сведения пригодятся при самостоятельном формирования предикторов.

    Также наборы ОГД не содержат агрегированной статистики, например, о величине прожиточного минимума по регионам и т.д. – эту информацию следует искать на сайте Единой межведомственной информационно-статистической системы (ЕМИСС). На портале ЕМИСС данные представлены в различных форматах, как табличных, так и текстовых (XML, DOC), поэтому при их использовании потребуется дополнительное время на конвертацию информации.

    Наборы данных по международным организациям, событиям и ситуациям также доступны в свободном режиме или по платной подписке на веб-порталах, аккумулирующих информацию, например, сервис Knoema. Кроме того, можно воспользоваться поисковым инструментов от Google, ориентированным специально на датасеты.

    Поиск данных — важная задача для data scientist’а

    Веб-платформы со статистикой

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

    Для получения статистических данных, в том числе в режиме реального времени, можно воспользоваться программными интерфейсами API (Application Programming Interface), предоставленными сторонними сервисами. Например, API-решения от Google, API различных сервисов Яндекса, трейдинговые системы, которые получают информацию с фондовых, валютных и криптовалютных бирж для автоматизированной торговли ценными бумагами. При этом доступ к набору данных, как правило, в JSON-формате, реализуется через URL-адрес. Дальнейший разбор содержимого JSON-файла data scientist’у придется делать самостоятельно, с помощью собственных скриптов.

    Собрать ключевые слова и поисковые фразы, а также определить их частотность и кластеризовать по различным признакам (пол, возраст, регион и т.д.) помогут свободно доступные и коммерческие инструменты для веб-аудита и SEO-продвижения: Wincher, MegaIndex, Similarweb и т.д. Собрать подобную статистику можно самостоятельно, установив на своем сайте счетчики Google Аналитики или Яндекс.Метрики. Также для этого пригодится сервис подбора слов от Яндекса – именно с его помощью я обогатил исходный датасет в ML-соревновании от Тинькофф Банка, о чем подробно рассказано здесь. Стоит отметить, что данные сервисы не дают dataset в привычном структурированном виде, поэтому придется самостоятельно заняться препроцессингом данных.

    Парсинг сторонних сайтов

    Далеко не все сайты предоставляют API-интерфейс для автоматического сбора с них нужной информации. В этом случае на помощь приходят технологии парсинга.

    Парсинг – это процесс анализа содержимого веб-страниц с помощью роботов-парсеров – специальных программ или скриптов. Самые известные парсеры в сети это роботы поисковых систем, которые анализируют сайты, сохраняют результаты анализа в своих базах, чтобы выдать при поиске наиболее релевантные и актуальные документы. Можно написать свой собственный веб-парсер на Python или PHP для автоматического сбора данных из внешних ресурсов по заданным характеристикам (изображения, ключевые слова и т.д.). Но проще всего найти уже готовые решения, библиотеки которые существуют на всех популярных языках программирования.

    Подобное использование информации со сторонних сайтов – пожалуй, наиболее творческий способ обогащения начальной выборки, поскольку он основан на поиске доступных данных от конкурентов или смежных сфер в рамках бизнес-контекста решаемой задачи. Именно так сеть гостиниц Red Roof построила свою маркетинговую стратегию, оперативно предлагая пассажирам задержанных или отмененных рейсов размещение в отелях вблизи аэропортов. Возможные задержки или отмены вылетов вычисляются на основе неблагоприятного прогноза погоды, который является общедоступной информацией, размещенной на множестве веб-сайтов. А максимальное число постояльцев определяется исходя из количества пассажирских мест в самолетах отмененных или задержанных рейсов. По этой информации рассчитывается потенциальная заполненность номерного фонда и строится рекламная кампания по предложению той или иной локации. Такой подход увеличил рост сети на 10% в районах, охваченных этой рекламной кампанией [7]. Однако, чтобы применять данный метод в реальности, data scientist должен глубоко погрузиться в прикладную специфику анализируемой отрасли. Кроме того, требуется дополнительная обработка данных, полученных в результате парсинга, чтобы использовать эту информацию для построения предикторов в своей ML-модели. Как правило, это означает написание дополнительных скриптов для обработки полученных данных.

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

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

    Big Data. Machine Learning. Data Science.

    Блог компании Даталитика. Интересное об искусственном интеллекте, машинном обучении, больших данных и ИТ-консалтинге

    Подписаться на этот блог

    Подписаться на обновления

    Подготовка данных для алгоритмов машинного обучения

    • Получить ссылку
    • Facebook
    • Twitter
    • Pinterest
    • Электронная почта
    • Другие приложения

    Описание стека и некоторые вводные

    В нашей статье мы будем использовать язык программирования python с сопутствующими ему библиотеки (sklearn, matplotlib, seaborn) и в качестве среды для работы jupyter notebook. Цель текущего поста — показать общие подходы к подготовке данных. То есть, те манипуляции, которые необходимо совершить перед загрузкой данных в модель машинного обучения. В идеальном мире у вас будет абсолютно чистый датасет без выбросов или пропущенных значений. Однако в реальном мире такие наборы данных встречаются крайне редко.
    Далее будем рассматривать данные из Kaggle: «Mental Health in Tech Survey«.

    Первый взгляд на датасет и понимание его специфики

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

    Это даст нам первое представление о том, что есть наши данные. Далее посмотрим на размеры наших табличных данных. Выполнив построчно код ниже

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

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

    • Столбец «age» содержит людей, которые еще не родились (отрицательные числа).
    • Столбец «age» содержит детей (например, 5-летнего возраста), которые вряд ли будут проводить опрос о своем рабочем месте.
    • Столбец «age» содержит возраст в 99999999999 лет
    • Существует 49 различных значений для «gender». Для примера, «Male» и «male» обозначают одно и то же, но в рассматриваются как две разные категории.
    • self_employed и work_interfere содержат несколько пропущенных полей.

    Разделение на обучающую выборку и целевую переменную

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

    Обработка пропусков в данных

    Зачастую не существует шаблонных подходов к этой задаче, поскольку подходы во многом зависит от контекста и характера данных. Например, являются ли данные случайными пропусками или же есть скрытая связь между пропусками и некоторым другим записями в обучающем примере?
    Один из способов простых способов решения этой проблемы — просто игнорировать или удалять строки, в которых отсутствуют данные, выбрасывая их из нашего анализа. Однако этот метод может быть плох из-за потери информации.
    Еще один способ — это заполнение пропусков, где мы заменяем отсутствующее значение каким-либо образом. Базовые реализации просто заменят все отсутствующие значения средним, медианным, либо же константой.
    Для начала выясним, что делать с пропущенными значениями, найденными в self_employed и work_interfere. В обоих случаях столбец содержит категориальные данные.
    Возьмем следующий пример, который представляет собой небольшой набор данных, содержащий три признака (погодное условие, температуру и влажность), чтобы предсказать, могу ли я играть в теннис или нет.

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

    Scikit-learn предоставляет реализацию для обработки пропусков

    Поиск неявных дубликатов

    Как упоминалось ранее, для «gender» 49 различных значений, и было подозрение, что некоторые из этих значений не следует рассматривать как разные категории. В конечном итоге для простоты мы разделим данные на 3 категории: мужчина, женщина и другие (сюда вошли те категории, которые можно однозначно исключить из предыдущих двух, для примера — трансгендер).

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

    Обнаружение выбросов

    Как уже упоминалось ранее, оказалось, что для Age существуют значения, которые кажутся ошибочными. Такие как отрицательный возраст или чрезвычайно большие целые числа, могут негативно повлиять на результат работы алгоритма машинного обучения, и нам нужно будет их устранить.
    Для этого возьмем нашу эвристическую оценку, в каком возрасте могут работать люди: от 14 до 100 лет. И все величины, не попадающие в этот диапазон, преобразуем в формат Not-a-Number.

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

    Кодирование данных

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

    Одним из решений этого было бы произвольное присвоение числового значения для каждой категории и отображение набора данных из исходных категорий в каждое соответствующее число. Например, давайте посмотрим на столбец «leave» (как легко вам взять отпуск по болезни для состояния психического здоровья?) В нашем наборе данных

    Который возвращает следующие значения

    Для кодирования этих данных, сопоставим каждое значение с числом.

    Этот процесс известен как Label Encoding и sklearn может сделать это за нас.

    Проблема с этим подходом заключается в том, что вы вводите порядок, который может отсутствовать в исходных данных. В нашем случае можно утверждать, что данные являются ранжированными («Very difficult» меньше «Somewhat difficult», который меньше «Very easy», который меньше «Somewhat easy»), но в большинстве своем категориальные данные не имеют порядка. Например, если у вас есть признак обозначающий вид животного, зачастую высказывание кошка больше собаки не имеет смысла. Опасность кодирования меток заключается в том, что ваш алгоритм может научиться отдавать предпочтение собак, кошкам из-за искусственных порядковых значений, введенных вами во время кодирования.

    Общим решением для кодирования номинальных данных является one-hot-encoding.

    Вместо того, чтобы заменять категориальное значение на числовое значение (кодирование меток), как показано ниже

    Гид по структуре машинного обучения

    Контент-маркетолог Мария Пушикова специально для блога Нетологии перевела статью Charles-Antoine Richard о том, что такое машинное обучение и какие методы машинного обучения существуют.

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

    Поэтому я решил, что читателям будет интересно прочесть объяснение методов машинного обучения от человека нетехнической специальности.

    Машинное обучение — это…

    Вот самое простое определение, которое я нашел:

    Машинное обучение — это «[…] класс методов искусственного интеллекта, которые позволяют улучшить результаты работы компьютеров путем обучения на известных данных», — Berkeley.

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

    …подраздел искусственного интеллекта (ИИ)

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

    …способ решения практических задач

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

    … способ увеличить эффективность компьютеров

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

    …технология, основанная на опыте

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

    Простой пример:

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

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

    Машинное обучение часто называют волшебным или черным ящиком:

    Вводишь данные → «волшебный черный ящик» → Миссия выполнена.

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

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

    Очистка

    Данные зачастую формируются из различных источников, отображаются в различных форматах и языках. Соответственно, среди них могут оказаться нерелевантные или ненужные значения, которые потребуется удалить. И наоборот, каких-то данных может не хватать, и потребуется их добавить. От правильной подготовки базы данных прямым образом зависит и пригодность к использованию, и достоверность результатов.

    Разделение

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

    Обучение

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

    Чтобы было проще, сосредоточимся на нейронных сетях.

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

    Оценка

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

    Оптимизация

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

    Какие существуют типы машинного обучения и чем они отличаются

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

    • обучение с учителем (supervised learning);
    • обучение без учителя, или самообучение (unsupervised learning);
    • обучение с подкреплением (reinforcement learning).

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

    Обучение с учителем (supervised learning)

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

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

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

    Обучение без учителя (unsupervised learning)

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

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

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

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

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

    Для чего можно использовать машинное обучение

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

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

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

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

    Кроме того, я бы добавил еще одно применение машинного обучения, отличное от прогнозного: автоматизация процессов. Прочесть об этом можно здесь.

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

    Логистика и производство

    • В Rethink Robotics используют машинное обучение для обучения манипуляторов и увеличения скорости производства;
    • В JaybridgeRobotics автоматизируют промышленные транспортные средства промышленного класса для более эффективной работы;
    • В Nanotronics автоматизируют оптические микроскопы для улучшения результатов осмотра;
    • Netflix и Amazon оптимизируют распределение ресурсов в соответствии с потребностями пользователей;
    • Другие примеры: прогнозирование потребностей ERP/ERM; прогнозирование сбоев и улучшение техобслуживания, улучшение контроля качества и увеличение мощности производственной линии.

    Продажи и маркетинг

    • 6sense прогнозирует, какой лид и в какое время наиболее склонен к покупке;
    • Salesforce Einstein помогает предвидеть возможности для продаж и автоматизировать задачи;
    • Fusemachines автоматизирует планы продаж с помощью AI;
    • AirPR предлагает пути повышения эффективности PR;
    • Retention Science предлагает кросс-канальное вовлечение;
    • Другие примеры: прогнозирование стоимости жизненного цикла клиента, повышение точности сегментации клиентов, выявление клиентских моделей покупок, и оптимизация опыта пользователя в приложениях.

    Кадры

    • Entelo помогает рекрутерам находить и отбирать кандидатов;
    • HiQ помогает менеджерам в управлении талантами.

    Финансы

    • Cerebellum Capital and Sentient используют машинное обучение для улучшения процесса принятия инвестиционных решений;
    • Dataminr может помочь с текущими финансовыми решениями, заранее оповещая о социальных тенденциях и последних новостях;
    • Другие примеры: выявление случаев мошенничества и прогнозирование цен на акции.

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

    • Atomwise использует прогнозные модели для уменьшения времени производства лекарств;
    • Deep6 Analytics определяет подходящих пациентов для клинических испытаний;
    • Другие примеры: более точная диагностика заболеваний, улучшение персонализированного ухода и оценка рисков для здоровья.

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

    Вместо заключения

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

    Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации.

    М Машинное обучение

    Многие пользователи постиндустриальной эпохи задавались вопросом: Machine Learning – что это? Фантастическое будущее, которое уже наступило или очередная непонятная теория вроде квантового дуализма. Не то и не другое.

    Машинное обучение (МО), а именно так переводится этот термин, является ветвью искусственного интеллекта. Более детальнее – это методика анализа данных, которые позволяют машине/роботу/аналитической системе самостоятельного обучаться посредством решения массива сходных задач.

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

    Принцип МО интересно продемонстрировали в гугловском ролике «Google’s DeepMind AI Just Taught Itself To Walk».

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

    Что касается фантастического будущего, то МО условно делят на три стадии внедрения:

    1. Технологии получают приставку «инновационные», а значит, к ним имеют доступ только крупные корпорации и правительственные структуры. Например, Google и Amazon, IBM и Apple первыми стали внедрять искусственный интеллект. Собственно любая система, которая пытается предсказать покупательский спрос на основе массива данных, связана с технологией машинного обучения.
    2. Технологиями пользуются люди с определенным багажом знаний в IT сфере, которые имеют доступ к современным разработкам, гаджетам. Появление новых сервисов, основанных на технологии искусственного интеллекта. Яркий пример – аналитические машины Гугла и Яндекса в контекстной рекламе.
    3. Технологии доступны даже школьнику, людям «лампового» поколения, которые вполне серьезно опасаются «Восстания машин» по аналогии с блокбастером «Терминатор».


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

    Сфера применения

    Мы рассмотрели Machine Learning – что это понятие означает. Теперь самое время рассмотреть для чего используется МО в бизнесе и жизни.

    Спросите человека, увлеченного робототехникой, о сфере применения машинного обучения. Вы услышите много фантастических историй. Например, роботы будут самостоятельно обучаться выполнять поставленные человеком задачи. Добывать в недрах Земли полезные ископаемые, бурить нефтяные и газовые скважины, исследовать глубины океана, тушить пожары и прочее. Программисту не нужно будет расписывать массивные и сложные программы, боясь ошибиться в коде. Робот, благодаря МО, сам будет обучаться вести себя в конкретной ситуации на основе анализа данных.

    Здорово, но пока фантастично. В будущем, может даже и не слишком далеком – это станет реальностью.

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

    По такому же принципу формируются умные ленты в соцсетях. Аналитические машины ФБ, ВК, Инстаграм, Твиттер исследуют ваши интересы – какие посты чаще просматриваете, на что кликаете, какие паблики или группы посещаете и другое. Чем дольше и чаще вы активничаете в соцсетях, тем более персонализированной становится ваша лента новостей. Это и хорошо и плохо. С одной стороны – машина отсеивает массив неинтересной (по её мнению) информации, а с другой – она сужает ваш кругозор. Маркетинг – ничего личного!

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

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

    Виды машинного обучения

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

      Обучение с учителем (supervised learning). В этом случае в аналитическую систему загружается массив данных по конкретной задаче и задается направление – цель анализа. Как правило, нужно предсказать что-либо или проверить какую-либо гипотезу.

    Например, у нас есть данные о доходах интернет-магазина за полгода работы. Мы знаем, сколько продано товаров, сколько потрачено денег на привлечение клиентов, ROI, средний чек, количество кликов, отказов и другие метрики. Задача машины проанализировать весь массив данных и выдать прогноз дохода на предстоящий период – месяц, квартал, полгода или год. Это регрессивный метод решения задач.
    Другой пример. На основе массива данных, критериев выборки нужно определить является ли текст письма на электронную почту спамом. Или, имея данные успеваемости школьников по предметам, зная их IQ по тестам, пол и возраст, нужно помочь выпускникам определиться с профориентацией. Аналитическая машина выискивает и проверяет общие черты, сравнивает и классифицирует результаты тестов, оценки по школьной программе, склад ума. На основе данных делает прогноз. Это задачи классификации.
    Обучение без учителя (unsupervised learning). Обучение строится на том, что человеку и программе неизвестны правильные ответы заранее, имеется только некий массив данных. Аналитическая машина, обрабатывая информацию, сама ищет взаимосвязи. Зачастую на выходе имеем неочевидные решения.

    Например, мы знаем данные о весе, росте и типе телосложения 10 000 потенциальных покупателей джемперов определенного фасона. Загружаем информацию в машину, чтобы разбить клиентов по кластерам в соответствии с имеющимися данными. В результате мы получим несколько категорий людей со схожими характеристиками, чтобы для них выпустить джемпер нужного фасона. Это задачи кластеризации. Другой пример. Чтобы описать какое-либо явление приходится задействовать 200-300 характеристик. Соответственно визуализировать такие данные крайне сложно, а разобраться в них просто невозможно. Аналитическая система получает задание обработать массив характеристик и выбрать схожие, то есть сжать данные до 2-5-10 характеристик. Это задачи уменьшения размерности.
    Глубокое обучение (Deep learning). Глубокое машинное обучение – это обязательно анализ «Больших данных» — Big Data. То есть одним компьютером, одной программой переработать столько информации просто невозможно. Поэтому используются нейронные сети. Суть такого обучения в том, что огромное поле информации разделяется на небольшие сегменты данных, обработка которых делегируется другим устройствам. Например, один процессор только собирает информацию по задаче и передает дальше, четыре других процессора анализируют собранные данные и передают результаты дальше. Следующие в цепочке процессоры ищут решения.

    Например, система распознавания объектов работает по принципу нейросети. Сначала фотографируется объект целиком (получение графической информации), потом система разбивает данные на точки, находит линии из этих точек, строит из линий простые фигуры, а из них – сложные двумерные и далее 3D-объекты.

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


    Обобщим задачи МО:

    1. Регрессия. На основании массива признаков или характеристик предсказать вещественный результат. То есть машина должна выдать конкретную цифру. Например, предсказать стоимость акций на бирже, количество запросов по ключевому слову, бюджет контекстной рекламы и другое.
    2. Классификация. Задача определить по количеству и качеству признаков, характеристик категорию объекта. Например, распознать по снимку конкретного человека в розыске, имея только описания на словах, определить спам, выявить болезнь у пациента.
    3. Кластеризация. Данные разбиваются на похожие категории. Например, космические объекты относят в конкретные категории по схожим признакам (удаленность, размер, планета или звезда и другие).
    4. Уменьшение размерности. Сжатие массива характеристик объекта до меньшего количества признаков для дальнейшей визуализации или использования в работе. Например, сжатие массива данных в архивы для передачи по сети.

    Основы машинного обучения


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

    Что для этого нужно:

    1. Владеть английским языком на нормальном уровне. Зачем? Чтобы общаться без проблем в кругу единомышленников. В Европе, кстати, незнание английского считается признаком дурного тона. Акцент никого не интересует, но если имеются трудности с построением предложений, то будут трудности и с общением.
    2. Основы программирования. В машинном обучении применяется Python или Matlab. Также не лишним будет понимать, как работают базы данных.
    3. Неплохо подтянуть знания в математике, особенно раздел алгоритмов. Для начала подойдет классический курс Эндрю Энга «Машинное обучение». В курсе много практики, и, главное, нет упора на обширный математический багаж.

    Для углубленного обучения МО советуем записаться на курсы от ВШЭ или специализацию от МФТИ.

    Предлагаем добавить в свою библиотеку следующие книги по искусственному интеллекту и МО:

    • Стюарт Рассел, Питер Норвиг «Искусственный интеллект. Современный подход»
    • Джордж Ф. Люгер Искусственный интеллект. «Стратегии и методы решения сложных проблем»
    • Петер Флах «Машинное обучение»
    • Себастьян Рашка «Python и машинное обучение»
    • Шарден Б., Массарон Л., Боскетти А. «Крупномасштабное машинное обучение вместе с Python»
    • Тарик Рашид «Создаем нейронную сеть»
    • Хенрик Бринк, Джозеф Ричардс «Машинное обучение»

    Все книги можно купить на Озоне.

    Резюме

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

    Читать еще:  Бизнес аналитик обучение москва
    Ссылка на основную публикацию
    Adblock
    detector