Московский государственный университет путей сообщения
Опубликован: 12.09.2011 | Доступ: свободный | Студентов: 3753 / 307 | Оценка: 4.67 / 4.33 | Длительность: 18:55:00
Специальности: Программист
Лекция 13:

Методика построения системы принятия решений на основе логической нейронной сети

< Лекция 12 || Лекция 13: 123 || Лекция 14 >

Верификация нейросети

Последний, шестой этап выполнения методики заключается в верификации логической нейросети. Рассматривая точные, определённые ситуации как комбинации булевых значений (рассматриваемых как действительные), отражающих наступление событий, для которых составлялась логическая схема, необходимо удостовериться, что максимальное возбуждение нейрона выходного слоя соответствует предполагаемому решению. Правильная работа нейросети может быть подтверждена и в том случае, если с учётом достоверности событий (действительных переменных) заранее известно предпочтительное решение. Соответствующий нейрон выходного слоя должен максимально возбудиться.

После верификации логическая нейронная сеть может эксплуатироваться в рабочем режиме.

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

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

Продолжая обобщение, следует отметить:

  1. Моделирование ассоциативного мышления является основой создания таблиц, фиксирующих опыт вида "если – то", т.е. связывающих возникающие ситуации с принимаемыми по ним решениями. Распространение возбуждения в нейросети с помощью функции активации является эффективным механизмом интерполяции (экстраполяции) опыта, нахождения наиболее близкого решения, а также нахождения математического ожидания исхода.
  2. Благодаря логическому методу построения, математический аппарат нейронных сетей становится простым и доходчивым способом реализации "бесформульных" вычислений. Разработка нейросети не дорога, она не требует специальных знаний пользователя. В то же время нейросеть легко допускает обучение и развитие, включение новых факторов, изменение решений и т.д.
  3. Применение логических нейронных сетей позволяет создавать доступные широкому пользователю компьютерные системы мониторинга, управления и принятия решений во всех сферах экономической и социальной деятельности. Рассмотренные в следующих лекциях проекты таких систем в области оценки финансов и риска, в управлении и диагностике, в искусстве и развлечениях показывают универсальность подхода, возможность переориентирования нейросетей на новые применения. В особенности это касается наиболее распространённых совершенных нейросетей – однослойных, в каждом решении использующих все факторы.

Однако настоятельной рекомендацией является:

Следует отдавать предпочтение однослойным логическим нейронным сетям, ещё лучше – совершенным, даже в том случае, если приходится прибегать к размножению решений . Ведь при развитии СПР эти решения быстро становятся разными, будучи дополнены, как минимум, информацией о причине принимаемого решения. Кроме того, предлагаемая детализация лучше помогает вписывать нейросеть в более общую нейросетевую структуру - при создании длинных логических цепочек. Такая же детализация весьма эффективна при построении сетей с обратными связями.

Развитие "современной" системы принятия решений

Наш первый опыт построения системы принятия решений, где успешно действуют Вася, Петя & Ko, нельзя считать совершенным в смысле предлагаемой выше методики.

Во-первых, задача невнятно сформулирована дядей Рамзаем: что означает информация о том, что, например, Марина торговала товаром В1, когда её навестил Вася? Что, другого товара не было? Но если был и товар В2, то какое решение из этого следует? Каковы предпочтения? Как количественно учитывается наличие разных товаров?

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

Хорошо усвоив главную рекомендацию об упрощении подхода, об упрощении логических выражений, об избыточном размножении решений , о сведении сети к однослойной и даже – к совершенной, приступим к уточнению системы принятия решений, взывая к опыту дяди Рамзая.

А именно, заставим его объём своей прибыли поставить в зависимость от количественных оценок товара, находящегося на реализации в каждой торговой точке. Продукцию В1 будем отображать ящиками, разбив их количественно на значимые, возможные интервалы. Аналогично, сотнями кассет будем измерять продукцию В2, а килограммами – продукцию В3.

Например, существенно влияющими на "результат" могут быть следующие оценки поступившей на реализацию продукции В1:

до 5 ящиков, от 5 до 10 ящиков, от 10 и выше.

Продукцию В2 можно учитывать следующим образом:

до 5 сотен кассет, от 5 до 10 сотен, от 10 сотен и выше.

Продукцию В3 по характеру значимости целесообразно рассматривать:

до 10 кг, от 10 до 100 кг, от 100 кг и выше.

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

Для составления обученной однослойной логической нейронной сети свяжем напрямую все возможные ситуации (задаваемые на рецепторах), для которых дядя Рамзай знает ответы, с нейронами, "отвечающими" за рекомендуемые решения. Решения принадлежат тому же множеству {R_1, …, R_5}. Распределение рецепторов, воспринимающих оценки достоверности высказываний о принадлежности данных, и некоторые связи в нейронной сети для части возможных ситуаций показаны на рис.13.2.

Примерный вид полной логической нейронной сети для игры в "современную" систему принятия решений

увеличить изображение
Рис. 13.2. Примерный вид полной логической нейронной сети для игры в "современную" систему принятия решений

Несомненно, работа с нечёткими данными значительно усложнилась. Ведь дядя Рамзай может "работать" только на уровне предположений, опираясь на совесть недобросовестных осведомителей. Накопив достаточный опыт, дядя Рамзай может ввести веса, с которыми разные ситуации или значения отдельных факторов влияют на рекомендуемые решения. Он легко пополняет нейросеть новыми фигурантами. Возможности развития СПР неограниченны!

Ключевые термины

Исчерпывающее множество событий множество событий, сумма вероятностей наступления которых равна единице.

Дизъюнктивная нормальная форма – форма представления логического выражения в виде дизъюнкции конъюнкций переменных.

Размножение решений – сопоставление принимаемого решения нескольким или каждой конъюнкции, входящей в состав дизъюнктивной нормальной формы.

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

Структурированная логическая нейронная сеть сеть со скобочной структурой логического описания, не приведённого к дизъюнктивной нормальной форме.

Краткие итоги

  1. При составлении логического описания системы принятия решений следует оперировать исчерпывающими множествами событий.
  2. Логическое описание СПР следует представить дизъюнктивной нормальной формой, исключив отрицания событий на основе их вхождения в исчерпывающие множества.
  3. Рекомендуется произвести размножение решений, поставив в соответствие каждой конъюнкции следующее ей решение. В частности, это позволяет избежать неоднократного вхождения переменных. Повторения одних и тех же решений не следует опасаться: ведь их текст может быть дополнен указанием причины принятия или другим комментарием.
  4. На основе полученного описания, содержащего лишь отношения вида <вектор значений факторов> \to <решение>, составляется обученная однослойная логическая нейронная сеть, оперирующая нечёткими данными.

    Примечание: Если формальное логическое описание СПР произведено в структурированной форме, содержащей скобки или неоднократное вхождение переменных, можно столкнуться с теми трудностями, что преодолеваются в [6] при построении структурированных логических нейронных сетей для достижения их большей "правдивости". Однослойные сети, сведение к которым возможно всегда, иллюстрируют ясность мышления, умение "разложить по полочкам", лёгкую модифицируемость и развитие. Кроме того, алгоритм трассировки (обучения) структурированных нейросетей при использовании заранее предложенной структуры связей значительно сложнее алгоритма трассировки однослойной сети.

  5. Если известна степень влияния каждого из использованных значений факторов на принимаемое решение, следует ввести веса соответствующих связей. В противном случае предполагается, что веса связей равны единице.
  6. Для программирования и формального исследования необходимо использовать матрицу следования, которая для однослойных сетей представляет собой таблицу, содержащую строку значений возбуждения рецепторов и п строк, соответствующих п нейронам выходного слоя. В этих строках указаны веса связей с рецепторами.
  7. Функция активации выбирается исходя из "физического смысла" задачи. Однако чаще всего эта пороговая функция, в случае преодоления порога h имеет вид: V=\frac {\sum \limits_i \omega_i V_i}{\sum \limits_i \omega_i }, где V_i – значения возбуждения рецепторов, связанных с данным нейроном, \omega_i – веса этих связей. Если все веса единичные, данная функция приобретает вид V:=\frac {1}{m}\sum \limits_i V_i, где m - количество активных входов нейрона.
  8. Порог h подбирается экспериментально так, чтобы получать правильные решения в допустимом диапазоне изменения нечётких данных, но исключать из рассмотрения заведомо неприемлемые решения.
  9. Введение обратных связей трудно поддаётся формализации и является творческой работой на основе глубокого понимания моделируемого процесса. Веса обратных связей могут быть и переменными, и отрицательными. Отсюда и выбор функции активации может превратиться в задачу, требующую высокого остроумия.

Вопросы:

  1. Почему при логическом описании системы принятия решений следует оперировать исчерпывающими множествами событий?
  2. Как логические функции, входящие в состав описания системы принятия решений, преобразуются в дизъюнктивные нормальные формы?
  3. Что подразумевается под размножением решений?
  4. Как формируется однослойная логическая нейронная сеть, оперирующая нечёткими данными?
  5. Как вводятся веса связей?
  6. Что собой представляет матрица следования и для чего она нужна?
  7. Как выбирается функция активации нейрона?
  8. Как выбирается порог?
  9. Как строятся обратные связи?
< Лекция 12 || Лекция 13: 123 || Лекция 14 >
Кирилл Артамонов
Кирилл Артамонов

"Тогда как задать возбуждение рецепторов, если инспектор точно установил, что скорость автомобиля при наезде на пешехода была равна 114 км/час?
По-видимому, он рассуждает на основе близости скорости к границам указанного интервала: "Достоверность того, что скорость автомобиля составляет 100 км/час, я найду как (114 – 100):(120 – 100), а достоверность того, что скорость автомобиля составляет 120 км/час, я найду как (120 – 114):(120 – 100). Следует обратить внимание на то, что сумма найденных достоверностей равна единице."

Вопрос по расчёту скорости и сумме достоверности: этот математический (приведенный выше в виде контекста из материала лекции 1, страницы 3) метод справедлив к скоростным показателям выходящим за рамки диапазона 100-120. 
То есть, практически применяв к расчёту, скорости из диапазона 114-155, к диапазону 100-120, получал в результате суммирования достоверностей единицу.
Это похоже на то, как я видимые разные скоростные показатели своим рецептором, буду воспринимать линейно с помощью одного диапазона, так как он универсален. 
Правильно ли это ? 
И как манипулировать данными показателями, если есть универсальный диапазон, по результату выводящий в сумме постоянно единицу на разных скоростных показателях стремящегося.

Владислав Гладышев
Владислав Гладышев

А как проходить курс ? я же могу прямо сейчас все лекции прочитать и здать экзамен, к чему там даты ?