Файл: Решение задачи на кредитоспособность клиента.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.06.2023

Просмотров: 55

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

Глава 4. Виды искусственных нейронных сетей

Переходя от искусственных нейронов к сетям, необходимо уточнить, что ИНС – это такие нейронные сети, в качестве вершин которых выступают искусственный нейроны. По сути цель построения нейронной сети - получение из некоторого вектора входных сигналов X вектора выходных сигналов Y. Оба этих вектора очень сильно зависят от постановки задачи и от предметной области.

Существует несколько критериев классификации искусственных нейронных сетей:

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

Рассмотрим некоторые виды сетей:

  • Однонаправленный многослойные сети сигмоидального типа. Этот тип сетей получил очень широкое распространение на практике в силу простоты математического описания таких сетей. Кроме того, это один из самых первых типов сетей. В основу работы таких сетей лег более ранний тип – однослойные сети того же типа, однако их применению препятствовала ограниченность функционала однослойных сетей, в которых свойства сети были ограничены свойствами отдельного нейрона. Многослойные персептроны лишены этого недостатка.
  • Рекуррентные сети на базе персептрона. Этот тип сетей получился из модификации предыдущего путем добавления обратной связи от выходного или одного из промежуточных слоев на вход. В каждой обратной связи присутствует элемент единичной задержки. За счет обратной связи увеличивается размерность входного вектора, что влечет усложнение алгоритмов обучения такой сети. Примерами сетей такого типа могут быть сети RMLP или рекуррентная сеть Эльмана.
  • Самоорганизующиеся сети на основе конкуренции. Эти сети обучаются без учителя и самостоятельно адаптируют свои веса под обучающие данные. Эти сети строятся из нейронов типа WTA и аналогичных. Как правило, такие сети имеют только один слой, каждый нейрон в таких сетях получает все компоненты входного вектора X размерностью N.
  • Радиальные нейронные сети. Строятся такие сети с использованием радиальных нейронов, имеют двухслойную структуру. Основное предназначение таких сетей – решение задач на аппроксимацию данных.
  • Нечеткие нейронные сети. Зависимость в таких сетях входного и выходного вектора задается выражениями с использованием нечетких систем, оперирующих нечеткими множествами. Примерами таких сетей могут служить сети Такаги-Сугено-Канга, Ванга-Менделя и другие.
  • Нечеткие искусственные нейронные сети. Эти сети на этапе обучения осуществляют группирование входных векторов. Такие сети используют двухслойную структуру.

Перейдем к обсуждению процесса обучения нейронных сетей.

Глава 5. Обучение нейронных сетей

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


Многослойные персептроны могут обучаться очень многими методами, но наиболее распространены следующие методы:

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

Почти все упоминавшиеся выше методы могут применяться как в режиме «онлайн», при котором уточнение весов осуществляется после предъявления каждой обучающей выборки, так и в режиме «оффлайн», когда корректировка производится после обработки всех обучающих пар.

Обучение рекуррентных сетей на базе персептрона производятся теми же методами, что и сетей без обратных связей.

Самоорганизующиеся сети при обучении стремятся к минимизации погрешности квантования. Наиболее распространены следующие алгоритмы:

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

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


В нечетких нейронных сетях используются свои алгоритмы. Для сетей без самоорганизации характерно использование гибридного алгоритма обучения нечетких сетей, который очень похож на гибридный алгоритм из предыдущего абзаца. В случае с самоорганизацией используются при обучении алгоритмы C-means, пикового группирования, разностного группирования.

Глава 6. Применение нечеткой логики на практике

Практическое задание было выполнено с использованием пакета MATLAB R2018b для ОС Linux, включающем, помимо прочего, пакет Fuzzy Logic Toolbox. Формулировка задачи и правила приведены во введении к данной работе.

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

Откроем редактор, воспользовавшись командной строкой MATLAB:

Рисунок 1. Начальный вид окна редактора Fuzzy Logic Designer

По условию задачи предполагается два входа: данные о кредитной истории и данные о платежеспособности клиента. Добавим еще одну переменную на начальное окно, отредактируем имена переменных, задав названия credithistory и payingcapacity. Выходному блоку присвоим имя rate.

После переименования окно редактора выглядит следующим образом:

Рисунок 2. Окно редактора после переименования переменных

Далее зададим функции принадлежности. Для кредитной истории мы будем использовать диапазон 0..1, для платежеспособности – 0..2. Аналогично для переменной rate установим диапазон 0..2, так как у нас предполагается градация по трехбалльной шкале.

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

Результаты настройки представлены на скриншотах ниже:

Рисунок 3. Настройки для входа – кредитная история

Рисунок 4. Настройки для входа - платежеспособность

Рисунок 5. Настройки выхода – ставка по кредиту

Добавим правила в соответствии с условиями: