Группировка категорий и сегментация признаков в логистической регрессии (пример)

Материал из MachineLearning.

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

Группировка категорий и сегментация признаков — методы, позволяющие упростить и одновременно улучшить регрессионную модель. В частности, группировка категорий позволяет понять взаимосвязь значений признаков и использовать линейные модели для нелинейных зависимостей.

Содержание

Постановка задачи

Дана задача кредитного скоринга. Регрессионная модель - логистическая регрессия. Требуется найти множество активных признаков. Затем сегментировать линейные признаки, сгруппировать номинальные и ординарные. При этом надо применить как новые алгоритмы, так и классические. Сравнить оба подхода, вычислить статистическую значимость производных признаков.

Описание данных

Используются реальные данные (GERMAN_UIC) о выдаче или не выдаче банком кредитов. Всего приведены 24 признака для 1000 человек и информация о том, выдан ли впоследствии кредит. Формально данные можно представить следующим образом:

Набор данных: \mathbf{x}\in\mathbb{R}^{n},\ y\in\mathbb{R}

\mathbf{D} = \{(\mathbf{x}^{1},y^{1}),\ldots,(\mathbf{x}^{i},y^{i}),\ldots,(\mathbf{x}^{m},y^{m})\}

Целевая переменная: \mathbf{y} = (y^{1},\ldots,y^{m})^{T}

Модель: P(y^{i}|\mathbf{x}^i) = (\sigma(\langle\mathbf{w},\mathbf{x}^{i}\rangle))^{y^{i}}(1 - \sigma(\langle\mathbf{w},\mathbf{x}^{i}\rangle))^{1 - y^{i}}\ где \sigma(\langle\mathbf{w},\mathbf{x}^{i}\rangle) = \frac{1}{1 + \exp(-\langle\mathbf{w},\mathbf{x}^{i}\rangle)}

Индексы: \{1,\ldots,m\} = \mathbf{L}\cup\mathbf{T} - разбиение на обучающую и контрольную выборки. \{1,\ldots,n\} = \mathbf{F} - индексы признаков.

Описание алгоритмов

Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком

-\ln(P(\mathbf{y}|\mathbf{x})) = - \sum_{i\subseteq\mathbf{L}}(y^{i}\ln(\sigma(\langle\mathbf{w},\mathbf{x}^{i}\rangle)) + (1 - y^{i})\ln(1 - \sigma(\langle\mathbf{w},\mathbf{x}^{i}\rangle))) = S_{\mathbf{L},\mathbf{A}}(\mathbf{w})

Здесь под строкой \mathbf{x}^{i} подразумевается строка из условия, но с удаленными координатами, номера которых не входят во множество индексов A. Вектор \mathbf{w} соответствующей длины. Множество активных признаков - \mathbf{A}\subseteq\mathbf{F} . Тогда задача нахождения множества активных признаков и соответствующего им вектора весов записывается в виде

\mathbf{w}_{\mathbf{A}} = \underset{\mathbf{w}}{\operatorname{argmin}}(S_{\mathbf{L},\mathbf{A}}(\mathbf{w}))

\mathbf{A} = \underset{\mathbf{A}^{*}\in2^{\mathbf{F}}}{\operatorname{argmin}}(S_{\mathbf{T},\mathbf{A}^{*}}(\mathbf{w}__{\mathbf{A}^{*}}))

Для решения задачи поиска множества активных признаков предлагается следующий подход. Все линейные признаки заведомо считаются активными. В данном случае их всего 3, и впоследствии они будут сегментированы. Далее используется простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподобия наиболее оптимально. В данном эксперименте считается, что удалить надо около половины всех признаков.

Вычислительный эксперимент

Выполнение алгоритма

Визуализация результатов

Результат выполнения алгоритма поиска множества активных признаков. Линейные признаки для удобства перенесены в начало.

Активные признаки.
1,2,3,4,5,6,9,10,16,20

Исследование свойств алгоритма

Исходный код

Смотри также

  1. Машинное обучение (курс лекций, К.В.Воронцов)
  2. Логистическая регрессия (пример)

Литература

  • Siddiqi N. Credit Risk Scorecards: Developing and Implementing Intelligent Credit Scoring. John Wiley & Sons, Inc. 2006
  • Bishop C. Pattern Recognition And Machine Learning. Springer. 2006.
Данная статья является непроверенным учебным заданием.
Студент: Участник:Никита Животовский
Преподаватель: Участник:В.В. Стрижов
Срок: ?

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.

Личные инструменты