a) Если две входные переменные А1 и А2 правила R с весами W1 и W2 (где W1<W2) соединены оператором AND, тогда минимальный вес W1 должен быть выбран для определения веса (силы) всего правила R.
b) Если те же входные переменные А1 и А2 соединены оператором OR, тогда максимальный вес W2 должен быть выбран для определения веса (силы) всего правила R.
c) Использование оператора AND в правилах Задеха предпочтительнее. Т.е. сложные правила с использованием оператора OR лучше приводить к множеству простых правил с оператором AND. Например,
- Правилo <If (X AND Y) OR (A AND B) then C>
может быть преобразовано в правило
(If X AND Y then C) AND (If A AND B then C) > или
- Правилo <If (X OR Y) OR (A OR B) then C>
может быть преобразовано в правило
< (If X AND A then C) AND (If X AND B then C) AND (Y AND A then C) AND (Y AND B then C) >
d)NOT: Если переменная или даже целое правило А1 имеет вес W1, тогда (NOT А1) будет иметь вес (1 - W1).
e) Прежде всего нужно описать очевидные отношения между входными и выходными переменными, затем, не очевидные, но интуитивно правдивые. Исключительные случаи тоже могут быть описаны правилами.
9. Процесс Дефаззификации (Defuzzification): Каждое элементарное правило должно приводить к одной выходной переменной(действию), вес которой определяется весом самого правила. Для этого:
a) "MIN-МAX" метод: Правила, результатом которых получается одно и тоже действие (выходная переменная), объединяются в группу одного результата с весом равным максимальному весу из всех весов правил этой группы. Этот метод выбора результирующего действия называют "MIN-МAX" выводом, т.к. он строится на базе преимущественно минимальных весов входных переменных(имея в виду предпочтительного использования оператора AND) и максимальных весов выходных функций.
b) Затем, для непосредственного процесса дефазификации, наиболее часто используют COG (Center of Gravity) метод или центройд-метод (centroid-method). Из полученных оставшихся весов нужно вычислить точку баланса COG, которая и будет представлять собой дефазифицированное выходное значение. B теории, оно равно отношению интеграла (на отрезке всех значений функций) произведений веса каждой функции на её вычисленное выходное значение (Х) по dx к интегралу (на том же отрезке) весов этой функции на всех входных значениях:
(3)
c) На практике, вполне адекватная оценка может быть получена заменой интегралов (в формуле 3) на простые суммы весов исследуемой функции на всех входных переменных:
(4)
10. Пропустить входные данные через описанные правила
11. Проанализировать разницу между полученным выходом и реальными (ожидаемыми) выходными данными
12. В случае надобности подстроить (изменить) правила:
a) Процесс настройки (tuning) чаще всего включает в себя использование л-cut метода и компенсационных операторов.
b) Вес каждой функции (правила) ограничивается каким-то заранее определённым числом лямбда-кат (л-cut) т.е. из оставшихся (после применения MIN-МАХ метода) функций с вычисленными весами, результирующее значение каждого веса сравнивается со значением л-cut, так что в случае когда вычисленный вес функции W1 > л-cut, W1 будет равняться л-cut, т.е. для каждой функции А, её вес будет определяться формулой:
(5)
c) Затем, когда вес всех функций таким образом уже вычислен, процесс дефазификации (п.10) повторяется снова.
13. Во-время подстройки нужно обратить особое внимание на следущее:
a. На входные значения в самых крайних точках всей области определения.
b. На входные значения в самых крайних точках всех интервалов.
c. На входные значения на пересечениях входных интервалов.
d. На несоответствие входных и выходных данных. Индекс соответствия (от 0 до 1) указывает на степень соответствия входных данных правилам модели и используется для того чтобы оценить поведение модели (в процессе имитационного прогноза) на основании сравнения полученных выходных данных с ожидаемыми тестовыми результатами. К «хорошему поведению» фаззи-модели можно отнести усреднённый индекс соответствия, если он принадлежит к интервалу от 0.2 до 0.8 на обычном и расширенном объёме тестовых пакетов данных. При этом, случай расчёта индекса соответствия на одном пакете входных данных не может считаться достоверной характеристикой фаззи-модели. Индексы соответствия, которые либо слишком высокие (>0.8) либо слишком низкие (<0.2) одинаково говорят о несоответствии входных потоков заданным правилам, формирующим выходной результат. Существует несколько общих причин формирования «плохого» индекса соответствия:
- Реальные входные данные постоянно попадают в экстремальные отрезки- интервалы фазифицированных входных потоков.
- Неправильно построенные правила.
- Входной поток неверно разбит на интервалы и/или их пересечения неверно определены.
- Неправильно выбраны фаззи-операторы.
- Фаззи-условия и следствия неверно сопряжены.
- В процессе построения фаззи-модели, эксперт обычно думает о (опирается на) значениях данных, которые наиболее часто встречаются или, наоборот, о значениях которые ему кажутся наиболее интересными (яркими), предполагая при этом что инженер - создатель фаззи-модели сам позаботится о простых и очевидных (с точки зрения эксперта) вещах. В большинстве случаев это приводит к тому, что модель получается слишком обобщённой.
14. Шаги 11-13 повторять до тех пор пока разница между полученным результатом и реальными данными не станет приемлемой.
15. Кроме того, если, несмотря на множество подстроек, результат остаётся неудовлетворительным, можно попробовать упростить систему или на этапе агрегирования данных (п.4 - п.7) или на этапе определения правил (п.8 - п.9).
16. Шаги 3-9 повторять до тех пор, пока первый приемлемый результат остаётся неизменным.
17. Если первый приемлемый результат испортился, вернуть состояние системы к предыдущему циклу и закончить оптимизацию.
Финальное множество правил должно быть устойчиво по Ляпунову, т.е. небольшие изменения входного потока данных влекут за собой небольшие изменения выходных данных (независимо от времени).
3.3 Нейросетевое моделирование
В сравнение с моделями с нечёткой логикой, считается, что нейросетевое моделирование применяется чаще в банковских моделях и круг его применения значительно шире.
Математическая модель искусственного нейрона была предложена У. Маккалоком (Warren Sturgis McCulloch) и У. Питтсом (Walter Harry Pitts) вместе с моделью сети, состоящей из этих нейронов. Авторы показали, что сеть на таких элементах может выполнять числовые и логические операции В статье McCulloch W.S., Pitts W. A logical Calculus of Ideas Immanent in Nervous Activity - Bull. Mathematical Biophysics, 1943. Практически сеть была реализована Фрэнком Розенблаттом (Frank Rosenblatt) в 1958 году как компьютерная программа, а впоследствии как электронное устройство - перцептрон. Связи, по которым выходные сигналы одних нейронов поступают на входы других, часто называют синапсами по аналогии со связями между биологическими нейронами Искумсственный нейромн (http://ru.wikipedia.org/).
Нейронная сеть представляет собой композицию простых элементов работающих параллельно. Связи между отдельными элементами определяют веса нейросетевых функций. Тренирование конкретной нейронной сети происходит посредством корректировки значений (количества) связей между отдельными её элементами. Нейронная сеть считается натренированной, если каждый конкретный набор исходных (входных) данных приводит к ожидаемому набору результирующих (выходных) данных.
Для каждой входной переменной здесь тоже (как и в нечёткой логике) существует вес, который определяется количеством внутренних связей этой переменной. Веса эти также используются в функции формирования результата. Модель искусственного нейрона может быть представлена Рисунком 3.
Рис. 3. Модель искусственного нейрона
Учитывая тот факт, что отдельные группы нейронов могут принадлежать к разным уровням нейронной сети, её картина может быть представлена Рисунком 4.
Рис. 4. Модель нейронной сети
Если в качестве элементарной частицы нейронной сети мы принимаем некий искусственный нейрон, который состоит из таких типов составляющих как вес конкретного входного элемента (синапса), сумматор сигналов от всех синапсов связанных с этим нейроном, и некий нелинейный преобразователь реализующий функцию конкретного нейрона, тогда математическая модель нейрона может быть представлена в следующем виде Круглов, В.В. Искусственные нейронные сети. Теория и практика / В.В.:
(6)
(7)
где, - вес i-того сигнала (синапса),
b - значение смещения,
i-тый входной сигнал (синапс),
n - число входов нейрона,
s - результат суммирования,
у - выходной сигнал нейрона,
- нелинейный преобразователь (функция активации конкретного нейрона).
Веса могут быть как положительными (в случае возбуждающей синаптической связи), так и отрицательными (в случае тормозящей связи). Наиболее широко используемые варианты активационных функций приведены в монографии Селянин В.Е.: Разработка моделей и инструментальных средств анализа кредитного риска на основе технологии нечётких нейронных сетей : /[текст] ]: диссертация... кандидата экономических наук : 08.00.13 Волгоград, 2007.
Одной из наиболее распространенных является нелинейная функция активации с насыщением, так называемая логистическая функция или сигмоид, описываемая выражением:
(8)
Перед использованием по назначению, нейронная сеть должна быть обучена. Для этого входные данные должны быть представлены системе и соединительные веса для каждой функции должны быть откорректированы в соответствии с математическим алгоритмом, называемым «закон или метод обучения».
Процесс обучения может быть контролируемым и бесконтрольным. В контролируемом обучении участвуют оба вида данных: входные и выходные (реальные или желаемые). Здесь веса подправляются до тех пор, пока разница между расчётным и заданным выходами не станет минимальной. В случае бесконтрольного обучения, выходные данные не задаются.
Наиболее известные, по нашему мнению, законы обучения в порядке их преемственности могут быть представлены в такой последовательности:
1. Правило Хебба (Donald Olding Hebb, Canada): Базируется на входной и выходной информации доступной конкретному нейрону, и является одним из фундаментальных правил в самоорганизационных нейронных сетях.
2. Правило Ойя (E.Oja, Finland) максимизирует чувствительность выхода нейрона при ограниченной амплитуде весов.
3. Обобщённое Дельта-правило (Widrow B., Hoff M.E.,USA): Минимизация функции среднеквадратичной ошибки по принципу градиентного спуска. Базируется на правилах Хебба или идее постоянного изменения силы каждой связи с целью уменьшения разницы между получаемым результатом и нужным результатом.
4. Метод обратного распространения ошибки (англ. Backpropagation. А.И. Галушкин и одновременно и независимо Werbos P. J.) Это итеративный градиентный алгоритм, который используется с целью минимизации ошибки. Основная идея этого метода состоит в распространении сигналов ошибки от выходов сети к её входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы.
5. Правило Кохонена (Teuvo Kohonen, Finland): Следуя этому правилу, функции взаимодействия должны как бы состязаться друг с другом за возможность обучения. Побеждают функции с большим количеством связей с выходными элементами. Эти функции-победители тогда либо подавляют соседние функции либо возбуждают их. Только победители и их соседи могут иметь выходные потоки и корректировать свои веса. Количество функций-соседей может меняться во время обучающего периода. Обычно начинают с определения большого числа функций-соседей, которое затем сокращается в процессе обучения.
6. Генетические алгоритмы, к примеру, "репродуктивный план Холланда" (John Holland, USA): Метод обучения основанный на случайном отборе, с использованием механизмов, напоминающих биологическую эволюцию. Отличительной особенностью генетического алгоритма является акцент на использование оператора «скрещивания», который производит операцию рекомбинации решений-кандидатов, роль которой аналогична роли скрещивания в живой природе.
На сегодняшний момент наибольшее распространение получили обучение по методу обратного распространения ошибки и генетические алгоритмы. На вопрос о количестве итераций обучения никогда не находилось удовлетворительного ответа, они относятся к природе обучающего материала.
Несмотря на то что использование нейронных сетей в банковском бизнесе только начинается, уже есть примеры их применения в следующих направлениях Бахвалов Ю.Н.: О некоторых возможностях обучения радиально-базисных нейронных сетей, «Нейроинформатика» 2004 часть 2, стр.50-52.:
- в скоринге или для оценки риска невозврата кредитов;
- для оптимизации портфелей;
- для обеспечения безопасности транзакций по пластиковым карточкам;