Изменения

Перейти к: навигация, поиск

Обсуждение участника:Gen05

15 байт добавлено, 14:45, 28 июня 2022
Нет описания правки
= '''Выбор признаков (''Feature selection'') ='''
== Уменьшение размерности ==
Под '''уменьшением размерности''' (англ. ''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|Случайный лес]]
*Учитывать число вхождений признака в дерево.*Учитывать глубину вершины вхождения признака в дерево.
===Пример: SVM-RFE===#Обучить SVM на обучающем подмножестве#Установить веса признаков, равными модулям соответствующих коэффициентов#Отранжировать признаки согласно их весам#Выбросить некоторое число признаков с наименьшими весами#Повторять, пока не останется нужное число признаков
==Методы-обертки==
[[Файл:Таблица_4.jpg|600px|thumb|right|Схема метода-обертки]]
Метод-обертка (wrapper method) использует алгоритм (классификатор или регрессор) для оценки качества получаемого подмножества признаков и использует алгоритмы дискретной оптимизации для поиска оптимального подмножества признаков.
===Классификация методов-оберток===*Детерминированные:**SFS (sequential forward selection)**SBE (sequential backward elimination)**SVM-RFE**Перестановочная полезность (Permutation importance)*Стохастические — сводят задачу выбора признаков к задачеоптимизации в пространстве бинарных векторов:*Поиск восхождением на холм**Генетические алгоритмы**. . .===Анализ методов-оберток===
Достоинства:
*Более высокая точность, чем у фильтров*Используют отношения между признаками*Оптимизируют качество предсказательной модели в явном виде
Недостатки:
*Очень долго работают*Могут переобучиться при неправильной работе с разбиением набора данных
==Фильтры==Фильтры (''filter methods'') оценивают качество отдельных признаков илиподмножеств признаков и удаляют худшие
Две компоненты:
*мера значимости признаков μ*правило обрезки κ определяет, какие признаки удалить на основе μ===Схема фильтрующих методов===
[[Файл:ТАблица_5.jpg|600px|thumb|right]]
===Классификация фильтрующих методов===*Одномерные (''univariate''):**Евклидово расстояние**Коэффициент корреляции (Пирсона или Спирмена)**Попарные расстояния (внутренние или внешние)**Условная дисперсия**Прирост информации (IG)**Индекс Джини**χ2*Многомерные (''multivariate''):**Выбор признаков на основе корреляций (CFS)**Фильтр марковского одеяла (MBF)===Корреляция===
Коэффициент корреляции Пирсона
[[Файл:Таблица_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]]
===Анализ гибридных и ансамблирующих методов===
Преимущества:
*Чаще всего лучше по времени и по качеству
Недостатки:
*Иногда теряется интерпретируемость*Иногда требуется заботиться о проблеме переобучения
80
правок

Навигация