80
правок
Изменения
Нет описания правки
Под '''уменьшением размерности''' (англ. ''dimensionality reduction'') в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и соответственно уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. ''feature selection'') или выделения признаков (англ. ''feature extraction'').
{{Определение
}}
* Ускорение обучения и обработки
* Борьба с шумом и мультиколлинеарностью
}}
* Меньше памяти для хранения
* Уменьшение времени обработки
[[Файл:Таблица_1.jpg|600px|thumb|right|Методы уменьшения размерности]]
'''Выбор признаков''' (''feature selection'') включает методы, для которых $G ⊂ F$. Они:
* не могут «выдумывать» сложных признаков.
'''Извлечение признаков''' (''feature extraction'') включает все другиеметоды (в том числе даже те, у которых $k > n$).
* в целом, дольше работают;
* могут извлекать сложные признаки.
* Уменьшение числа ресурсов, требуемых для обработки больших наборов данных
* Поиск новых признаков
* Эти признаки могут быть линейными и нелинейными относительно исходных
* Уменьшение переобучения и улучшение качества предсказания
* Улучшение понимания моделей
Существуют также два типа признаков, которые не являются необходимыми:
* Избыточные (''redundant'') признаки не привносят дополнительной информации относительно существующих
* Нерелевантные (''irrelevant'') признаки просто неинформативны
[[Файл:Таблица_2.jpg|600px|thumb|right|Схема встроенного метода]]
* Встроенные методы (''embedded'')
* Фильтрующие методы (''filter'')
* Гибридные и ансамблирующие методы
[[File:Feature_selection_embedded_rus.png|450px|thumb|right|Процесс работы встроенных методов]]
Группа '''встроенных методов''' (англ. ''embedded methods'') очень похожа на оберточные методы, но для выбора признаков используется непосредственно структуру некоторого классификатора. В оберточных методах классификатор служит только для оценки работы на данном множестве признаков, тогда как встроенные методы используют какую-то информацию о признаках, которую классификаторы присваивают во время обучения.
Одним из примеров встроенного метода является реализация на [[Дерево решений и случайный лес| случайном лесе]]: каждому дереву на вход подаются случайное подмножество данных из датасета с каким-то случайным набор признаков, в процессе обучения каждое из деревьев решений производит "голосование" за релевантность его признаков, эти данные агрегируются, и на выходе получаются значения важности каждого признака набора данных. Дальнейший выбор нужных нам признаков уже зависит от выбранного критерия отбора.
Встроенные методы используют преимущества оберточных методов и являются более эффективными, при этом на отбор тратится меньше времени, уменьшается риск [[переобучение|переобучения]], но т.к. полученный набор признаков был отобран на основе знаний о классификаторе, то есть вероятность, что для другого классификатора это множество признаков уже не будет настолько же релевантным.
[[Файл:Таблица_3.jpg|300px|thumb|right|Случайный лес]]
*Учитывать число вхождений признака в дерево.*Учитывать глубину вершины вхождения признака в дерево.
[[Файл:Таблица_4.jpg|600px|thumb|right|Схема метода-обертки]]
Метод-обертка (wrapper method) использует алгоритм (классификатор или регрессор) для оценки качества получаемого подмножества признаков и использует алгоритмы дискретной оптимизации для поиска оптимального подмножества признаков.
Достоинства:
*Более высокая точность, чем у фильтров*Используют отношения между признаками*Оптимизируют качество предсказательной модели в явном виде
Недостатки:
*Очень долго работают*Могут переобучиться при неправильной работе с разбиением набора данных
Две компоненты:
*мера значимости признаков μ*правило обрезки κ определяет, какие признаки удалить на основе μ===Схема фильтрующих методов===
[[Файл:ТАблица_5.jpg|600px|thumb|right]]
Коэффициент корреляции Пирсона
[[Файл:Таблица_6.jpg|600px|thumb|right]]
Коэффициент корреляции Спирмана
#Отсортировать объекты двумя способами (по каждому из признаков).#Найти ранги объектов для каждой сортировки.#Вычислить корреляцию Пирсона между векторами рангов.===Правило обрезки κ===*Число признаков*Порог значимости признаков*Интегральный порог значимости признаков*Метод сломанной трости*Метод локтя===Анализ одномерных фильтров===
Преимущества:
*Исключительно быстро работают*Позволяют оценивать значимость каждого признака
Недостатки:
*Порог значимости признаков*Игнорируют отношения между признаками и то, что реально используетпредсказательная модель===Анализ многомерных фильтров===
Преимущества:
*Работают достаточно быстро*Учитывают отношения между признаками
Недостатки:
*Работают существенно дольше фильтров*Не учитывают то, что реально использует предсказательная модель==Гибриды и ансамбли==
Будем комбинировать подходы, чтобы использовать их сильные стороны
Самый частый вариант:
*сначала применим фильтр (или набор фильтров), отсеяв лишниепризнаки*затем применим метод-обертку или встроенный метод===Схема гибридного подхода===
[[Файл:Таблица_7.jpg|600px|thumb|right]]
[[Файл:ТАблица_8.jpg|600px|thumb|right]]
Строим ансамбль предсказательных моделей
[[Файл:Таблица_9.jpg|600px|thumb|right]]
Объединяем ранжирования
[[Файл:Таблица_10.jpg|600px|thumb|right]]
Объединяем меры значимости
[[Файл:Таблица_11.jpg|600px|thumb|right]]
Преимущества:
*Чаще всего лучше по времени и по качеству
Недостатки:
*Иногда теряется интерпретируемость*Иногда требуется заботиться о проблеме переобучения