задачи машинного обучения уменьшение размерности

Новая библиотека для уменьшения размерности данных ITMO_FS — зачем она нужна и как устроена

Студенты и сотрудники лаборатории Машинного обучения Университета ИТМО разработали библиотеку для Python, которая решает ключевую задачу машинного обучения.

Расскажем, почему появился этот инструмент и что он умеет.

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

Нехватка алгоритмов

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

Существует два подхода к уменьшению размерности — конструирование и выбор признаков. В областях вроде биоинформатики и медицины чаще используют последний, так как он позволяет выделить значимые признаки с сохранением семантики, то есть не меняет исходный смысл признаков. Однако в самых распространенных библиотеках машинного обучения на Python — scikit-learn, pytorch, keras, tensorflow — нет полноценного набора методов выбора признаков.

Для решения этой проблемы студенты и аспиранты Университета ИТМО разработали открытую библиотеку — ITMO_FS. Над ней трудится команда под руководством Ивана Сметанникова, доцента факультета информационных технологий и программирования, заместителя заведующего лабораторией Машинного обучения. Ведущий разработчик — Никита Пильненьский, закончивший магистратуру «Машинное обучение и анализ данных». Теперь он поступает в аспирантуру.

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

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

Что умеет библиотека

ITMO_FS реализована на Python и совместима со scikit-learn, которая де-факто считается основным инструментом анализа данных. Ее селекторы признаков принимают те же параметры:

Библиотека поддерживает все классические подходы к отбору признаков — фильтры, обертки и встраиваемые методы. Среди них числятся такие алгоритмы, как фильтры на основе корреляций Спирмена и Пирсона, критерий соответствия (Fit Criterion), QPFS, hill climbing filter и другие.

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

Какие есть аналоги

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

В самой scikit-learn также есть несколько механизмов выбора признаков, но на практике их оказывается недостаточно.

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

Перспективы проекта

Авторы ITMO_FS планируют интегрировать свой продукт с scikit-learn, добавив его в список официально совместимых библиотек. На данный момент библиотека уже содержит наибольшее среди всех библиотек число алгоритмов выбора признаков, но их добавление продолжается. Дальше на дорожной карте добавление новых алгоритмов, включая собственные разработки.

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

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

Где скачать

Если вас заинтересовал проект ITMO_FS, вы можете скачать библиотеку и опробовать её на практике — вот репозиторий на GitHub. Начальная версия документации доступна на readthedocs. Там же можно посмотреть инструкцию по установке (поддерживается pip). Мы будем рады любой обратной связи.

Дополнительные материалы из нашего блога на Хабре:

Источник

Уменьшение размерности

Под уменьшением размерности (англ. dimensionality reduction) в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и соответственно уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. feature selection) или выделения признаков (англ. feature extraction).

Содержание

Выбор признаков [ править ]

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

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

Фильтры [ править ]

Фильтры могут быть:

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

Оберточные методы [ править ]

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

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

Встроенные методы [ править ]

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

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

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

Другие методы [ править ]

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

Есть и другие методы выбора признаков: гибридные (англ. hybrid methods) и ансамблевые (англ. ensemble methods). Гибридные методы комбинируют несколько разных методов выбора признаков, например, некоторое множество фильтров, а потом запускают оберточный или встроенный метод. Таким образом, гибридные методы сочетают в себе преимущества сразу нескольких методов, и на практике повышают эффективность выбора признаков.

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

Примеры кода scikit-learn [ править ]

Пример кода, реализующего функцию оценки фильтра на основе коэффициента ранговой корреляции:

Пример кода, реализующего SVM-RFE wrapper:

Выделение признаков [ править ]

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

Одним из самых известных методов линейного выделения признаков является PCA [на 28.01.19 не создан] (Principal Component Analysis, рус. метод главных компонент). Основной идеей этого метода является поиск такой гиперплоскости, на которую при ортогональной проекции всех признаков максимизируется дисперсия. Данное преобразование может быть произведено с помощью сингулярного разложения матриц и создает проекцию только на линейные многомерные плоскости, поэтому и метод находится в категории линейных.

Пример кода scikit-learn [ править ]

Пример выделения признаков с помощью PCA в scikit-learn:

Источник

Руководство для начинающих по уменьшению размерности в машинном обучении

Дата публикации Mar 11, 2019

Это моя первая статья в среде. Здесь я кратко расскажу о том, что такое уменьшение размерности, зачем оно нам и как это сделать.

Что такое уменьшение размерности?

Это все хорошо, но почему мы должны заботиться? Зачем нам отбрасывать 80 столбцов из нашего набора данных, если мы можем напрямую передать его в наш алгоритм машинного обучения и позволить ему делать все остальное?

Проклятие размерности

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

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

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

Выбор функций и разработка функций для уменьшения размерности

Уменьшение размерности может быть сделано как методами выбора признаков, так и методами проектирования элементов.

Выбор функции может быть сделан вручную или программно. Например, представьте, что вы пытаетесь построить модель, которая предсказывает вес людей, и вы собрали большой массив данных, который достаточно подробно описывает каждого человека. Если бы у вас была колонка, в которой описывался цвет одежды каждого человека, это сильно помогло бы предсказать его вес? Я думаю, что мы можем с уверенностью согласиться, что этого не произойдет. Это то, что мы можем оставить без дальнейших церемоний. А как насчет столбца, который описал их высоты? Это определенно да. Мы можем сделать эти простые ручные функции выбора и уменьшить размерность, когда актуальность или нерелевантность определенных функций очевидна или общеизвестна. И когда это неочевидно очевидно, есть много инструментов, которые мы могли бы использовать, чтобы помочь нашему выбору функций.

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

Univariate Feature Selection использует статистические тесты для выбора функций. Univariate описывает тип данных, который состоит из наблюдений только по одному признаку или атрибуту. При выборе одномерного объекта каждый объект рассматривается отдельно, чтобы определить степень связи объекта с переменной отклика. Некоторыми примерами статистических тестов, которые можно использовать для оценки релевантности признаков, являются корреляция Пирсона, максимальный информационный коэффициент, корреляция расстояний, ANOVA и хи-квадрат Хи-квадрат используется, чтобы найти связь между категориальными переменными, и Anova предпочтительна, когда переменные непрерывны.

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

Методы уменьшения линейной размерности

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

Нелинейные методы уменьшения размерности

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

Авто-кодеры

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

В последующих статьях давайте более подробно рассмотрим линейные и нелинейные методы уменьшения размерности.

Источник

Обзор нового алгоритма уменьшения размерности UMAP. Действительно ли он лучше и быстрее, чем t-SNE?

Привет, Хабр! Задача снижения размерности является одной из важнейших в анализе данных и может возникнуть в двух следующих случаях. Во-первых, в целях визуализации: перед тем, как работать с многомерными данными, исследователю может быть полезно посмотреть на их структуру, уменьшив размерность и спроецировав их на двумерную или трехмерную плоскость. Во-вторых, понижение размерности полезно для предобработки признаков в моделях машинного обучения, поскольку зачастую неудобно обучать алгоритмы на сотне признаков, среди которых может быть множество зашумленных и/или линейно зависимых, от них нам, конечно, хотелось бы избавиться. Наконец, уменьшение размерности пространства значительно ускоряет обучение моделей, а все мы знаем, что время — это наш самый ценный ресурс.

UMAP (Uniform Manifold Approximation and Projection) — это новый алгоритм уменьшения размерности, библиотека с реализацией которого вышла совсем недавно. Авторы алгоритма считают, что UMAP способен бросить вызов современным моделям снижения размерности, в частности, t-SNE, который на сегодняшний день является наиболее популярным. По результатам их исследований, у UMAP нет ограничений на размерность исходного пространства признаков, которое необходимо уменьшить, он намного быстрее и более вычислительно эффективен, чем t-SNE, а также лучше справляется с задачей переноса глобальной структуры данных в новое, уменьшенное пространство.

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

Немного теории

Алгоритмы понижения размерности можно разделить на 2 основные группы: они пытаются сохранить либо глобальную структуру данных, либо локальные расстояния между точками. К первым относятся такие алгоритмы как Метод главных компонент (PCA) и MDS (Multidimensional Scaling), а ко вторым — t-SNE, ISOMAP, LargeVis и другие. UMAP относится именно к последним и показывает схожие с t-SNE результаты.

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

Результаты применения

Итак, теперь попробуем применить UMAP к какому-нибудь набору данных и сравним его качество визуализации с t-SNE. Наш выбор пал на датасет Fashion MNIST, который включает в себя 70000 черно-белых изображений различной одежды по 10 классам: футболки, брюки, свитеры, платья, кроссовки и т.д. Каждая картинка имеет размер 28×28 пикселей или 784 пикселя всего. Они и будут являться фичами в нашей модели.

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

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

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

Теперь посмотрим, как с этим же набором данных управится t-SNE. Для этого будем использовать Multicore TSNE — самую быструю (даже в режиме одного ядра) среди всех реализаций алгоритма:

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

T-SNE показывает схожие с UMAP результаты и допускает те же ошибки. Однако, в отличии от UMAP, t-SNE не так очевидно объединяет виды одежды в отдельные группы: брюки, вещи для туловища и для ног находятся близко друг к другу. Однако в целом можно сказать, что оба алгоритма одинаково хорошо справились с задачей и исследователь волен на свой вкус делать выбор в пользу одного или другого. Можно было, если бы не одно «но».

Это «но» заключается в скорости обучения. На сервере с 4 ядрами Intel Xeon E5- 2690v3, 2,6 Гц и 16 Гб оперативной памяти на наборе данных размера 70000х784 UMAP обучился за 4 минуты и 21 секунду, в то время как t-SNE потребовалось на это почти в 5 раз больше времени: 20 минут, 14 секунд. То есть UMAP значительно более вычислительно эффективен, что дает ему огромное преимущество перед другими алгоритмами, в том числе и перед t-SNE.

Параметры алгоритма

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

Посмотрим на примере нашего датасета, как параметр n_neighbors влияет на качество и скорость обучения:

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

Из данной картины можно сделать следующие несколько выводов:

Вернемся к нашему датасету и оценим влияние параметра min_dist. Значение n_neighbors будет фиксированным и равным 5:

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

Метрика расстояния — metric. Параметр metric определяет, каким образом будут рассчитаны расстояния в пространстве исходных данных. По умолчанию UMAP поддерживает всевозможные расстояния, от Минковского до Хэмминга. Выбор метрики зависит от того, как мы интерпретируем эти данные и их типа. К примеру, работая с текстовой информацией, предпочтительно использовать косинусное расстояние (metric=’cosine’).

Продолжим играть с нашим датасетом и попробуем различные метрики:

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

Размерность конечного пространства — n_components. Тут все очевидно: параметр определяет размерность итогового пространства. Если вам нужно визуализировать данные, то следует выбирать 2 или 3. Если же использовать преобразованные вектора в качестве фич моделей машинного обучения, то можно и больше.

Заключение

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

Напоследок, посмотрите, как UMAP смог визуализировать набор данных Google News, состоящий из 3 миллионов векторов-слов. Время обучения составило 200 минут, тогда как t-SNE на это потребовалось несколько дней:

задачи машинного обучения уменьшение размерности. Смотреть фото задачи машинного обучения уменьшение размерности. Смотреть картинку задачи машинного обучения уменьшение размерности. Картинка про задачи машинного обучения уменьшение размерности. Фото задачи машинного обучения уменьшение размерности

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

Среди алгоритмов снижения размерности есть SVD, которому мы уделяем внимание в контексте построения рекомендаций на нашей программе “Специалист по большим данным 8.0”, которая стартует уже 22 марта.

Источник

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

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