Обсуждение участника:Gen05 — различия между версиями
Gen05 (обсуждение | вклад) (→Классификация методов выбора признаков) |
Gen05 (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | '''Выбор признаков (''Feature selection'')''' | |
− | + | = Уменьшение размерности = | |
Под '''уменьшением размерности''' (англ. ''dimensionality reduction'') в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и соответственно уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. ''feature selection'') или выделения признаков (англ. ''feature extraction''). | Под '''уменьшением размерности''' (англ. ''dimensionality reduction'') в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и соответственно уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. ''feature selection'') или выделения признаков (англ. ''feature extraction''). | ||
− | |||
{{Определение | {{Определение | ||
Строка 12: | Строка 11: | ||
}} | }} | ||
− | + | ==Зачем нужно== | |
* Ускорение обучения и обработки | * Ускорение обучения и обработки | ||
* Борьба с шумом и мультиколлинеарностью | * Борьба с шумом и мультиколлинеарностью | ||
Строка 25: | Строка 24: | ||
}} | }} | ||
− | + | ==Когда применяется== | |
* Меньше памяти для хранения | * Меньше памяти для хранения | ||
* Уменьшение времени обработки | * Уменьшение времени обработки | ||
Строка 33: | Строка 32: | ||
[[Файл:Таблица_1.jpg|600px|thumb|right|Методы уменьшения размерности]] | [[Файл:Таблица_1.jpg|600px|thumb|right|Методы уменьшения размерности]] | ||
− | + | ==Два основных подхода уменьшения размерности== | |
'''Выбор признаков''' (''feature selection'') включает методы, для которых $G ⊂ F$. Они: | '''Выбор признаков''' (''feature selection'') включает методы, для которых $G ⊂ F$. Они: | ||
Строка 39: | Строка 38: | ||
* не могут «выдумывать» сложных признаков. | * не могут «выдумывать» сложных признаков. | ||
− | '''Извлечение признаков''' (''feature extraction'') включает все другие | + | '''Извлечение признаков''' (''feature extraction'') включает все другие методы (в том числе даже те, у которых $k > n$). |
− | методы (в том числе даже те, у которых $k > n$). | ||
* в целом, дольше работают; | * в целом, дольше работают; | ||
* могут извлекать сложные признаки. | * могут извлекать сложные признаки. | ||
− | + | ==Цели извлечения и выбора признаков== | |
* Уменьшение числа ресурсов, требуемых для обработки больших наборов данных | * Уменьшение числа ресурсов, требуемых для обработки больших наборов данных | ||
* Поиск новых признаков | * Поиск новых признаков | ||
* Эти признаки могут быть линейными и нелинейными относительно исходных | * Эти признаки могут быть линейными и нелинейными относительно исходных | ||
− | + | ===Цели выбора признаков:=== | |
* Уменьшение переобучения и улучшение качества предсказания | * Уменьшение переобучения и улучшение качества предсказания | ||
* Улучшение понимания моделей | * Улучшение понимания моделей | ||
− | + | ||
+ | ==Типы ненужных признаков== | ||
Существуют также два типа признаков, которые не являются необходимыми: | Существуют также два типа признаков, которые не являются необходимыми: | ||
* Избыточные (''redundant'') признаки не привносят дополнительной информации относительно существующих | * Избыточные (''redundant'') признаки не привносят дополнительной информации относительно существующих | ||
* Нерелевантные (''irrelevant'') признаки просто неинформативны | * Нерелевантные (''irrelevant'') признаки просто неинформативны | ||
− | + | =Встроенные методы= | |
[[Файл:Таблица_2.jpg|600px|thumb|right|Схема встроенного метода]] | [[Файл:Таблица_2.jpg|600px|thumb|right|Схема встроенного метода]] | ||
− | + | ==Классификация методов выбора признаков== | |
* Встроенные методы (''embedded'') | * Встроенные методы (''embedded'') | ||
* Фильтрующие методы (''filter'') | * Фильтрующие методы (''filter'') | ||
Строка 69: | Строка 68: | ||
* Гибридные и ансамблирующие методы | * Гибридные и ансамблирующие методы | ||
− | + | ==Встроенные методы== | |
[[File:Feature_selection_embedded_rus.png|450px|thumb|right|Процесс работы встроенных методов]] | [[File:Feature_selection_embedded_rus.png|450px|thumb|right|Процесс работы встроенных методов]] | ||
− | Группа '''встроенных методов''' (англ. ''embedded methods'') очень похожа на оберточные методы, но для выбора признаков используется непосредственно структуру некоторого классификатора. В оберточных методах классификатор служит только для оценки работы на данном множестве признаков, тогда как встроенные методы используют какую-то информацию о признаках, которую классификаторы присваивают во время обучения. | + | Группа '''встроенных методов''' (англ. ''embedded methods'') очень похожа на оберточные методы, но для выбора признаков используется непосредственно структуру некоторого классификатора. В оберточных методах классификатор служит только для оценки работы на данном множестве признаков, тогда как встроенные методы используют какую-то информацию о признаках, которую классификаторы присваивают во время обучения. |
Одним из примеров встроенного метода является реализация на [[Дерево решений и случайный лес| случайном лесе]]: каждому дереву на вход подаются случайное подмножество данных из датасета с каким-то случайным набор признаков, в процессе обучения каждое из деревьев решений производит "голосование" за релевантность его признаков, эти данные агрегируются, и на выходе получаются значения важности каждого признака набора данных. Дальнейший выбор нужных нам признаков уже зависит от выбранного критерия отбора. | Одним из примеров встроенного метода является реализация на [[Дерево решений и случайный лес| случайном лесе]]: каждому дереву на вход подаются случайное подмножество данных из датасета с каким-то случайным набор признаков, в процессе обучения каждое из деревьев решений производит "голосование" за релевантность его признаков, эти данные агрегируются, и на выходе получаются значения важности каждого признака набора данных. Дальнейший выбор нужных нам признаков уже зависит от выбранного критерия отбора. | ||
Строка 77: | Строка 76: | ||
Встроенные методы используют преимущества оберточных методов и являются более эффективными, при этом на отбор тратится меньше времени, уменьшается риск [[переобучение|переобучения]], но т.к. полученный набор признаков был отобран на основе знаний о классификаторе, то есть вероятность, что для другого классификатора это множество признаков уже не будет настолько же релевантным. | Встроенные методы используют преимущества оберточных методов и являются более эффективными, при этом на отбор тратится меньше времени, уменьшается риск [[переобучение|переобучения]], но т.к. полученный набор признаков был отобран на основе знаний о классификаторе, то есть вероятность, что для другого классификатора это множество признаков уже не будет настолько же релевантным. | ||
− | + | ==Пример: случайный лес== | |
[[Файл:Таблица_3.jpg|300px|thumb|right|Случайный лес]] | [[Файл:Таблица_3.jpg|300px|thumb|right|Случайный лес]] | ||
− | *Учитывать число вхождений признака в дерево. | + | * Учитывать число вхождений признака в дерево. |
− | *Учитывать глубину вершины вхождения признака в дерево. | + | * Учитывать глубину вершины вхождения признака в дерево. |
− | + | ==Пример: SVM-RFE== | |
− | #Обучить SVM на обучающем подмножестве | + | # Обучить SVM на обучающем подмножестве |
− | #Установить веса признаков, равными модулям соответствующих коэффициентов | + | # Установить веса признаков, равными модулям соответствующих коэффициентов |
− | #Отранжировать признаки согласно их весам | + | # Отранжировать признаки согласно их весам |
− | #Выбросить некоторое число признаков с наименьшими весами | + | # Выбросить некоторое число признаков с наименьшими весами |
− | #Повторять, пока не останется нужное число признаков | + | # Повторять, пока не останется нужное число признаков |
− | + | =Методы-обертки= | |
[[Файл:Таблица_4.jpg|600px|thumb|right|Схема метода-обертки]] | [[Файл:Таблица_4.jpg|600px|thumb|right|Схема метода-обертки]] | ||
Метод-обертка (wrapper method) использует алгоритм (классификатор или регрессор) для оценки качества получаемого подмножества признаков и использует алгоритмы дискретной оптимизации для поиска оптимального подмножества признаков. | Метод-обертка (wrapper method) использует алгоритм (классификатор или регрессор) для оценки качества получаемого подмножества признаков и использует алгоритмы дискретной оптимизации для поиска оптимального подмножества признаков. | ||
− | + | ==Классификация методов-оберток== | |
− | *Детерминированные: | + | * Детерминированные: |
− | **SFS (sequential forward selection) | + | ** SFS (sequential forward selection) |
− | **SBE (sequential backward elimination) | + | ** SBE (sequential backward elimination) |
− | **SVM-RFE | + | ** SVM-RFE |
− | **Перестановочная полезность (Permutation importance) | + | ** Перестановочная полезность (Permutation importance) |
− | *Стохастические — сводят задачу выбора признаков к задаче | + | * Стохастические — сводят задачу выбора признаков к задаче оптимизации в пространстве бинарных векторов: |
− | оптимизации в пространстве бинарных векторов: | + | * Поиск восхождением на холм |
− | *Поиск восхождением на холм | + | ** Генетические алгоритмы |
− | **Генетические алгоритмы | + | ** ... |
− | **. . . | + | |
− | + | ==Анализ методов-оберток== | |
Достоинства: | Достоинства: | ||
− | *Более высокая точность, чем у фильтров | + | * Более высокая точность, чем у фильтров |
− | *Используют отношения между признаками | + | * Используют отношения между признаками |
− | *Оптимизируют качество предсказательной модели в явном виде | + | * Оптимизируют качество предсказательной модели в явном виде |
Недостатки: | Недостатки: | ||
− | *Очень долго работают | + | * Очень долго работают |
− | *Могут переобучиться при неправильной работе с разбиением набора данных | + | * Могут переобучиться при неправильной работе с разбиением набора данных |
− | + | =Фильтры= | |
− | Фильтры (filter methods) оценивают качество отдельных признаков или | + | Фильтры (''filter methods'') оценивают качество отдельных признаков или подмножеств признаков и удаляют худшие |
− | подмножеств признаков и удаляют худшие | ||
Две компоненты: | Две компоненты: | ||
− | *мера значимости признаков μ | + | * мера значимости признаков μ |
− | *правило обрезки κ определяет, какие признаки удалить на основе μ | + | * правило обрезки κ определяет, какие признаки удалить на основе μ |
− | + | ==Схема фильтрующих методов== | |
[[Файл:ТАблица_5.jpg|600px|thumb|right]] | [[Файл:ТАблица_5.jpg|600px|thumb|right]] | ||
− | + | ==Классификация фильтрующих методов== | |
− | *Одномерные (univariate): | + | * Одномерные (''univariate''): |
− | **Евклидово расстояние | + | ** Евклидово расстояние |
− | **Коэффициент корреляции (Пирсона или Спирмена) | + | ** Коэффициент корреляции (Пирсона или Спирмена) |
− | **Попарные расстояния (внутренние или внешние) | + | ** Попарные расстояния (внутренние или внешние) |
− | **Условная дисперсия | + | ** Условная дисперсия |
− | **Прирост информации (IG) | + | ** Прирост информации (IG) |
− | **Индекс Джини | + | ** Индекс Джини |
− | **χ2 | + | ** χ2 |
− | *Многомерные (multivariate): | + | * Многомерные (''multivariate''): |
− | **Выбор признаков на основе корреляций (CFS) | + | ** Выбор признаков на основе корреляций (CFS) |
− | **Фильтр марковского одеяла (MBF) | + | ** Фильтр марковского одеяла (MBF) |
− | + | ||
+ | ==Корреляция== | ||
Коэффициент корреляции Пирсона | Коэффициент корреляции Пирсона | ||
[[Файл:Таблица_6.jpg|600px|thumb|right]] | [[Файл:Таблица_6.jpg|600px|thumb|right]] | ||
Коэффициент корреляции Спирмана | Коэффициент корреляции Спирмана | ||
− | #Отсортировать объекты двумя способами (по каждому из признаков). | + | # Отсортировать объекты двумя способами (по каждому из признаков). |
− | #Найти ранги объектов для каждой сортировки. | + | # Найти ранги объектов для каждой сортировки. |
− | #Вычислить корреляцию Пирсона между векторами рангов. | + | # Вычислить корреляцию Пирсона между векторами рангов. |
− | + | ||
− | *Число признаков | + | ==Правило обрезки κ== |
− | *Порог значимости признаков | + | * Число признаков |
− | *Интегральный порог значимости признаков | + | * Порог значимости признаков |
− | *Метод сломанной трости | + | * Интегральный порог значимости признаков |
− | *Метод локтя | + | * Метод сломанной трости |
− | + | * Метод локтя | |
+ | |||
+ | ==Анализ одномерных фильтров== | ||
Преимущества: | Преимущества: | ||
− | *Исключительно быстро работают | + | * Исключительно быстро работают |
− | *Позволяют оценивать значимость каждого признака | + | * Позволяют оценивать значимость каждого признака |
Недостатки: | Недостатки: | ||
− | *Порог значимости признаков | + | * Порог значимости признаков |
− | *Игнорируют отношения между признаками и то, что реально использует | + | * Игнорируют отношения между признаками и то, что реально использует предсказательная модель |
− | предсказательная модель | + | ==Анализ многомерных фильтров== |
− | |||
Преимущества: | Преимущества: | ||
− | *Работают достаточно быстро | + | * Работают достаточно быстро |
− | *Учитывают отношения между признаками | + | * Учитывают отношения между признаками |
Недостатки: | Недостатки: | ||
− | *Работают существенно дольше фильтров | + | * Работают существенно дольше фильтров |
− | *Не учитывают то, что реально использует предсказательная модель | + | * Не учитывают то, что реально использует предсказательная модель |
− | + | =Гибриды и ансамбли= | |
− | + | ==Гибридный подход== | |
Будем комбинировать подходы, чтобы использовать их сильные стороны | Будем комбинировать подходы, чтобы использовать их сильные стороны | ||
Самый частый вариант: | Самый частый вариант: | ||
− | *сначала применим фильтр (или набор фильтров), отсеяв лишние | + | * сначала применим фильтр (или набор фильтров), отсеяв лишние признаки |
− | признаки | + | * затем применим метод-обертку или встроенный метод |
− | *затем применим метод-обертку или встроенный метод | + | |
− | + | ==Схема гибридного подхода== | |
[[Файл:Таблица_7.jpg|600px|thumb|right]] | [[Файл:Таблица_7.jpg|600px|thumb|right]] | ||
− | + | ==Ансамблирование в выборе признаков== | |
− | Подход к ансамблированию состоит в построении ансамбля алгоритмов выбора | + | Подход к ансамблированию состоит в построении ансамбля алгоритмов выбора признаков |
− | признаков | ||
[[Файл:ТАблица_8.jpg|600px|thumb|right]] | [[Файл:ТАблица_8.jpg|600px|thumb|right]] | ||
− | + | ==Ансамбль на уровне моделей== | |
Строим ансамбль предсказательных моделей | Строим ансамбль предсказательных моделей | ||
[[Файл:Таблица_9.jpg|600px|thumb|right]] | [[Файл:Таблица_9.jpg|600px|thumb|right]] | ||
− | + | ==Ансамбль на уровне ранжирований== | |
Объединяем ранжирования | Объединяем ранжирования | ||
[[Файл:Таблица_10.jpg|600px|thumb|right]] | [[Файл:Таблица_10.jpg|600px|thumb|right]] | ||
− | + | ==Ансамбль на уровне мер значимости== | |
Объединяем меры значимости | Объединяем меры значимости | ||
[[Файл:Таблица_11.jpg|600px|thumb|right]] | [[Файл:Таблица_11.jpg|600px|thumb|right]] | ||
− | + | ==Анализ гибридных и ансамблирующих методов== | |
Преимущества: | Преимущества: | ||
− | *Чаще всего лучше по времени и по качеству | + | * Чаще всего лучше по времени и по качеству |
Недостатки: | Недостатки: | ||
− | *Иногда теряется интерпретируемость | + | * Иногда теряется интерпретируемость |
− | *Иногда требуется заботиться о проблеме переобучения | + | * Иногда требуется заботиться о проблеме переобучения |
Версия 14:45, 28 июня 2022
Выбор признаков (Feature selection)
Содержание
Уменьшение размерности
Под уменьшением размерности (англ. dimensionality reduction) в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и соответственно уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. feature selection) или выделения признаков (англ. feature extraction).
Определение: |
Объекты описаны признаками $F = (f_1, . . . , f_n)$. Задачей является построить множество признаков $G = (g_1, ... , g_k) : k < n$ (часто $k << n$), переход к которым сопровождается наименьшей потерей информации. |
Зачем нужно
- Ускорение обучения и обработки
- Борьба с шумом и мультиколлинеарностью
- Интерпретация и визуализация данных
Определение: |
Проклятие размерности (curse of dimensionality) — это набор проблем, возникающих с ростом размерности
|
Когда применяется
- Меньше памяти для хранения
- Уменьшение времени обработки
- Увеличение качества обработки
- Понимание природы признаков
Два основных подхода уменьшения размерности
Выбор признаков (feature selection) включает методы, для которых $G ⊂ F$. Они:
- быстро работают;
- не могут «выдумывать» сложных признаков.
Извлечение признаков (feature extraction) включает все другие методы (в том числе даже те, у которых $k > n$).
- в целом, дольше работают;
- могут извлекать сложные признаки.
Цели извлечения и выбора признаков
- Уменьшение числа ресурсов, требуемых для обработки больших наборов данных
- Поиск новых признаков
- Эти признаки могут быть линейными и нелинейными относительно исходных
Цели выбора признаков:
- Уменьшение переобучения и улучшение качества предсказания
- Улучшение понимания моделей
Типы ненужных признаков
Существуют также два типа признаков, которые не являются необходимыми:
- Избыточные (redundant) признаки не привносят дополнительной информации относительно существующих
- Нерелевантные (irrelevant) признаки просто неинформативны
Встроенные методы
Классификация методов выбора признаков
- Встроенные методы (embedded)
- Фильтрующие методы (filter)
- Одномерные (univariate)
- Многомерные (multivariate)
- Методы-обертки (wrapper)
- Детерминированные (deterministic)
- Стохастические (stochastic)
- Гибридные и ансамблирующие методы
Встроенные методы
Группа встроенных методов (англ. embedded methods) очень похожа на оберточные методы, но для выбора признаков используется непосредственно структуру некоторого классификатора. В оберточных методах классификатор служит только для оценки работы на данном множестве признаков, тогда как встроенные методы используют какую-то информацию о признаках, которую классификаторы присваивают во время обучения.
Одним из примеров встроенного метода является реализация на случайном лесе: каждому дереву на вход подаются случайное подмножество данных из датасета с каким-то случайным набор признаков, в процессе обучения каждое из деревьев решений производит "голосование" за релевантность его признаков, эти данные агрегируются, и на выходе получаются значения важности каждого признака набора данных. Дальнейший выбор нужных нам признаков уже зависит от выбранного критерия отбора.
Встроенные методы используют преимущества оберточных методов и являются более эффективными, при этом на отбор тратится меньше времени, уменьшается риск переобучения, но т.к. полученный набор признаков был отобран на основе знаний о классификаторе, то есть вероятность, что для другого классификатора это множество признаков уже не будет настолько же релевантным.
Пример: случайный лес
- Учитывать число вхождений признака в дерево.
- Учитывать глубину вершины вхождения признака в дерево.
Пример: SVM-RFE
- Обучить SVM на обучающем подмножестве
- Установить веса признаков, равными модулям соответствующих коэффициентов
- Отранжировать признаки согласно их весам
- Выбросить некоторое число признаков с наименьшими весами
- Повторять, пока не останется нужное число признаков
Методы-обертки
Метод-обертка (wrapper method) использует алгоритм (классификатор или регрессор) для оценки качества получаемого подмножества признаков и использует алгоритмы дискретной оптимизации для поиска оптимального подмножества признаков.
Классификация методов-оберток
- Детерминированные:
- SFS (sequential forward selection)
- SBE (sequential backward elimination)
- SVM-RFE
- Перестановочная полезность (Permutation importance)
- Стохастические — сводят задачу выбора признаков к задаче оптимизации в пространстве бинарных векторов:
- Поиск восхождением на холм
- Генетические алгоритмы
- ...
Анализ методов-оберток
Достоинства:
- Более высокая точность, чем у фильтров
- Используют отношения между признаками
- Оптимизируют качество предсказательной модели в явном виде
Недостатки:
- Очень долго работают
- Могут переобучиться при неправильной работе с разбиением набора данных
Фильтры
Фильтры (filter methods) оценивают качество отдельных признаков или подмножеств признаков и удаляют худшие
Две компоненты:
- мера значимости признаков μ
- правило обрезки κ определяет, какие признаки удалить на основе μ
Схема фильтрующих методов
Классификация фильтрующих методов
- Одномерные (univariate):
- Евклидово расстояние
- Коэффициент корреляции (Пирсона или Спирмена)
- Попарные расстояния (внутренние или внешние)
- Условная дисперсия
- Прирост информации (IG)
- Индекс Джини
- χ2
- Многомерные (multivariate):
- Выбор признаков на основе корреляций (CFS)
- Фильтр марковского одеяла (MBF)
Корреляция
Коэффициент корреляции Пирсона
Коэффициент корреляции Спирмана
- Отсортировать объекты двумя способами (по каждому из признаков).
- Найти ранги объектов для каждой сортировки.
- Вычислить корреляцию Пирсона между векторами рангов.
Правило обрезки κ
- Число признаков
- Порог значимости признаков
- Интегральный порог значимости признаков
- Метод сломанной трости
- Метод локтя
Анализ одномерных фильтров
Преимущества:
- Исключительно быстро работают
- Позволяют оценивать значимость каждого признака
Недостатки:
- Порог значимости признаков
- Игнорируют отношения между признаками и то, что реально использует предсказательная модель
Анализ многомерных фильтров
Преимущества:
- Работают достаточно быстро
- Учитывают отношения между признаками
Недостатки:
- Работают существенно дольше фильтров
- Не учитывают то, что реально использует предсказательная модель
Гибриды и ансамбли
Гибридный подход
Будем комбинировать подходы, чтобы использовать их сильные стороны Самый частый вариант:
- сначала применим фильтр (или набор фильтров), отсеяв лишние признаки
- затем применим метод-обертку или встроенный метод
Схема гибридного подхода
Ансамблирование в выборе признаков
Подход к ансамблированию состоит в построении ансамбля алгоритмов выбора признаков
Ансамбль на уровне моделей
Строим ансамбль предсказательных моделей
Ансамбль на уровне ранжирований
Объединяем ранжирования
Ансамбль на уровне мер значимости
Объединяем меры значимости
Анализ гибридных и ансамблирующих методов
Преимущества:
- Чаще всего лучше по времени и по качеству
Недостатки:
- Иногда теряется интерпретируемость
- Иногда требуется заботиться о проблеме переобучения