Методы выбора оптимального набора информативных признаков для задач классификации текстов Борисова Татьяна 3 курс ВМК МГУ Для чего нужен выбор признаков? • Количество признаков может достигать 10 000 – 100 000 • Это слишком много для многих алгоритмов обучения (нейронные сети, наивная байесовская модель и т.д.) – «проклятье размерности» Достоинства выбора признаков • Лучше работают алгоритмы обучения • Проще понять природу данных • Меньше размер хранилищ Методы выбора признаков • Filters (методы-фильтры) • Wrappers (методы-обертки) • Embedded (встроенные методы) Filters (методы-фильтры) • Этап препроцессинга • Не зависит от результата работы классификатора • Достоинства: – Вычислительно быстрые – Простая реализация – Хорошо масштабируются Независимое ранжирование признаков • • • • • Information gain (прирост информации) Mutual information (взаимная информация) Критерий хи-квадрат Term strength («мощность признака») mRMR (minimum redundancy-maximum relevance, минимальная избыточностьмаксимальная релевантность) Обозначения • 𝑇 – обучающая выборка: множество пар 𝑥𝑘 , 𝑦𝑘 𝑘 = 1, 𝑚 • 𝒙 = 𝑥𝑘 – k-й входной объект, 𝑥𝑘 ∈ {0,1} • 𝑚 – число входных объектов • 𝑦𝑘 – выходные переменные (классы) • 𝑐𝑗 – классы, 𝑦𝑘 ∈ {𝑐𝑗 }𝑀 𝑗=1 • 𝑛 – число признаков • 𝑥𝑘𝑖 – i-й признак 𝑖 = 1, 𝑛 • Предполагаются бинарные признаки Принцип работы • Вычисляем ранг каждого признака • Выкидываем признаки, для которых ранг меньше заданного значения порога • Значение порога можно подобрать на кросс-валидации (или путем выделения из тестовой выборки специального подмножества и тестирования на нем различных значений порога) Information gain (прирост информации) 𝑀 𝐺 𝑥𝑖 = − 𝑀 𝑃 𝑐𝑗 𝑙𝑜𝑔𝑃 𝑐𝑗 + 𝑃 𝑥 𝑖 𝑗=1 𝑃 𝑐𝑗 |𝑥 𝑖 𝑙𝑜𝑔𝑃 𝑐𝑗 |𝑥 𝑖 𝑗=1 𝑀 +𝑃 𝑥 𝑖 𝑃 𝑐𝑗 |𝑥 𝑖 𝑙𝑜𝑔𝑃 𝑐𝑗 |𝑥 𝑖 𝑗=1 Сколько бит информации необходимо, чтобы классифицировать объекты с использованием признака 𝑥 𝑖 ? А без его использования? Берем разницу Mutual information (взаимная информация) Вначале посчитаем взаимную информацию признака и категории: 𝑖 𝑃(𝑥 ∩ 𝑐 ) 𝑗 𝐼 𝑥 𝑖 , 𝑐𝑗 = 𝑙𝑜𝑔 𝑃 𝑥 𝑖 𝑃(𝑐𝑗 ) Mutual information (взаимная информация) Обозначения: • A: 𝑦𝑘 = 𝑐𝑗 и 𝑥𝑘𝑖 = 1 • • • B: 𝑦𝑘 ≠ 𝑐𝑗 и 𝑥𝑘𝑖 = 1 C: 𝑦𝑘 = 𝑐𝑗 и 𝑥𝑘𝑖 = 0 D: 𝑦𝑘 ≠ 𝑐𝑗 и 𝑥𝑘𝑖 = 0 𝑦𝑘 = 𝑐𝑗 𝑦𝑘 ≠ 𝑐𝑗 𝑥𝑘𝑖 = 1 A B 𝑥𝑘𝑖 = 0 C D Mutual information (взаимная информация) При введенных ранее обозначениях 𝐴∙𝑚 𝑖 𝐼 𝑥 , 𝑐𝑗 ≈ 𝑙𝑜𝑔 (𝐴 + 𝐶)(𝐴 + 𝐵) Теперь можно посчитать оценку для признака 𝑥 𝑖 : 𝑀 𝐼𝑎𝑣𝑔 𝑥 𝑖 = 𝑃(𝑐𝑗 )𝐼 𝑥 𝑖 , 𝑐𝑗 𝑗=1 𝐼𝑚𝑎𝑥 𝑥 𝑖 = max 𝐼 𝑥 𝑖 , 𝑐𝑗 , 𝑗 = 1, 𝑀 𝑗 Mutual information (взаимная информация) Недостаток критерия взаимной информации 𝐼 𝑥 𝑖 , 𝑐𝑗 = 𝑙𝑜𝑔𝑃 𝑥 𝑖 |𝑐𝑗 − 𝑙𝑜𝑔𝑃(𝑥 𝑖 ) Ранг редких признаков выше, чем ранг частых Критерий хи-квадрат 2 𝑚(𝐴𝐷 − 𝐶𝐵) 2 (𝑥 𝑖 , 𝑐𝑗 ) = (𝐴 + 𝐶)(𝐵 + 𝐷)(𝐴 + 𝐵)(𝐶 + 𝐷) 𝑦𝑘 = 𝑐𝑗 𝑦𝑘 ≠ 𝑐𝑗 𝑥𝑘𝑖 = 1 A B 𝑥𝑘𝑖 = 0 C D Term strength («мощность признака») • Основан на кластеризации документов • Не использует информацию о классах s 2 (𝑥 𝑖 ) = 𝑃(𝑥 𝑖 ∈ 𝑦|𝑥 𝑖 ∈ 𝑥) 𝑦, 𝑥 – «связанные» документы Для оценки связанности можно использовать косинусную меру mRMR (minimum redundancymaximum relevance) • Не использует информацию о категориях • Может использовать взаимную информацию, критерий корреляции и т.д. • Показано, что этот метод приближает теоретически оптимальный maximum-dependency метод mRMR (minimum redundancymaximum relevance) • Не использует информацию о категориях 𝑛 1 𝑚𝑅𝑀𝑅(𝑥 , 𝑐𝑗 ) = max 𝑥 𝑖 ,𝑖=1,𝑛 𝑛 𝑖 1 𝐼(𝑥 , 𝑐𝑗 ) − 2 𝑛 𝑛 𝑖 𝑖=1 𝐼(𝑥 𝑖 , 𝑥 𝑗 ) 𝑖,𝑗 𝑖=1 𝑗=1 𝑀 𝑚𝑅𝑀𝑅𝑎𝑣𝑔 𝑥 𝑖 = 𝑃 𝑐𝑗 𝑚𝑅𝑀𝑅 𝑥 𝑖 , 𝑐𝑗 𝑗=1 𝑚𝑅𝑀𝑅𝑚𝑎𝑥 𝑥 𝑖 = max 𝑚𝑅𝑀𝑅 𝑥 𝑖 , 𝑐𝑗 , 𝑗 = 1, 𝑀 𝑗 Методы выбора признаков • Filters (методы-фильтры) • Wrappers (методы-обертки) • Embedded (встроенные методы) Wrappers (методы-обертки) • Алгоритм обучения используется как «черный ящик» • Оценивается информативность конкретного подмножества признаков для алгоритма обучения Принцип работы • Выполняется поиск по пространству подмножеств исходного множества признаков • Для каждого шага поиска используется информация о качестве обучения на текущем подмножестве признаков Принцип работы 𝜔𝑖 – «вес» признака 𝑥 𝑖 • Бинарный случай: 𝜔𝑖 ∈ 0,1 • Непрерывный случай: 𝜔𝑖 ∈ 0,1 Экспоненциальные алгоритмы поиска • Сложность 𝑂(2𝑛 ) – Exhaustive search – Алгоритм ветвей и границ – FOCUS Последовательные алгоритмы поиска • На каждом шаге выбираем одного последователя • Не можем идти «назад» • Сложность 𝑂(𝑛) • Можно на каждом шаге рассматривать 𝑘 возможных последователей – Сложность в этом случае 𝑂(𝑛𝑘 ) Последовательные алгоритмы поиска • Прямой жадный алгоритм (forward selection) • Обратный жадный алгоритм (backward elimination) • Алгоритм восхождения на вершину (hill climbing) Рандомизированные алгоритмы поиска • Использование рандомизации для выхода из локальных минимумов • Anytime-алгоритмы Рандомизированные алгоритмы поиска • Симуляция отжига • Генетические алгоритмы Прямой и обратный жадный алгоритмы • Пример – прямой жадный алгоритм 1 1 1 1 1 0 0 1 0 1 0 1 – обратный жадный алгоритм 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 Прямой и обратный жадный алгоритмы 0.0 0 0 0 0.1 1 0 0 0.9 1 1 0 0.1 0 1 0 0.7 0 1 1 0.5 0 0 1 0.6 1 0 1 прямой жадный алгоритм обратный жадный алгоритм 0.8 1 1 1 Методы выбора признаков • Filters (методы-фильтры) • Wrappers (методы-обертки) • Embedded (встроенные методы) Embedded (встроенные методы) Выбор признаков является одним из этапов алгоритма обучения Достоинства: • Наилучшим образом приспособлены для конкретной модели • Не нужно проводить кросс-валидацию или разбивать тренировочную выборку Embedded (встроенные методы) • Линейная регрессия – LASSO • SVM – SVM-RFE (Recursive Feature Elimination) • Полиномиальная логистическая регрессия – RMNL (Random Multinomal logit): основан на случайном лесе Методы построения признаков • PCA (Principal Component Analysis, метод главных компонент) • Кластеризация • Автокодировщик • Регуляризованный случайный лес (RRF) • Применяют также спектральные и волновые преобразования Пример работы Пример работы Спасибо за внимание!