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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Отмена правки № 16236 участника Nkzh (обсуждение))
м
Строка 13: Строка 13:
Модель:
Модель:
-
<tex>P(y^{i}|\mathbf{x}^i) = \sigma(-\langle\mathbf{w},\mathbf{x}^{i}\rangle)</tex> где <tex>\sigma(-\langle\mathbf{w},\mathbf{x}^{i}\rangle) = \frac{1}{1 + \exp(-\langle\mathbf{w},\mathbf{x}^{i}\rangle)} </tex>
+
<tex>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}}\ </tex> где <tex>\sigma(\langle\mathbf{w},\mathbf{x}^{i}\rangle) = \frac{1}{1 + \exp(-\langle\mathbf{w},\mathbf{x}^{i}\rangle)} </tex>
Индексы:
Индексы:
Строка 21: Строка 21:
Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком
Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком
-
<tex>-\ln(\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 - \langle\mathbf{w},\mathbf{x}^{i}\rangle)) = S_{\mathbf{L},\mathbf{A}}(\mathbf{w})</tex>
+
<tex>-\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})</tex>
Здесь под строкой <tex>\mathbf{x}^{i}</tex> подразумевается строка из условия, но с удаленными координатами, номера которых не входят во множество индексов <tex>A</tex>. Вектор <tex>\mathbf{w}</tex> соответствующей длины. Множество активных признаков - <tex>\mathbf{A}\subseteq\mathbf{F} </tex>. Тогда задача нахождения множества активных признаков и соответствующего им вектора весов записывается в виде
Здесь под строкой <tex>\mathbf{x}^{i}</tex> подразумевается строка из условия, но с удаленными координатами, номера которых не входят во множество индексов <tex>A</tex>. Вектор <tex>\mathbf{w}</tex> соответствующей длины. Множество активных признаков - <tex>\mathbf{A}\subseteq\mathbf{F} </tex>. Тогда задача нахождения множества активных признаков и соответствующего им вектора весов записывается в виде
Строка 29: Строка 29:
<tex>\mathbf{A} = \underset{\mathbf{A}^{*}\in2^{\mathbf{F}}}{\operatorname{argmin}}(S_{\mathbf{T},\mathbf{A}^{*}}(\mathbf{w}__{\mathbf{A}^{*}}))</tex>
<tex>\mathbf{A} = \underset{\mathbf{A}^{*}\in2^{\mathbf{F}}}{\operatorname{argmin}}(S_{\mathbf{T},\mathbf{A}^{*}}(\mathbf{w}__{\mathbf{A}^{*}}))</tex>
-
Для решения задачи поиска множества активных признаков предлагается следующий подход. Все линейные признаки заведомо считаем активными. В нашем случае их всего 3 и впоследствии мы их будем сегментировать. Далее используем простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподбия наиболее оптимально. В нашем эксперименте будем считать, что удалить нам надо около половины всех признаков.
+
Для решения задачи поиска множества активных признаков предлагается следующий подход. Все линейные признаки заведомо считаются активными. В данном случае их всего 3, и впоследствии они будут сегментированы. Далее используется простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподобия наиболее оптимально. В данном эксперименте считается, что удалить надо около половины всех признаков.
 +
 
 +
== Вычислительный эксперимент ==
 +
 
 +
=== Выполнение алгоритма ===
 +
=== Визуализация результатов ===
 +
Результат выполнения алгоритма поиска множества активных признаков. Линейные признаки для удобства перенесены в начало.
{| class="wikitable"
{| class="wikitable"
|-
|-
-
! Активные признаки
+
! Активные признаки.
|-
|-
-
|empty
+
|1,2,3,4,5,6,9,10,16,20
|}
|}
-
== Вычислительный эксперимент ==
 
-
 
-
=== Выполнение алгоритма ===
 
-
=== Визуализация результатов ===
 
=== Исследование свойств алгоритма ===
=== Исследование свойств алгоритма ===

Версия 22:07, 26 октября 2010

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

Содержание

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

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

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

Используются реальные данные (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 в учебном процессе.

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