Изменения

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

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

5923 байта добавлено, 18:54, 29 июня 2022
Фильтры
= '''Выбор признаков (''Feature selection'') ='''
== Уменьшение размерности == Под '''уменьшением размерности''' (англ. ''dimensionality reduction'') в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и соответственно уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. ''feature selection'') или выделения признаков (англ. ''feature extraction'').
Под '''уменьшением размерности''' (англ. ''dimensionality reduction'') в машинном обучении подразумевается уменьшение числа признаков набора данных. Наличие в нем признаков избыточных, неинформативных или слабо информативных может понизить эффективность модели, а после такого преобразования она упрощается, и, соответственно, уменьшается размер набора данных в памяти и ускоряется работа алгоритмов ML на нем. Уменьшение размерности может быть осуществлено методами выбора признаков (англ. ''feature selection'') или выделения признаков (англ. ''feature extraction'').
{{Определение
}}
===Зачем нужно===
* Ускорение обучения и обработки
* Борьба с шумом и мультиколлинеарностью
}}
===Когда применяется=== * Меньше Нужно использовать меньше памяти для храненияданных* Уменьшение времени Нужно уменьшить время обработки* Увеличение качества Нужно увеличить качество обработки* Понимание природы Нужно понять природу признаков
[[Файл:Таблица_1.jpg|600px|thumb|right|Методы уменьшения размерности]]
='''Замечание:'''<br>Уменьшение размерности — шаг в предобработке данных ==Два основных подхода уменьшения размерности===
'''Выбор признаков''' (''feature selection'') включает методы, для которых $G ⊂ F$. Они:
* быстро Быстро работают;* не Не могут «выдумывать» сложных признаков.
'''Извлечение признаков''' (''feature extraction'') включает все другиеметоды (в том числе даже те, у которых $k > n$).* в В целом, дольше работают;* могут Могут извлекать сложные признаки.
===Цели извлечения и выбора признаков===
* Уменьшение числа ресурсов, требуемых для обработки больших наборов данных
* Поиск новых признаков
* Эти признаки могут быть линейными и нелинейными относительно исходных
====Цели выбора признаков:====
* Уменьшение переобучения и улучшение качества предсказания
* Улучшение понимания моделей
===Типы ненужных признаков===
Существуют также два типа признаков, которые не являются необходимыми:
* Избыточные (''redundant'') признаки не привносят дополнительной информации относительно существующих
* Нерелевантные (''irrelevant'') признаки просто неинформативны
==Встроенные методы==[[Файл:Таблица_2.jpg|600px|thumb|right{{Определение|Схема встроенного метода]]===Классификация методов выбора признаков==definition=*Встроенные методы (''embeddedmethods'')*Фильтрующие — это методы (filter)выбора**Одномерные (univariate)признаков, при которых этот выбор осуществляется в процессе работы**Многомерные других алгоритмов (multivariateклассификаторов и регрессоров)*Методы-обертки (wrapper)Опираются на конкретный алгоритм**Детерминированные (deterministic)Специфичны для каждого алгоритма**Стохастические (stochastic)}}*Гибридные и ансамблирующие методы===Встроенные методы===[[File:Feature_selection_embedded_rus.png|450px600px|thumb|right|Процесс работы встроенных методов]] Группа '''встроенных методов''' (англ. ''embedded methods'') очень похожа на оберточные методы, но для выбора признаков используется непосредственно структуру некоторого классификатора. В оберточных методах классификатор служит только для оценки работы на данном множестве признаков, тогда как встроенные методы используют какую-то информацию о признаках, которую классификаторы присваивают во время обучения.
Одним из примеров встроенного метода является реализация на [[Дерево решений и случайный лес| случайном лесе]]: каждому дереву на вход подаются случайное подмножество данных из датасета с каким-то случайным набор признаков, в процессе обучения каждое из деревьев решений производит "голосование" «голосование» за релевантность его признаков, эти данные агрегируются, и на выходе получаются значения важности каждого признака набора данных. Дальнейший выбор нужных нам признаков уже зависит от выбранного критерия отбора.
Встроенные методы используют преимущества оберточных методов и являются более эффективными, при этом на отбор тратится меньше времени, уменьшается риск [[переобучение|переобучения]], но т.к. полученный набор признаков был отобран на основе знаний о классификаторе, то есть вероятность, что для другого классификатора это множество признаков уже не будет настолько же релевантным.
===Пример: случайный лес=Классификация методов выбора признаков==[[Файл:Таблица_3.jpg|300px|thumb|right|Случайный лес]]* Встроенные методы (''embedded'')* Фильтрующие методы (''filter'')** Одномерные (''univariate'')** Многомерные (''multivariate'')* Методы-обертки (''wrapper'')** Детерминированные (''deterministic'')*Учитывать число вхождений признака в дерево.* Стохастические (''stochastic'')*Учитывать глубину вершины вхождения признака в дерево.Гибридные и ансамблирующие методы
==={{Пример: SVM-RFE==|example='''Cлучайный лес'''#Обучить SVM на обучающем подмножестве[[Файл:Таблица_3.jpg|500px|thumb|right|Случайный лес]]#Установить веса признаков, равными модулям соответствующих коэффициентов{{main|Дерево решений и случайный лес}}#Отранжировать признаки согласно их весам* Учитывать число вхождений признака в дерево.#Выбросить некоторое число признаков с наименьшими весами* Учитывать глубину вершины вхождения признака в дерево.#Повторять, пока не останется нужное число признаков}}
{{Пример|example='''SVM-RFE'''# Обучить SVM на обучающем подмножестве# Установить веса признаков, равными модулям соответствующих коэффициентов# Отранжировать признаки согласно их весам# Выбросить некоторое число признаков с наименьшими весами# Повторять, пока не останется нужное число признаков}} =Методы-обертки==[[File:Feature_selection_wrapper_rus.png|600px|thumb|right|Процесс работы оберточных методов]] '''Метод-обертка ''' (''wrapper method'') использует алгоритм(классификатор или регрессор) для оценки качества получаемогоподмножества признаков и использует алгоритмы дискретнойоптимизации для поиска оптимального подмножества признаков.===Схема метода-обертки==='''Оберточные методы''' (англ. ''wrapper methods'') находят подмножество искомых признаков последовательно, используя некоторый классификатор как источник оценки качества выбранных признаков, т.е. этот процесс является циклическим и продолжается до тех пор, пока не будут достигнуты заданные условия останова. Оберточные методы учитывают зависимости между признаками, что является преимуществом по сравнению с фильтрами, к тому же показывают большую точность, но вычисления занимают длительное время, и повышается риск [[Файл:Таблица_4.jpgпереобучение|600px|thumb|rightпереобучения]].  Существует несколько типов оберточных методов: детерминированные, которые изменяют множество признаков по определенному правилу, а также рандомизированные, которые используют генетические алгоритмы для выбора искомого подмножества признаков. ===Классификация методов-оберток===*Детерминированные:**SFS (''sequential forward selection'')**SBE (''sequential backward elimination'')**SVM-RFE**Перестановочная полезность (''Permutation importance'')*Стохастические — сводят задачу выбора признаков к задачеоптимизации в пространстве бинарных векторов:**Поиск восхождением на холм**Генетические алгоритмы**. . .===Анализ методов-оберток===
Достоинства:
*Более высокая точность, чем у фильтров*Используют отношения между признаками*Оптимизируют качество предсказательной модели в явном виде
Недостатки:
*Очень долго работают*Могут переобучиться при неправильной работе с разбиением набора данных =Фильтры[[Файл:ТАблица_5.jpg|600px|thumb|right|Процесс работы фильтрующих методов]] '''Фильтры''' (англ. ''filter methods'') измеряют релевантность признаков на основе функции $\mu$, и затем решают по правилу $\kappa$, какие признаки оставить в результирующем множестве. Фильтры==могут быть:* Одномерные (англ. ''univariate'') {{---}} функция $\mu$ определяет релевантность одного признака по отношению к выходным меткам. В таком случае обычно измеряют «качество» каждого признака и удаляют худшие. Одномерные метрики делятся на 3 части: ** Сравнивают два категориальных признака** Сравнивают категориальный и числовой признаки** Сравнивают два числовых признака* Многомерные (англ. ''multivariate'') {{---}} функция $\mu$ определяет релевантность некоторого подмножества исходного множества признаков относительно выходных меток. Преимуществом группы фильтров является простота вычисления релевантности признаков в наборе данных, но недостатком в таком подходе является игнорирование возможных зависимостей между признаками. Фильтры (''filter methods'') оценивают качество отдельных признаков илиподмножеств признаков и удаляют худшие.
Две компоненты:
*мера значимости признаков μ$\mu$*правило обрезки κ определяет, какие признаки удалить на основе μ$\mu$===Схема фильтрующих методов===[[Файл:ТАблица_5.jpg|600px|thumb|right]]===Классификация фильтрующих методов===*Одномерные (''univariate''):**Евклидово расстояние**Коэффициент корреляции (Пирсона или Спирмена)**Попарные расстояния (внутренние или внешние)**Условная дисперсия**Прирост информации (IG)**Индекс Джини**χ2$\chi^2$*Многомерные (''multivariate''):**Выбор признаков на основе корреляций (CFS)**Фильтр марковского одеяла (MBF)===Корреляция==='''Коэффициент корреляции Пирсона''' <br> '''Замечание''' Важно помнить, что мы смотрим не на корреляцию, а на модуль корреляции.<tex>r=\displaystyle \frac{\sum_{i, j}(x_{ij}-\bar{x_j})(y_i-\bar{y})}{\sqrt{\sum_{i, j}(x_{ij}-\bar{x_j})^2\sum_i(y_i-\bar{y})^2}}\in[[Файл:Таблица_6.jpg|600px|thumb|right]-1;1]</tex> '''Коэффициент корреляции Спирмана'''#Отсортировать объекты двумя способами (по каждому из признаков).#Найти ранги объектов для каждой сортировки.#Вычислить корреляцию Пирсона между векторами рангов. '''Information gain'''<ref>[https://en.wikipedia.org/wiki/Information_gain_in_decision_trees Определение information gain]</ref>: <br> $IG(T, C)=\displaystyle -\sum_{i=1}^kp(c_i)\log_2{(p(c_i))}+\sum_{i=1}^{n}p(t_i)\sum_{j=1}^kp(c_j|t_i)\log_2{(p(c_j|t_i))}$ ==Правило обрезки κ=подрезки $k$==*Число признаков*Порог значимости признаков*Интегральный порог значимости признаков*Метод сломанной трости*Метод локтя===Анализ одномерных фильтров==='''Преимущества:'''*Исключительно быстро работают*Позволяют оценивать значимость каждого признака'''Недостатки:'''*Порог значимости признаков*Игнорируют отношения между признаками и то, что реально используетпредсказательная модель===Анализ многомерных фильтров==='''Преимущества:'''*Работают достаточно быстро*Учитывают отношения между признаками'''Недостатки:'''*Работают существенно дольше фильтров*Не учитывают то, что реально использует предсказательная модель==Гибриды и ансамбли= [[Файл:Таблица_7.jpg|600px|thumb|right|Схема процесса работы гибридного подхода]] ==Гибридный подход== '''Гибридные методы''' (англ. ''hybrid methods'') комбинируют несколько разных методов выбора признаков, например, некоторое множество фильтров, а потом запускают оберточный или встроенный метод. Таким образом, гибридные методы сочетают в себе преимущества сразу нескольких методов, и на практике повышают эффективность выбора признаков.
===Гибридный подход===
Будем комбинировать подходы, чтобы использовать их сильные стороны
Самый частый вариант:
*сначала применим фильтр (или набор фильтров), отсеяв лишниепризнаки*затем применим метод-обертку или встроенный метод ===Схема гибридного подхода=Ансамблирование в выборе признаков==[[Файл:Таблица_7ТАблица_8.jpg|600px|thumb|right|Ансамблирование в выборе признаков]]===Ансамблирование в выборе '''Ансамблевые методы''' применяются больше для наборов данных с очень большим числом признаков. В данном подходе для начального множества признаков создается несколько подмножеств признаков, и эти группы каким-то образом объединяются, чтобы получить набор самых релевантных признаков. Это довольно гибкая группа методов, т.к. для нее можно применять различные способы выбора признаков===и объединения их подмножеств. Подход к ансамблированию состоит в построении ансамбля алгоритмов выборапризнаков[[Файл:ТАблица_8.jpg|600px|thumb|right]]===Ансамбль на уровне моделей===* Строим ансамбль предсказательных моделей* Объединяем ранжирования* Объединяем меры значимости [[Файл:Таблица_9.jpg|none|600px|thumb|right]]===Ансамбль на уровне ранжирований===Объединяем ранжированиямоделей]][[Файл:Таблица_10.jpg|none|600px|thumb|right]]===Ансамбль на уровне мер значимости===Объединяем меры значимостиранжирований]][[Файл:Таблица_11.jpg|none|600px|thumb|rightАнсамбль на уровне мер значимости]]===Анализ гибридных и ансамблирующих методов===
Преимущества:
*Чаще всего лучше по времени и по качеству
Недостатки:
*Иногда теряется интерпретируемость*Иногда требуется заботиться о проблеме переобучения =Примечания=<references/>
80
правок

Навигация