Vol. 10. No. 2 (56). 2015
C. В. Сорокин, канд. физ.-мат. наук, Тверской государственный университет, [email protected] А. С. Сорокин, канд. экон. наук, доцент, Московский финансово-промышленный университет «Синергия», Московский государственный университет экономики, статистики и информатики, [email protected]
Использование нейросетевых моделей в поведенческом скоринге
В основе построения скоринговых систем могут быть использованы различные математико-статистические модели . Эти модели могут быть получены методами линейной регрессии, логистической регрессии, дискриминантного анализа, деревьев решений, нейронных сетей и других методов . В статье рассматривается пример построения модели поведенческого скроринга в банковской сфере на основе нейронной сети в программе IBM SPSS Statistics . Приводятся методика моделирования, последовательность настройки параметров сети в диалоговых окнах процедур программы SPSS, программный код синтаксиса команд SPSS для реализации рассмотренного алгоритма, а также результаты моделирования . Эти результаты могут быть использованы в учебном процессе для проведения лабораторных работ и практикумов при обучении методам нейросетевого моделирования в программе SPSS, а также для самостоятельных исследований .
Ключевые слова: скоринг, поведенческий скоринг, нейронные сети, SPSS, многослойный перцептрон
введение
Скоринговые модели традиционно используются в банковской сфере для оценки платежеспособности заемщиков на стадии рассмотрения заявок на кредит. В области кредитования скоринг стал применяться достаточно давно — примерно в начале 60-х годов ХХ в. В других же сферах применение скоринго-вых моделей — сравнительно новая идея. Круг сфер применения скоринга постоянно возрастает. В настоящее время скоринг также активно используется в маркетинге для оценки возможного поведения участников рынка или клиентов. Скоринговые модели позволяют получить ответы на следующие вопросы: рассторгнет ли клиент договор, придет ли платеж в срок, воспользуется ли страхователь страховкой, ответит ли потенциальный клиент на рекламное предложение, уйдет ли клиент к конкуренту, будут ли сбои в поставке товара и др. Отдельное направление — использование скоринга
в медицине для диагностики заболеваний по симптомам и результатам клинических анализов. Скоринг позволяет получить мате-матико-статистическую модель классификаций наблюдений по различным группам согласно характеристикам этих наблюдений.
Для построения скоринговых систем могут использоваться различные математико-статистические модели. Выбор конкретного метода зависит от предпосылок его применения и от шкал измерения имеющихся статистических данных. На практике наиболее часто используют следующие методы: линейный регрессионный анализ, логистическую регрессию, дискриминантый анализ, деревья решений и нейронные сети.
В связи с этим возникает выбор оптимальной математико-статистической модели для реализации скоринга. Методы построения скоринговых моделей и на их основе скоринговых карт разбираются в работах [4; 5; 8; 10]. Обзор практических статей по кредитному скорингу содержит работа [9]. Наибольшее распространение на практике получил метод
Том 10. № 2 (56). 2015
логистической регрессии. Однако данный метод применим только при бинарной зависимой переменной и не всегда приводит к построению наилучшей модели. К тому же получение похожих результатов моделирования несколькими методами может служить показателем правильности найденного решения.
В скоринге использование нейронных сетей по сравнению с другими методами получило меньшее распространение. Нейронная сеть обладает существенными преимуществами по сравнению с моделью логистической регрессии. К преимуществам можно отнести возможность автоматического обучения модели, универсальность работы с разными шкалами измерения зависимой и независимых переменных, возможность аппроксимации любой непрерывной функции зависимости. Методы построения ней-роных сетей разбираются в работах [3; 11].
Практическая реализация алгоритма построения нейросети может быть выполнена с помощью различного программного обеспечения. Как с помощью специализированных программ по нейросетевому моделированию: NeuroSolutions, NeuroXL, emergent Neural Network Simulation System, Neural Designer, так и платных и бесплатных пакетов по интелектуальному анализу данных (data mining): SAS Enterprise Miner, SPSS Modeler, Statistica Data Miner, Deductor, SQL Server Busness Intelligence Development Studio, R, Python и др. Одной из популярных и доступных в коммерческом отношении программ для управления данными и их статистической обработки является пакет IBM SPSS Statistics, включающий модуль Neural Networks для нейросетевого моделирования.
Целью данной работы является рассмотрение методологических аспектов и пошагового алогоритма построения нейронной сети в программе IBM SPSS Statistics 22 (SPSS)1 на примере поведенческого скорин-
1 До 17-й версии включительно программа носила название SPSS Statistics, 18-я версия имела название PASW Statistics, а начиная с 19-й версии полное название программы IBM SPSS Statistics. Далее будет использоваться сокращенное название SPSS.
га в банковской сфере. В данной статье под поведенческим скорингом (от англ. behavior-scoring) понимается математическая модель, с помощью которой на основе набора известных характеристик объекта исследования (независимых переменных) прогнозируется определенная искомая характеристика (зависимая переменная), значение которой неизвестно исследователю2.
Постановка задачи и исходные данные
Исходные данные для моделирования представляют стандартную матрицу «объекты-свойства». Объектами в исходных данных являются клиенты банка. Объем выборки составляет 43 162 наблюдения. Свойства объектов представлены в основном бинарными признаками — наличием или отсутствием определенного вида услуг или сервиса у клиента, сроком сотрудничества клиента с банком (табл. 1).
Необходимо по вышеприведенным характеристикам клиентов банка предсказать значение целевой бинарной переменной — воспользуется ли клиент предложением банка приобрести новую платежную карту. На практике такие задачи могут возникать на стадии управления кредитным счетом, например, использование модели скоринга для предложения клиенту дополнительных услуг и перекрестных продаж.
Следует отметить, что при построении скоринговых моделей с использованием логистической регрессии принято все количественные признаки категоризовать3 на основе подсчета показателей веса категорий предикторов (WOE — от англ. Weight of Evidence). В исходном наборе данных кате-
2 Например, оценка наиболее вероятных финансовых действий заемщика. Скоринговая модель позволяет спрогнозировать изменение платежеспособности заемщика и корректировать для него лимиты. Характеристиками для построения модели могут служить действия клиента на определенный момент времени, например операции по кредитной карте.
3 Этот алгоритм может еще называться процедурой биннинга, от англ. слова binning.
\ 93
Vol. 10. No. 2 (56). 2015
Таблица 1. Исходные переменные и их шкалы измерения для моделирования Table 1. Baseline variables and scale for modeling
Название переменной Метка переменной Категории возможных значений Шкала измерения
Зависимая переменная
accept_cashcard Получение клиентом банка новой платежной карты 0 — нет 1 — да Номинальная
Независимые переменные
age Возраст, полных лет — Количественная
cusjeng Срок работы с банком 1 — менее 3 лет 2 — от 3 до 7 лет 3 — более 7 лет Порядковая
mortgage Наличие ипотечного кредита 0 — нет 1 — да Номинальная
life_ins Наличие страхования жизни 0 — нет 1 — да Номинальная
cre_card Наличие кредитной карты 0 — нет 1 — да Номинальная
deb_card Наличие дебетовой платежной карты 0 — нет 1 — да Номинальная
mob_bank Пользование мобильным банком 0 — нет 1 — да Номинальная
curr_acc Наличие расчетного счета в банке 0 — нет 1 — да Номинальная
internet Наличие интернет-доступа к счету 0 — нет 1 — да Номинальная
perloan Наличие потребительского кредита 0 — нет 1 — да Номинальная
savings Наличие вклада 0 — нет 1 — да Номинальная
atm_user Пользование банкоматом за последнюю неделю до предложения 0 — нет 1 — да Номинальная
odrftlim Наличие превышений овердрафта по кредитной карте 0 — нет 1 — да Номинальная
isa Наличие индивидуального сберегательного счета 0 — нет 1 — да Номинальная
горизация количественной переменной специально не проводилась для рассмотрения методики и техники построения нейронной сети с признаками в различных шкалах измерения. Кроме того, данные прошли процедуры проверки и «чистки» от аномальных наблюдений и выбросов, проанализированы на предмет дублирования информации, формирования нужной подвыборки одно-
родных клиентов, произведены расчеты необходимого объема выборки, произведен разведочный анализ данных. Все эти аспекты являются важным этапом в методологии построения скоринговой модели [2]. Этот этап предварительной подготовки и исследования данных является обязательным при решении реальных задач и занимает иногда до 90% всех временных затрат на созда-
ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-
' Том 10. № 2 (56). 2015
ние скоринговой модели. Должным образом подобранные характеристики объектов для построения модели исходя из знаний предметной области, правильно подготовленные данные во многом определяют успех построения модели. В рамках данной статьи этот этап моделирования не разбирается, так как цель написания статьи — рассмотрение методологических аспектов и алгоритма реализации нейросетевой модели с помощью инструментальных средств — пакета SPSS.
используемая нейросетевая модель
Модуль нейросетевого анализа данных SPSS позволяет создавать нейронные сети с архитектурами «многослойный перцеп-трон» и «радиальная базисная функция». Для решения поставленной задачи использовалась архитектура сети многослойный перцептрон [3]. Такие сети включают множество сенсорных элементов, образующих входной слой, один или несколько скрытых слоев вычислительных нейронов и один выходной слой (рис. 1). Обрабатываемый сигнал распространяется по сети послойно, начиная от входного слоя.
Входной Выходной
слой слой
I. I.....п Г
Слои скрытых нейронов
Рис. 1. Архитектура многослойного перцептрона Fig. 1. Architecture multilayer perceptron
Результаты вычисления, выполненного нейронной сетью, определяются ее параметрами — весами связей между нейронами и смещениями. Пусть L — число слоев сети; Nj — число нейронов слоя l, w!kn — вес связи между k-м нейроном слоя l и n-м нейроном слоя l +1, b'k — смещение k-го нейрона слоя l. Тогда выходное значение n-го нейрона слоя l есть
ok = fk. (1 NiXA"1+bk).
Здесь f'k (x) — функция активации нейрона, в качестве которой чаще всего используется сигмоида fS(x) = 11 + или гиперболический тангенс fth (x) = 1- e-"/1 + e~a:x, где a — фиксируемый при создании сети параметр. В SPSS всегда используется а = 1.
Популярность многослойных перцеп-тронов обусловлена наличием алгоритма обучения — алгоритма обратного распространения ошибки. Применение этого алгоритма позволяет в автоматическом режиме настраивать параметры сети для решения задач нелинейной регрессии или классификации.
В качестве цели обучения ставится минимизация отклонения выхода сети от известных эталонных значений. В задачах регрессии чаще всего, в том числе в SPSS, применяется функционал ошибки
ESS = 0,5ХNlXlO - С)2.
где : — число наблюдений в обучающей выборке, Om — значение n-го выхода сети на наблюдении m обучающей выборки, tm — известное значение зависимой переменной в этом наблюдении.
Алгоритм обратного распространения ошибки является, по сути, реализацией алгоритма градиентного спуска по поверхности функции ошибки. В некоторых случаях применяются также более сложные методы оптимизации, например метод сопряженных градиентов.
Функция ошибки для нейронных сетей, как правило, имеет сложную форму. Алго-
\ 95
-ч ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS
Vol. 10. No. 2 (56). 2015 '
ритм обратного распространения ошибки в таких условиях гарантирует нахождение лишь локального минимума функции ошибки. Для поиска удовлетворяющего исследователя локального минимума обучение сети запускают многократно, с разными начальными значениями весов сети, или используют различные эвристические алгоритмы. В частности, в SPSS применяется метод имитации отжига [7].
выбор архитектуры нейронной сети
При практическом использовании нейронных сетей перед исследователем возникает вопрос о конкретизации архитектуры нейронной сети для решения конкретной задачи. Необходимо определить такие параметры, как число слоев сети, число нейронов в каждом слое и используемые функции активации.
Число нейронов входного слоя определяется числом и видом независимых переменных в модели. Для категориальных переменных целесообразно использовать по одному входному нейрону для каждой категории, при этом для каждого наблюдения активируется только один нейрон из группы. В SPSS такая кодировка категориальных переменных называется «один-из-С». Применение такой кодировки для переменных с очень большим числом категорий может приводить к избыточному увеличению размеров нейронной сети. В таком случае может быть целесообразно объединить похожие категории. В рамках рассматриваемой задачи число элементов входного слоя сети равно 28.
Архитектура выходного слоя нейронной сети также диктуется структурой задачи. Для каждой зависимой количественной переменной создается по одному выходному нейрону.
Для категориальных зависимых переменных целесообразно использовать группы так называемых софтмакс-нейронов [6], по одному на каждую категорию. В этом случае выход каждого нейрона группы определяется как
o' = e
•/1
m es,
где m — число нейронов в софтмакс-груп-пе; sk — значение сумматора k-го нейрона,
sk = ^N=1 wL-1oLn-1 + bLk ; L- число слоев сети;
N — число нейронов слоя /, dn - выходное значение n-го нейрона слоя /; w^n — вес связи между k-м нейроном слоя / и n-м нейроном слоя / +1.
Использование софтмакс-нейронов совместно с функцией ошибки кросс-
энтр°пии ece=-х n=1X mjm log(°m) в алгоритме обратного распространения позволяет ускорить обучение сети и позволяет интерпретировать выходные значения непосредственно как вероятности принадлежности рассматриваемого объекта соответствующему классу.
К сожалению, до настоящего времени не выработано методик для определения числа скрытых слоев и числа нейронов в них. Имеются лишь оценки, позволяющие оценить соответствие размеров нейронной сети размеру обучающей выборки. Для практического использования удобна оценка, представленная в [3], согласно которой число примеров в выборке должно быть сопоставимо с отношением W/ 5 , где 8 — ожидаемая ошибка аппроксимации, а W — число связей между нейронами, для многослойного перцептрона
W = Х L'^Ni + 1)N+i.
Необходимо также отметить, что теоретические оценки и практический опыт показывают, что эффективность алгоритма обратного распространения ошибки убывает с увеличением числа слоев нейронной сети [11]. Считается, что этот алгоритм может эффективно работать не более чем с 2 скрытыми слоями.
На практике число и скрытых слоев, и нейронов в них определяют экспериментальным путем, анализируя качество аппроксимации, обеспечиваемое сетями разного размера. В SPSS реализован алгоритм
Том 10. № 2 (56). 2015
автоматического определения размеров скрытых слоев, основанный на этом принципе.
Наряду с размерами сети необходимо задать и функцию активации нейронов скрытого и выходного слоя. В теоретических исследованиях нейронных сетей, как правило, рассматривают сети с функцией активации сигмоида, однако в работе [11] приведен ряд соображений, по которым для практического использования более удачным выбором может быть гиперболический тангенс.
Подготовка данных
После того как архитектура нейронной сети определена, необходимо соответствующим образом подготовить данные. Категориальные переменные необходимо закодировать в соответствии со схемой «один-из-С». При подготовке количественных переменных необходимо учесть области определения и значений функции активации.
При использовании количественных зависимых переменных необходимо помнить, что область значений сигмоиды — это интервал (0, 1), а для гиперболического тангенса — интервал (-1, 1). При использовании соответствующих функций активации в выходном слое сеть не сможет выдавать результат, лежащий за пределами этих интервалов. Поэтому данные должны быть отображены в соответствующий диапазон. Более того, близкие к граничным значения могут достигаться только при очень больших по модулю значениях сумматора нейронов, поэтому целесообразно использовать не весь доступный диапазон, а оставить некоторый запас по краям.
В SPSS для приведения переменных к интервалу (0, 1) используется режим «нормализация», при этом значению х ставится в соответствие значение [х- (min-e)]/[(max+e)- (min-e)], где min — минимальное значение переменной по всем наблюдениям, max — максимальное значе-
ние, e — значение задаваемого пользователем параметра «поправка», используемое для уменьшения итоговой области значений переменных. В случае применения гиперболического тангенса используется режим «нормализация и корректировка», который выполняет преобразование по закону 2[х - (min- е)]/ [(max+ е) - (min- е)] -1. Заметим, что при выборе значения для параметра «поправка» надо учитывать как необходимость отступа от крайних значений функции активации, так и тот факт, что минимум и максимум вычисляются по присутствующим в выборке значениям.
Областью определения как сигмоиды, так и гиперболического тангенса является вся числовая ось. Однако есть основания подвергнуть аналогичным преобразованиям и количественные независимые переменные, значения которых будут подаваться на вход сети.
Во-первых, при больших по модулю входных значениях производные сигмоиды и гиперболического тангенса близки к 0. Обучение сети, нейроны которой находятся в таком режиме, будет проходить очень медленно [3; 11]. Производная функций активации максимальна в нуле, поэтому желательно, чтобы среднее входное значение по всему массиву данных было равно 0. Во-вторых, разный диапазон изменения входных переменных может привести к усложнению поверхности функции ошибки [11]. Для подготовки независимых переменных, наряду с нормализацией, нормализацией и корректировкой, применяется стандартизация: (х - mean) / s, где mean — выборочное среднее значение, а s — выборочное стандартное отклонение.
Проблема переобучения сети и ее решение
Нейронные сети могут моделировать сложные нелинейные функции, поэтому при их использовании важно правильно оценить ожидаемую точность полученной модели. Обладая большой гибкостью, нейронная
VJ7
Vol. 10. No. 2 (56). 2015
сеть4 может с большой точностью описать все использованные для обучения наблюдения, но при этом дать большую ошибку на новых данных. Такое состояние сети называют переобучением.
Наиболее простым способом оценки качества полученной модели является ее проверка на наборе данных, который не использовался для обучения. Для этого перед обучением нейронной сети исходный набор наблюдений разделяют на несколько частей. Одну часть используют для обучения, вторую — для проверки точности модели. В случае если алгоритм обучения подразумевает оптимизацию каких-либо дополнительных параметров5, для оценки влияния этих параметров выделяют еще одну часть — контрольную выборку.
Разделение на выборки необходимо проводить так, чтобы распределения данных в них были примерно одинаковые. Наиболее простым способом достичь этого является разделение на выборки с использованием случайного выбора. Режим случайного разделения выборок реализован в SPSS. При этом пользователю достаточно задать относительные размеры выборок. Если требуется более точное управление разделением выборок, то можно использовать режим, в котором разделение осуществляется на основании значения одной из переменных, которое может быть вычислено исследователем предварительно.
Разделение выборок позволяет оценить, в каком состоянии находится нейронная сеть после обучения. Если ошибки как на обучающей, так и на проверочной выборках велики, то это свидетельствует о том, что сеть недообучена и не смогла отразить существенные зависимости, имеющиеся в данных. Если ошибка на обучающей выборке мала, а на проверочной значительно
4 Например, как и полиномиальная модель большого порядка.
5 Например, число нейронов скрытых слоев, на-
чальная инициализация весов сети, число шагов алгоритма градиентного спуска и т. п.
больше, то сеть переобучена. Она воспроизводит не только существенные зависимости, но и случайные отклонения, свойственные использованной обучающей выборке. Хорошо обученная модель дает приемлемые значения ошибки как на обучающей, так и на проверочной выборке.
Переобучение или недообучение сети свидетельствует о несоответствии сложности сети характеру зависимостей в данных. Недообучение говорит о том, что сеть недостаточно сложна для воспроизведения зависимостей. В этом случае следует увеличить число скрытых нейронов или добавить новый скрытый слой.
Переобучение, напротив, свидетельствует о том, что сеть строит слишком сложную модель. В этом случае нужно уменьшать число скрытых слоев или нейронов в них. Но лучшим способом борьбы с переобучением является увеличение числа наблюдений, использованных для построения модели.
Процедура
Многослойный перцептрон в SPSS
В SPSS построение рассмотренной ней-росетевой модели обеспечивается процедурой Многослойный перцептрон (в английском интерфейсе Multilayer Perceptron)6
(рис. 2). Построение нейросетевых моделей в SPSS может производиться в автоматическом режиме по умолчанию или в ручном режиме. После построения модели SPSS выводит для пользователя подробный отчет в окно Вывода результатов, который может быть использован для оценки качества полученной модели.
Перед запуском процедуры исследователь должен подготовить единый файл, включающий как обучающие данные, так и данные, для которых необходимо построить прогноз. У последних значения зависимых переменных не указываются.
6 Название процедур SPSS, диалоговых окон программы и их параметров обозначены далее полужирным шрифтом.
ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-
' Том 10. № 2 (56). 2015
|tj| получение платежной карты.^v [DataSetl] - Редактор данных IBM SPSS Statistics
Файл Правка Вид Данные Преобразование Анализ Прямой маркетинг Графика Сервис Окно Справка
© Щ JC. Л BE Отчеты ► Описательные статистики ► Таблицы ► Сравнение средних * Общая линейная модель ► Обобщенные линейные модели К Смешанные модели ► Корреляции ► Регрессия ► Логлинейный >
custid mortgage lifejns _асс internet perloan say
1 123456 Нет Нет Нет Нет Нет
2 11130919 Да Да Нет Нет
3 13077503 Да Да Нет Нет
4 2959926 Нет Нет Нет Нет Нет
6 30681734 Да Да Да Нет Нет
6 14615465 и„т П-,
7 722871 Нет Нет Нейронные сети ► Классификация Снижение размерности Шкалы ► Ум Многослойный перцептрон... Радиальная базисная функция...
8 11037974 Нет Нет
9 17535976 Да Да Да| Нет Нет
10 26513736 Да Да Нет Нет Нет
Рис. 2. Запуск процедуры Многослойный перцептрон в SPSS Fig. 2. Starting a Multilayer Perceptron in SPSS
В случае необходимости в файл включается переменная для разделения выборки. Значения переменной разделения формируются следующим образом: наблюдения с положительным значением переменной разделения попадают в обучающую выборку, с нулевым значением — в контрольную выборку, с отрицательным значением — в проверочную выборку.
При запуске процедуры Многослойный перцептрон исследователю предлагается указать параметры модели, используя диалоговое окно с несколькими вкладками.
настройка ролей переменных
На вкладке Переменные (рис. 3) в список Зависимые переменные необходимо перенести одну или несколько зависимых переменных. Независимые переменные необходимо перенести в следующие списки: Факторы — категориальные независимые переменные; Ковариаты — количественные независимые переменные. В выпадающем списке Изменить масштаб ковариатов задают способ преобразования количественных независимых переменных.
Рис. 3. Настройка ролей переменных нейросетевой модели в SPSS Fig. 3. Configuring Roles variables neural network model in SPSS
\ 99
Vol. 10. No. 2 (56). 2015
В рамках рассматриваемой задачи следует поместить переменную accept_ cashcard в раздел зависимых переменных, аде — в раздел ковариат, а остальные (за исключением переменной Ю клиента, которая не несет полезной информации) — в раздел факторов. Для изменения масштаба измерения переменной возраста заемщика использовался режим Корректировка и нормализация.
Задание обучающей и контрольной выборок
Управление разделением выборки осуществляется на вкладке Разделение (рис. 4). Хотя обязательной является только обучающая выборка, мы рекомендуем всегда использовать все три выборки, так как в противном случае невозможно обеспечить правильную работу алгоритмов настройки обучения сети и оценить качество полученной модели. Классический вариант разделения предполагает использование 60% данных в обучающей выборке, и по 20% в контрольной и проверочной выборках.
Задание архитектуры сети
На следующей вкладке — Архитектура осуществляется выбор архитектуры нейро-сетевой модели (рис. 5). Архитектура сети может быть задана пользователем или определена в автоматическом режиме. В автоматическом режиме пользователь имеет возможность задать только границы допустимого числа нейронов в скрытом слое.
В ручном режиме можно задать количество скрытых слоев, количество нейронов скрытых слоев и функции активации для скрытых и выходного слоев. При этом у пользователя остается возможность использовать алгоритм автоматического определения числа нейронов.
Управление обучением
Управление обучением нейронной сети осуществляется на вкладке Обучение (рис. 6). Пользователь имеет возможность выбрать режим обучения: интерактивный, мини-пакетный или полный пакетный.
В полном пакетном режиме для вычисления градиента функции ошибки использует-
Рис. 4. Настройка разделения выборки в SPSS Fig. 4. Setting the sample separation in SPSS
Том 10. № 2 (56). 2015
@ Многослойный пгр-.^трои
Пироыажаш ftijgggnwlJ I Архитектура ¡jy^mw Suuqn „ Сиршп» Эдашрг Пнрцшпры
О Аятоматмчегаий вы&сз архитектуры
Мииимним юн щсшнччнпша иийриипо о txpui (ш шоп т
Максимальное количестю нейронов в скрытом оме: и ® Настраиваемая архитектора
скрытые слои
®Однн С) Р;1сечмп1гь ;пп пы.пичгии
ОД&а ® Настроить:
Скрытый спой 1: |10 Скрытый СПОЙ 2
О Сммонд
гПшсдоюй июй-
О Тождество -Изменение всалы количественны» зависимых пераменныг- # Стакдартнмеанные
в&звлпш О нормализуется
О Гилафбопичватй киши«: Поправка |ой?
О Сшмоид 9 Корректмрмтся и нормалилются
Ri.Tiji.lmii.iii дпн hi лпцшкп IUK1H ф)И |цин ;кгкк11|ни Поправка gpi
| определяет доступные методы игме нення шкалы. ©Herl
I г*' I LSss-üti»- (öuliäs.
Рис. 5. Настройка архитектуры сети в SPSS Fig. 5. Setting up the network architecture in SPSS
ся весь набор обучающих данных. С одной стороны, этот метод вычисления градиента является наиболее медленным, с другой стороны, только он позволяет использовать для оптимизации метод масштабируемых сопряженных градиентов, который обеспе-
чивает большую, чем обычный метод градиентного спуска, скорость оптимизации.
В мини-пакетном режиме вычисление градиента осуществляется по очереди на различных фрагментах обучающей выборки. Этот режим рекомендуется исполь-
Рис. 6. Настройка алгоритма обучения в SPSS Fig. 6. Setting the learning algorithm in SPSS
101
Vol. 10. No. 2 (56). 2015
зовать на больших наборах данных, в которых многие наблюдения близки друг к другу. В таких условиях мини-пакетный режим обеспечивает вычисление градиента с небольшой ошибкой за гораздо меньшее время, чем полный пакетный режим. При использовании мини-пакетного метода алгоритм обратного распространения ошибки становится стохастическим градиентным спуском.
В интерактивном режиме градиент вычисляется для каждого наблюдения обучающей выборки. Такой режим уступает предыдущим по скорости работы и усложняет обеспечение сходимости алгоритма обучения.
На практике, таким образом, наиболее целесообразным представляется использование пакетного или мини-пакетного режима обучения. На рассматриваемом наборе данных обучение модели происходит достаточно быстро, чтобы не принимать в расчет преимущество мини-пакетного метода в скорости. Вместе с тем использование метода сопряженных градиентов позволило создать модель, обеспечивающую немного меньшую ошибку прогнозирования. Однако данная ситуация может отражать свойства лишь конкретного набора данных.
На вкладке Обучение также выбирается алгоритм обучения и указываются его параметры. Для метода градиентного спуска доступна настройка скорости обучения и момента инерции.
При обучении в интерактивном и мини-пакетном режимах для метода градиентного спуска используется уменьшение скорости по закону пк+1 = евпк, где цк - скорость обучения на к-м шаге, р — задаваемый пользователем параметр снижения скорости обучения. Также имеется возможность задать нижнюю границу снижения скорости обучения.
Для алгоритма масштабируемых сопряженных градиентов указываются начальное значение лямбды — параметра, используемого для регулирования неопределенности матрицы производных второго порядка, и начальное значение сигмы — параметра, определяющего ширину интервала для вычисления производной второго порядка.
Параметры «центр интервала» и «смещение интервала» задают диапазон для генерации случайных начальных значений весов нейронной сети. Известно, что чем ближе к нулю значения весов, тем больше производные функции активации, что должно положительно влиять на скорость обучения. С другой стороны, слишком маленькие значения весов ограничивают распространение сигнала ошибки по сети и тем самым замедляют обучение. Анализ, проведенный в работе [11] показывает, что хороший баланс между этими противоречивыми требованиями достигается при использовании центра интервала, равного 0, и смещения со значением от 0,5 до 1,5.
настройки вывода результатов
Вкладка Вывод позволяет выбрать, какая информация будет представлена в отчете окна Вывода после проведения обучения (рис. 7). Эта информация может включать как описание самой нейронной сети, так и различные статистические отчеты о качестве работы модели.
Описание нейронной сети включает — общее описание архитектуры, включая количество слоев, число нейронов и функции активации в каждом слое, использованные входные и выходные переменные. Отчет о качестве модели может включать наиболее часто используемые показатели для валидации моделей в скоринге — таблицу с результатами классификации, включая число корректно и некорректно классифицированных примеров для каждого класса и в целом по модели; график ROC-кривой для всех зависимых категориальных переменных и таблицу площади под кривой ROC-кривой; кумулятивную диаграмму выигрыша и другие показатели.
сохранение полученных результатов
На вкладке Сохранить настраивается сохранение результатов работы нейросе-тевой модели (рис. 8). Предсказанное зна-
Том 10. № 2 (56). 2015
Рис. 7. Настройка вывода результатов построения сети в SPSS Fig. 7. Setting the output results of building a network in SPSS
чение для количественных переменных или категория для качественных переменных сохраняются в исходном файле данных в отдельных переменных. Для категориальных переменных имеется также возможность сохранить определенные сетью псевдовероятности для каждой категории.
Экспорт полученных результатов
Модуль Многослойный перцептрон позволяет сохранить веса созданной нейронной сети (рис. 9). Управление сохранением весов осуществляется на вкладке Экспортировать. Для включения сохранения ве-
Рис. 8. Настройка сохранения результатов построения сети в SPSS Fig. 8. Setting to save the results of building a network in SPSS
103
Vol. 10. No. 2 (56). 2015
Рис. 9. Настройка экспорта результатов построения сети в SPSS Fig. 9. Configuring export the results of building a network in SPSS
сов следует выбрать опцию Экспортировать оценки весов нейронов в XML-файл. В таблице Имена переменных и файлов
для каждой выходной переменной вводятся имена файлов, в которые будут записаны веса нейронной сети.
критерии остановки обучения
На вкладке Параметры настраивается способ обработки пропущенных значений — будут ли в процессе обучения использоваться наблюдения, которые содержат пропущенные значения в переменных (рис. 10). Также можно задать максимальное количество наблюдений, хранящихся в памяти, — определяется максимальный размер пакета для мини-пакетного метода обучения.
В области Правила остановки задаются критерии остановки алгоритма обучения сети. Наиболее часто используют следующие критерии остановки алгоритма обучения:
1) максимальное количество шагов без уменьшения ошибки — алгоритм остановится, если во время обучения на протяжении заданного числа шагов не произойдет уменьшение значения ошибки;
2) максимальное время обучения — алгоритм остановится, если обучение будет продолжаться более заданного времени;
3) максимальное количество периодов обучения — алгоритм остановится, если будет превышено заданное количество проходов по набору обучающих данных;
4) минимальное относительное изменение погрешности обучения — алгоритм остановится, если на последнем шаге уменьшение ошибки обучения будет незначительным, уменьшение оценивается по формуле
E - E
^-
1 ( + Ек _1 + 5)
где Ек — ошибка на текущем шаге, Ек_ 1 — ошибка на предыдущем шаге, 8 = 10-10, е1 — задаваемое пользователем значение;
5) минимальное относительное изменение относительной погрешности обучения — алгоритм остановится, если
E„
E + 5
< £i
где Е — ошибка, которая получится, если в качестве выхода модели взять среднее
104
Том 10. № 2 (56). 2015
Рис. 10. Настройка дополнительных параметров построения сети в SPSS Fig. 10. Setting advanced networking options in SPSS
значение выходных переменных в обучающем сигнале.
Критерии применяются в порядке, в котором они приведены выше. При использовании контрольной выборки остановка по критерию 1 означает, что следующий шаг алгоритма приводит к увеличению ошибки на контрольной выборке: дальнейшее обучение привело бы к переобучению, и остановка по этому критерию является предпочтительной. Остановка по критериям 2 и 3 означает, что оптимальное значение не было достигнуто за заданное время, хотя ошибка продолжала падать достаточно быстро, чтобы не вызывать срабатывание критериев 4 или 5. Остановка по критериям 4 и 5 означает, что обучение происходило слишком медленно, и оптимальное значение не было достигнуто. В случаях остановки по критериям 2-5 при наличии контрольной выборки следует ожидать, что модель недообучена.
Результаты моделирования
Так как объем исходной выборки достаточен для обучения нейронной сети боль-
шого размера, для демонстрации различных вариантов обучения сети мы искусственно занизили объем использованных для обучения данных с помощью разделения на выборки.
Для первого эксперимента использовалось разделение между обучающей, тестовой и контрольной выборками в отношении 1:1:98. Таким образом, для обучения сети и настройки алгоритмов обучения было использовано всего по 1% доступных данных. Также был задан большой размер сети, выбран ручной режим управления архитектурой и установлено число слоев, равное 2, а число нейронов в каждом слое — 200.
Созданная с такими параметрами сеть показала очень низкое значение ошибки на обучающей выборке — всего 8,5% наблюдений были классифицированы неверно. Однако ошибка на проверочной выборке в два с половиной раза больше — 21,9%. Это показывает, что данная сеть была переобучена, и ее прогнозам на новых данных не следует доверять.
Для того чтобы предотвратить переобучение, следует уменьшить сложность сети, сократив число скрытых слоев и нейронов
Vol. 10. No. 2 (56). 2015
Таблица 2. Результаты нейросетевых моделей с разным объемом выборки и разной архитектурой Table 2. The results of neural network models with different sample sizes and different architectures
Размер обучающей Архитектура сети Процент ошибочных прогнозов
выборки Скрытые слои Число нейронов в каждом скрытом слое Обучающая выборка Проверочная выборка
456 (1%) 2 200 8,6% 21,9%
444 (1%) 1 7 18,9% 20,6%
25 919 (60%) 1 8 18,2% 17,8%
26 058 (60%) 2 200 18,0% 18,0%
в них. Для второго эксперимента применялся режим автоматического выбора архитектуры сети. Отчет о сформированной архитектуре сети показал, что была выбрана архитектура, включающая всего 7 нейронов в единственном скрытом слое. Ошибка данной сети на обучающей выборке составила 18,9%, а на проверочной — 20,6%. В данном случае можно видеть, что разница между выборками незначительна, следовательно, данная модель заслуживает доверия.
Однако до сих пор нами была использована только незначительная часть данных. Чтобы увидеть влияние увеличения объема данных на нейросетевую модель, вернемся к настройкам разделения и используем более традиционный вариант разделения: 60% — обучающая выборка, по 20% — контрольная и проверочная. Автоматический выбор архитектуры в данном случае создал сеть с 8 скрытыми нейронами. Данная сеть показала ошибку обучения 18,2% и ошиб-
ку на проверочной выборке 17,8%, улучшив оба показателя предыдущей модели.
Дополнительные вычислительные эксперименты показали, что при использовании всего набора данных архитектура сети слабо влияет на итоговое качество классификации. Например, нейронная сеть с двумя скрытыми слоями по 200 нейронов показала ошибку около 18% на всех выборках. Это подтверждает тезис о том, что лучшим способом предотвращения переобучения нейронных сетей является увеличение используемого для обучения набора данных. Сводные результаты экспериментов представлены в табл. 2.
Для практического использования следует отдать предпочтение нейросетевой модели, включающей 8 нейронов в одном скрытом слое и обученной на 60% имеющихся наблюдений. Качество прогнозирования этой модели может быть представлено табл. 3, а также рис. 11, которые представляют часть отчета в окне Вывода SPSS.
Таблица 3. Результаты классификации выбранной модели Table 3. The classification of the selected model
Выборка Наблюдаемые Предсказанные
Нет Да Процент правильных
Обучающая Нет 12 499 2 212 85,0%
Да 2 504 8 719 77,7%
Общий процент 57,9% 42,1% 81,8%
Контрольная Нет 4 181 712 85,4%
Да 809 2 933 78,4%
Общий процент 57,8% 42,2% 82,4%
Проверочная Нет 4 143 747 84,7%
Да 781 2 922 78,9%
Общий процент 57,3% 42,7% 82,2%
Том 10. № 2 (56). 2015
Из табл. 3 видно, что полученная модель обладает достаточно высокой чувствительностью и специфичностью на всех трех выборках. Показатель площади под ROC-кривой AUC (от англ. AreaUnderCurve) равен 0,907, что соответствует отличному качеству модели7.
Код синтаксиса команд SPSS для самостоятельного автоматического воспроизведения построения нейронной сети с рассмотренными выше параметрами представлен на листинге 1.
Заключение
Концепция искусственных нейронных сетей была создана в середине XX века исследователями, вдохновлёнными струк-
турой центральной нервной системы человека и животных. ИНС сходны с биологическими нейронными сетями в том, что они строятся из большого числа базовых узлов, проводящих вычисления параллельно. При этом распределение задач между узлами происходит не по предписанию создателя нейронной сети, а автома-
7 Данная статья не затрагивает подробно критерии валидации полученной модели. Подробнее см. [1].
Зависимая переменная Получение новой платежной карты
Рис. 11. ROC-кривая по полученной модели Fig. 11. ROC-curve on the resulting model
тически определяется в процессе обучения — настройки параметров нейросетевой модели.
Использование нелинейных функций в узлах нейронной сети позволяет нейронным сетям моделировать сложные нелинейные зависимости. Существующие теоретические результаты показывают, что ИНС многих архитектур, включая многослойный перцептрон, являются универсальными ап-проксиматорами.
Листинг 1. Код синтаксиса команд SPSS для построения модели Listing 1. Syntax SPSS for building the model
MLP accept^ashcard (MLEVEL=N) BY mortgage life_ins cre_card deb_card mob_bank curr_acc internet perloan savings atm_user odrftlim isa cus_leng WITH age /RESCALE COVARIATE=ADJNORMALIZED /PARTITION TRAINING=6 TESTING=2 HOLDOUT=2 /ARCHITECTURE AUTOMATIC=YES (MINUNITS=1 MAXUNITS=100) /CRITERIA TRAINING=BATCH OPTIMIZATION=SCALEDCONJUGATE LAMBDAINITIAL=0.0000005 SIGMAINITIAL=0.0 0 0 0 5 INTERVALCENTER=0 INTERVALOFFSET=0.5 MEMSIZE=1000 /PRINT CPS NETWORKINFO SUMMARY CLASSIFICATION /PLOT ROC GAIN LIFT PREDICTED /STOPPINGRULES ERRORSTEPS= 1 (DATA=AUTO) TRAININGTIMER=ON (MAXTIME=15) MAXEPOCHS=AUTO ERRORCHANGE=1.0E-4 ERRORRATIO=0.0010 /MISSING USERMISSING=EXCLUDE.
Vol. 10. No. 2 (56). 2015
Проблема переобучения ИНС возникает при практическом использовании, когда требуется обеспечить хорошие результаты работы сети на новых данных. Переобучения можно избежать, используя методы кросс-проверки или регуляризации.
В настоящее время разработано программное обеспечение, реализующее не только основные алгоритмы обучения, но и мета-алгоритмы, помогающие решать задачи настройки и обучения модели. Это существенно упрощает использование ней-росетевых моделей на практике. В статье приведен пример использования одной из таких программ — SPSS.
Рассмотренная в статье нейросетевая модель является альтернативой практически ставшей стандартом при построении ско-ринговых систем логистической регрессии. В статье рассмотрена методика моделирования на примере поведенческого скорин-га (behavioral-scoring). Однако на практике подобные модели могут быть использованы на всех стадиях жизненного цикла кредита. На стадии маркетинга с помощью подобных скоринговых моделей (response-scoring) могут решаться задачи определения возможных потребителей рекламируемого банковского продукта с целью снижения затрат на рекламу. На стадии подачи заявок на кредит — традиционный скоринг зявок (application-scoring) — задачи прогнозирования дефолта по кредиту. На стадии управления проблемыми кредитами (collection-scoring) — решается задача выбора оптимальной стратегии поведения с проблемными заемщиками.
Список литературы
1. Сорокин А. С. К вопросу валидации модели логистической регрессии в кредитном скорин-ге // Интернет-журнал Науковедение. 2014. № 2. URL: http://naukovedenie.ru/PDF/173EVN214.pdf.
2. Сорокин А. С. Построение скоринговых карт с использованием модели логистической регрессии // Интернет-журнал науковедение. 2014. № 2. URL: http://naukovedenie.ru/ PDF/180EVN214.pdf.
3. Хайкин C. Нейронные сети: полный курс. 2-е изд.: пер. с. англ. М.: Издательский дом «Вильяме», 2006. — 1104 с.
4. Allison P. D. Logistic regression using the SAS system: theory and application. Cary, NC: SAS Institute, 1999. — 303 p.
5. Anderson R. The credit scoring toolkit: theory and practice for retail credit risk management and decision automation. N. Y.: Oxford University Press, 2007. — 790 p.
6. Bridle J. S. Training Stochastic Model Recognition Algorithms as Networks can lead to Maximum Mutual Information Estimation of Parameters // In: D. S. Touretzky (ed.), Advances in Neural Information Processing Systems 2, San Mateo: Morgan Kaufmann, 1989. P. 211-217.
7. Kirkpatrick S, Gelatt Jr C. D, Vecchi M. P. Optimization by Simulated Annealing // Science220 (4598): 671-680, 1983.
8. Lewis E. M. An introduction to credit scoring. San Rafael: The athena press, 1992. — 172 p.
9. Mays E. (ed.) Handbook of credit scoring. Chicago: Glenlake Publishing Company Ltd/Fitzroy Dearborn Publishers, 2001. — 382 p.
10. Naeem S. Credit risk scorecards: developing and implementing intelligent credit scoring. New Jersey: John Wiley and Sons, 2006. — 208 p.
11. RojasR. Neural Networks: A Systematic Introduction. Berlin: Springer-Verlag, 1996. — 509 p.
References
1. Sorokin A. S. K voprosu validatsii modeli logis-ticheskoi regressii v kreditnom skoringe [On the question of validation logistic regression model in credit scoring]. Naukovedenie, 2014, no. 2. Available at: http://naukovedenie.ru/PDF/173EVN214. pdf (in Russian).
2. Sorokin A. S. Postroenie skoringovykh kart s ispol'zovaniem modeli logisticheskoi regressii [Building a scorecard using a logistic regression model], Naukovedenie, 2014, no. 2. Available at: http://naukovedenie.ru/PDF/180EVN214.pdf (In Russian).
3. Khaikin C. Neironnye seti: polnyi kurs [Neural Networks: full course]. Moscow, «Vil'yams» Publ., 2006. 1104 p.
Том 10. № 2 (56). 2015
4. Allison P. D. Logistic regression using the SAS system: theory and application. Cary, NC: SAS Institute, 1999. 303 p.
5. Anderson R. The credit scoring toolkit: theory and practice for retail credit risk management and decision automation. N. Y.: Oxford University Press, 2007. 790 p.
6. Bridle J. S. Training Stochastic Model Recognition Algorithms as Networks can lead to Maximum Mutual Information Estimation of Parameters // In: D. S. Touretzky (ed.), Advances in Neural Information Processing Systems 2, San Mateo: Morgan Kaufmann, 1989, pp. 211-217.
7. Kirkpatrick S., Gelatt Jr C. D., Vecchi M. P. Optimization by Simulated Annealing. Science220 (4598): 671-680, 1983.
8. Lewis E. M. An introduction to credit scoring. San Rafael: The athena press, 1992. 172 p.
9. Mays E. (ed.) Handbook of credit scoring. Chicago: Glenlake Publishing Company Ltd/Fitzroy Dearborn Publishers, 2001. 382 p.
10. Naeem S. Credit risk scorecards: developing and implementing intelligent credit scoring. New Jersey: John Wiley and Sons, 2006. 208 p.
11. Rojas R. Neural Networks: A Systematic Introduction. Berlin: Springer-Verlag, 1996. 509 p.
S. Sorokin, Tver State University, Tver, Russia, [email protected]
A. Sorokin, Moscow University of Finance and Industry «Synergy», Moscow State University of Economics, Statistics and Informatics (MESI), Moscow, Russia, [email protected]
Use neural network models in behavioral scoring
Various mathematical and statistical models can be used as basis for constructing scoring systems. These models can be obtained by linear regression, logistic regression, discriminant analysis, decision trees, neural networks, and others. The article describes an example of constructing a model of behavioral skroring in the banking sector, based on a neural network program IBM SPSS Statistics. Also this article presents the technique of modeling, sequence of network settings in the dialogs procedures of the program SPSS, code syntax for the implementation of the considered algorithm, and the simulation of results. These results can be used in the educational process for laboratory work and workshops in teaching methods in neural network modeling program SPSS, as well as independent research. The purpose of writing this article is to review the methodological aspects and step alogoritma constructing a neural network program IBM SPSS Statistics 22 for example, behavioral scoring in the banking sector. Under the behavioral scoring understood mathematical model by which on the basis of a set of known characteristics of the object of study (independent variables) projected a certain desired characteristics (dependent variable), the value of which is not known researcher. Keywords: scoring, behavioral scoring, neural network, SPSS, multilayer perceptron.
About authors:
S. Sorokin, PhD in Physics & Mathematics A. Sorokin, PhD in Economics, Associate Professor For citation:
Sorokin S., Sorokin A. Use neural network models in behavioral scoring. Prikladnaya informatika — Journal of Applied Informatics, 2015, vol. 10, no. 2 (56), pp. 92-109 (in Russian).