Группировка категорий и сегментация признаков в логистической регрессии (пример)
Материал из MachineLearning.
м |
(Отмена правки № 16236 участника Nkzh (обсуждение)) |
||
Строка 1: | Строка 1: | ||
'''Группировка категорий и сегментация признаков''' — методы, позволяющие упростить и одновременно улучшить регрессионную модель. В частности, группировка категорий позволяет понять взаимосвязь значений признаков и использовать линейные модели для нелинейных зависимостей. | '''Группировка категорий и сегментация признаков''' — методы, позволяющие упростить и одновременно улучшить регрессионную модель. В частности, группировка категорий позволяет понять взаимосвязь значений признаков и использовать линейные модели для нелинейных зависимостей. | ||
== Постановка задачи == | == Постановка задачи == | ||
- | Дана задача кредитного скоринга. Регрессионная модель - [[Логистическая регрессия (пример) |логистическая регрессия]].Требуется найти множество активных признаков. Затем сегментировать линейные признаки, сгруппировать номинальные и ординарные. При этом надо применить как новые алгоритмы, так и классические. Сравнить оба подхода, вычислить статистическую значимость производных признаков. | + | Дана задача кредитного скоринга. Регрессионная модель - [[Логистическая регрессия (пример) |логистическая регрессия]]. Требуется найти множество активных признаков. Затем сегментировать линейные признаки, сгруппировать номинальные и ординарные. При этом надо применить как новые алгоритмы, так и классические. Сравнить оба подхода, вычислить статистическую значимость производных признаков. |
== Описание данных == | == Описание данных == | ||
- | + | Используются реальные данные (GERMAN_UIC) о выдаче или не выдаче банком кредитов. Всего приведены 24 признака для 1000 человек и информация о том, выдан ли впоследствии кредит. Формально данные можно представить следующим образом: | |
+ | |||
+ | Набор данных: <tex>\mathbf{x}\in\mathbb{R}^{n},\ y\in\mathbb{R}</tex> | ||
<tex>\mathbf{D} = \{(\mathbf{x}^{1},y^{1}),\ldots,(\mathbf{x}^{i},y^{i}),\ldots,(\mathbf{x}^{m},y^{m})\}</tex> | <tex>\mathbf{D} = \{(\mathbf{x}^{1},y^{1}),\ldots,(\mathbf{x}^{i},y^{i}),\ldots,(\mathbf{x}^{m},y^{m})\}</tex> | ||
- | |||
- | |||
- | |||
Целевая переменная: | Целевая переменная: | ||
Строка 14: | Строка 13: | ||
Модель: | Модель: | ||
- | <tex> | + | <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> |
Индексы: | Индексы: | ||
Строка 20: | Строка 19: | ||
<tex>\{1,\ldots,n\} = \mathbf{F}</tex> - индексы признаков. | <tex>\{1,\ldots,n\} = \mathbf{F}</tex> - индексы признаков. | ||
== Описание алгоритмов == | == Описание алгоритмов == | ||
- | Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - | + | Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком |
+ | |||
+ | <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>\mathbf{x}^{i}</tex> подразумевается строка из условия, но с удаленными координатами, номера которых не входят во множество индексов <tex>A</tex>. Вектор <tex>\mathbf{w}</tex> соответствующей длины. Множество активных признаков - <tex>\mathbf{A}\subseteq\mathbf{F} </tex>. Тогда задача нахождения множества активных признаков и соответствующего им вектора весов записывается в виде | ||
+ | |||
+ | <tex>\mathbf{w}_{\mathbf{A}} = \underset{\mathbf{w}}{\operatorname{argmin}}(S_{\mathbf{L},\mathbf{A}}(\mathbf{w}))</tex> | ||
+ | |||
+ | <tex>\mathbf{A} = \underset{\mathbf{A}^{*}\in2^{\mathbf{F}}}{\operatorname{argmin}}(S_{\mathbf{T},\mathbf{A}^{*}}(\mathbf{w}__{\mathbf{A}^{*}}))</tex> | ||
+ | |||
+ | Для решения задачи поиска множества активных признаков предлагается следующий подход. Все линейные признаки заведомо считаем активными. В нашем случае их всего 3 и впоследствии мы их будем сегментировать. Далее используем простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподбия наиболее оптимально. В нашем эксперименте будем считать, что удалить нам надо около половины всех признаков. | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Активные признаки | ||
- | + | |- | |
+ | |empty | ||
- | + | |} | |
== Вычислительный эксперимент == | == Вычислительный эксперимент == | ||
Строка 37: | Строка 50: | ||
# [[Машинное обучение (курс лекций, К.В.Воронцов)]] | # [[Машинное обучение (курс лекций, К.В.Воронцов)]] | ||
# [[Логистическая регрессия (пример)]] | # [[Логистическая регрессия (пример)]] | ||
- | |||
== Литература == | == Литература == |
Версия 17:31, 26 октября 2010
Группировка категорий и сегментация признаков — методы, позволяющие упростить и одновременно улучшить регрессионную модель. В частности, группировка категорий позволяет понять взаимосвязь значений признаков и использовать линейные модели для нелинейных зависимостей.
Содержание |
Постановка задачи
Дана задача кредитного скоринга. Регрессионная модель - логистическая регрессия. Требуется найти множество активных признаков. Затем сегментировать линейные признаки, сгруппировать номинальные и ординарные. При этом надо применить как новые алгоритмы, так и классические. Сравнить оба подхода, вычислить статистическую значимость производных признаков.
Описание данных
Используются реальные данные (GERMAN_UIC) о выдаче или не выдаче банком кредитов. Всего приведены 24 признака для 1000 человек и информация о том, выдан ли впоследствии кредит. Формально данные можно представить следующим образом:
Набор данных:
Целевая переменная:
Модель:
где
Индексы:
- разбиение на обучающую и контрольную выборки.
- индексы признаков.
Описание алгоритмов
Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком
Здесь под строкой подразумевается строка из условия, но с удаленными координатами, номера которых не входят во множество индексов
. Вектор
соответствующей длины. Множество активных признаков -
. Тогда задача нахождения множества активных признаков и соответствующего им вектора весов записывается в виде
Для решения задачи поиска множества активных признаков предлагается следующий подход. Все линейные признаки заведомо считаем активными. В нашем случае их всего 3 и впоследствии мы их будем сегментировать. Далее используем простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподбия наиболее оптимально. В нашем эксперименте будем считать, что удалить нам надо около половины всех признаков.
Активные признаки |
---|
empty |
Вычислительный эксперимент
Выполнение алгоритма
Визуализация результатов
Исследование свойств алгоритма
Исходный код
Смотри также
Литература
- 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 в учебном процессе. |