Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 44
Текст из файла (страница 44)
По формулам (1.5), (1.6) определим, что при заданных значениях И„= б, И„= 1, Ип = 1? число нейронов в скрытом слое И< 4. 50 5 25 3 гвз [1МТЕййоОАТ1МС]> [Ноге а] 1 [Но1е Ь] 1 (Но!е с] 1 [Ноге О) 2 (Но1е е( 2 (Но1е (] 2 [Но1е д] 3 [Но1е Ь) 3 [Но!е г] 3 [Но!е)] 3 (Но1е К( 3 [ЕМ0) [ТЙА(М!МО) [Но!е 01) (Ноге 02) (Ноге 03) [Ноге 04] [Ноге 05 (Но(е 06 [Ноге 07 (Но(е 08 [Ноге 09( [Но1е 10) [Ноге 11] (Но1е 12] [Ноге 13) (Но1е 14] [Но!е 15] [Но1е 16) [Ноге 17! [емо] 250 300 200 200 300 300 300 250 200 !50 150 200 250 150 200 300 150 200 150 200 150 200 300 200 150 200 !50 200 20 20 40 20 10 50 50 30 40 40 40 20 20 10 5 ЗО 10 50 40 10 10 20 20 10 10 20 10 20 15 20 20 10 10 15 20 10 15 15 15 10 20 20 15 10 20 0 10 50 20 10 5 20 15 10 20 10 18 20 15 25 5 10 15 20 10 10 10 > 3 5 20 25 20 20 18 15 15 20 10 14 15 25 3 20 10 < 1000 1100 1600 1500 1200 1500 1700 1500 1000 1900 2100 2600 1500 1600 1000 1900 2100 Запустим программу Нецга! Р!аппег Используя правила работы с нейропакетом, изложенные в разд 54, построим нейронную сеть вида рис 67 и роведем ее обучение, используя установки по умолчанию Рис б 7 Вид нейронной сети к задаче о землекопах Выберем опцию меню Асбопдп!еггода1е В появившемся окне установим флажок в окне С~го!е, выделим мышью заголовок в правой части окна Кдгпзйтоиг и нажмем кнопку Веек Н~дЬ Это запустит циклический поиск наибольшего значения выхода Результат проделанных действий отображается рис 6 8 Рис Е 8 Результат поиска оптимального решения 284 Как видно, наибольшая производительность труда (2580 кг/час) из заданных вариантов обеспечивается при следующих условиях 3 землекопа, 4 лопаты, скалистость грунта 5'А, отсутствие в почве глины, температура воздуха 9'С Таким образом, поставленная задача решена, и ее результаты (т е обученную нейронную сеть) можно сохранить Интересно заметить, что в примере решения данной задачи, поставляемом вместе с нейропакетом, нейронная сеть имеет 6 нейронов в скрытом слое и обеспечивает нахождение максимума в 2563 кг/час при другом варианте набора входных факторов 6.6.
Аппроксимация функции Рассмотрим пример аппроксимации функции двух переменных с использованием нейропакета )к)ецга) Р)аппег Р(Х, У) = (1 — Ха) + 2(1 — У)~ Ограничим диапазон изменения переменных Х и У интервалом (-1, 1) Дпя решения задачи выберем топологию нейронной сети с двумя скрытыми слоями по четыре нейрона в каждом слое, с двумя входными и одним выходным нейроном (рис 6 9) Рис Б 9 Структура нейронной сети Дпя обучения сети используем выборку из 20 векторов, приведенных в табл 6 8 Время обучения сети при заданной ошибке 0,05 (остальные установки программы — по умолчанию) составило около 1 мин Сеть обучилась за 4500 цикпов Для проверки полученных результатов проведем опрос сети Результаты опроса приведены в табл 6 9 285 Таблица 6 8 Соде жанне айла с об чающей еыбо кой !.АВЕ!.3 Е(Х,У! ЕМО ТЙА!М!МС 8 129 -08 6.48 0.8 4 909 -0.6 -0 5 5.38 -06 -0.7 5.2 -0 4 -0 5 3. 94 -0.5 -0 3 0.2 3.708 3.342 -0 2 0.1 10 2.98 0.1 2.98 0.1 2.26 0.2 0.1 13 14 0.3 0.2 1 902 1 206 0.5 0.4 15 03 1.389 06 0.6 17 0 729 0.6 18 О.
34 0.8 07 19 0 0361 20 ЕМО !.!М!ТВ Ы Л5 8.129 !Ож5 ЕМО Таблица 6 9 286 Из табл. 6.9 видно, что результаты опроса не во всех случаях верны или ошибка намного больше заданной, например, при Х = 0,5, У = 0,5 (значения вектора 1) имеем Р(Х, У) = 0,958, а точное значение равно 1,0625, т е. ошибка составляет примерно 0,1 (при заданной ошибке обучения 0,05). Заметим, что точность аппроксимации можно повысить, увеличив обьем обучающей выборки.
6.7. Нейросетевая экспертная система В настоящее время известно много удачных примеров применения нейросетевого подхода для построения интеллектуальных информационных систем и, в частности, экспертных систем. Комбинированное использование экспертной системы и аппарата искусственных нейронных сетей обеспечивает необходимую гибкость и самообучение на основе знаний, в то же время, полученные от экспертов знания позволяют существенно упростить структуру нейронных сетей, уменьшить число нейронов и связей в сети Например, медицинские нейросетевые экспертные системы проявили себя как серьезный соперник традиционных экспертных систем, составляя конкуренцию квалифицированным экспертам. Исследования в Боткинской больнице (С.-Петербург), проведенные с использованием разработанной нейросетевой экспертной системы, показали ее превосходные возможности по диагностике некоторых классов болезней, которые плохо диагностируются врачами.
Результаты проверки свидетельствуют о высокой достоверности результатов, достигаемых такими системами (до 94'/О). Рассмотрим пример постановки задачи для экспертной системы. Многих людей беспокоят боли в спине, которые часто возникает внезапно и беэ определенной причины.
Обычно трудно определять характер недомогания из-за отсутствия признаков какого- либо конкретного заболевания. Боль обычно исчезает после короткого отдыха. Врачи называют это неопределенными болями в спине. Такие недомогания — основная причина потерянных рабочих дней. Люди, занимающиеся тяжелым физическим трудом, связанным, например, с поднятием тяжестей более подвержены периодически возникающим болям в спине Это может также беспокоить тех, кто проводит много времени без движения В любом случае, боли в спине могут иметь много причин.
Большое значение при этом имеет правильно поставленный диагноз. Целью построения экспертной системы является диагностика заболевания, которое может быть причиной периодических болей в спине. 287 Принцип построения экспертной системы на базе нейронной сети состоит в следующем. Составляются вопросы, ответы на которые имеют бинарный вид, т. е. «Да» или «Нет>. При составлении «вектора опроса», если при диагностике следует ответ «Да», то компоненту вектора присваивается 1, если «Нет», то — О. Согласно вышесказанному, решающее «дерево», приведенное на рис. 8.10, может быть записано в виде трех векторов: (...,1,1,0,...),(...,1,0,1,...)и(...,0, ).
Рис. 6 1О Часть решающего дерева Первые две записи (векторы) передают следующий смысл: если. Пациент имеет температуру выше 38'С, и чувствует баль только с одной стороны спины или Пациент чувствует недомогание, ТО: . Третья запись (вектор) передает: если: Пациент имеет температуру меньше 38'С. то ... Составим простые вопросы для диагностики возможных причин болей в спине. Входные векторы в лингвистической форме будут при этом иметь следующий вид: 1.1) Боль возникает после подъема тяжести? И)ИЛИ: 1 2) После истощающего физического упражнения? 2) Температура выше 36'С? 3.1) Пациент старше 60 лет? и/или 3 2) Пациент провел несколько недель в кровати или е инвалидном кресле? 4) Пациент старше 45 лет? 5) Боль сильнее утром? 6 1) Пациенту мешает боль при ходьбе? или.
6 2) Боль чувствуется только в одной ноге? 7) Боль ограничена главным образом в спине и не распространяется гденибудь еще? 8,1) Боль — только с одной стороны спины, выше талии? и. 288 6 2) Чувство тошноты? 9) Боль намного сильнее с одной стороны позвоночника? 10) Обычно болит шея или спина между плечами? Аналогично можно построить вектор выходных значений, руководствуясь тем же самым правилом, что и дпя входных. Если на выходе нейронной сети, соответствующем какому-либо диагнозу получаем 1, то на данный диагноз следует обратить внимание, так как он может быть причиной боли.
Вектор выходных переменных (диагноз) имеет следующие компоненты. 1) Ишиас, вызванный давлением на корень седалищного нерва; необходима консультация у врача 2) Возможный люмбаго (прострел), вероятно вызванный сильным напряжением спины. 3) Возможна инфекция почек, или боли могут являться сопровождением общего вирусного воспаления, необходима срочная консультация врача 4) Боль в спине (возможно очень сильная), может быть следствием какого либо вирусного заболевания, например гриппа, необходима консультация врача. 5) Возможно повреждение кости е результате какой либо травмы; необходима консультация врача 6) Возможен артрит позвонков шеи.
т/ Возможен остеоартрит в нижней части груди, почек или позвоночника 6) Возможно хроническое воспаление суставов 9) Причина боли не выяснена, необходима консультация врача. Полное решающее «дерево» дпя экспертной системы приведено на рис. 6.11 Сеть, реализующая зту систему с помощью нейропакета )Чецга! Р)аппег, приведена на рис. 6.12.
Сеть обучена при помощи 18 обучающих векторов, которые приведены в табл. 6.10. Дпя опроса сети необходимо закодировать в двоичном виде вопросы, а затем проделать обратную операцию с ответами. Время обучения сети при заданной ошибке 0,05 составило около 2 мин. Сеть обучилась за 7500 циклов.
Дпя проверки полученных результатов бып проведен спедующий опрос сети. Постановка и кодирование вопросов: 1 1) Боль возникает после подъема тяжести? Да — 1 и/или. 1.2) После истощающего физического упражнения? Дв — 1. 2) Температура выше 36'С? Нет-0 3.1) Пациент старше 60 лет? Нет — 0 и/или: 3 2) Пациент провел несколько недель в кровати или в инвалидном кресле? Нет — 0 4) Пациент старше 45 лет? Нет — 0 5) Боль сильнее утром? Да — 1 6 1) Пациенту мешает боль при ходьбе' > Да — 1.
или: 6.2) Боль чувствуется только е одной ноге? Нет — О. 289 7) Боль ограничена главным образом в спине и не распространяется гденибудь ещет Да — 1 8 1) Боль — только с одной стороны спины выше талант Да — 1 И 82) Чувствотошнотыо Нет-0 8) Боль намного сильнее с однои стороны позвоночникао Нет — 0 10) Обычно болит шея или спина между плечамио Нет — 0 Рис б 11 Полное решающее дерево 290 Рис б 12 Нейронная сеть реализующая зкспертную систему о результате опроса сети получен следующий диагноз 1) Ишиас вызванный давлением на корень седалищного нерва необходима консультация у врача Нет — О 2) Возможный люмбаго (прострел) возможно вызванный сильным напряжением спины Да — 1 3) Возможна инфекция почек или боли могут являться сопровождением общего вирусного воспаления необходима срочная консультация врача Нет — О 4) Боль в спине (возможно очень сильная) может быть следствием какого либо вирусного заболевания например гриппа необходима консультация врача Нет — О 5) Возможно повреждение кости в результате какой либо травмы необходима консультация врача Нет — О 6) Возможен артрит позвонков шеи Нет — О 7) Возможен астеоартрит в нижней части груди почек или позвоночника Нет — О 8) Возможно хроническое воспаление суставов Нет — О 9) Причина боли не выяснена необходима консультация врача Нет — О Следует отметить, что только врачи могут оценить правипьность ответов подобной экспертной системы 291 Таблица б 10 Соде жение файла с об чающей еыбо кай 37кееая 5 б 81 82 61 62 31 32 12 123 9 10 ЕМО ТЕЯТ!МО оо ооо а о о о о о о а ЕМО !йТЕЯЯООАТ!йо о о о о о о о о ооо оо о о о 717 о о ЕМО ТЯА!ММО а ел!а! о о о о о о ооо оо О О о О О 1ОО о о О О о о !ар о о о о ао о о о 1ОО о о о о оо о о о 1ОО О О о о оо о о 1ОО О О о о о аа о о о о о о о оо 1ОО о о о а О О а о аа 916 о о о о о о о о оа 816 о о о о о о О О оо 916 1О о о О О о о оо ОО1 о о о о о о о ос О О оа 12 о о О О ооо о 18 О О о о оаа о 16 1а о о о о о о ооо 1О 15 о о о о о о 61 ооо о 1б о о а о о о ооо а о ао 17 о о О О а о ооо о а оа 18 о о о о о о о о о о о О О ЕМО ом!тя н! ль ааиь о о о о а а о о ооо оа ЕМО 6.8.
Прогнозирование на финансовом рынке Рассмотрим пример создания нейронной сети дпя финансового прогнозирования, разобрав методику использования средств пакета Вга!пМахег 3.1 (пример взят из статьи Блинов С Практикум применения пакета Вга!пмахег дпя прогнозирования на финансовых рынках //Пйр://а!п.аг!а.ги/-пк1о/о//!Се/Ьгп й!п./31пг). 292 6.8.1.