Группировка категорий и сегментация признаков в логистической регрессии (пример)
Материал из MachineLearning.
м |
|||
Строка 19: | Строка 19: | ||
<tex>\{1,\ldots,n\} = \mathbf{F}</tex> - индексы признаков. | <tex>\{1,\ldots,n\} = \mathbf{F}</tex> - индексы признаков. | ||
== Описание алгоритмов == | == Описание алгоритмов == | ||
+ | === Поиск активных признаков === | ||
Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком | Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком | ||
Строка 29: | Строка 30: | ||
<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, и впоследствии они будут сегментированы. Далее используется простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподобия наиболее оптимально. В логистической регрессии добавляется постоянный признак, а вектор весов находится с помощью алгоритма [[Алгоритм Ньютона-Рафсона|Ньютона - Рафсона]]. В данном эксперименте считается, что удаленными должны быть около половины всех признаков. |
- | + | === Сегментация линейных признаков === | |
+ | Пусть значения линейного признака <tex>\mathbf{x}_{i}</tex> характеризуются числами из отрезка <tex>[a_{i},b_{i}]</tex>. Вводится разбиение отрезка <tex>[a_{i},b_{i}]</tex>, на <tex>k</tex> отрезков одинаковой длины <tex>a_{i} = x_{1} < x_{2} < \ldots < x_{n_{k}} = b_{i}</tex>. Строится кусочно - линейная функция <tex>f(x) = a x+ b + c_1|x-x_1| + c_2|x-x_2| + \ldots +c_n|x-x_n|</tex>. Значения признака - значение функции в соответствующей точке отрезка <tex>[a_{i},b_{i}]</tex>. Коэффициенты <tex>f(x)</tex> подобираются так, чтобы <tex>f(x_{2m - 1}) = 0,\ f(x_{2m}) = 1</tex> где <tex>m\in\mathbb N</tex>. На каждом шаге алгоритма случайным образом изменяется значение <tex>x_{i}</tex>, но так, чтобы не изменить порядок чисел разбиения. Коэффициенты <tex>f(x)</tex> изменяются соответсвующим образом. Если для новой функции <tex>f(x)</tex> значение <tex>S_{\mathbf{L},\mathbf{A}}(\mathbf{w})</tex> уменьшается, то сохраняется изменение <tex>x_{i}</tex>. Алгоритм заканчивает работу по достижении первого минимума. | ||
+ | === Группировка категорий === | ||
+ | Пусть номинальный признак <tex>\mathbf{x}_{i}</tex> характеризуются числами из множества категорий <tex>\tex\{1,\ldots,c\}</tex>. Ему в соответствие ставится множество <tex>\Gamma</tex> такое, что <tex>1 \le |\Gamma| \le c</tex>. Требуется найти такую сюръективную функцию <tex>h_{\Gamma}:\{1,\ldots,c\}\to\Gamma</tex> и соответствующее ей множество <tex>\Gamma = \{1,\ldots,c^{*}\}</tex>, которая минимизирует функцию <tex>S_{\mathbf{T},\mathbf{A}</tex> при замене для <tex>\mathbf{x}_{i}</tex>: <tex>\tex\{1,\ldots,c\}</tex> на <tex>\tex\{h_{\Gamma}(1),\ldots,h_{\Gamma}(c)\}</tex>. В данном случае признаков и категорий достаточно мало, поэтому эффективен полный перебор. | ||
== Вычислительный эксперимент == | == Вычислительный эксперимент == | ||
Строка 52: | Строка 56: | ||
# [[Машинное обучение (курс лекций, К.В.Воронцов)]] | # [[Машинное обучение (курс лекций, К.В.Воронцов)]] | ||
# [[Логистическая регрессия (пример)]] | # [[Логистическая регрессия (пример)]] | ||
- | + | # [[Логистическая функция]] | |
+ | # [[Регрессионный анализ]] | ||
+ | # [[Алгоритм Ньютона-Рафсона]] | ||
+ | # [[Метод наименьших квадратов]] | ||
== Литература == | == Литература == | ||
* Siddiqi N. Credit Risk Scorecards: Developing and Implementing Intelligent Credit Scoring. John Wiley & Sons, Inc. 2006 | * Siddiqi N. Credit Risk Scorecards: Developing and Implementing Intelligent Credit Scoring. John Wiley & Sons, Inc. 2006 |
Версия 12:09, 28 октября 2010
Группировка категорий и сегментация признаков — методы, позволяющие упростить и одновременно улучшить регрессионную модель. В частности, группировка категорий позволяет понять взаимосвязь значений признаков и использовать линейные модели для нелинейных зависимостей.
Содержание |
Постановка задачи
Дана задача кредитного скоринга. Регрессионная модель - логистическая регрессия. Требуется найти множество активных признаков. Затем сегментировать линейные признаки, сгруппировать номинальные и ординарные. При этом надо применить как новые алгоритмы, так и классические. Сравнить оба подхода, вычислить статистическую значимость производных признаков.
Описание данных
Используются реальные данные (GERMAN_UIC) о выдаче или не выдаче банком кредитов. Всего приведены 24 признака для 1000 человек и информация о том, выдан ли впоследствии кредит. Формально данные можно представить следующим образом:
Набор данных:
Целевая переменная:
Модель:
где
Индексы:
- разбиение на обучающую и контрольную выборки.
- индексы признаков.
Описание алгоритмов
Поиск активных признаков
Сначала находится множество активных признаков. Для этого решается задача максимизации правдоподобия, или эквивалентно - минимизация его логарифма, взятого с противополжным знаком
Здесь под строкой подразумевается строка из условия, но с удаленными координатами, номера которых не входят во множество индексов
. Вектор
соответствующей длины. Множество активных признаков -
. Тогда задача нахождения множества активных признаков и соответствующего им вектора весов записывается в виде
Для решения задачи поиска множества активных признаков предлагается следующий подход. Все линейные признаки заведомо считаются активными. В данном случае их всего 3, и впоследствии они будут сегментированы. Далее используется простой жадный алгоритм, удаляющий на каждом шаге признак, без которого значение правдоподобия наиболее оптимально. В логистической регрессии добавляется постоянный признак, а вектор весов находится с помощью алгоритма Ньютона - Рафсона. В данном эксперименте считается, что удаленными должны быть около половины всех признаков.
Сегментация линейных признаков
Пусть значения линейного признака характеризуются числами из отрезка
. Вводится разбиение отрезка
, на
отрезков одинаковой длины
. Строится кусочно - линейная функция
. Значения признака - значение функции в соответствующей точке отрезка
. Коэффициенты
подобираются так, чтобы
где
. На каждом шаге алгоритма случайным образом изменяется значение
, но так, чтобы не изменить порядок чисел разбиения. Коэффициенты
изменяются соответсвующим образом. Если для новой функции
значение
уменьшается, то сохраняется изменение
. Алгоритм заканчивает работу по достижении первого минимума.
Группировка категорий
Пусть номинальный признак характеризуются числами из множества категорий
. Ему в соответствие ставится множество
такое, что
. Требуется найти такую сюръективную функцию
и соответствующее ей множество
, которая минимизирует функцию
при замене для
:
на
. В данном случае признаков и категорий достаточно мало, поэтому эффективен полный перебор.
Вычислительный эксперимент
Выполнение алгоритма
Визуализация результатов
Результат выполнения алгоритма поиска множества активных признаков. Линейные признаки для удобства перенесены в начало.
Активные признаки. |
---|
1,2,3,4,5,6,9,10,16,20 |
Исследование свойств алгоритма
Исходный код
Смотри также
- Машинное обучение (курс лекций, К.В.Воронцов)
- Логистическая регрессия (пример)
- Логистическая функция
- Регрессионный анализ
- Алгоритм Ньютона-Рафсона
- Метод наименьших квадратов
Литература
- 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 в учебном процессе. |