Введение
Не остается в стороне от развития технологий банковский сектор экономики [8, 9], играющий важнейшую роль в отечественной экономике. Банки обеспечивают заемщиков необходимыми финансовыми средствами за счет кредитов. При кредитовании частных лиц банки сталкиваются с проблемой оценки заемщика. Важную роль в этом играет кредитная история (структурированные данные об исполнении заемщиком обязательств).
Хранением истории обращения за кредитами занимается каждый банк и Бюро кредитных историй (БКИ) в целом. Информация о заемщике хранится в БКИ до 10 лет, при этом банки обращают особое внимание на действия заемщика за последние 2-5 лет [8, 9]. Однако, применение кредитной истории к клиентам, которые впервые обращаются за кредитом, невозможно. Для таких случаев банки содержат штат экспертов, осуществляющих оценку клиента. Данные о потенциальном заемщике они получают как от самого клиента, так и из других источников (например, от работодателя или из социальных сетей).
Это называется кредитным скорингом. Слово происходит от английского «scoring», что переводится как «оценивание». Скоринг – это система оценки кредитоспособности (кредитных рисков) потенциального заемщика [6]. Система скоринга работает с середины прошлого века. Выделяют несколько видов скоринга. Оценкой кредитоспособности клиента занимаются опытные сотрудники соответствующих отделов, которых можно отнести к экспертам.
Экспертный опыт и знания вырабатываются годами и стоят дорого [3]. Поэтому, с момента прихода компьютерных технологий делаются попытки создания систем автоматического скоринга. В качестве технологии применяют и машинное обучение, включая искусственные нейросети (ИНС) [2].
Работы многих современных исследователей [12] анализируют горизонты использования различных нейросетевых моделей, в том числе и для осуществления кредитного скоринга: многослойные персептроны (MLP), сети экспертов, сети радиальных базисных функций (RBF), сети с квантованием обучающего вектора (LVQ), нечеткого адаптивного резонанса и другие.
В данной работе произведена попытка решения задачи кредитного скоринга новых клиентов (впервые обращающихся за кредитом) средствами ИНС. В сфере отечественного банковского бизнеса методы автоматического скоринга, к сожалению, все еще используются не столь массово, как они того заслуживают, при этом уже внедренные системы не всегда оперативно модернизируются в соответствии с меняющейся ситуацией и достижениями науки.
Цель исследования
Целью исследования в рамках данной статьи стало изучение применения ИНС-технологии в компьютерной программе для автоматизированной экспресс-оценки потенциального клиента банка (заемщика) на предмет возможности выдачи ему кредита по ряду анкетных характеристик заемщика.
В условиях непростой экономической ситуации (массовый рост задолженности, неисполнение обязательств) использование систем автоматического скоринга на базе ИНС в перспективе способно оптимизировать (то есть формализовать и автоматизировать) бизнес-процесс оценки клиентов банков перед принятием решения о выдачи кредита.
Материалы и методы
Для проведения исследования необходимо: осуществить математическую постановку задачи, определить источники данных, выбрать средства моделирования и обучения ИНС, предложить архитектуру нейронной сети. Эти пункты более подробно мы раскроем далее.
Математическая постановка задачи
Задачу математически сформулируем, как задачу классификации, где G = [анкетные данные о клиенте] – множество параметров, характеризующих отдельно взятого потенциального получателя кредита, Q = {1, 0} – два непересекающихся множества клиентов (кому выдача кредита будет одобрена и кому будет отказано). Существует неизвестное отображение g*: G → Q, значения которого известны только на объектах конечной выборки Gj ={(g1, q1),…,(gj, qj)}. Нам нужно разработать искусственную нейросетевую систему φ: G → Q, способную классифицировать произвольно взятого клиента g Î G.
Известно, что ИНС успешно справляются с задачами, если их удается свести к классификации [4, 11, 12]. Мы (несколько упрощая задачу) имеем дело с бинарной классификацией клиентов на два непересекающихся множества: тех, кому выдача кредита будет одобрена (1), и тех, кому будет отказано (0).
Определение входных параметров
Большое количество свободных параметров в большой сети может привести к тому, что ИНС станет негибкой и малопригодной для использования. Также известно [12], что сети среднего и высокого уровня сложности требуют большого количества обучающих строк, которые должны быть качественно обработаны.
В качестве входных данных ИНС мы используем вектор, состоящий из набора анкетных данных клиента, которые обычно рассматриваются кредитными экспертами в банках и по их мнению являются достаточным основанием для принятия решения (выдать кредит или отклонить заявку).
В нашем случае это будет: возраст, кем работает (12 вариантов: «безработный», «предприниматель» и т.д.), семейное положение (3 варианта: «в браке», «в разводе (или овдовел)», «холост»), образование («неизвестно», «среднее», «начальное», «высшее» и т.д.), среднегодовой доход, есть ли собственное жилье («да»/«нет»), есть ли кредиты в других организациях («да»/«нет») и происходили ли ранее задержки в выплатах («да»/«нет»).
Архитектура ИНС
Чем проще и меньше нейросеть, которая все же может решить поставленную перед ней задачу, тем лучше. Чаще всего небольшая, но мощная ИНС может гораздо быстрее решить несложную задачу, чем сложная большая, так как большие сети требуют больше данных и времени для обучения [12].
В качестве ИНС выберем зарекомендовавший себя [4, 7, 11] тип нейросети «многослойный персептрон» (MLP). Таким образом, структура нашей ИНС будет иметь 8 входов (по числу перечисленных выше разделов анкеты) и один выход, принимающий значения 1 (выдать кредит) или 0 (в выдаче отказать).
Используем двуслойный персептрон (два скрытых слоя). Минимально допустимое число нейронов оцениваем по формуле Колмогорова (Хехт-Нильсена) [12]. Получаем, что нам потребуется более 17 скрытых нейронов. Применим в сумме 24 скрытых нейрона, что больше рассчитанного минимума.
Средства моделирования и обучения ИНС
В качестве средства программного моделирования и обучения ИНС типа персептрон мы выбрали для использования мощный нейропакет (среду программной эмуляции ИНС на обычном компьютере) NeuroSolutions, производимый компанией NeuroDimension. Данное программное средство по мнению рядя авторов считается одним из лучших средств среди аналогов [1, 5].
В качестве альтернативы были рассмотрены и другие программные продукты для моделирования ИНС. Каждый из них обладает своими достоинствами и недостатками, которые подробно описаны в статьях [1, 5].
Источник данных для обучения ИНС
В качестве обучающих данных для обучения ИНС методом «с учителем» используем информацию о ранее принятых экспертами решениях о выдаче кредита, сгруппированную в виде наборов обучающих пар (<восемь групп анкетных данных о клиенте>, <решение о выдаче кредита>), и сохраненную в файлах формата *.csv (значения, разделенные запятыми).
В нашем распоряжении имеется файл с 4500 обучающими парами такого вида, сформированный по результатам деятельности одного из коммерческих банков за ограниченный период времени. В нем, по сути, содержатся результаты интеллектуальной деятельности банковских экспертов. В результате обучения ИНС мы желаем добиться того, чтобы ИНС работала (принимала решение о выдаче кредита) не хуже реального эксперта (решения ИНС должны быть подобны решениям эксперта более чем на 90%).
Это согласовывается с современным подходом к построению экспертных систем и обучению ИНС [10, 12], согласно которому система после обучения содержит «слепок» ментальной модели эксперта и должна имитировать его интеллектуальную деятельность, то есть работать подобно человеку [10].
Обучение ИНС
Для моделирования ИНС воспользуемся наиболее «дружественным» для пользователя режимом «Нейроэксперт», доступным в программном пакете NeuroSolutions. В нашем случае имеем 8 входных параметров, как это было описано ранее. Это будут: возраст (age), кем работает (job), семейное положение (marital), образование (education), среднегодовой доход (balance), есть ли собственное жилье (housing), есть ли кредиты в других организациях (loan), происходили ли ранее задержки в выплатах (default).
В нашем случае решение о выдаче кредита (y) представляет собой символьную переменную, обозначающую решение и принимающую только два возможных значения (yes/no), т.е. y – столбец с символьными данными.
Мы используем около 4500 записей, поэтому стоит применить вариант «Normal» и позволить нейросети использовать 20% для перекрестной (CV – Cross Validation) проверки. Для экзаменационного и тестового набора зарезервируем по 20% векторов от общего числа. Тестовый (Cross validation) набор используем для предотвращения «переучивания» ИНС, экзаменационный (Testing) позволяет в конце проверить качество работы нейросети. Выставив нужные опции ИНС, завершим создание сети в среде NeuroSolutions (рис. 1).
Рис. 1. Проект NeuroSolutions с созданной ИНС
После этого начинаем обучение искусственной нейронной сети. По умолчанию нейропакет запускает 1000 эпох обучения. После обучения визуализируем кривую обучения (Learning curve), которая выглядит так, как показано на рис. 2.
Рис. 2. Кривая обучения (Learning curve)
На рис. 2 мы видим CV – график изменения среднеквадратической ошибки на кросс-валидационном наборе, Т – график изменения среднеквадратической ошибки на обучающих данных. Обе ошибки по ходу обучения снижаются. Из рисунка мы видим, что кривые принимают горизонтальный вид на уровне менее 0,2 после 80 эпох обучения и в дальнейшем не претерпевают значительных изменений. Это говорит нам о том, что ИНС обучена и теперь может решить нашу задачу с достаточным уровнем возможных ошибок.
Результаты исследования и их обсуждение
Протестируем ИНС и отметим результаты, представленные на рис. 3.
Мы видим, что нейронная сеть показывает достаточно достойные результаты, сопоставимые с работой опытных банковских экспертов. Сделаем несколько кратких пояснений.
Рис. 3. Результаты нейросети после обучения
Мы видим, что сеть очень хорошо принимает решения по отказу в выдаче кредитов – выход сети с результатом no («нет») идентичен работе экспертов в 98,3% случаев.
Однако в случае принятия положительного решения о выдаче кредита yes («да») сеть соглашается с мнением экспертов только в 80% случаев. То есть, нейросеть отказывает в выдаче кредитов примерно 20% потенциальных заемщиков, которым банковские эксперты в тех же условиях были готовы выдачу кредита одобрить.
Таким образом, мы получаем ИНС, которую неформально можем назвать «строгой» или «слишком осторожной» по отношению к клиентам. Такой результат можно попытаться объяснить тем, что в наших обучающих данных записей с исходом no («отказать») было намного больше, чем с исходом yes («одобрить»), что объясняется особенностями работы банковских экспертов.
Таким образом, ИНС отлично обучилась распознавать «плохих» заемщиков, которым следует отказать, но при этом предпочитает отказать и части «хороших» заемщиков, которым эксперт-человек выдал бы кредит.
Разумеется, погрешность в работе таких систем будет встречаться всегда, но получившийся результат, кажется, является лучшим исходом, чем если бы сеть, наоборот, одобряла кредиты для «плохих» заемщиков.
Те 20%, кому отказала сеть, могут быть обслужены и оценены экспертом-человеком, да и «фильтр здравого смысла» при работе с экспертными системами никто не отменял.
То есть, полученные результаты все-таки требуют интерпретации человеком, но также и позволяют разгрузить банковских работников от части рутинных действий. Например, если сеть одобряет выдачу кредита, то можно быть уверенным, что этот результат с высокой долей вероятности (доля ошибочных результатов в этом случае всего 1,7%) является верным, а вот если отказывает, то здесь требуется дополнительная проверка человеком или другой системой (терять 20% клиентов для банка, конечно, нецелесообразно).
Обзор возможности внедрения
Существующие в используемом нами нейропакете инструменты предоставляют возможность создать DLL-модуль, в котором будет находиться ИНС. Такой модуль библиотеки предоставляет возможность внедрять обученную нейронную сеть в приложения. Для работы с DLL можем создать [1] на языке С++ программу в Visual Studio, обладающую интерфейсом пользователя, представленным на рис. 4.
Рис. 4. Интерфейс приложения для работы с обученной ИНС
В рамках работы в Visual Studio был разработан интерфейс для работы с обученной ИНС, внешний вид которого представлен на рисунке 4. Основные элементы на предполагаемой форме должны предоставлять возможность ввода данных и вывода результата. Приложение создается с перспективой его подключения к программным интерфейсам для удобного использования обученной нейросети в сфере выдачи кредитов банковскими сотрудниками с более низкой квалификацией, чем у экспертов, на основе результатов деятельности которых формировались обучающие векторы ИНС.
Их работа уже может оплачиваться на более низком уровне, что потенциально может принести экономию финансовых средств для банков без существенной потери качества оценки потенциальных кредитных заемщиков.
Также возможно создать программное приложение, позволяющее банковским работникам производить работу с ИНС через Интернет (в удаленном режиме). Возможность может быть особо востребована в ситуации принятия мер по предотвращению распространения коронавируса (SARS-CoV-2) и перевода банковских сервисов в онлайн-формат, а сотрудников – на удаленный режим работы.
Также можно создать приложение для работы на персональном компьютере (ПК) или даже на смартфоне. Для создания приложения можно воспользоваться Visual Studio или его аналогами.
Для создания приложения на Android-смартфоны существует среда разработки Android Studio. Это официальная среда разработки для платформы Android. Данная среда доступна для Windows, OS X и Linux. В приложении необходимо реализовать обмен данными через интернет.
Из вышеуказанного следует, что обученная ИНС может быть внедрена в различные программные платформы и активно использоваться.
Заключение
Изучена возможность применения ИНС в программных сервисах, предназначенных для автоматизированной экспресс-оценки потенциального клиента банка (заемщика) для выдачи кредита по ряду анкетных характеристик.
Осуществлено математическое описание задачи в виде задачи классификации. В качестве основной модели ИНС применен «многослойный персептрон» (MLP).
Произведено моделирование ИНС в NeuroSolutions. Проанализированы результаты работы, рассмотрены возможности внедрения. После обучения проведено тестирование нейросети, установлено, что сеть способна проводить бинарную классификацию потенциальных получателей кредита на два непересекающихся множества («хороших» и «плохих» заемщиков) с точностью, сопоставимой с точностью работы опытных банковских экспертов.
Нейросеть может использоваться для замены части высокооплачиваемых экспертов специалистами с более низкой квалификацией без существенного снижения качества работы.
Изученная в работе тема требует продолжения исследований. Результаты могут иметь широкое применение в программных продуктах.
Работа поддержана РФФИ, проекты: 18-08-00549-а, 17-07-00620-a, 19-01-00246-а, 19-07-00329-а.
Рецензент – Чернецкий И. И.