Использование нейронной сети для построения модели оценки заёмщиков в сфере онлайн-микрофинансирования

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


В настоящее время для построения скоринговой модели стандартом “де факто” в финансовой отрасли является использование функций логистической регрессии (logit-функций). Суть метода сводится к нахождению такой линейной комбинации начальных данных (предикторов), которая в результате logit-преобразования будет максимально правдоподобно осуществлять предсказания.

Практический недостаток метода — в необходимости длительной подготовки данных для построения модели (около недели работы специалиста). В реальных условиях работы микрофинансовой компании набор данных о заемщиках постоянно меняется, подключаются и отключаются различные дата-провайдеры, сменяются поколения займов — этап подготовки становится узким местом.

Другой недостаток logit-функций связан с их линейностью — влияние каждого отдельного предиктора на конечный результат равномерно на всем множестве значений предиктора.
Модели на базе нейронных сетей лишены этих недостатков, но редко применяются в отрасли — нет надежных методов оценки переобучения, большое влияние “шумящих” значений в исходных данных.

Ниже мы покажем, как с помощью применения различных методов оптимизации модели на базе нейронных сетей позволяют получить лучший результат предсказаний по сравнению с моделями на базе logit-функций.

1. Постановка задачи упрощения структуры математической модели и ее решение с использованием методов негладкой регуляризации (на примере линейной модели)

1.1 Постановка задачи построения модели

Большинство прикладных исследований имеют цель установления закономерной взаимосвязи некоторой измеряемой величины и нескольких факторов

$$display$$E(y/x)=f(x)=f(x,w), mathit{w heta }in Wsubset R^m, xin Omega subset R^n, (1)$$display$$

где $inline$E(y/x)$inline$ — среднее значение наблюдаемой величины $inline$y$inline$, зависящей от переменных $inline$x, W$inline$ и $inline$Omega$inline$ — допустимые множества параметров $inline$w$inline$ и $inline$x$inline$. Восстановление зависимости производится на основании данных наблюдения

$$display$$D={;(x^i,y_i)|x^iin R^n,;;;;y_iin R^1; i=1,...,N}. (2)$$display$$

Оценки параметров $inline$w$inline$ можно получить, например, методом наименьших квадратов

$$display$$w= ext{arg}underset{ heta in Theta }{ ext{min}};;E(w,D), E(w,D)=overset N{underset{i=1}{sum}}[y_i-f(x^i,w)]^2. (3)$$display$$

1.2. Линейная модель

В задаче построения линейной модели требуется по данным D построить модель следующего вида (оценить ее неизвестные параметры $inline$w$inline$)

$$display$$f(x,w)=w_0+sum _{i=1}^mw_ix_i, (4)$$display$$

где $inline$x_{j(i)}$inline$ — компоненты вектора, $inline$xin R^n$, $w=([w_0,w_i,i=1,...,m])$inline$ — набор неизвестных параметров, которые необходимо оценить методом наименьших квадратов (3), $inline$m$inline$ — число информативных компонент вектора $inline$xin R^n$inline$, участвующих в модели, n-размерность вектора $inline$x$inline$.

1.3. Logit-модели

Logit-модель имеет вид

$$display$$f(x,w)=;varphi (s), (5)$$display$$

где

$$display$$s(x,w)=w_0+sum _{i=1}^mw_ix_i, (6)$$display$$

а функция активации может быть задана одним из следующих видов

$$display$$varphi (s)=frac{s}{1+|s|}, varphi '(s)=frac{1}{(1+|s|)^2}; (7)$$display$$

$$display$$varphi (s)=frac 1{1+ ext{exp}(-s)}, varphi '(s)=varphi (s)(1-varphi (s)), (8)$$display$$

$$display$$varphi (s)=s, varphi '(s)=1. (9)$$display$$

Последняя из функций линейная. Наряду с (7)-(8), может применяться для сравнения качества аппроксимации с (7)-(8).

1.4. Двухслойная сигмоидальная нейронная сеть (с одним скрытым слоем)

В задаче аппроксимации сетью прямого распространения требуется по данным $inline$D$inline$ обучить двухслойную сигмоидальную нейронную сеть (НС) следующего вида (оценить ее неизвестные параметры $inline$w$inline$)

$$display$$f(x,w)=w_0^{(2)}+sum _{i=1}^mw_i^{(2)};varphi ;(sum _{j=1}^nx_j;w_{{ ext{ij}}}^{(1)};;+w_{mathit{i0}}^{(1)}), (10)$$display$$

где $inline$x_j;$inline$ — компоненты вектора $inline$xin R^n$inline$, $inline$w=([w_0^{(2)},w_i^{(2)},i=1,...,m];$inline$
$inline$;;;[w_{mathit{i0}}^{(1)},(w_{{ ext{ij}}}^{(1)},;;j=1,...,n)];,;i=1,...,m)$inline$ — набор неизвестных параметров, которые необходимо оценить методом наименьших квадратов (3), $inline$varphi (s)$inline$ — функция активации нейрона, $inline$m$inline$ — число нейронов, $inline$n$inline$ — размерность вектора $inline$х$inline$.

1.5. Функции активации сигмоидальной нейронной сети

Приведем функции активации сигмоидального вида и их производные, которые мы будем использовать:

$$display$$varphi (s)=frac{s}{1+|s|}, varphi'(s)=frac {1}{(1+|s|)^2}; (11)$$display$$

$$display$$varphi (s)=frac{1}{1+ ext{exp}(-s)}, varphi'(s)=varphi (s)(1-varphi (s)). (12)$$display$$

$$display$$varphi (s)=s, varphi'(s)=1. (13)$$display$$

1.6. Предварительная обработка входных данных

Основная цель предобработки данных заключается в максимизации энтропии входных данных. Когда все значения переменной совпадают то она не несет в себе информации. И, напротив если значения переменной равномерно распределены на заданном интервале, то ее энтропия максимальна.

Для преобразования компонент переменных с целью повышения степени равномерности компонент переменной используют формулу logit-модели

$$display$$x_i^+=0.5-frac{1}{1+ ext{exp}(-(x_i-ar x_i)/sigma _i)},;;;;;;;;;sigma _i=[(x_i-ar x_i)^2/N]^{0.5} (14)$$display$$

1.7. Подавление избыточных переменных и сглаживание

Для подавления избыточных переменных предварительное обучение следует производить посредством минимизации по $inline$w$inline$ квадратичной ошибки и негладкого сглаживающего функционала

$$display$$E_{Omega }left(alpha ,w,D ight)=underset{x,yin D}{sum }left(y-f(x,w) ight)^2+alpha Omega (w), (15)$$display$$

$$display$$Omega left(w ight)=underset{iin { ext{Iw}}}{sum }|w_i|^{gamma }, 0<gamma <1, (16)$$display$$

где $inline$alpha $inline$ – параметр регуляризации, $inline${ ext{Iw}}$inline$ — множество номеров переменных массива $inline$w$inline$ – по которым проводится регуляризация. Функционал $inline$Omega left(w ight)$inline$ предназначен для подавления избыточных переменных модели $inline$f(x,w)$inline$. Поэтому в решении будет присутствовать множество компонент, близких к нулю, которые необходимо исключать, используя специальные алгоритмы.

2. Сглаживающие функционалы для сглаживания и подавления избыточных переменных

2.1. Негладкая регуляризация

Производные функционала, подобного (8)

$$display$$Omega left(w ight)=overset n{underset{i=1}{sum }}|w_i|^{gamma }, 0<gamma <1 (17)$$display$$

имеют следующий вид

$$display$$frac{partial Omega left(w ight)}{partial w_i}=frac{eta ;{ ext{sign}}(w_i)}{|w_i|^{1-gamma}}, i=1,...,n, 0<gamma <1. (18)$$display$$

При $inline$w_i ightarrow 0$inline$ они будут сколь угодно большими. Это означает что углы звезд – поверхностей уровня вырождаются в иглы, что замедляет скорость сходимости методов минимизации и приводит к аварийным преждевременным остановам.
Линии уровня функционала (10) (линии уровня звездоподобного вида) изображены на рисунке 1.

Рисунок 1. Линии уровня функционалов На рис. 1 приведено взаимодействие двух функционалов (основного и сглаживающего) и приведены направления их градиентов и результирующего градиента.

2.2. Частный случай негладкой регуляризация (бритва Оккама)

Рассмотрим (8) при условии $inline$gamma =1$inline$

$$display$$Omega left(w ight)=overset n{underset{i=1}{sum }}|w_i|. (19)$$display$$

Производные (10) имеют следующий вид

$$display$$frac{partial Omega left(w ight)}{partial w_i}={ ext{sign}}(w_i), i=1,...,n. (20)$$display$$

Поверхности уровня имеют вид прямоугольников, расположенных симметрично относительно нуля и повернутых на 45 градусов. Функция (10) негладкая.

2.3. Негладкая регуляризация с ограниченными производными

В следующем функционале мы избавимся от наличия углов, вырождающихся в иглы

$$display$$Omega left(w ight)=overset n{underset{i=1}{sum }}(|w_i|+varepsilon )^{gamma }, varepsilon >0, 0<gamma <1 (21)$$display$$

$$display$$frac{partial Omega left(w ight)}{partial w_i}=frac{eta ;{ ext{sign}}(w_i)}{(|w_i|+varepsilon )^{1-gamma }}, i=1,...,n, 0<gamma <1. (22)$$display$$

Недостатком (10) является неоднородная чувствительность к параметру $inline$varepsilon $inline$ при вариациях порядков оцениваемых параметров $inline$w$inline$ для различных нейронных сетей.

2.4. Негладкая однородная регуляризация с ограниченными производными

В следующем функционале мы избавимся от неоднородности по параметрам $inline$w$inline$

$$display$$Omega left(w ight)=overset n{underset{i=1}{sum }}(|w_i|+varepsilon overset n{underset{i=1}{sum}}|w_i|)^{gamma }=overset n{underset{i=1}{sum }}v_i^{gamma }=overset n{underset{i=1}{sum }}f_i, varepsilon >0, varepsilon approx 10^{-4}, 0<gamma <1, (23)$$display$$

$$display$$frac{partial Omega left(w ight)}{partial w_k}=frac{eta sign(w_k)}{(|w_k|+varepsilon overset n{underset{i=1}{sum }}|w_k|)^{1-gamma }}+overset n{underset{i=1}{sum }}frac{varepsilon eta sign(w_k)}{(|w_i|+varepsilon overset n{underset{i=1}{sum }}|w_i|)^{1-gamma}}==gamma sign(w_k)left[frac{f_k}{v_k}+varepsilon overset n{underset{i=1}{sum}}frac{f_i}{v_i} ight]=gamma ;{sign}(w_k)left[frac 1{v_k^{1-gamma}}+varepsilon overset n{underset{i=1}{sum }}frac{1_i}{v_i^{1-gamma}} ight], k=1,...,n. (24)$$display$$

Преобразуем (12)

$$display$$Omega left(w ight)=overset n{underset{i=1}{sum }}(|w_i|+varepsilon overset n{underset{i=1}{sum }}|w_i|)^{gamma }=left(overset n{underset{i=1}{sum }}|w_i| ight)^{gamma }overset n{underset{i=1}{sum }}left(frac{|w_i|}{overset n{underset{i=1}{sum }}|w_i|}+varepsilon ight)^{gamma }, 0<gamma<1 (25)$$display$$

Введем нормированные переменные

$$display$$z_i=frac{|w_i|}{overset n{underset{i=1}{sum }}|w_i|}, z_iin [0,;; 1], overset n{underset{i=1}{sum}}|z_i|=1. (26)$$display$$

Тогда (16) примет вид

$$display$$Omega left(w ight)=left(overset n{underset{i=1}{sum }}|w_i| ight)^{gamma }overset n{underset{i=1}{sum }}left(frac{|w_i|}{overset n{underset{i=1}{sum }}|w_i|}+varepsilon ight)^{gamma }=left(overset n{underset{i=1}{sum }}|w_i| ight)^{gamma }overset n{underset{i=1}{sum }}(z_i+varepsilon )^{gamma }, 0<gamma <1, (27)$$display$$

Обозначим структуру функции. Здесь первый множитель $inline$left(overset n{underset{i=1}{sum }}|w_i| ight)^{gamma }$inline$ является однородной функцией степени $inline$gamma $inline$ и отображает общий рост функции. Второй сомножитель в (16) является
однородной функцией нулевой степени и определяет поведение функции в зависимости от структуры пропорций между переменными.

Обозначим свойства функционала (16), которые определяют его эффективность.
  1. Поверхности уровня образуют подобные фигуры относительно начала координат. Последнее означает независимость регуляризации от масштаба переменных.
  2. Множитель общего роста функции является вогнутой функцией, что определяет наличие экстремумов на координатных осях и следовательно определяет свойства возможности удаления переменных.
  3. Степень вогнутости задается параметром $inline$eta$inline$ который может быть выбран оптимальным образом на основе предварительного вычислительного эксперимента и далее при расчетах на данного типа сетях не меняется
  4. Структура угловых точек определяется параметром $inline$varepsilon$inline$ который может быть выбран оптимальным образом на основе предварительного вычислительного эксперимента и далее при расчетах на данного типа сетях не меняется

Следующие ниже функции мы рассмотрим на предмет обладания ими обозначенных нами свойств, необходимых для устранения избыточных переменных.

2.5. Квадратичная регуляризация (регуляризация Тихонова)

Производные квадратичной функции

$$display$$Omega left(w ight)=overset n{underset{i=1}{sum }}w_i^2 (28)$$display$$

имеют следующий вид

$$display$$frac{partial Omega left(w ight)}{partial w_i}=2w_i, i=1,...,n. (29)$$display$$

Не позволяет решить задачу устранения избыточных переменных, поскольку она не обладает свойством 2.

3. Результаты численного исследования

На тестовых и реальных данных исследовались logit-модели и сигмоидальные нейронные сети с негладкой однородной регуляризацией и квадратичной регуляризацией Тихонова.

3.1. Исследование на реальных данных различных моделей

Восстановление различных зависимостей $inline$f(x,w)$inline$ производилось на основании данных наблюдения

$$display$$D={;(x^i,y_i)|x^iin R^n,;;;;y_i={0,1};;;;;i=1,...,N} (1)$$display$$

где в качестве величин $inline$y_i$inline$ использовались характеристики дефолта $inline$(y_i=1)$inline$ или отсутствие дефолта $inline$(y_i=0)$inline$. Оценки неизвестных параметров модели $inline$w$inline$ производились методом наименьших квадратов

$$display$$w= ext{arg} underset{ heta in Theta }{ ext{min}};;E(w,D), E(w,D)=overset N{underset{i=1}{sum}}[y_i-f(x^i,w)]^2. (2)$$display$$

Проводилась предварительная обработка входных данных. Основная цель предобработки данных заключается в максимизации энтропии входных данных. Когда все значения переменной совпадают то она не несет в себе информации. И, напротив, если значения переменной равномерно распределены на заданном интервале, то ее энтропия максимальна. Для преобразования компонент переменных с целью повышения степени равномерности компонент переменной используют формулу logit-модели

$$display$$x_i^+=0.5-frac 1{1+ ext{exp}(-(x_i-ar x_i)/sigma _i)},;;;;;;;;;sigma _i=[(x_i-ar x_i)^2/N]^{0.5}. (3)$$display$$

Качество моделей оценивалось на основе характеристики AUC, определяющая площадь под ROC-кривой.
Кривая ошибок или ROC-кривая – графичекая характеристика качества бинарного классификатора, зависимость доли верных положительных классификаций от доли ложных положительных классификаций при варьировании порога решающего правила.
Преимуществом ROC-кривой является её инвариантность относительно отношения цены ошибки I и II рода.
Площадь под ROC-кривой AUC (Area Under Curve) является агрегированной характеристикой качества классификации, не зависящей от соотношения цен ошибок. Чем больше значение AUC, тем «лучше» модель классификации. Данный показатель часто используется для сравнительного анализа нескольких моделей классификации.

3.2. Исследование Logit-моделей с различными типами регуляризации

Logit-модель

$$display$$f(x,w)=;varphi (s), s(x,w)=w_0+sum _{i=1}^mw_ix_i, (4)$$display$$

использовалась с тремя видами функция активации

$$display$$varphi (s)=s, varphi '(s)=1. (5)$$display$$

$$display$$varphi (s)=frac s{1+|s|}, varphi '(s)=frac{1}{(1+|s|)^2}; (6)$$display$$

$$display$$varphi (s)=frac{1}{1+ ext{exp}(-s)}, varphi '(s)=varphi (s)(1-varphi (s)), (7)$$display$$

которые мы будем обозначать соответственно LIN, ABS и EXP. Коэффициенты модели находились посредством минимизации функции

$$display$$E_{Omega }left(alpha ,w,D ight)=underset{x,yin D}{sum }left(y-f(x,w) ight)^2+alpha Omega (w) (8)$$display$$

В качестве $inline$Omega (w)$inline$ использовалась квадратичная функция регуляризации Тихонова

$$display$$Omega _2left(w ight)=overset n{underset{i=1}{sum }}w_i^2 (9)$$display$$

и негладкая однородная функция при негладкой регуляризации

$$display$$Omega _{gamma }left(w ight)=overset n{underset{i=1}{sum }}(|w_i|+varepsilon overset n{underset{i=1}{sum}}|w_i|)^{gamma }, varepsilon >0, varepsilon approx 10^{-6}, 0<gamma <1 (10)$$display$$

В алгоритме регуляризации присутствовало 2 этапа. Выбиралось некоторое начальное значение $inline$alpha _0$inline$, а на последующих итерациях $inline$alpha _{k+1}=2alpha _k$inline$ получалось удвоением $inline$alpha _{k+1}=2alpha _k$inline$. При таких значениях рассчитывалась модель и производилось удаление переменных с чрезмерно малыми коэффициентами. На каждой итерации также рассчитывалась модель с некоторым малым значением $inline$alpha _{ ext{min}}$inline$. Такой способ предполагает сглаживание и удаление переменных при больших параметрах регуляризации $inline$alpha _k$inline$ и свободное построение модели при малых значениях. Модели при малых параметрах регуляризации могут оказаться полезными в предположении, что оставшиеся после удаления переменные являются значимыми для построения модели.
В следующей таблице приведены результаты расчетов модели, число переменных которой nx=254.

image AUC_O – AUC на обучающей выборке
AUC_T — AUC на тестовой выборке

3.3. Выводы исследование на реальных данных Logit-моделей

Лучшие варианты моделей с квадратичной регуляризацией получены посредством сценария с предварительным удалением части коэффициентов модели при больших параметрах регуляризации с последующим расчётом параметров модели с малыми коэффициентами регуляризации. Такие сценарии требуют больших параметров регуляризации, что может привести к удалению значимых компонент модели.

Оптимальная модель при негладкой оптимизации получена при малых значениях параметров регуляризации, что позволяет нам сделать вывод о том, что здесь наблюдается одновременный эффект удаления слабых переменных и сглаживание по остальной части переменных.

Сравнение средних показателей AUC_O и AUC_T моделей говорит о получении более эффективными модели на основе негладкой оптимизации.

Средние результаты для Logit-моделей

image

3.4. Исследование нейросетевых моделей с различными типами регуляризации

Строились двухслойные сигмоидальные нейронные сети (с одним скрытым слоем). В задаче аппроксимации сетью прямого распространения требуется по данным D обучить двухслойную сигмоидальную нейронную сеть (НС) следующего вида (оценить ее неизвестные параметры $inline$w$inline$)

$$display$$f(x,w)=w_0^{(2)}+sum _{i=1}^mw_i^{(2)};varphi ;(sum _{j=1}^nx_j;w_{{ ext{ij}}}^{(1)};;+w_{mathit{i0}}^{(1)}), (11)$$display$$

где $inline$x_j$inline$ — компоненты вектора $inline$xin R^n$inline$, $inline$w=([w_0^{(2)},w_i^{(2)},i=1,...,m]; [w_{mathit{i0}}^{(1)},(w_{{ ext{ij}}}^{(1)},;;j=1,...,n)];,;i=1,...,m)$inline$ — набор неизвестных параметров, которые необходимо оценить методом наименьших квадратов (3), $inline$varphi (s)$inline$ — функция активации нейрона, $inline$m$inline$ — число нейронов, $inline$n$inline$ — размерность вектора $inline$х$inline$.
Нейросетевая модель-модель использовалась с двумя видами функции активации

$$display$$varphi (s)=frac {s}{1+|s|}, varphi '(s)=frac {1}{(1+|s|)^2}; (12)$$display$$

$$display$$varphi (s)=frac {1}{1+ ext{exp}(-s)}, varphi '(s)=varphi (s)(1-varphi (s)) (13)$$display$$

которые мы будем обозначать соответственно LIN, ABS и EXP. Коэффициенты модели находились посредством минимизации функции

$$display$$E_{Omega }left(alpha ,w,D ight)=underset{x,yin D}{sum }left(y-f(x,w) ight)^2+alpha Omega (w) (14)$$display$$

В качестве $inline$Omega (w)$inline$ использовалась квадратичная функция регуляризации Тихонова

$$display$$Omega _2left(w ight)=overset n{underset{i=1}{sum }}w_i^2 (15)$$display$$

и негладкая однородная функция при негладкой регуляризации

$$display$$Omega _{gamma }left(w ight)=overset n{underset{i=1}{sum }}(|w_i|+varepsilon overset n{underset{i=1}{sum }}|w_i|)^{gamma }, varepsilon >0, varepsilon approx 10^{-6}, 0<gamma <1 (16)$$display$$

В алгоритме регуляризации присутствовало 2 этапа. Выбиралось некоторое начальные значение $inline$alpha _{00}$inline$, а на последующих итерациях $inline$alpha _{k+1}=2alpha _k$inline$ получалось удвоением $inline$alpha _{k+1}=2alpha _k$inline$. При таких значениях рассчитывалась модель и производилось удаление переменных с чрезмерно малыми коэффициентами. На каждой итерации также рассчитывалась модель с некоторым малым значением $inline$alpha _{ ext{min}}$inline$. Такой способ предполагает сглаживание и удаление переменных при больших параметрах регуляризации $inline$alpha _k$inline$ и свободное построение модели при малых значениях. Модели при малых параметрах регуляризации могут оказаться полезными в предположении, что оставшиеся после удаления переменные являются значимыми для построения модели.

Результаты для нейросети без фиксации центров. В следующих таблицах приведены результаты расчетов моделей, число переменных которой $inline$nx$inline$= 254.

image Результаты для нейросети с фиксацией центров.

image AUC_O – AUC на обучающей выборке
AUC_T — AUC на тестовой выборке

3.5. Выводы исследования на реальных данных нейросетевых моделей

Лучшие варианты моделей с квадратичной регуляризацией получены посредством сценария с предварительным удалением части коэффициентов модели при больших параметрах регуляризации с последующим расчётом параметров модели с малыми коэффициентами регуляризации. Такие сценарии требуют больших параметров регуляризации, что может привести к удалению значимых компонент модели.

Оптимальная модель при негладкой оптимизации получена при малых значениях параметров регуляризации, что позволяет нам сделать вывод о том, что здесь наблюдается одновременный эффект удаления слабых переменных и сглаживание по остальной части переменных.

Сравнение средних показателей AUC_O и AUC_T моделей говорит о получении более эффективными модели на основе негладкой оптимизации.

Второй вывод заключается в том что предварительная фиксация рабочих областей нейронов положительно сказывается на получении более эффективной нейросетевой модели. Фиксация нейронов на первом этапе не позволяет уходить рабочим областям из области данных, тем самым оставляя рабочими все нейроны.

Средние результаты для нейросетей без фиксации центров.

image Средние результаты для нейросетей с фиксацией центров.

image AUC_O – AUC на обучающей выборке
AUC_T — AUC на тестовой выборке

Как показала наша практика, сигмоидальные нейронные сети с одним внутренним слоем могут успешно использоваться для прогноза дефолта заёмщика и показывают лучшие результаты, чем модели на базе функций логистической регрессии. Недостатки моделей на базе нейронных сетей успешно преодолеваются предварительной регуляризацией входных данных и выполнением обучения модели с фиксацией рабочих областей нейронов.

Источник: habrahabr.ru

Комментарии: