Обсуждение участника:Gen05 — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Классификация методов выбора признаков)
Строка 1: Строка 1:
= Выбор признаков (Feature selection) =
+
'''Выбор признаков (''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-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

  1. Обучить SVM на обучающем подмножестве
  2. Установить веса признаков, равными модулям соответствующих коэффициентов
  3. Отранжировать признаки согласно их весам
  4. Выбросить некоторое число признаков с наименьшими весами
  5. Повторять, пока не останется нужное число признаков

Методы-обертки

Схема метода-обертки

Метод-обертка (wrapper method) использует алгоритм (классификатор или регрессор) для оценки качества получаемого подмножества признаков и использует алгоритмы дискретной оптимизации для поиска оптимального подмножества признаков.

Классификация методов-оберток

  • Детерминированные:
    • SFS (sequential forward selection)
    • SBE (sequential backward elimination)
    • SVM-RFE
    • Перестановочная полезность (Permutation importance)
  • Стохастические — сводят задачу выбора признаков к задаче оптимизации в пространстве бинарных векторов:
  • Поиск восхождением на холм
    • Генетические алгоритмы
    • ...

Анализ методов-оберток

Достоинства:

  • Более высокая точность, чем у фильтров
  • Используют отношения между признаками
  • Оптимизируют качество предсказательной модели в явном виде

Недостатки:

  • Очень долго работают
  • Могут переобучиться при неправильной работе с разбиением набора данных

Фильтры

Фильтры (filter methods) оценивают качество отдельных признаков или подмножеств признаков и удаляют худшие

Две компоненты:

  • мера значимости признаков μ
  • правило обрезки κ определяет, какие признаки удалить на основе μ

Схема фильтрующих методов

ТАблица 5.jpg

Классификация фильтрующих методов

  • Одномерные (univariate):
    • Евклидово расстояние
    • Коэффициент корреляции (Пирсона или Спирмена)
    • Попарные расстояния (внутренние или внешние)
    • Условная дисперсия
    • Прирост информации (IG)
    • Индекс Джини
    • χ2
  • Многомерные (multivariate):
    • Выбор признаков на основе корреляций (CFS)
    • Фильтр марковского одеяла (MBF)

Корреляция

Коэффициент корреляции Пирсона

Коэффициент корреляции Спирмана

  1. Отсортировать объекты двумя способами (по каждому из признаков).
  2. Найти ранги объектов для каждой сортировки.
  3. Вычислить корреляцию Пирсона между векторами рангов.

Правило обрезки κ

  • Число признаков
  • Порог значимости признаков
  • Интегральный порог значимости признаков
  • Метод сломанной трости
  • Метод локтя

Анализ одномерных фильтров

Преимущества:

  • Исключительно быстро работают
  • Позволяют оценивать значимость каждого признака

Недостатки:

  • Порог значимости признаков
  • Игнорируют отношения между признаками и то, что реально использует предсказательная модель

Анализ многомерных фильтров

Преимущества:

  • Работают достаточно быстро
  • Учитывают отношения между признаками

Недостатки:

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

Гибриды и ансамбли

Гибридный подход

Будем комбинировать подходы, чтобы использовать их сильные стороны Самый частый вариант:

  • сначала применим фильтр (или набор фильтров), отсеяв лишние признаки
  • затем применим метод-обертку или встроенный метод

Схема гибридного подхода

Таблица 7.jpg

Ансамблирование в выборе признаков

Подход к ансамблированию состоит в построении ансамбля алгоритмов выбора признаков

ТАблица 8.jpg

Ансамбль на уровне моделей

Строим ансамбль предсказательных моделей

Таблица 9.jpg

Ансамбль на уровне ранжирований

Объединяем ранжирования

Таблица 10.jpg

Ансамбль на уровне мер значимости

Объединяем меры значимости

Таблица 11.jpg

Анализ гибридных и ансамблирующих методов

Преимущества:

  • Чаще всего лучше по времени и по качеству

Недостатки:

  • Иногда теряется интерпретируемость
  • Иногда требуется заботиться о проблеме переобучения