Экономика как наука возникла в 1776 году, когда шотландский философ Адам Смит (1723—1790) опубликовал свою книгу An
Большинство людей считают, что экономика посвящена изучению денежного оборота, но любой экономист ответит на это, что в действительности он изучает то, как люди делают выбор, который ведёт к предпочтительным для них результатам. Математическая трактовка понятия "предпочтительных результатов", или полезности, была впервые формализована Леоном Валрасом (1834—1910), уточнена Фрэнком Рамсеем, а затем усовершенствована Джоном фон Нейманом и Оскаром Моргенштерном в книге The
Теория решений, которая объединяет в себе теорию вероятностей и теорию полезности, предоставляет формальную и полную инфраструктуру для принятия решений (в области экономики или в другой области) в условиях неопределённости. Следовательно, в тех случаях, когда среда, в которой действует лицо, принимающее решение, наиболее адекватно может быть представлена лишь с помощью вероятностных описаний.
Она хорошо подходит для "крупных" экономических образований, где каждый агент не обязан учитывать действия других агентов как индивидуумов. А в "небольших" экономических образованиях ситуация в большей степени напоминает игру, поскольку действия одного игрока могут существенно повлиять на полезность действий другого (или положительно, или отрицательно).
Теория игр, разработанная фон Нейманом и Морген Штерном, позволяет сделать неожиданный вывод, что в некоторых играх рациональный агент должен действовать случайным образом или, по крайней мере, таким образом, который кажется случайным для соперников.
Экономисты чаще всего не пытаются выработать способ принятия рациональных решений в тех условиях, когда вознаграждение в ответ на определённые действия не предоставляется немедленно, а становится результатом нескольких действий, выполненных в определенной последовательности.
Изучению этой темы посвящена область исследования операций, которая возникла во время Второй мировой войны в результате усилий, которые были предприняты в Британии по оптимизации работы радарных установок, а в дальнейшем нашла применение и в гражданском обществе при выработке сложных управленческих решений.
В работе Ричарда Беллмана формализован определённый класс последовательных задач выработки решений, называемых марковскими процессами принятия решений (Markov Decision Process —
Работы в области экономики и исследования операций оказали большое влияние на сформулированное понятие рациональных агентов, но в течение многих лет исследования в области искусственного интеллекта проводились совсем по другим направлениям. Одной из причин этого была кажущаяся сложность задачи выработки рациональных решений. Тем не менее, Герберт Саймон (1916—2001) в некоторых из своих ранних работ показал, что лучшее описание фактического поведения человека дают модели, основанные на удовлетворении (принятии решений, которые являются "достаточно приемлемыми"), а не модели, предусматривающие трудоёмкий расчёт оптимального решения. Он стал одним из первых исследователей в области искусственного интеллекта, получившим Нобелевскую премию по экономике (это произошло в 1978 году). В 1990-х годах наблюдалось возрождение интереса к использованию методов теории решений для систем агентов.
Математическая
Прежде чем нечёткий подход к моделированию сложных систем получил признание во всём мире, прошло не одно десятилетие с момента зарождения
Первый период (конец 60-х–начало 70 г.г.) характеризуется развитием теоретического аппарата нечётких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечёткого управления сложными техническими системами (парогенератор с нечётким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, построенных на
Триумфальное шествие
Характеристикой нечёткого множества выступает
Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяться от 0 до 100 градусов. Нечёткое множество для понятия "горячий чай" может выглядеть следующим образом:
$$C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.$$Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечёткость задания соответствующего множества.
Для нечётких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчётов, являются пересечение и объединение.
Пересечение двух нечётких множеств (нечёткое "И"): A B:
$$MFAB(x)=min(MFA(x), MFB(x)).$$Объединение двух нечётких множеств (нечеткое "ИЛИ"):
$$MFAB(x)=max(MFA(x), MFB(x)).$$ $$MF(x)=\begin{cases} 1-\frac{b-x}{b-a}, a \le x \le b\\ 1-\frac{x-с}{с-b}, b \le x \le c\\ 0,\text{в остальных случаях} \end{cases}$$При $$(b-a)=(c-b)$$ имеем случай симметричной треугольной
Аналогично для задания трапецеидальной
При (b-a)=(d-c) трапецеидальная
(рис 11.1) Типовые кусочно-линейные функции принадлежности
(рис 11.2) Гауссова функция принадлежности
Совокупность функций принадлежности для каждого терма из базового
(рис 11.3) Описание лингвистической переменной "Цена акции"
(рис 11.4) Описание лингвистической переменной "Возраст"
Количество термов в
Основой для проведения операции
В противном случае имеет место неполная база нечётких правил.
Пусть в
$$R_1: ЕСЛИ\ x_1\ это\ A_{11} … И … x_n\ это\ A_{1n},\ ТО\ y\ это\ B_1$$
. . .
$$R_i: ЕСЛИ\ x_1\ это\ A_{i1} … И … x_n\ это\ A_{in},\ ТО\ y\ это\ B_i$$
. . .
$$R_m: ЕСЛИ\ x_1\ это\ A_{i1} … И … x_n\ это\ A_{mn},\ ТО\ y\ это\ B_m,$$
где $$x_k , k=1..n$$ – входные переменные; y – выходная переменная; $$A_{ik}$$ – заданные нечёткие множества с функциями принадлежности.
Результатом нечёткого вывода является чёткое значение переменной y* на основе заданных чётких значений $$x_k , k=1..n$$.
В общем случае механизм логического вывода включает четыре этапа: введение нечёткости (фазификация), нечёткий вывод, композиция и приведение к чёткости, или дефазификация (рис.11.5).
(рис 11.5) Система нечёткого логического вывода
Алгоритмы нечёткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечёткого вывода Мамдани, Сугено, Ларсена, Цукамото.
Рассмотрим подробнее нечёткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространённый способ логического вывода в нечётких системах. В нём используется минимаксная композиция нечётких множеств. Данный механизм включает в себя следующую последовательность действий.
Далее находятся "усечённые"
Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рис.11.6 графически показывает процесс нечёткого вывода по Мамдани для двух входных переменных и двух нечётких правил R1 и R2.
(рис 11.6) Схема нечёткого вывода по Мамдани
Гибридизация методов интеллектуальной обработки информации – девиз, под которым прошли 90-е годы у западных и американских исследователей. В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления" (
Влияние
Нечёткие
Наибольшее распространение в настоящее время получили архитектуры нечёткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.
Быстрые алгоритмы обучения и интерпретируемость накопленных знаний – эти факторы сделали сегодня нечёткие
Классические нечёткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удаётся обеспечить. Адаптивные нечёткие системы (adaptive
Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определённое противоречие: для генерации нечётких правил необходимы
Значительная часть методов обучения нечётких систем использует
Значительный вклад в развитие теории и практики нечётких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).
Нечёткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент даёт возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съёме жилья близко к центру города", что невозможно при использовании стандартного
Нечёткие ассоциативные правила (fuzzy associative rules) – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечёткой транзакции, поддержки и достоверности нечёткого ассоциативного правила.
Нечёткие когнитивные карты (fuzzy
Нечёткие методы кластеризации, в отличие от чётких методов (например,
Список можно продолжить и дальше: нечёткие деревья решений, нечёткие сети Петри, нечёткая
Область ИИ, нашедшая наиболее широкое применение -
Нейросети предпочтительны там, где имеется очень много входных данных, в которых скрыты закономерности. Целесообразно использовать нейросетевые методы в задачах с неполной или "зашумлённой" информацией, а также в таких, где решение можно найти интуитивно.
Нейросети применяются для предсказания рынков, оптимизации товарных и денежных потоков, анализа и обобщения социологических опросов, предсказание динамики политических рейтингов, оптимизации производственного процесса, комплексной диагностики качества продукции и для многого, многого другого.
Поскольку экономические, финансовые и социальные системы очень сложны и являются результатом действий и противодействий различных людей, то является очень сложным (если не невозможным) создать полную математическую модель с учётом всех возможных действий и противодействий. Практически невозможно детально аппроксимировать модель, основанную на таких традиционных параметрах, как максимизация полезности или максимизация прибыли.
В системах подобной сложности является естественным и наиболее эффективным использовать модели, которые напрямую имитируют поведение общества и экономики. А это как раз то, что способна предложить методология
Ниже перечислены области, в которых эффективность применения
Для финансовых операций:
Для планирования работы предприятия:
Для бизнес - аналитики и поддержки принятия решений:
Другие приложения:
Независимый экспертный совет по стратегическому анализу проблем внешней и внутренней политики при Совете Федерации НИИ искусственного интеллекта представил проект "Технология нового поколения на основе недоопределённых вычислений и её использование для разработки экспериментальной модели макроэкономики РФ". Появилась возможность просчитывать исход любого действия или предложения, касающегося бюджета страны, на много лет вперёд.
Система позволяет видеть, как изменится доходная часть, дефицит бюджета, объём промышленного производства в ответ, скажем, на увеличение налогов. Также можно посмотреть, сколько денег в прошлом году уплыло из бюджета: электронная машина, по уверению учёных, легко сможет справиться и с такой задачей. Ей даже не надо будет объяснять понятие "чёрный нал".
Можно решить и обратную задачу. Например, а что надо сделать, чтобы к 2020 году объём производства увеличился или, скажем, хотя бы не падал? Машина укажет нижнюю и верхнюю границу значений в том и другом случае для отпускаемых бюджетных денег по всем параметрам, так или иначе влияющим на производство.
Кроме того, можно узнать не по гороскопу и без помощи магов возможную последовательность "критических" и "удачных" моментов в развитии экономики страны при заданных исходных данных.
Разработчики проекта создали пока лишь демонстрационную модель, охватывающую около 300 параметров и период от 1990-го до 1999 года. Но для нормальной работы необходимо не менее 1000 параметров. И такая работа может быть проведена, если на неё будут отпущены средства. Надо провести множество прикладных работ, необходимы фундаментальные исследования по обоим основным составляющим проекта - математической и экономической. Здесь нужна серьёзная государственная материальная поддержка.
Внедрение действующей
Интерес к искусственным
Технологии
Применение
Поэтому наивно верить, что нейросеть будет автоматически предсказывать курсы основных индикаторов — национальной валюты или, например, драгоценных металлов на нестабильных рынках. Но при любой рыночной ситуации существуют инструменты, сохраняющие стабильность. Например, при скачках доллара — это "дальние"
Над созданием
Продажа одного только нейросетевого пакета "Brain Maker Pro" сравнима с объёмами продаж самого популярного пакета технического анализа MetaStock (в США продано более 20000 копий Brain Maker Pro).
Хорошо зарекомендовал себя пакет "The AI Trilogy". ("Трилогия искусственного интеллекта") американской фирмы "Ward Systems Group". Это набор из трёх программ, каждая из которых может использоваться как самостоятельно, так и в комбинации с остальными.
Так, программа "NeuroShell II" — это набор из 16 типов
"The AI Trilogy" на американском рынке пользуется большим спросом. Пакет установлен в 150 крупнейших банках США. Он многократно побеждал в престижных конкурсах популярных финансовых изданий и помогает управлять капиталами в несколько миллиардов долларов. Фирма "Du Pont" (институт стандартов США и ФБР) считает "Трилогию искусственного интеллекта" лучшей для решения различных задач.
Интересен и знаменателен малоизвестный факт, что ключевые компоненты этого пакета были написаны российскими программистами. Своим обликом пакет обязан группе разработчиков из небольшой московской компании "Нейропроект" под руководством профессора Персиянцева. Она более трёх лет выполняла заказы фирмы "Ward Systems Group" и нашла удачные решения. Можно сказать, что русские программы управляют финансами Америки и задачами ФБР!
Насколько может быть полезен пакет финансистам? В состоянии ли он будет работать на нашем непредсказуемом рынке, где одно решение Центробанка может мгновенно опрокинуть рынок? Предваряя эти вопросы, владельцы пакета предлагают специальную консалтинговую услугу.
С банком, аналитики которого не верят в прогнозируемость нашего рынка, заключается специальный договор. В течение определённого периода: две недели, месяц или больше, за символическую плату банку ежедневно предоставляются прогнозы на завтрашний день (или на неделю вперед) по
И не было ни единого случая, когда клиент отказывался от покупки. Показательный и впечатляющий случай имел место между выборами, когда один из крупных банков проводил подобное тестирование пакета. Плясали курсы бумаг, падали и поднимались политики, но каждый вечер банк получал прогноз с набором завтрашних цен (мини – макси – средневзвешенная – закрытие) по шестнадцати бумагам ГКО. Не прошло и двух недель, как банк заключил договор на поставку аналитического комплекса, способного сохранять работоспособность даже в таких бурных и непредсказуемых ситуациях.
Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединённых многочисленными связями (в среднем несколько тысяч связей на один
Нейроны - это специальные клетки, способные распространять электрохимические сигналы (рис.11.7).
(рис 11.7) Структура нейрона
Интенсивность сигнала, получаемого
Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берёт взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определённый уровень, передаёт дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи. Разумеется, здесь не затронуто многих сложных аспектов устройства мозга, однако интересно то, что искусственные
Чтобы отразить суть биологических нейронных систем, определение искусственного
При этом используется ступенчатая функция активации (т.е. выход
Это было описание отдельного
Ключевой вопрос здесь - обратная связь (Haykin, 1994). Простейшая сеть имеет структуру прямой передачи сигнала: сигналы проходят от входов через скрытые элементы и в конце концов приходят на выходные элементы. Такая структура имеет устойчивое поведение. Если же сеть рекуррентная (т.е. содержит связи, ведущие назад от более дальних к более ближним нейронам), то она может быть неустойчива и иметь очень сложную динамику поведения.
Типичный пример сети с прямой передачей сигнала показан на рис.11.8.
(рис 11.8) Сеть с прямой передачей сигнала
Нейроны регулярным образом организованы в слои. Входной слой служит просто для ввода значений входных переменных. Каждый из скрытых и выходных нейронов соединён со всеми элементами предыдущего слоя.
Можно было бы рассматривать сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя; однако, для большинства приложений сети с полной системой связей предпочтительнее, и именно такой тип сетей реализован в пакете ST
При работе (использовании) сети во входные элементы подаются значения входных переменных, затем последовательно отрабатывают нейроны промежуточных и выходного слоев. Каждый из них вычисляет своё значение активации, беря взвешенную сумму выходов элементов предыдущего слоя и вычитая из неё пороговое значение. Затем значения активации преобразуются с помощью функции активации, и в результате получается выход
В предыдущем разделе в несколько упрощенном виде было описано, как нейронная сеть преобразует входные сигналы в выходные. Теперь возникает следующий важный вопрос: как применить нейронную сеть к решению конкретной задачи?
Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдаёт значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определённая известная информация, и Вы хотите из неё получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач:
Прогнозирование на
Предоставление кредита. Требуется определить, высок ли риск предоставления кредита частному лицу, обратившемуся с такой просьбой. В результате разговора с ним известен его доход, предыдущая кредитная история и т.д.
Управление. Нужно определить, что должен делать робот (повернуться направо или налево, двигаться вперёд и т.д.), чтобы достичь цели; известно изображение, которое передаёт установленная на роботе видеокамера.
Разумеется, вовсе не любую задачу можно решить с помощью нейронной сети. Если Вы хотите определить результаты лотереи, тираж которой состоится через неделю, зная свой размер обуви, то едва ли это получится, поскольку эти вещи не связаны друг с другом. На самом деле, если тираж проводится честно, то не существует такой информации, на основании которой можно было бы предсказать результат. Многие финансовые структуры уже используют
Итак, мы приходим ко второму важному условию применения
Как правило, нейронная сеть используется тогда, когда неизвестен точный вид связей между входами и выходами, - если бы он был известен, то связь можно было бы моделировать непосредственно.
Другая существенная особенность
Для управляемого обучения сети пользователь должен подготовить набор обучающих данных. Эти данные представляют собой примеры входных данных и соответствующих им выходов. Сеть учится устанавливать связь между первыми и вторыми. Обычно обучающие данные берутся из исторических сведений. В рассмотренных выше примерах это могут быть предыдущие значения цен акций и индекса FTSE, сведения о прошлых заемщиках - их анкетные данные и то, успешно ли они выполнили свои обязательства, примеры положений робота и его правильной реакции.
Затем нейронная сеть обучается с помощью того или иного алгоритма управляемого обучения (наиболее известным из них является метод обратного распространения, предложенный в работе Rumelhart et al., 1986), при котором имеющиеся данные используются для
Если задача будет решаться с помощью нейронной сети, то необходимо собрать данные для обучения. Обучающий набор данных представляет собой набор наблюдений, для которых указаны значения входных и выходных переменных. Первый вопрос, который нужно решить, - какие переменные использовать и сколько (и каких) наблюдений собрать.
Выбор переменных (по крайней мере, первоначальный) осуществляется интуитивно. Опыт работы в данной предметной области поможет определить, какие переменные являются важными. При работе с пакетом ST
Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж, Жен}. Переменные с номинальными значениями можно представить в числовом виде, и в системе ST
Пусть, например, мы хотим научить нейронную сеть оценивать стоимость объектов недвижимости. Цена дома очень сильно зависит от того, в каком районе города он расположен. Город может быть подразделён на несколько десятков районов, имеющих собственные названия, и кажется естественным ввести для обозначения района переменную с номинальными значениями. К сожалению, в этом случае обучить нейронную сеть будет очень трудно, и вместо этого лучше присвоить каждому району определённый рейтинг (основываясь на экспертных оценках).
Нечисловые данные других типов можно либо преобразовать в числовую форму, либо объявить незначащими. Значения дат и времени, если они нужны, можно преобразовать в числовые, вычитая из них начальную дату (время). Обозначения денежных сумм преобразовать совсем несложно. С произвольными текстовыми полями (например, фамилиями людей) работать нельзя, и их нужно сделать незначащими.
Вопрос о том, сколько наблюдений нужно иметь для обучения сети, часто оказывается непростым. Известен ряд эвристических правил, увязывающих число необходимых наблюдений с размерами сети (простейшее из них гласит, что число наблюдений должно быть в десять раз больше числа связей в сети). На самом деле это число зависит также от (заранее неизвестной) сложности того отображения, которое нейронная сеть стремится воспроизвести. С ростом количества переменных количество требуемых наблюдений растёт нелинейно, так что уже при довольно небольшом (например, пятьдесят) числе переменных может потребоваться огромное число наблюдений.
Для большинства реальных задач бывает достаточно нескольких сотен или тысяч наблюдений. Для особо сложных задач может потребоваться еще большее количество, однако очень редко может встретиться (даже тривиальная) задача, где хватило бы менее сотни наблюдений. Если данных меньше, чем здесь сказано, то на самом деле недостаточно информации для обучения сети, и лучшее, что можно сделать - это попробовать подогнать к данным некоторую линейную модель.
В пакете ST
Во многих реальных задачах приходится иметь дело с не вполне достоверными данными. Значения некоторых переменных могут быть искажены шумом или частично отсутствовать. Пакет ST
Следовательно, при работе с НС необходимо выбирать такие переменные, которые, по предположению, влияют на результат.
С числовыми и номинальными переменными в пакете ST
Для анализа нужно иметь порядка сотен или тысяч наблюдений; чем больше в задаче переменных, тем больше нужно иметь наблюдений. Пакет ST
В случае необходимости можно работать с наблюдениями, содержащими пропущенные значения. Наличие выбросов в данных может создать трудности. Если возможно, следует удалить выбросы. Если данных достаточное количество, следует убрать из рассмотрения наблюдения с пропущенными значениями.
Всякая нейронная сеть принимает на входе числовые значения и выдаёт на выходе также числовые значения. Передаточная функция для каждого элемента сети обычно выбирается таким образом, чтобы её
(рис 11.9) Логистическая функция
Коль скоро выходные значения всегда принадлежат некоторой ограниченной области, а вся информация должна быть представлена в числовом виде, очевидно, что при решении реальных задач методами
Шкалирование. Числовые значения должны быть приведены в масштаб, подходящий для сети. Обычно исходные данные масштабируются по линейной шкале. В пакете ST
В некоторых случаях более подходящим может оказаться нелинейное шкалирование (например, если заранее известно, что переменная имеет экспоненциальное распределение, имеет смысл взять ее логарифм). Нелинейное шкалирование не реализовано в модуле ST
Номинальные переменные. Номинальные переменные могут быть двузначными (например, Пол ={Муж, Жен}) или многозначными (т.е. принимать более двух значений или состояний). Двузначную номинальную переменную легко преобразовать в числовую (например, Муж = 0, Жен = 1). С многозначными номинальными переменными дело обстоит сложнее. Их тоже можно представить одним числовым значением (например, Собака = 0, Овца = 1, Кошка = 2), однако при этом возникнет (возможно) ложное упорядочивание значений номинальной переменной: в рассмотренном примере Овца окажется чем-то средним между Собакой и Кошкой. Существует более точный способ, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальной переменной; при этом всякий раз ровно одна из N переменных принимает ненулевое значение (например, Собака = {1,0,0}, Овца = {0,1,0}, Кошка = {0,0,1}). В пакете ST
Задачи прогнозирования можно разбить на два основных класса: классификация и регрессия.
В задачах классификации нужно бывает определить, к какому из нескольких заданных классов принадлежит данный входной набор. Примерами могут служить предоставление кредита (относится ли данное лицо к группе высокого или низкого кредитного риска), диагностика раковых заболеваний (опухоль, чисто), распознавание подписи (поддельная, подлинная). Во всех этих случаях, очевидно, на выходе требуется всего одна номинальная переменная. Чаще всего (как в этих примерах) задачи классификации бывают двузначными, хотя встречаются и задачи с несколькими возможными состояниями.
В задачах регрессии требуется предсказать значение переменной, принимающей (как правило) непрерывные числовые значения: завтрашнюю цену акций, расход топлива в автомобиле, прибыли в следующем году и т.п.. В таких случаях в качестве выходной требуется одна числовая переменная.
Нейронная сеть может решать одновременно несколько задач регрессии и/или классификации, однако обычно в каждый момент решается только одна задача. Таким образом, в большинстве случаев нейронная сеть будет иметь всего одну выходную переменную; в случае задач классификации со многими состояниями для этого может потребоваться несколько выходных элементов (этап пост-процессирования отвечает за преобразование информации из выходных элементов в выходную переменную).
В пакете ST
Эта архитектура сети используется сейчас наиболее часто. Она была предложена в работе Rumelhart, McClelland (1986) и подробно обсуждается почти во всех учебниках по
Количество входных и выходных элементов определяется условиями задачи. Сомнения могут возникнуть в отношении того, какие входные значения использовать, а какие нет. Сейчас будем предполагать, что входные переменные выбраны интуитивно и что все они являются значимыми. Вопрос же о том, сколько использовать промежуточных слоёв и элементов в них, пока совершенно неясен. В качестве начального приближения можно взять один промежуточный слой, а число элементов в нём положить равным полусумме числа входных и выходных элементов.
После того, как определено число слоёв и число элементов в каждом из них, нужно найти значения для весов и порогов сети, которые бы минимизировали ошибку прогноза, выдаваемого сетью. Именно для этого служат алгоритмы обучения. С использованием собранных исторических данных веса и пороговые значения автоматически корректируются с целью минимизировать эту ошибку. По сути, этот процесс представляет собой подгонку модели, которая реализуется сетью, к имеющимся обучающим данным. Ошибка для конкретной конфигурации сети определяется путём прогона через сеть всех имеющихся наблюдений и сравнения реально выдаваемых выходных значений с желаемыми (целевыми) значениями. Все такие разности суммируются в так называемую
В традиционном моделировании (например, линейном моделировании) можно алгоритмически определить конфигурацию модели, дающую абсолютный минимум для указанной ошибки. Цена, которую приходится платить за более широкие (нелинейные) возможности моделирования с помощью
В этих рассмотрениях оказывается очень полезным понятие поверхности ошибок. Каждому из весов и порогов сети (т.е. свободных параметров модели; их общее число обозначим через N) соответствует одно измерение в многомерном пространстве. N+1-е измерение соответствует ошибке сети. Для всевозможных сочетаний весов соответствующую ошибку сети можно изобразить точкой в N+1-мерном пространстве, и все такие точки образуют там некоторую поверхность - поверхность ошибок. Цель обучения нейронной сети состоит в том, чтобы найти на этой многомерной поверхности самую низкую точку.
В случае линейной модели с суммой квадратов в качестве
В случае нейронной сети поверхность ошибок имеет гораздо более сложное строение и обладает рядом неприятных свойств, в частности, может иметь локальные минимумы (точки, самые низкие в некоторой своей окрестности, но лежащие выше глобального минимума), плоские участки, седловые точки и длинные узкие овраги.
Аналитическими средствами невозможно определить положение глобального минимума на поверхности ошибок, поэтому обучение нейронной сети по сути дела заключается в исследовании поверхности ошибок. Отталкиваясь от случайной начальной конфигурации весов и порогов (т.е. случайно взятой точки на поверхности ошибок), алгоритм обучения постепенно отыскивает глобальный минимум. Как правило, для этого вычисляется градиент (наклон) поверхности ошибок в данной точке, а затем эта информация используется для продвижения вниз по склону. В конце концов алгоритм останавливается в нижней точке, которая может оказаться всего лишь локальным минимумом (а если повезет - глобальным минимумом).
Самый известный вариант алгоритма обучения нейронной сети - так называемый
В алгоритме обратного распространения вычисляется вектор градиента поверхности ошибок. Этот вектор указывает направление кратчайшего спуска по поверхности из данной точки, поэтому если мы "немного" продвинемся по нему, ошибка уменьшится. Последовательность таких шагов (замедляющаяся по мере приближения к дну) в конце концов приведет к минимуму того или иного типа. Определенную трудность здесь представляет вопрос о том, какую нужно брать длину шагов.
При большой длине шага сходимость будет более быстрой, но имеется опасность перепрыгнуть через решение или (если поверхность ошибок имеет особо вычурную форму) уйти в неправильном направлении. Классическим примером такого явления при обучении нейронной сети является ситуация, когда алгоритм очень медленно продвигается по узкому оврагу с крутыми склонами, прыгая с одной его стороны на другую. Напротив, при маленьком шаге, вероятно, будет схвачено верное направление, однако при этом потребуется очень много итераций. На практике величина шага берется пропорциональной крутизне склона (так что алгоритм замедляет ход вблизи минимума) с некоторой константой, которая называется скоростью обучения. Правильный выбор скорости обучения зависит от конкретной задачи и обычно осуществляется опытным путем; эта константа может также зависеть от времени, уменьшаясь по мере продвижения алгоритма.
Обычно этот алгоритм видоизменяется таким образом, чтобы включать слагаемое импульса (или инерции). Этот член способствует продвижению в фиксированном направлении, поэтому если было сделано несколько шагов в одном и том же направлении, то алгоритм "увеличивает скорость", что (иногда) позволяет избежать локального минимума, а также быстрее проходить плоские участки.
Таким образом, алгоритм действует итеративно, и его шаги принято называть эпохами. На каждой эпохе на вход сети поочередно подаются все обучающие наблюдения, выходные значения сети сравниваются с целевыми значениями и вычисляется ошибка. Значение ошибки, а также градиента поверхности ошибок используется для
Одна из наиболее серьёзных трудностей изложенного подхода заключается в том, что таким образом мы минимизируем не ту ошибку, которую на самом деле нужно минимизировать, - ошибку, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, мы хотели бы, чтобы нейронная сеть обладала способностью обобщать результат на новые наблюдения. В действительности сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать "настоящую" ошибку на поверхности ошибок в заранее неизвестной модели явления (Bishop, 1995).
Сильнее всего это различие проявляется в проблеме
Полином (или многочлен) - это выражение, содержащее только константы и целые степени независимой переменной. Вот примеры:
$$y=2x+3$$ $$y=3x^2+4x+1$$Графики полиномов могут иметь различную форму, причём чем выше степень многочлена (и, тем самым, чем больше членов в него входит), тем более сложной может быть эта форма. Если у нас есть некоторые данные, мы можем поставить цель подогнать к ним полиномиальную кривую (модель) и получить таким образом объяснение для имеющейся зависимости. Наши данные могут быть зашумлены, поэтому нельзя считать, что самая лучшая модель задается кривой, которая в точности проходит через все имеющиеся точки. Полином низкого порядка может быть недостаточно гибким средством для аппроксимации данных, в то время как полином высокого порядка может оказаться чересчур гибким, и будет точно следовать данным, принимая при этом замысловатую форму, не имеющую никакого отношения к форме настоящей зависимости (рис.11.10).
(рис 11.10) Полином высокого порядка
Нейронная сеть сталкивается с точно такой же трудностью. Сети с большим числом весов моделируют более сложные функции и, следовательно, склонны к переобучению. Сеть же с небольшим числом весов может оказаться недостаточно гибкой, чтобы смоделировать имеющуюся зависимость. Например, сеть без промежуточных слоёв на самом деле моделирует обычную линейную функцию.
Как же выбрать "правильную" степень сложности для сети? Почти всегда более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении.
Ответ состоит в том, чтобы использовать механизм контрольной
Описанные проблемы с локальными минимумами и выбором размера сети приводят к тому, что при практической работе с
Необходимость многократных экспериментов ведёт к тому, что контрольное множество начинает играть ключевую роль в выборе модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели - при большом числе экспериментов есть риск выбрать "удачную" сеть, дающую хороший результат на контрольном множестве. Для того, чтобы придать окончательной модели должную надежность, часто (по крайней мере, когда объём обучающих данных это позволяет) поступают так: резервируют ещё одно - тестовое множество наблюдений. Итоговая модель тестируется на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах реальны, а не являются артефактами процесса обучения. Разумеется, для того чтобы хорошо играть свою роль, тестовое множество должно быть использовано только один раз: если его использовать повторно для корректировки процесса обучения, то оно фактически превратится в контрольное множество.
Итак, построение сети (после выбора входных переменных) состоит из следующих шагов:
Многократное повторение эвристических экспериментов в лучшем случае довольно утомительно, и поэтому в пакет ST
Отбор данных
На всех предыдущих этапах существенно использовалось одно предположение. А именно, обучающее, контрольное и тестовое множества должны быть репрезентативными (представительными) с точки зрения существа задачи (более того, эти множества должны быть репрезентативными каждое в отдельности). Известное изречение программистов "
Будущее непохоже на прошлое. Обычно в качестве обучающих берутся исторические данные. Если обстоятельства изменились, то закономерности, имевшие место в прошлом, могут больше не действовать.
Следует учесть все возможности. Нейронная сеть может обучаться только на тех данных, которыми она располагает. Предположим, что лица с годовым доходом более $100,000 имеют высокий кредитный риск, а обучающее множество не содержало лиц с доходом более $40,000 в год. Тогда едва ли можно ожидать от сети правильного решения в совершенно новой для нее ситуации.
Сеть обучается тому, чему проще всего обучиться. Классическим (возможно, вымышленным) примером является система машинного зрения, предназначенная для автоматического распознавания танков. Сеть обучалась на ста картинках, содержащих изображения танков, и на ста других картинках, где танков не было. Был достигнут стопроцентно "правильный" результат. Но когда на вход сети были поданы новые данные, она безнадежно провалилась. В чем же была причина? Выяснилось, что фотографии с танками были сделаны в пасмурный, дождливый день, а фотографии без танков - в солнечный день. Сеть научилась улавливать (очевидную) разницу в общей освещенности. Чтобы сеть могла результативно работать, ее следовало обучать на данных, где бы присутствовали все погодные условия и типы освещения, при которых сеть предполагается использовать - и это еще не говоря о рельефе местности, угле и дистанции съемки и т.д.
Несбалансированный набор данных. Коль скоро сеть минимизирует общую погрешность, важное значение приобретает пропорции, в которых представлены данные различных типов. Сеть, обученная на 900 хороших и 100 плохих примерах будет искажать результат в пользу хороших наблюдений, поскольку это позволит алгоритму уменьшить общую погрешность (которая определяется в основном хорошими случаями). Если в реальной популяции хорошие и плохие объекты представлены в другой пропорции, то результаты, выдаваемые сетью, могут оказаться неверными. Хорошим примером служит задача выявления заболеваний. Пусть, например, при обычных обследованиях в среднем 90% людей оказываются здоровыми. Сеть обучается на имеющихся данных, в которых пропорция здоровые/больные равна 90/10. Затем она применяется для диагностики пациентов с определённым жалобами, среди которых это соотношение уже 50/50. В этом случае сеть будет ставить диагноз чересчур осторожно и не распознает заболевание у некоторых больных. Если же, наоборот, сеть обучить на данных "с жалобами", а затем протестировать на "обычных" данных, то она будет выдавать повышенное число неправильных диагнозов о наличии заболевания. В таких ситуациях обучающие данные нужно скорректировать так, чтобы были учтены различия в распределении данных (например, можно повторять редкие наблюдения или удалить часто встречающиеся), или же видоизменить решения, выдаваемые сетью, посредством матрицы потерь (Bishop, 1995). Как правило, лучше всего постараться сделать так, чтобы наблюдения различных типов были представлены равномерно, и соответственно этому интерпретировать результаты, которые выдаёт сеть.
Как обучается многослойный персептрон
Мы сможем лучше понять, как устроен и как обучается
Комбинация линейной функции нескольких переменных и скалярной сигмоидной функции приводит к характерному профилю "сигмоидного склона", который выдает элемент первого промежуточного слоя
(рис 11.11) Функция двух входных переменных
Элемент с большим числом входов выдаёт многомерный аналог такой поверхности. При изменении весов и порогов меняется и поверхность отклика. При этом может меняться как ориентация всей поверхности, так и крутизна склона. Большим значениям весов соответствует более крутой склон. Так, например, если увеличить все веса в два раза, то ориентация не изменится, а наклон будет более крутым.
В многослойной сети подобные функции отклика комбинируются друг с другом с помощью последовательного взятия их линейных комбинаций и применения нелинейных функций активации. На этом рисунке изображена типичная поверхность отклика для сети с одним промежуточным слоем, состоящим из двух элементов, и одним выходным элементом, для классической задачи "исключающего или" (Xor). Две разных сигмоидных поверхности объединены в одну поверхность, имеющую форму буквы "U".
Перед началом обучения сети весам и порогам случайным образом присваиваются небольшие по величине начальные значения. Тем самым отклики отдельных элементов сети имеют малый наклон и ориентированы хаотично - фактически они не связаны друг с другом. По мере того, как происходит обучение, поверхности отклика элементов сети вращаются и сдвигаются в нужное положение, а значения весов увеличиваются, поскольку они должны моделировать отдельные участки целевой поверхности отклика.
В задачах классификации выходной элемент должен выдавать сильный сигнал в случае, если данное наблюдение принадлежит к интересующему нас классу, и слабый - в противоположном случае. Иначе говоря, этот элемент должен стремиться смоделировать функцию, равную единице в той области пространства объектов, где располагаются объекты из нужного класса, и равную нулю вне этой области. Такая конструкция известна как дискриминантная функция в задачах распознавания. "Идеальная" дискриминантная функция должна иметь плоскую структуру, так чтобы точки соответствующей поверхности располагались либо на нулевом уровне, либо на высоте единица.
Если сеть не содержит скрытых элементов, то на выходе она может моделировать только одинарный "сигмоидный склон": точки, находящиеся по одну его сторону, располагаются низко, по другую - высоко. При этом всегда будет существовать область между ними (на склоне), где высота принимает промежуточные значения, но по мере увеличения весов эта область будет сужаться.
Такой сигмоидный склон фактически работает как линейная дискриминантная функция. Точки, лежащие по одну сторону склона, классифицируются как принадлежащие нужному классу, а лежащие по другую сторону - как не принадлежащие. Следовательно, сеть без скрытых слоёв может служить классификатором только в линейно-отделимых задачах (когда можно провести линию - или, в случае более высоких размерностей, -
Сеть, содержащая один промежуточный слой, строит несколько сигмоидных склонов - по одному для каждого скрытого элемента, - и затем выходной элемент комбинирует из них "возвышенность". Эта возвышенность получается выпуклой, т.е. не содержащей впадин. При этом в некоторых направлениях она может уходить на бесконечность (как длинный полуостров). Такая сеть может моделировать большинство реальных задач классификации (рис.11.12).
(рис 11.12) Моделирование сети с одним промежуточным слоем
На этом рисунке показана поверхность отклика, полученная многослойным персептроном для решения задачи исключающего или: хорошо видно, что она выделяет область пространства, расположенную вдоль диагонали.
Сеть с двумя промежуточными слоями строит комбинацию из нескольких таких возвышенностей. Их будет столько же, сколько элементов во втором слое, и у каждой из них будет столько сторон, сколько элементов было в первом скрытом слое. После небольшого размышления можно прийти к выводу, что, используя достаточное число таких возвышенностей, можно воспроизвести поверхность любой формы - в том числе с впадинами и вогнутостями.
Как следствие наших рассмотрений мы получаем, что, теоретически, для моделирования любой задачи достаточно
В задачах классификации очень важно понять, как следует интерпретировать те точки, которые попали на склон или лежат близко от него. Стандартный выход здесь состоит в том, чтобы для пороговых значений установить некоторые доверительные пределы (принятия или отвержения), которые должны быть достигнуты, чтобы данных элемент считался "принявшим решение". Например, если установлены пороги принятия/отвержения 0.95/0.05, то при уровне выходного сигнала, превосходящем 0.95 элемент считается активным, при уровне ниже 0.05 - неактивным, а в промежутке – "неопределённым".
Имеется и более тонкий (и, вероятно, более полезный) способ интерпретировать уровни выходного сигнала: считать их вероятностями. В этом случае сеть выдает несколько большую информацию, чем просто "да/нет": она сообщает нам, насколько (в некотором формальном смысле) мы можем доверять её решению. Разработаны (и реализованы в пакете ST
Выше было описано, как с помощью
В некоторых задачах бывает целесообразно использовать такие - более сложные - методы нелинейной оптимизации. В пакете ST
Алгоритм линейного поиска действует следующим образом: выбирается какое-либо разумное направление движения по многомерной поверхности. В этом направлении проводится линия, и на ней ищется точка минимума (это делается относительно просто с помощью того или иного варианта метода деления отрезка пополам); затем все повторяется сначала. Что в данном случае следует считать "разумным направлением"? Очевидным ответом является направление скорейшего спуска (именно так действует
Идея метода состоит в следующем: поскольку мы нашли точку минимума вдоль некоторой прямой, производная по этому направлению равна нулю. Сопряженное направление выбирается таким образом, чтобы эта производная и дальше оставалась нулевой - в предположении, что поверхность имеет форму параболоида (или, грубо говоря, является "хорошей и гладкой"). Если это условие выполнено, то для достижения точки минимума достаточно будет N эпох. На реальных, сложно устроенных поверхностях по мере хода алгоритма условие сопряженности портится, и тем не менее такой алгоритм, как правило, требует гораздо меньшего числа шагов, чем метод обратного распространения, и дает лучшую точку минимума (для того, чтобы
Метод доверительных областей основан на следующей идее: вместо того, чтобы двигаться в определенном направлении поиска, предположим, что поверхность имеет достаточно простую форму, так что точку минимума можно найти (и прыгнуть туда) непосредственно. Попробуем смоделировать это и посмотреть, насколько хорошей окажется полученная точка. Вид модели предполагает, что поверхность имеет хорошую и гладкую форму (например, является параболоидом), - такое предположение выполнено вблизи точек минимума. Вдали от них данное предположение может сильно нарушаться, так что модель будет выбирать для очередного продвижения совершенно не те точки. Правильно работать такая модель будет только в некоторой окрестности данной точки, причем размеры этой окрестности заранее неизвестны. Поэтому выберем в качестве следующей точки для продвижения нечто промежуточное между точкой, которую предлагает наша модель, и точкой, которая получилась бы по обычному методу градиентного спуска. Если эта новая точка оказалась хорошей, передвинемся в нее и усилим роль нашей модели в выборе очередных точек; если же точка оказалась плохой, не будем в нее перемещаться и увеличим роль
Метод Левенберга-Маркара (Levenberg, 1944; Marquardt, 1963; Bishop, 1995) - самый быстрый алгоритм обучения из всех, которые реализованы в пакете ST
При всем сказанном метод обратного распространения также сохраняет свое значение, причем не только для тех случаев, когда требуется быстро найти решение (и не требуется особой точности). Его следует предпочесть, когда объем данных очень велик, и среди данных есть избыточные. Благодаря тому, что в методе обратного распространения корректировка ошибки происходит по отдельным случаям, избыточность данных не вредит (если, например, приписать к имеющемуся набору данных еще один точно такой же набор, так что каждый случай будет повторяться дважды, то эпоха будет занимать вдвое больше времени, чем раньше, однако результат ее будет точно таким же, как от двух старых, так что ничего плохого не произойдет). Методы же Левенберга-Маркара и сопряженных градиентов проводят вычисления на всем наборе данных, поэтому при увеличении числа наблюдений продолжительность одной эпохи сильно растет, но при этом совсем не обязательно улучшается результат, достигнутый на этой эпохе (в частности, если данные избыточны; если же данные редкие, то добавление новых данных улучшит обучение на каждой эпохе). Кроме того, обратное распространение не уступает другим методам в ситуациях, когда данных мало, поскольку в этом случае недостаточно данных для принятия очень точного решения (более тонкий алгоритм может дать меньшую
Кроме уже перечисленных, в пакете ST
В предыдущем разделе было описано, как
Столь же естественным является подход, основанный на разбиении пространства окружностями или (в общем случае) гиперсферами. Гиперсфера задается своим центром и радиусом. Подобно тому, как элемент
Элемент
До действия сигмоидной функции активации уровень активации такого элемента определяется
(рис 11.13) Поверхность отклика радиального элемента
В отличие от них, радиальный элемент задаётся своим центром и "радиусом". Положение точки в N-мерном пространстве определяется N числовыми параметрами, т.е. их ровно столько же, сколько весов у линейного элемента, и поэтому координаты центра радиального элемента в пакете ST
Сеть типа радиальной базисной функции (
Сети
С другой стороны, до того, как применять линейную оптимизацию в выходном слое сети
Другие отличия работы
Опыт показывает, что для правильного моделирования типичной функции сеть
С "групповым" подходом связано и неумение сетей
Сети
Расположение центров должно соответствовать кластерам, реально присутствующим в исходных данных. Рассмотрим два наиболее часто используемых метода.
Расположение центров должно соответствовать кластерам, реально присутствующим в исходных данных. Рассмотрим два наиболее часто используемых метода.
Выборка из выборки. В качестве центров радиальных элементов берутся несколько случайно выбранных точек обучающего множества. В силу случайности выбора они "представляют" распределение обучающих данных в статистическом смысле. Однако, если число радиальных элементов невелико, такое представление может быть неудовлетворительным (Haykin, 1994).
После того, как определено расположение центров, нужно найти отклонения. Величина отклонения (ее также называют сглаживающим фактором) определяет, насколько "острой" будет гауссова функция. Если эти функции выбраны слишком острыми, сеть не будет интерполировать данные между известными точками и потеряет способность к обобщению. Если же гауссовы функции взяты чересчур широкими, сеть не будет воспринимать мелкие детали. На самом деле сказанное - еще одна форма проявления дилеммы пере/недообучения. Как правило, отклонения выбираются таким образом, чтобы колпак каждой гауссовой функций захватывал "несколько" соседних центров. Для этого имеется несколько методов:
Явный. Отклонения задаются пользователем.
Изотропный. Отклонение берётся одинаковым для всех элементов и определяется эвристически с учётом количества радиальных элементов и объёма покрываемого пространства (Haykin, 1994).
K ближайших соседей. Отклонение каждого элемента устанавливается (индивидуально) равным среднему расстоянию до его K ближайших соседей (Bishop, 1995). Тем самым отклонения будут меньше в тех частях пространства, где точки расположены густо, - здесь будут хорошо учитываться детали, - а там, где точек мало, отклонения будут большими (и будет производиться интерполяция).
После того, как выбраны центры и отклонения, параметры выходного слоя оптимизируются с помощью стандартного метода линейной оптимизации - алгоритма псевдообратных матриц (сингулярного разложения) (Haykin, 1994; Golub and Kahan, 1965).
Могут быть построены различные гибридные разновидности радиальных
В предыдущем разделе, говоря о задачах классификации, мы кратко упомянули о том, что выходы сети можно с пользой интерпретировать как оценки вероятности того, что элемент принадлежит некоторому классу, и сеть фактически учится оценивать функцию плотности вероятности. Аналогичная полезная интерпретация может иметь место и в задачах регрессии - выход сети рассматривается как
Задача оценки плотности вероятности (p.d.f.) по данным имеет давнюю историю в математической статистике (Parzen, 1962) и относится к области байесовой статистики. Обычная статистика по заданной модели говорит нам, какова будет вероятность того или иного исхода (например, что на игральной кости шесть очков будет выпадать в среднем одном случае из шести). Байесова статистика переворачивает вопрос вверх ногами: правильность модели оценивается по имеющимся достоверным данным. В более общем плане, байесова статистика дает возможность оценивать плотность вероятности распределений параметров модели по имеющимся данных. Для того, чтобы минимизировать ошибку, выбирается модель с такими параметрами, при которых плотность вероятности будет наибольшей.
При решении задачи классификации можно оценить плотность вероятности для каждого класса, сравнить между собой вероятности принадлежности различным классам и выбрать наиболее вероятный. На самом деле именно это происходит, когда мы обучаем нейронную сеть решать задачу классификации - сеть пытается определить (т.е. аппроксимировать) плотность вероятности.
Традиционный подход к задаче состоит в том, чтобы построить оценку для плотности вероятности по имеющимся данным. Обычно при этом предполагается, что плотность имеет некоторый определенный вид (чаще всего - что она имеет нормальное распределение). После этого оцениваются параметры модели. Нормальное распределение часто используется потому, что тогда параметры модели (среднее и стандартное отклонение) можно оценить аналитически. При этом остается вопрос о том, что предположение о нормальности не всегда оправдано.
Другой подход к оценке плотности вероятности основан на ядерных оценках (Parzen, 1962; Speckt, 1990; Speckt, 1991; Bishop, 1995; Patterson, 1996). Можно рассуждать так: тот факт, что наблюдение расположено в данной точке пространства, свидетельствует о том, что в этой точке имеется некоторая плотность вероятности. Кластеры из близко лежащих точек указывают на то, что в этом месте плотность вероятности большая. Вблизи наблюдения имеется большее доверие к уровню плотности, а по мере отдаления от него доверие убывает и стремится к нулю. В методе ядерных оценок в точке, соответствующей каждому наблюдению, помещается некоторая простая функция, затем все они складываются и в результате получается оценка для общей плотности вероятности. Чаще всего в качестве ядерных функций берутся гауссовы функции (с формой колокола). Если обучающих примеров достаточное количество, то такой метод дает достаточно хорошее приближение к истинной плотности вероятности.
Метод аппроксимации плотности вероятности с помощью ядерных функций во многом похож на метод радиальных
Сеть
Базовая модель
В первом случае мы предполагаем, что пропорции классов в обучающем множестве соответствуют их пропорциям во всей исследуемой популяции (или так называемым априорным вероятностям). Например, если среди всех людей больными являются 2%, то в обучающем множестве для сети, диагностирующей заболевание, больных должно быть тоже 2%. Если же априорные вероятности будут отличаться от пропорций в обучающей выборке, то сеть будет выдавать неправильный результат. Это можно впоследствии учесть (если стали известны априорные вероятности), вводя поправочные коэффициенты для различных классов.
Второй вариант модификации основан на следующей идее. Любая оценка, выдаваемая сетью, основывается на зашумлённых данных и неизбежно будет приводить к отдельным ошибкам классификации (например, у некоторых больных результаты анализов могут быть вполне нормальными). Иногда бывает целесообразно считать, что некоторые виды ошибок обходятся "дороже" других (например, если здоровый человек будет диагностирован как больной, то это вызовет лишние затраты на его обследование, но не создаст угрозы для жизни; если же не будет выявлен действительный больной, то это может привести к смертельному исходу). В такой ситуации те вероятности, которые выдает сеть, следует домножить на коэффициенты потерь, отражающие относительную цену ошибок классификации. В пакете ST
Вероятностная нейронная сеть имеет единственный управляющий параметр обучения, значение которого должно выбираться пользователем, - степень сглаживания (или отклонение гауссовой функции). Как и в случае
Наиболее важные преимущества
Существенным недостатком таких сетей является их объём.
Обобщенно-регрессионная нейронная сеть (GRNN) устроена аналогично вероятностной нейронной сети (
Первый промежуточный слой сети GRNN состоит из радиальных элементов. Второй промежуточный слой содержит элементы, которые помогают оценить взвешенное среднее. Для этого используется специальная процедура. Каждый выход имеет в этом слое свой элемент, формирующий для него взвешенную сумму. Чтобы получить из взвешенной суммы взвешенное среднее, эту сумму нужно поделить на сумму весовых коэффициентов. Последнюю сумму вычисляет специальный элемент второго слоя. После этого в выходном слое производится собственно деление (с помощью специальных элементов "деления"). Таким образом, число элементов во втором промежуточном слое на единицу больше, чем в выходном слое. Как правило, в задачах регрессии требуется оценить одно выходное значение, и, соответственно, второй промежуточный слой содержит два элемента.
Можно модифицировать GRNN-сеть таким образом, чтобы радиальные элементы соответствовали не отдельным обучающим случаям, а их кластерам. Это уменьшает размеры сети и увеличивает скорость обучения. Центры для таких элементов можно выбирать с помощью любого предназначенного для этой цели алгоритма (выборки из выборки, K-средних или Кохонена), и программа ST
Достоинства и недостатки у сетей GRNN в основном такие же, как и у сетей
Согласно общепринятому в науке принципу, если более сложная модель не даёт лучших результатов, чем более простая, то из них следует предпочесть вторую. В терминах аппроксимации отображений самой простой моделью будет линейная, в которой подгоночная функция определяется
На языке
В пакете ST
Линейная сеть является хорошей точкой отсчёта для оценки качества построенных
Сети Кохонена принципиально отличаются от всех других типов сетей, реализованных в пакете ST
При управляемом обучении наблюдения, составляющие обучающие данные, вместе с входными переменными содержат также и соответствующие им выходные значения, и сеть должна восстановить отображение, переводящее первые во вторые. В случае же неуправляемого обучения обучающие данные содержат только значения входных переменных.
На первый взгляд это может показаться странным. Как сеть сможет чему-то научиться, не имея выходных значений? Ответ заключается в том, что сеть Кохонена учится понимать саму структуру данных.
Одно из возможных применений таких сетей - разведочный анализ данных. Сеть Кохонена может распознавать кластеры в данных, а также устанавливать близость классов. Таким образом, пользователь может улучшить свое понимание структуры данных, чтобы затем уточнить нейросетевую модель. Если в данных распознаны классы, то их можно обозначить, после чего сеть сможет решать задачи классификации. Сети Кохонена можно использовать и в тех задачах классификации, где классы уже заданы, - тогда преимущество будет в том, что сеть сможет выявить сходство между различными классами.
Другая возможная область применения - обнаружение новых явлений. Сеть Кохонена распознает кластеры в обучающих данных и относит все данные к тем или иным кластерам. Если после этого сеть встретится с набором данных, непохожим ни на один из известных образцов, то она не сможет классифицировать такой набор и тем самым выявит его новизну.
Сеть Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных элементов (выходной слой называют также слоем топологической карты). Элементы топологической карты располагаются в некотором пространстве - как правило, двумерном (в пакете ST
Обучается сеть Кохонена методом последовательных приближений. Начиная со случайным образом выбранного исходного расположения центров, алгоритм постепенно улучшает его так, чтобы улавливать кластеризацию обучающих данных. В некотором отношении эти действия похожи на алгоритмы выборки из выборки и K-средних, которые используются для размещения центров в сетях
Помимо того, что уже сказано, в результате итеративной процедуры обучения сеть организуется таким образом, что элементы, соответствующие центрам, расположенным близко друг от друга в пространстве входов, будут располагаться близко друг от друга и на топологической карте. Топологический слой сети можно представлять себе как двумерную решётку, которую нужно так отобразить в N-мерное пространство входов, чтобы по возможности сохранить исходную структуру данных. Конечно же, при любой попытке представить N-мерное пространство на плоскости будут потеряны многие детали; однако, такой приём иногда полезен, так как он позволяет пользователю визуализировать данные, которые никаким иным способом понять невозможно.
Основной
В алгоритме при вычислении взвешенной суммы используется постепенно убывающий коэффициент скорости обучения, с тем чтобы на каждой новой эпохе коррекция становилась все более тонкой. В результате положение центра установится в некоторой позиции, которая удовлетворительным образом представляет те наблюдения, для которых данный
Свойство топологической упорядоченности достигается в алгоритме с помощью дополнительного использования понятия окрестности. Окрестность - это несколько нейронов, окружающих выигравший
Результатом такого изменения окрестностей является то, что изначально довольно большие участки сети "перетягиваются" - и притом заметно - в сторону обучающих примеров. Сеть формирует грубую структуру топологического порядка, при которой похожие наблюдения активируют группы близко лежащих нейронов на топологической карте. С каждой новой эпохой скорость обучения и размер окрестности уменьшаются, тем самым внутри участков карты выявляются всё более тонкие различия, что, в конце концов, приводит к тонкой настройке каждого
После того, как сеть обучена распознаванию структуры данных, ее можно использовать как средство визуализации при анализе данных. С помощью данных, выводимых в окне "Частоты выигрышей" - Win Frequencies, (где для каждого
При решении задач классификации в сетях Кохонена используется так называемый порог доступа. Ввиду того, что в такой сети уровень активации
Идея сети Кохонена возникла по аналогии с некоторыми известными свойствами человеческого мозга. Кора головного мозга представляет собой большой плоский лист (площадью около 0.5 кв.м.; чтобы поместиться в черепе, она свернута складками) с известными топологическими свойствами (например, участок, ответственный за кисть руки, примыкает к участку, ответственному за движения всей руки, и таким образом все изображение человеческого тела непрерывно отображается на эту двумерную поверхность).
Перечисленные четыре свойства, которые можно сформулировать также как кодирование
При описании
Популяция - это конечное множество особей.
Особи, входящие в популяцию, в генетических алгоритмах представляются хромосомами с закодированным в них множествами параметров задачи, т.е. решений, которые иначе называются точками в пространстве поиска (search points). В некоторых работах особи называются организмами.
Локус или позиция указывает место размещения данного
Очень важным понятием в генетических алгоритмах считается функция приспособленности {fitness function), иначе называемая функцией оценки. Она представляет меру приспособленности данной особи в популяции. Эта функция играет важнейшую роль, поскольку позволяет оценить степень приспособленности конкретных особей в популяции и выбрать из них наиболее приспособленные (т.е. имеющие наибольшие значения функции приспособленности) в соответствии с
Очередная популяция в
Основной (классический)
Блок-схема основного
(рис 11.14) Блок-схема генетического алгоритма
Инициализация, т.е. формирование исходной популяции, заключается в случайном выборе заданного количества хромосом (особей), представляемых двоичными последовательностями фиксированной длины.
Оценивание приспособленности хромосом в популяции состоит в расчёте функции приспособленности для каждой
Проверка условия остановки алгоритма. Определение условия остановки
Селекция хромосом заключается в выборе (по рассчитанным на втором этапе значениям функции приспособленности) тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т.е. для очередного поколения. Такой выбор производится согласно принципу естественного отбора, по которому наибольшие шансы на участие в создании новых особей имеют
где
$$p_s (ch_i)= \frac{F(ch_i)}{\sum_{i=1}^N F(ch_i)}$$причём $$F(ch_i)$$ - значение функции приспособленности
В результате процесса селекции создается родительская популяция, также называемая родительским пулом (mating pool) с численностью N, равной численности текущей популяции.
Применение генетических операторов к хромосомам, отобранным с помощью селекции, приводит к формированию новой популяции потомков от созданной на предыдущем шаге родительской популяции.
В классическом
В
На первом этапе скрещивания выбираются пары хромосом из родительской популяции (родительского пула). Это временная популяция, состоящая из хромосом, отобранных в результате селекции и предназначенных для дальнейших преобразований операторами скрещивания и
Формирование новой популяции.
Выбор "наилучшей"
В завершение следует признать, что
Главный фактор эволюции - это естественный отбор (т.е. природная селекция), который приводит к тому, что среди генетически различающихся особей одной и той же популяции выживают и оставляют потомство только наиболее приспособленные к окружающей среде.
Рассмотрим алгоритм решения следующей задачи: необходимо оптимизировать эффективность от вложения средств в различные проекты, операции, недвижимость и т.д. Эффективность будет определяться как доходность от вложенных средств, в зависимости от того, в какой период они распределены. Рассмотрим возможность организации размещения средств в N периодах (что соответствует краткосрочному, среднесрочному и долгосрочному периодам, соответственно). Допустим, у организации есть альтернатива из М вариантов вложения средств в разные проекты в различные периоды. Вектор $$Х{Х_1,Х_2,…Х_n}$$, где $$X_i$$- вариант вложения средств в i-м периоде.
В данном случае вектор X будет являться
Необходимо найти
В результате работы алгоритма получим выходной вектор X, являющийся наилучшим вариантом плана вложения средств на N ближайших периодов.
Проведение двух серий экспериментов приводит к следующим выводам:
Определены следующие преимущества
В литературе обосновывается невысокая эффективность традиционных методик применительно к решению сложных практических задач. Именно к такой категории можно отнести монополистическую конкуренцию с её большим объёмом исходной информации, одновременным наличием количественно и качественно определённых параметров, а также требованиями к оперативности их обработки. В связи с этим в работе предлагается применить
Однако при всей эффективности
Инициализация, то есть формирование исходной популяции, заключается в случайном выборе заданного количества хромосом (особей), представляемых двоичными последовательностями фиксированной длины. В условиях конкуренции такой подход к формированию не вполне применим.
Во-первых, поведение всех участников рыночного процесса не хаотично, а является результатом глубокого анализа ситуации и поведения других субъектов. В связи с этим вполне закономерным является рассмотрение в качестве
Такое преобразование целесообразно при незначительной длине
В-третьих, необходимо уточнить природу популяции. В условиях совершенной конкуренции каждый отдельный производитель или потребитель не оказывали влияния на процесс формирования цены и других параметров товара. Они действовали абсолютно независимо. В условиях монополии наоборот одно предприятие, безусловно, доминирует. Рынок монополистической конкуренции отличается наличием на нем достаточно большого
Следующим важнейшим этапом является оценка приспособленности хромосом в популяции. Оно основано в расчете функции приспособленности для каждой
Форма функции приспособленности зависит от характера решаемой задачи. В большинстве случаев функция принимает неотрицательные значения, а также для решения оптимизационной задачи её требуется максимизировать. Однако в реальных условиях может требоваться не только её максимизация или минимизация, но одновременное применение обоих подходов при реализации алгоритма, как, например, при рассмотрении совершенной конкуренции.
Применительно к монополистической конкуренции, значение функции приспособленности должно рассчитываться на основе величин ценовых и неценовых характеристик. В силу того, что суть получения конкурентного преимущества состоит в предложении рынку товара с опережающими параметрами, для решения оптимизационной задачи предлагается применить максимизацию этой функции. Однако, в отличие от совершенной конкуренции, где соперничество происходило с учётом пожеланий и производителей, и потребителей (в силу отсутствия влияния на рынок), в условиях монополистического рынка в конкурентном взаимодействии принимает участие только одна сторона (только производители или только потребители). Это является одним из следствий возможности воздействия на рынок.
Определение возможности остановки
Селекция хромосом также осуществляется по значениям функции приспособленности и состоит в выборе хромосом, которые будут участвовать в создании потомков для следующей популяции (нового поколения). Существуют различные методы селекции. Наиболее популярным считается так называемый "метод рулетки", который свое название получил по аналогии с известной азартной игрой. Каждой
В результате процесса селекции создается родительский пул, равный по численности текущей популяции, но разделённой по парам. В том случае, если исходная популяция содержала нечётное количество хромосом, предлагается оставшуюся
Важно отметить, что
К объединённым в пары хромосомам родительского пула применяется
Такой вариант скрещивания называют одноточечным. Также применяются и другие виды скрещивания.
Возрастание числа точек скрещивания существенно усложняет алгоритм, но ведет к увеличению точности результата. Положительный эффект объясняется тем, что при большом числе точек степень "слияния" (взаимного проникновения) хромосом возрастает. Следовательно, полученные потомки лучшим образом отражают исходные характеристики родительских хромосом. В природе число точек разрыва выбирается случайно для любой из родительских пар. Очевидно, что реализация такого же механизма в случае конкурентного взаимодействия будет оказывать положительный эффект и приближать модель к реальному процессу. В связи с этим, предлагается следующая процедура:
Следующим важным этапом
Этот выбор выполняется по принципу естественного отбора - наибольшие шансы в создании новых особей имеют
В классическом
Предложенная адаптация базовых шагов
С точки зрения конкурентных преимуществ большей конкурентоспособностью обладает товар с опережающими неценовыми характеристиками, так как именно они отражают
Экспертные системы (ЭС) представляют собой компьютерные программы, использующие принципы искусственного интеллекта и формализованные знания эксперта для обработки оперативной информации и принятия обоснованных решений в анализируемой предметной области.
В экспертных системах для решения задач на уровне эксперта-человека широко используются специализированные знания. Термином "эксперт" обозначается личность, обладающая экспертными знаниями в определённой области. Это означает, что эксперт имеет знания или специальные навыки, которые неизвестны или недоступны для большинства людей. Эксперт способен решать задачи, которые большинство людей не способны решить вообще, или решает их гораздо более эффективно. После того как были впервые разработаны экспертные системы, они содержали исключительно только экспертные знания. Однако в наши дни термин "
В качестве знаний в экспертных системах могут применяться либо экспертные знания, либо обычные общедоступные знания, которые могут быть получены из книг, журналов и от хорошо осведомлённых людей. В этом смысле обычные знания рассматриваются как понятие более низкого уровня по сравнению с более редкими экспертными знаниями. Термины "
Существуют два принципиально различных класса ЭС: "основанные на знаниях" и "основанные на примерах". Первый класс ЭС применяется для работы с хорошо систематизированными элементами знаний и априори известными закономерностями, выраженными различного рода методиками, инструкциями, правилами и т.п. Принципы работы
(рис 11.15) Основные принципы функционирования экспертной системы
Кроме того, разработаны полезные системы, основанные на знаниях, которые предназначены для использования в качестве интеллектуального помощника для эксперта - человека. Эти интеллектуальные помощники проектируются на основе технологии экспертных систем, поскольку такая технология обеспечивает значительные преимущества при разработке. Чем больше знаний будет введено в базу знаний интеллектуального помощника, тем в большей степени его действия будут напоминать действия эксперта. Разработка интеллектуального помощника может стать полезным промежуточным шагом перед созданием полноценной
Знания эксперта относятся только к одной предметной области, и в этом состоит отличие методов, основанных на использовании экспертных систем, от общих методов решения задач. Предметная область - это специальная проблемная область, такая как медицина, финансы, наука и техника, в которой может очень хорошо решать задачи лишь определённый эксперт. Экспертные системы, как и эксперты - люди, в целом предназначены для использования в качестве экспертов в одной предметной области. Например, обычно нельзя рассчитывать на то, что эксперт в области шахмат будет обладать экспертными знаниями, относящимися к медицине. Экспертные знания в одной предметной области не переносятся автоматически на другую область.
Знания эксперта, касающиеся решения конкретных задач, называются областью знаний эксперта. Связь между предметной областью и областью знаний показана на рис.11.16.
На данном рисунке область знаний полностью включена в предметную область. Часть, выходящая за пределы области знаний, символизирует область, в которой отсутствуют знания о какой-либо из задач, относящихся к данной предметной области.
В области знаний
(рис 11.16) Связь между предметной областью и областью знаний
Это означает, что на основании определённых фактов путём рассуждений формируется логичное, оправданное заключение, которое следует из этих фактов.
ЭС с успехом применяются в тех областях, где, кроме применения стандартных алгоритмических методов, основанных на точных вычислениях, по существу используются знания и опыт конкретных экспертов - аналитиков, а принятие решений формируется в условиях неполноты данных и зависит скорее от качественных, чем количественных оценок. К таким предметным областям относится, прежде всего, область анализа финансовой деятельности, где эффективность принимаемых решений зависит от сопоставления множества различных факторов, учёта сложных причинно-следственных связей, применения нетривиальных логических рассуждений и т.п.
Классическая
(рис 11.17) Процесс разработки экспертной системы
Вначале инженер по знаниям устанавливает диалог с экспертом-человеком, чтобы выявить знания эксперта. Этот этап аналогичен этапу работы, выполняемому системным проектировщиком при обычном программировании в ходе обсуждения требований к системе с клиентом, для которого создается программа. Затем инженер по знаниям представляет знания в явном виде для внесения в базу знаний. После этого эксперт проводит оценку
Вообще говоря, процесс создания экспертных систем намного отличается от процесса разработки обычных программ. В экспертных системах рассматриваются задачи, не имеющие удовлетворительного алгоритмического решения, поэтому для достижения приемлемого решения используется логический вывод. Поскольку в основе функционирования
Следовательно,
Второй класс ЭС используется в ситуациях, когда отсутствуют какие-либо явные связи и закономерности между элементами знаний, а сами знания представлены в виде списков примеров, описывающих реализации тех или иных событий. Если первый класс ЭС работает с хорошо определёнными данными и знаниями, извлечёнными из экспертов - аналитиков инженерами знаний, то второй - формирует свои знания путём адаптации к предметной области, представленной примерами, причём как обучающая, так и анализируемая информация может быть искажена и неполна. В первом случае в основе механизмов вывода, как правило, лежат классические стратегии наследования и логического вывода, то во втором - различные методы индуктивного обобщения по примерам, в частности, свойства используемых для этого искусственных
В cистеме, основанной на правилах, знания в проблемной области, необходимые для решения задач, закодированы в форме правил и содержатся в базе знаний. Безусловно, для представления знаний наиболее широко применяются правила. Элементы типичной
(рис 11.18) Структура экспертной системы, основанной на правилах
Во многих системах имеется необязательное средство приобретения знаний, Это инструментальное средство в некоторых экспертных системах способно обучаться, осуществляя вывод правил по методу индукции на основании примеров, и автоматически вырабатывать правила. Для выработки правил в машинном обучении применялись также другие методы и алгоритмы, такие как искусственные
В
горит красный свет —> стоять
горит зеленый свет —> двигаться
Продукционные правила могут быть выражены в эквивалентном формате псевдокода IF-THEN следующим образом:
Правило: red__light
IF горит красный свет THEN стоять
Правило: green_light
IF горит зеленый свет THEN двигаться
Каждое правило обозначается именем. Вслед за именем находится часть IF правила. Участок правила между частями IF и THEN правила упоминается под разными именами, такими как антецедент, условная часть, часть шаблона или левая часть (left-hand-side — LHS). Такое отдельно взятое условие, как
"горит красный свет" называется условным элементом, или шаблоном.
В системе, основанной на правилах, машина логического вывода определяет, какие антецеденты правил (если таковые вообще имеются) выполняются согласно фактам. В качестве стратегий решения задач в экспертных системах обычно используются два общих метода логического вывода: прямой логический вывод и обратный логический вывод. В число других методов, применяемых для выполнения более конкретных методов, могут входить анализ целей и средств, упрощение задачи, перебор с возвратами, метод "запланировать-выработать-проверить", иерархическое планирование и принцип наименьшего вклада, а также обработка ограничений.
Прямой логический вывод представляет собой метод формирования рассуждений от фактов к заключениям, которые следуют из этих фактов. Например, если перед выходом из дома вы обнаружите, что идёт дождь (факт), то должны взять с собой зонтик (заключение).
Обратный логический вывод предусматривает формирование рассуждений в обратном направлении - от гипотезы (потенциального заключения, которое должно быть доказано) к фактам, которые подтверждают гипотезу. Например, если вы не выглядываете наружу, но кто-то вошёл в дом с влажными ботинками и зонтиком, то можно принять гипотезу, что идёт дождь. Чтобы подтвердить эту гипотезу, достаточно спросить данного человека, идёт ли дождь. В случае положительного ответа будет доказано, что гипотеза истинна, поэтому она становится фактом. Как уже было сказано выше, гипотеза может рассматриваться как факт, истинность которого вызывает сомнение и должна быть установлена. В таком случае гипотеза может интерпретироваться как цель, которая должна быть доказана.
В зависимости от проекта
Рабочая память может содержать факты, касающиеся текущего состояния светофора, такие как "горит зелёный свет" или "горит красный свет". В рабочей памяти может присутствовать любой из этих фактов или оба факта одновременно. Если светофор работает нормально, то в рабочей памяти будет находиться только один факт. Но возможно также, что в рабочей памяти будут присутствовать оба факта, если светофор неисправен. В чём состоит различие между базой знаний и рабочей памятью? Факты не взаимодействуют друг с другом. Факт "горит зелёный свет" не воздействует на факт "горит красный свет". С другой стороны, знания о работе светофоров говорят о том, что если одновременно присутствуют оба факта, то светофор неисправен.
Если в рабочей памяти имеется факт "горит зеленый свет", машина логического вывода обнаруживает, что этот факт удовлетворяет условной части правила green_light и помещает это правило в рабочий список правил. А если правило имеет несколько шаблонов, то все эти шаблоны должны быть удовлетворены одновременно для того, чтобы правило можно было поместить в рабочий список правил. В качестве условия удовлетворения некоторых шаблонов можно даже указать отсутствие определённых фактов в рабочей памяти.
Правило, все шаблоны которого удовлетворены, называется активизированным, или реализованным. В рабочем списке правил может одновременно присутствовать несколько активизированных правил. В этом случае машина логического вывода должна выбрать одно из правил для запуска.
Вслед за частью THEN правила находится список действий, которые должны быть выполнены после запуска правила. Эта часть правила называется консеквентом, или правой частью (Right-Hand Side — RHS). Если происходит запуск правила red_light, выполняется его действие "стоять". Аналогичным образом после запуска правила green_light его действием становится "двигаться". В состав конкретных действий обычно входит добавление или удаление фактов из рабочей памяти либо вывод результатов. Формат описания этих действий зависит от синтаксиса языка
Машина логического вывода работает в режиме осуществления циклов "распознавание – действие". Для описания указанного режима работы применяются также другие термины, такие как цикл "выборка - выполнение", цикл "ситуация - отклик" и цикл "ситуация - действие". Но как бы ни назывался такой цикл, машина логического вывода снова и снова выполняет некоторые группы задач до выявления определённых критериев, которые вызывают прекращение выполнения. При этом решаются общие задачи, обозначенные в приведённом ниже псевдокоде как разрешение конфликтов, действие, согласование и проверка условий останова.
WHILE работа не закончена
Разрешение конфликтов. Если имеются активизированные правила, то выбрать правило с наивысшим приоритетом; в противном случае работа закончена.
Действие. Последовательно осуществить действия, указанные в правой части выбранного активизированного правила. В данном цикле проявляется непосредственное влияние тех действий, которые изменяют содержимое рабочей памяти. Удалить из рабочего список правил только что запущенное правило.
Согласование. Обновить рабочий список правил путём проверки того, выполняется ли левая часть каких-либо правил. В случае положительного ответа активизировать соответствующие правила. Удалить активизированные правила, если левая часть соответствующих правил больше не выполняется.
Проверка условий останова. Если осуществлено действие
END - WHILE
Принять новую команду пользователя.
В течение каждого цикла могут быть активизированы и помещены в рабочий список правил многочисленные правила. Кроме того, в рабочем списке правил остаются результаты активизации правил от предыдущих циклов, если не происходит деактивизация этих правил в связи с тем, что их левые части больше не выполняются. Таким образом, в ходе выполнения программы количество активизированных правил в рабочем списке правил изменяется. В зависимости от программы, ранее активизированные правила могут всегда оставаться в рабочем списке правил, но никогда не выбираться для запуска. Аналогичным образом некоторые правила могут никогда не становиться активизированными. В подобных случаях следует повторно проверять назначение этих правил, поскольку либо такие правила не нужны, либо их шаблоны неправильно спроектированы.
Машина логического вывода выполняет действия активизированного правила с наивысшим приоритетом из рабочего списка правил, затем - действия активизированного правила со следующим по порядку приоритетом и т.д., до тех пор, пока в списке не останется больше активизированных правил. Для инструментальных средств экспертных систем разработаны различные системы приоритетов, но, вообще говоря, все инструментальные средства позволяют инженеру по знаниям определять приоритеты правил.
В рабочем списке правил возникают конфликты, если различные активизированные правила имеют одинаковый приоритет и машина логического вывода должна принять решение о том, какое из этих правил необходимо запустить. В различных командных интерпретаторах для решения этой проблемы применяются разные способы. Ньюэлл и Саймон использовали такой подход, что правила, введённые в систему в первую очередь, приобретают по умолчанию наивысший приоритет. В языке CLIPS правила имеют по умолчанию одинаковый приоритет, если каким-то из них не присваивается другой приоритет инженером по знаниям.
После завершения выполнения всех правил управление возвращается к
Верхний уровень представляет собой пользовательский интерфейс к командному интерпретатору в тот период, когда происходит разработка приложения
Главной особенностью
В настоящее время экспертными системами наиболее широко применяемого типа являются системы, основанные на правилах. В системах, основанных на правилах, знания представлены не с помощью относительно декларативного, статического способа (как ряд истинных утверждений), а в форме многочисленных правил, которые указывают, какие заключения должны быть сделаны или не сделаны в различных ситуациях. Система, основанная на правилах, состоит из правил IF-THEN, фактов и интерпретатора, который управляет тем, какое правило должно быть вызвано в зависимости от наличия фактов в рабочей памяти.
Системы, основанные на правилах, относятся к двум главным разновидностям: системы с прямым логическим выводом и системы с обратным логическим выводом.
Система с прямым логическим выводом начинает свою работу с известных начальных фактов и продолжает работу, используя правила для вывода новых заключений или выполнения определённых действий. Система с обратным логическим выводом начинает свою работу с некоторой гипотезы, или цели, которую пользователь пытается доказать, и продолжает работу, отыскивая правила, которые позволят доказать истинность гипотезы. Для разбиения крупной задачи на мелкие фрагменты, которые можно будет более легко доказать, создаются новые подцели. Системы с прямым логическим выводом в основном являются
Широкое применение систем, основанных на правилах, обусловлено описанными ниже причинами.
Продукционные системы Поста
Продукционные системы были впервые использованы в символической логике Постом (Post), поэтому имя этого учёного вошло в название указанных систем. Пост доказал такой важный и неожиданный результат, что любая система математики или логики может быть оформлена в виде системы продукционных правил определённого типа. Этот результат показал огромные возможности применения продукционных правил для представления важных классов знаний, а это означает, что продукционные правила не сводятся к нескольким ограниченным типам. Кроме того, продукционные правила, обозначаемые термином правила подстановки, используются также в лингвистике как способ определения грамматики языка. Компьютерные языки обычно определяются с помощью формы продукционных правил, известной как
В качестве очень простого случая можно представить себе, что если входной строкой является "у пациента имеется высокая температура", то выходной строкой может быть "пациент должен принять аспирин". За этими строками не закреплён какой-либо смысл. Иными словами, манипуляции со строками основаны на синтаксисе, а не на семантике, т.е. не на понимании того, что скрывается за словами "высокая температура", "аспирин" и "пациент". Люди знают, что означают эти строки в реальном мире, а продукционная система Поста применяется лишь в качестве способа преобразования одной строки в другую. Для данного примера может быть предусмотрено следующее продукционное правило:
антецедент —> консеквент
у пациента имеется высокая температура —> пациент должен принять аспирин
В этом правиле стрелка означает, что одна строка должна быть преобразована в другую. Указанное правило можно интерпретировать с помощью более знакомой системы обозначений IF-THEN следующим образом:
IF у пациента имеется высокая температура THEN пациент должен принять аспирин.
Если требуется создать
Решением этой проблемы является rete-алгоритм, разработанный Чарльзом Л. Форги (Charles L. Forgy) в университете Карнеги-Меллона в 1979 году в рамках диссертации по командному интерпретатору
Rete-алгоритм представляет собой очень быстрое средство сопоставления с шаблонами, высокое быстродействие которого достигается благодаря хранению в оперативной памяти информации о правилах, находящихся в сети. Этот алгоритм предназначен для повышения быстродействия систем с прямым логическим выводом, основанных на правилах, благодаря ограничению объёма работы, требуемой для повторного вычисления
Если в системе заданы сотни или тысячи правил, то подход к организации работы, в котором компьютер последовательно проверяет вероятность того, должен ли быть выполнен запуск каждого правила, становится очень неэффективным. Благодаря разработке rete - алгоритма появилась практическая возможность создания инструментальных средств экспертных систем даже на тех медленных компьютерах, которые применялись в 1970-х годах. В наши дни rete - алгоритм продолжает оставаться важным средством повышения быстродействия в тех случаях, когда
В rete - алгоритме в каждом цикле контролируются только изменения в согласованиях, поэтому в каждом цикле "распознавание - действие" не приходится согласовывать факты с каждым правилом. Благодаря этому существенно повышается скорость согласования фактов с антецедентами, поскольку статические данные, которые не изменяются от цикла к циклу, могут быть проигнорированы.
На рис.11.19 показаны технологии, которые образуют фундамент современных экспертных систем, основанных на правилах.
(рис 11.19) Современные экспертные системы, основанные на правилах
Рассмотрим на конкретном примере организацию взаимодействия пользователя с
И форма конфигурирования системы должна быть жёсткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего подходит бухгалтерская программа 1С версия 6.0.И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
И программа разработана под оболочку DOS.
ТО лучше всего подходит система бухгалтерских программ "Бест".И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
И программа разработана под оболочку Windows95.
И программа одноуровневая.
ТО лучше всего подходит бухгалтерская программа "Инфо Бухгалтер".И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы).
И программа разработана под оболочку Windows95.
И программа не одноуровневая.
ТО лучше всего подходит система бухгалтерских программ "Турбо Бухгалтер".И пополнение информационной базы происходит еженедельно (минимум), посредством курьера
ТО лучше всего подходит правовая программа "Гарант".И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM.
ТО лучше всего подходит правовая программа "Кодекс".И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM или еженедельно (минимум), посредством курьера
ТО лучше всего подходит правовая программа "Эталон".И форма конфигурирования системы должна быть жёсткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего подходит правовая складская программа "Фолио".И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего подходит правовая программа склад "1С версия 7.5".Предположим, что перед пользователем стоит задача: узнать, какое обеспечение из широкого спектра предлагаемого сейчас программного обеспечения ему наиболее подойдет, учитывая специфику ПК, на который предполагается установить это ПО. С помощью некоторых базовых правил фирмы "Элком-Информ" составлена некоторая
ЭС: Какое программное обеспечение вы хотели бы приобрести? (правовое, бухгалтерское, складское).
Пользователь: Бухгалтерское
ЭС: Форма конфигурирования системы должна быть жёсткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)? (да, нет).
Пользователь: Нет.
ЭС: Форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)?
Пользователь: Да
ЭС: Программа должна быть разработана под оболочку Windows95?
Пользователь: Да.
ЭС: Программа должна быть одноуровневая? (да, нет).
Пользователь: Нет.
ЭС: Программа должна быть не одноуровневая?
Пользователь: Да
ЭС: Лучше всего для вас подходит система бухгалтерских программ "Турбо Бухгалтер".
Если пользователь заинтересуется, почему сделаны такие выводы, то
Правила типа "если – то" для представления знаний
В качестве кандидата на использование в
"Если – то" - правила обычно оказываются весьма естественным выразительным средством представления знаний. Кроме того, они обладают следующими привлекательными свойствами:
Последнее свойство - это важное, относительное свойство экспертных систем. Под прозрачностью понимается способность системы к объяснению принятых решений и полученных результатов. Применение "если – то" - правил облегчает получение ответов на следующие основные типы вопросов пользователя:
"Если – то" - правила часто применяют для определения логических отношений между понятиями предметной области. Про чисто логические отношения можно сказать, что они принадлежат к "категорическим знаниям", "категорическим" - потому, что соответствующие утверждения всегда абсолютно верны. Однако в некоторых предметных областях преобладают "мягкие" или вероятностные знания. Эти знания являются "мягкими" в том смысле, что говорить об их применимости к любым практическим ситуациям можно только до некоторой степени ("часто, но не всегда"). В таких случаях используют модифицированные "если – то" - правила, дополняя их логическую интерпретацию вероятностной оценкой. Например:
если условие A, то заключение B с уверенностью F
Вообще говоря, если вы хотите разработать серьёзную
Как описано ниже, экспертные системы обладают многими привлекательными особенностями.
Экспертные системы могут использоваться для доступа к базам данных с помощью интеллектуального способа доступа. В качестве примера можно привести анализ скрытых закономерностей в данных.
Архитектура
Наиболее зарекомендовавшим себя методом внешнего анализа, интегрирующим множество различных экономических показателей предприятия, служит рейтинговый метод, который формирует "снизу – вверх" интегральную оценку финансового состояния предприятия.
Примером
где $$О_{ij}$$ - оценка влияния j - го фактора на i - й вышестоящий фактор по некоторой числовой шкале, а $$W_{ij}$$ - вес (коэффициент) влияния j – го фактора на i - й фактор.
------------------------------------------------------------------------------------------------
* При написании этого раздела использованы материалы из Интернет: Тельнов Ю.Ф. Информационные интеллектуальные системы. – М., 2004.
Правила базы знаний оценивают отдельные факторы, реализуя так называемый дизъюнктивный (независимый) подход к построению правил. Примеры правил имеют следующий вид:
IF: Управление = "удовлетворительно" THEN: Фин.состояние + = "удовлетворительно" cf 40 IF: Финансовая структура = "удовлетворительно" THEN: Фин.состояние + = "удовлетворительно" cf 60 IF: Ресурсы = "удовлетворительно" THEN: Фин.состояние + = "удовлетворительно" cf 50 . . . . . . . . . . . . . . . . . . . . . . . . . IF: Качество управления = "удовлетворительно" THEN: Управление + = "удовлетворительно" cf 80 IF: Структура управления = "удовлетворительно" THEN: Управление + = "удовлетворительно" cf 90
и т.д.
В качестве весов cf в данном примере используются факторы уверенности, поэтому вместо формулы при разработке аналогичной системы может применяться формула объединения факторов уверенности для дизъюнкции.
В результате внедрения системы EvEnt для 80 % ситуаций решения формируются без экспертов. Если раньше на оценку предприятия экспертом банка требовалось в среднем 2-3 недели, то после внедрения
В качестве метода внешнего анализа может применяться также метод классификации ситуаций, когда по множеству признаков классификации, в качестве которых в данном случае выступает множество показателей деятельности предприятия, последовательно строится дерево решений, отражающее эту классификацию. В случае индуктивного вывода дерево решений строится по обучающей выборке автоматически. Пример классифицирующего дерева решений для оценки кредитоспособности предприятий, построенного в системе индуктивного вывода ИЛИС по обучающей выборке из 100 реально оцененных в одном из банков предприятий, представлен на рис.11.20. В обучающей выборке в качестве классифицирующих признаков использовались коэффициенты автономии, мобильности, отношения собственных и заемных средств, покрытия, абсолютной ликвидности, ликвидности, а также качественные признаки репутации и величины.
Классообразующим признаком является признак "Класс кредитоспособности" (1 - высший класс, 5 - низший класс). В результате обобщения примеров обучающей выборки часть признаков была формально отброшена: коэффициенты мобильности, ликвидности и величина предприятия, причем по различным ветвям дерева решений наблюдалась различная последовательность классификации.
Для каждой отдельной ветки дерева решения строится правило, в котором все признаки классификации последовательно связываются в конъюнкцию () факторов левой части правила (так называемый конъюнктивный подход), например:
IF: Кпокрыт. > = 1.55 Kпокрыт. < 2 Pепутац = 3 Kсоб.заем. > = 0.625 Kсоб.заем. < 0.75 Kавтоном. > = 0.375 Kавтоном. < 0.6 THEN: Кред.сп = 1
(рис 11.20) Дерево решений "Определение класса кредитоспособности"
Ограничения метода классификации ситуаций (конъюнктивного подхода) по сравнению с рейтинговым методом (дизъюнктивным подходом) при использовании правил принятия решений связаны с необходимостью жесткого задания всех признаков классификации по соответствующему пути дерева решения. Отсутствие хотя бы одного из признаков может привести к неудаче логического вывода.
Для внутреннего экономического анализа свойственен поиск направлений повышения эффективности деятельности предприятия, т.е. диагностика узких мест и определение рекомендаций по их устранению.
В основе диагностики лежит метод последовательной декомпозиции "сверху - вниз" или дезагрегации "целое - часть", когда проблема последовательно разбивается на подпроблемы, пока на каком-либо уровне не станет ясным, какая подпроблема в действительности имеет место. Примером применения декомпозиционного метода к построению экспертных систем служит система внутреннего финансового анализа FINEX (рис.11.21).
В случае применения
При этом анализ финансовых показателей выполняется последовательно по принципу "сверху - вниз" и "слева - направо" в соответствии с деревом взаимосвязи показателей. В случае обнаружения некоторого "узкого места" (неудовлетворительного значения показателя) может быть включен диалоговый режим работы
Для проведения комплексного экономического анализа предприятия целесообразно комбинировать применение описанных выше методов к построению наборов правил. В МЭСИ разработан исследовательский прототип
Функциями
В ходе ввода и проверки бухгалтерской отчетности осуществляется логический контроль зависимостей различных статей баланса предприятия, отчета о финансовых результатах и их использовании, справки к этому отчету и приложений к балансу. При этом правила логического контроля выполняются последовательно по декомпозиционному методу.
Анализ финансового состояния предприятия предполагает комплексную рейтинговую и классификационную оценку платежеспособности и финансовой устойчивости предприятия.
(рис 11.21) Диагностика рентабельности предприятия
Анализ результатов финансово-хозяйственной деятельности предусматривает оценку важнейших показателей рентабельности и оборачиваемости капитала. Диагностика эффективности использования ресурсов сводится к поиску отклонений в использовании основных и оборотных средств от нормативных значений с последующей декомпозицией анализа.
Общая схема оценки различных показателей в процессе анализа финансового состояния предприятия, реализованная в структуре базы знаний
(рис 11.22)
Рассмотрим более подробно реализацию данной
При проведении экспертизы необходимо учитывать ряд факторов, оказывающих влияние на финансовое состояние предприятия:
Так, для получения итоговой оценки финансового состояния требуется выделить промежуточные этапы анализа (подцели):
При нахождении значений сформулированных подцелей и оценке финансового состояния в целом следует принимать во внимание, что невозможно точно установить, насколько удовлетворительными (неудовлетворительными) являются те или иные значения показателей.
Кроме того, сами нормативные значения некоторых финансовых показателей, на основании которых строятся выводы, зависят от множества обстоятельств: структуры баланса, особенностей деятельности предприятия, экономической ситуации в стране. Поэтому, несмотря на то, что все возможные исходы решения проблемы могут быть описаны, они оцениваются с некоторой степенью уверенности (достоверности). При этом задача оценки финансового состояния предприятия приобретает нечеткий характер.
Оценка ликвидности (платежеспособности) получается как по обобщенным показателям (финансовым коэффициентам) в результате их проверки на соответствие нормативным ограничениям, так и на основе соотношений статей актива и пассива баланса (ликвидности баланса).
Для оценки такого баланса кроме простого (приближенного)
1) Финансовые коэффициенты ликвидности:
а) коэффициент абсолютной ликвидности (Кал):
$$Кал =\frac{D}{ Kt + Rp + Ko}$$где D - денежные средства и краткосрочные финансовые вложения;
Kt - краткосрочные кредиты и заемные средства;
Ko - ссуды, не погашенные в срок.
б) коэффициент ликвидности (Кл):
$$Кл =\frac{Ra}{Kt + Rp + Ko}$$где
в) коэффициент покрытия (Кп):
$$Кп =\frac{(Z - Sf) + Ra}{Kt + Rp + Ko}$$где Z - запасы и затраты;
Sf - расходы будущих периодов;
Оценка коэффициентов ликвидности для промышленных предприятий осуществляется на основе проверки ограничений.
Коэффициент абсолютной ликвидности:
Коэффициент ликвидности:
Коэффициент покрытия:
2) Ликвидность баланса:
а) Расчёт ликвидности баланса простым методом:
б) Расчёт ликвидности баланса методом нормативов скидок:
$$А1 = D;$$ $$ A2 = 0,82a + 0,7Г + 0,5(Z - Sf -Г),$$где Г - готовая продукция;
$$A3 = 0,22a + 0,3Г +0,5(Z - Sf -Г) + FT + RTa;$$ $$П1 = 0,8Rp + Ko;$$ $$П2 = 0,2Rp + Kt - Ko;$$ $$П3 = KT + RTp.$$Для обоих методов оценки ликвидности баланса рассчитываются платежные излишки/недостатки по следующим формулам:
В общей оценке платежеспособности наибольшее значение придается оценке баланса ликвидности по сравнению с оценкой коэффициентов ликвидности, например, факторы уверенности назначаются в соотношении 2 к 1. В оценке баланса ликвидности метод нормативов - скидок играет уточняющую роль, он лишь немного увеличивает хорошие значения и уменьшает плохие значения ликвидности.
Оценку баланса ликвидности можно представить в виде следующей матрицы ("+" - избыток, "-" - недостаток):
| А11 | А12 | А13 | Оценка | Уверенность |
|---|---|---|---|---|
| + | + | + | Удовл. | 100 |
| + | + | - | Удовл. | 80 |
| + | - | + | Удовл. | 75 |
| - | + | + | Удовл. | 70 |
| - | - | - | Неудовл. | 100 |
| - | - | + | Неудовл. | 75 |
| - | + | - | Неудовл. | 70 |
| + | - | - | Неудовл. | 60 |
Оценка финансовой устойчивости формируется из оценок трёхкомпонентного показателя типа финансовой ситуации, определяющего покрытие основных и оборотных средств собственными и заемными финансовыми источниками, а также оценок коэффициентов устойчивости по сравнению с нормативными значениями. Основное влияние на финансовую устойчивость при этом оказывает оценка трёхкомпонентного показателя примерно в соотношении 2 к 1. При расчёте показателей финансовой устойчивости используются следующие формулы:
1) Трёхкомпонентный показатель типа финансовой ситуации:
Полученное значение трёхкомпонентного показателя может характеризовать состояние финансовой устойчивости как:
Такое состояние можно восстановить путём привлечения долгосрочных и среднесрочных кредитов и заемных средств или обоснованным снижением уровня запасов;
В этом случае денежные средства, краткосрочные ценные бумаги и дебиторская задолженность не покрывают даже кредиторской задолженности и просроченных ссуд.
2) Коэффициенты финансовой устойчивости предприятия:
Оценка коэффициентов финансовой устойчивости для промышленных предприятий осуществляется на основе проверки ограничений:
Коэффициент автономии:
Коэффициент соотношения заемных и собственных средств:
Коэффициент маневренности:
Коэффициент обеспеченности запасов и затрат собственными источниками финансирования:
Оценки показателей платежеспособности и финансовой устойчивости корректируются в зависимости от оценки тенденции развития предприятия (динамики значений показателей). При этом производится сравнение показателей отчётного периода со средней величиной этих показателей за предшествующий период деятельности предприятия с учётом инфляционных процессов. В случае улучшения значений показателей коэффициент уверенности удовлетворительной оценки увеличивается, предположим, на 10%, а в случае ухудшения коэффициент уверенности, соответственно, уменьшается.
Проверка ограничений на значения отдельных показателей и их последующая оценка задается в виде правил базы знаний в следующей форме:
Если: <посылка> То: < заключение > Уверенность < значение >, например:
Если: А11 > 0 и A12 > 0 и A13 > 0
То: Ликвидность баланса = "Удовлетворительна" Уверенность 100.
В случае независимого воздействия на оценку некоторой целевой переменной нескольких показателей (соответственно нескольких правил, оценивающих эту переменную) коэффициент уверенности (КУ) итоговой оценки формируется рейтинговым методом по формуле нормализованного сложения:
$$КУрез i = КУрез i-1 + КУфактора i - КУрез i-1* КУфактора i/100$$ $$(КУрез 1 = КУфактора 1)$$Например, коэффициент уверенности оценки ликвидности на основе значений финансовых коэффициентов ликвидности рассчитывается следующим образом:
Кал = 1,1 -> Ликвидность коэф-в = "Удовлетвор." Уверенность 30 Кл = 1,5 -> Ликвидность коэф-в = "Удовлетвор." Уверенность 40 Кп = 3,1 -> Ликвидность коэф-в = "Удовлетвор." Уверенность 50
Ликвидность коэф-в = "Удовлетвор." Уверенность 79
Влияние нескольких факторов на оценку некоторого показателя финансового состояния можно также представить в виде правил базы знаний, в посылке которых находится конъюнкция данных факторов, например:
IF: Ликвидность коэф-в = "Удовл." AND Ликвидность баланса = "Удовл." THEN: Платежеспособность = "Удовл." cf 100 IF: Ликвидность коэф-в ="Неудовл." AND Ликвидность баланса ="Удовл." THEN: Платежеспособность = "Удовл." cf 80 IF: Ликвидность коэф-в="Удовл." AND Ликвидность баланса="Неудовл." THEN: Платежеспособность = "Удовл." cf 40 IF: Ликвидность коэф-в="Недовл." AND Ликвидность баланса="Недовл." THEN: Платежеспособность = "Неудовл." cf 100 IF: Платежеспособность="Удовл." AND Финанс.устойчивость ="Удовл." THEN: Финансовое состояние = "Удовл." cf 100 IF: Платежеспособность = "Неудовл." AND Финанс. устойчивость="Удовл" THEN: Финансовое состояние = "Удовл." cf 50 IF: Платежеспособность="Удовл." AND Финанс. устойчивость ="Неуд." THEN: Финансовое состояние = "Удовл." cf 20 IF: Платежеспособность="Неудовл." AND Финанс.устойчивость="Неуд." THEN: Финансовое состояние = "Неудовл." cf 100
Объединение коэффициентов уверенности значений показателей для таких правил осуществляется следующим образом:
Например, коэффициент уверенности удовлетворительного финансового состояния предприятия на основе значений платежеспособности и финансовой устойчивости рассчитывается следующим образом:
Платежеспособность = "Удовл." Уверенность 60 Финанс. устойчивость = "Неудовл." Уверенность 70 ----------------------------------------------------------------------------- Посылка правила Уверенность 60 Заключение правила Уверенность 20 ----------------------------------------------------------------------------- Финансовое состояние = "Удовл." Уверенность 12
Решение задачи оценки финансового состояния предприятия с помощью
В процессе эксплуатации
Для детального внутреннего анализа результатов финансово-хозяйственной деятельности предприятия предназначена
Рентабельность предприятия, являющаяся интегральной оценивающей характеристикой эффективности его финансово-хозяйственной деятельности, рассчитывается как отношение полученного дохода (прибыли) к средней величине использования ресурсов. Существует множество показателей рентабельности, среди которых следует перечислить такие, как показатели рентабельности активов, текущих активов, реализованной продукции,
Общая схема оценки различных показателей в процессе анализа рентабельности, оборачиваемости средств и себестоимости продукции предприятия, реализованная в структуре базы знаний
Рассмотрим взаимосвязи представленных в
Показатель рентабельности текущих активов (Рта), отражающий получение чистой прибыли (ЧП) на один рубль оборотных средств (ОбС):
$$Рта=\frac {ЧП}{ОбС}$$может быть выведен через показатели
(рис 11.23) Дерево целей "Оценка эффективности ФХД предприятия"
В дальнейшем анализ
Рентабельность реализованной продукции рассчитывается как отношение чистой прибыли к выручке от реализации продукции (Врп):
$$Ррп=\frac {Ррп}{Врп}$$Выручка от реализации продукции в стоимостном выражении складывается из затрат на производство реализованной продукции (Зпр), или себестоимости, и результата от реализации, или прибыли (Пр):
$$Врп = Зпр + Пр.$$Затраты на производство продукции включают прямые затраты (сырьё и материалы, оплату труда рабочих, отчисления на социальные нужды, брак в производстве и прочие расходы) и постоянные затраты (общехозяйственные, общепроизводственные и коммерческие расходы).
Диагностика результатов финансово-хозяйственной деятельности предприятия осуществляется путём просмотра описанного
IF: Рта >= Рта отр. и Рта >= Рта пред.
THEN: Рентабельность тек. активов + = "Удовл."
IF: Рта >= Рта отр. и Рта < Рта пред.
THEN: Рентабельность тек. активов += {"Удовл." cf 70, "Неудовл." cf 30}
IF: Рта < Рта отр. и Рта >= Рта пред.
THEN: Рентабельность тек. активов += {"Удовл." cf 30, "Неудовл." cf 70}
IF: Рта < Рта отр. и Рта < Рта пред.
THEN: Рентабельность тек. активов += "Неудовл."
В приведённых правилах: Рта - показатель рентабельности текущих активов предприятия, Рта пред. - показатель рентабельности текущих активов предприятия за прошлый период, Рта отр. – показатель рентабельности текущих активов по отрасли.
Сформированное качественное значение показателя фиксируется в специальной переменной "Финансово-хозяйственный результат". В случае неудовлетворительного значения того или иного показателя
IF: Рентабельность тек. активов = "Неудовлетв."
AND KNOWN ("Оборачиваемость тек. активов")
AND KNOWN("Рентабельность реал. продукции")
THEN: Финансово-хозяйственный результат + =
"Рентабельность тек. активов неудовлетворительна"
IF: Рентабельность тек. активов = "Удовлетв."
THEN: Финансово-хозяйственный результат + =
"Рентабельность тек. активов удовлетворительна"
IF: Оборачиваемость тек. активов = "Неудовлетв."
AND KNOWN("Оборачиваемость гот. продукции")
AND KNOWN("Оборачиваемость матер. запасов")
THEN: Финансово-хозяйственный результат + =
" Оборачиваемость тек. активов неудовлетворительна"
IF: Оборачиваемость тек. активов = "Удовлетв."
THEN: Финансово-хозяйственный результат + =
" Оборачиваемость тек. активов удовлетворительна"
. . . . . . . . . . . . . . . . . . . . . . . . .
Переход на следующий уровень анализа обеспечивается в результате использования функции "KNOWN ", которая заставляет искать значение заданной в скобках переменной. По мере просмотра
Главным направлением перестройки менеджмента и его радикального усовершенствования, приспособления к современным условиям стало массовое использование новейшей компьютерной и телекоммуникационной техники, формирование на её основе высокоэффективных информационно-управленческих технологий. Средства и методы прикладной информатики используются в менеджменте и маркетинге. Новые технологии, основанные на компьютерной технике, требуют радикальных изменений организационных структур менеджмента, его регламента, кадрового потенциала, системы документации, фиксирования и передачи информации. Особое значение имеет внедрение информационного менеджмента, значительно расширяющее возможности использования компаниями информационных ресурсов. Развитие информационного менеджмента связано с организацией системы обработки данных и знаний, последовательного их развития до уровня интегрированных автоматизированных систем управления, охватывающих по вертикали и горизонтали все уровни и звенья производства и сбыта.
На текущий момент большинство хозрасчетных предприятий начало, наконец, осознавать необходимость внедрения серьезных информационных технологий для нужд управления предприятием и поддержки принятия решений. То есть сейчас наблюдается постепенный отход от простых учётных систем и переход к более сложным, корпоративного уровня системам. Отличительной особенностью этих систем является то, что они позволяют в едином информационном пространстве охватить полностью всю деятельность предприятия. К сожалению, на большинстве российских фирм в процессе принятия решений не используются данные информационных систем, или используются в незначительном объёме.
Экономика как наука возникла в 1776 году, когда шотландский философ Адам Смит (1723—1790) опубликовал свою книгу An
Большинство людей считают, что экономика посвящена изучению денежного оборота, но любой экономист ответит на это, что в действительности он изучает то, как люди делают выбор, который ведёт к предпочтительным для них результатам. Математическая трактовка понятия "предпочтительных результатов", или полезности, была впервые формализована Леоном Валрасом (1834—1910), уточнена Фрэнком Рамсеем, а затем усовершенствована Джоном фон Нейманом и Оскаром Моргенштерном в книге The
Теория решений, которая объединяет в себе теорию вероятностей и теорию полезности, предоставляет формальную и полную инфраструктуру для принятия решений (в области экономики или в другой области) в условиях неопределённости. Следовательно, в тех случаях, когда среда, в которой действует лицо, принимающее решение, наиболее адекватно может быть представлена лишь с помощью вероятностных описаний.
Она хорошо подходит для "крупных" экономических образований, где каждый агент не обязан учитывать действия других агентов как индивидуумов. А в "небольших" экономических образованиях ситуация в большей степени напоминает игру, поскольку действия одного игрока могут существенно повлиять на полезность действий другого (или положительно, или отрицательно).
Теория игр, разработанная фон Нейманом и Морген Штерном, позволяет сделать неожиданный вывод, что в некоторых играх рациональный агент должен действовать случайным образом или, по крайней мере, таким образом, который кажется случайным для соперников.
Экономисты чаще всего не пытаются выработать способ принятия рациональных решений в тех условиях, когда вознаграждение в ответ на определённые действия не предоставляется немедленно, а становится результатом нескольких действий, выполненных в определенной последовательности.
Изучению этой темы посвящена область исследования операций, которая возникла во время Второй мировой войны в результате усилий, которые были предприняты в Британии по оптимизации работы радарных установок, а в дальнейшем нашла применение и в гражданском обществе при выработке сложных управленческих решений.
В работе Ричарда Беллмана формализован определённый класс последовательных задач выработки решений, называемых марковскими процессами принятия решений (Markov Decision Process —
Работы в области экономики и исследования операций оказали большое влияние на сформулированное понятие рациональных агентов, но в течение многих лет исследования в области искусственного интеллекта проводились совсем по другим направлениям. Одной из причин этого была кажущаяся сложность задачи выработки рациональных решений. Тем не менее, Герберт Саймон (1916—2001) в некоторых из своих ранних работ показал, что лучшее описание фактического поведения человека дают модели, основанные на удовлетворении (принятии решений, которые являются "достаточно приемлемыми"), а не модели, предусматривающие трудоёмкий расчёт оптимального решения. Он стал одним из первых исследователей в области искусственного интеллекта, получившим Нобелевскую премию по экономике (это произошло в 1978 году). В 1990-х годах наблюдалось возрождение интереса к использованию методов теории решений для систем агентов.
Математическая
Прежде чем нечёткий подход к моделированию сложных систем получил признание во всём мире, прошло не одно десятилетие с момента зарождения
Первый период (конец 60-х–начало 70 г.г.) характеризуется развитием теоретического аппарата нечётких множеств (Л. Заде, Э. Мамдани, Беллман). Во втором периоде (70–80-е годы) появляются первые практические результаты в области нечёткого управления сложными техническими системами (парогенератор с нечётким управлением). Одновременно стало уделяться внимание вопросам построения экспертных систем, построенных на
Триумфальное шествие
Характеристикой нечёткого множества выступает
Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяться от 0 до 100 градусов. Нечёткое множество для понятия "горячий чай" может выглядеть следующим образом:
$$C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.$$Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечёткость задания соответствующего множества.
Для нечётких множеств, как и для обычных, определены основные логические операции. Самыми основными, необходимыми для расчётов, являются пересечение и объединение.
Пересечение двух нечётких множеств (нечёткое "И"): A B:
$$MFAB(x)=min(MFA(x), MFB(x)).$$Объединение двух нечётких множеств (нечеткое "ИЛИ"):
$$MFAB(x)=max(MFA(x), MFB(x)).$$ $$MF(x)=\begin{cases} 1-\frac{b-x}{b-a}, a \le x \le b\\ 1-\frac{x-с}{с-b}, b \le x \le c\\ 0,\text{в остальных случаях} \end{cases}$$При $$(b-a)=(c-b)$$ имеем случай симметричной треугольной
Аналогично для задания трапецеидальной
При (b-a)=(d-c) трапецеидальная
(рис 11.1) Типовые кусочно-линейные функции принадлежности
(рис 11.2) Гауссова функция принадлежности
Совокупность функций принадлежности для каждого терма из базового
(рис 11.3) Описание лингвистической переменной "Цена акции"
(рис 11.4) Описание лингвистической переменной "Возраст"
Количество термов в
Основой для проведения операции
В противном случае имеет место неполная база нечётких правил.
Пусть в
$$R_1: ЕСЛИ\ x_1\ это\ A_{11} … И … x_n\ это\ A_{1n},\ ТО\ y\ это\ B_1$$
. . .
$$R_i: ЕСЛИ\ x_1\ это\ A_{i1} … И … x_n\ это\ A_{in},\ ТО\ y\ это\ B_i$$
. . .
$$R_m: ЕСЛИ\ x_1\ это\ A_{i1} … И … x_n\ это\ A_{mn},\ ТО\ y\ это\ B_m,$$
где $$x_k , k=1..n$$ – входные переменные; y – выходная переменная; $$A_{ik}$$ – заданные нечёткие множества с функциями принадлежности.
Результатом нечёткого вывода является чёткое значение переменной y* на основе заданных чётких значений $$x_k , k=1..n$$.
В общем случае механизм логического вывода включает четыре этапа: введение нечёткости (фазификация), нечёткий вывод, композиция и приведение к чёткости, или дефазификация (рис.11.5).
(рис 11.5) Система нечёткого логического вывода
Алгоритмы нечёткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечёткого вывода Мамдани, Сугено, Ларсена, Цукамото.
Рассмотрим подробнее нечёткий вывод на примере механизма Мамдани (Mamdani). Это наиболее распространённый способ логического вывода в нечётких системах. В нём используется минимаксная композиция нечётких множеств. Данный механизм включает в себя следующую последовательность действий.
Далее находятся "усечённые"
Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рис.11.6 графически показывает процесс нечёткого вывода по Мамдани для двух входных переменных и двух нечётких правил R1 и R2.
(рис 11.6) Схема нечёткого вывода по Мамдани
Гибридизация методов интеллектуальной обработки информации – девиз, под которым прошли 90-е годы у западных и американских исследователей. В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления" (
Влияние
Нечёткие
Наибольшее распространение в настоящее время получили архитектуры нечёткой НС вида ANFIS и TSK. Доказано, что такие сети являются универсальными аппроксиматорами.
Быстрые алгоритмы обучения и интерпретируемость накопленных знаний – эти факторы сделали сегодня нечёткие
Классические нечёткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удаётся обеспечить. Адаптивные нечёткие системы (adaptive
Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определённое противоречие: для генерации нечётких правил необходимы
Значительная часть методов обучения нечётких систем использует
Значительный вклад в развитие теории и практики нечётких систем с эволюционной адаптацией внесла группа испанских исследователей во главе с Ф. Херрера (F. Herrera).
Нечёткие запросы к базам данных (fuzzy queries) – перспективное направление в современных системах обработки информации. Данный инструмент даёт возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съёме жилья близко к центру города", что невозможно при использовании стандартного
Нечёткие ассоциативные правила (fuzzy associative rules) – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечёткой транзакции, поддержки и достоверности нечёткого ассоциативного правила.
Нечёткие когнитивные карты (fuzzy
Нечёткие методы кластеризации, в отличие от чётких методов (например,
Список можно продолжить и дальше: нечёткие деревья решений, нечёткие сети Петри, нечёткая
Область ИИ, нашедшая наиболее широкое применение -
Нейросети предпочтительны там, где имеется очень много входных данных, в которых скрыты закономерности. Целесообразно использовать нейросетевые методы в задачах с неполной или "зашумлённой" информацией, а также в таких, где решение можно найти интуитивно.
Нейросети применяются для предсказания рынков, оптимизации товарных и денежных потоков, анализа и обобщения социологических опросов, предсказание динамики политических рейтингов, оптимизации производственного процесса, комплексной диагностики качества продукции и для многого, многого другого.
Поскольку экономические, финансовые и социальные системы очень сложны и являются результатом действий и противодействий различных людей, то является очень сложным (если не невозможным) создать полную математическую модель с учётом всех возможных действий и противодействий. Практически невозможно детально аппроксимировать модель, основанную на таких традиционных параметрах, как максимизация полезности или максимизация прибыли.
В системах подобной сложности является естественным и наиболее эффективным использовать модели, которые напрямую имитируют поведение общества и экономики. А это как раз то, что способна предложить методология
Ниже перечислены области, в которых эффективность применения
Для финансовых операций:
Для планирования работы предприятия:
Для бизнес - аналитики и поддержки принятия решений:
Другие приложения:
Независимый экспертный совет по стратегическому анализу проблем внешней и внутренней политики при Совете Федерации НИИ искусственного интеллекта представил проект "Технология нового поколения на основе недоопределённых вычислений и её использование для разработки экспериментальной модели макроэкономики РФ". Появилась возможность просчитывать исход любого действия или предложения, касающегося бюджета страны, на много лет вперёд.
Система позволяет видеть, как изменится доходная часть, дефицит бюджета, объём промышленного производства в ответ, скажем, на увеличение налогов. Также можно посмотреть, сколько денег в прошлом году уплыло из бюджета: электронная машина, по уверению учёных, легко сможет справиться и с такой задачей. Ей даже не надо будет объяснять понятие "чёрный нал".
Можно решить и обратную задачу. Например, а что надо сделать, чтобы к 2020 году объём производства увеличился или, скажем, хотя бы не падал? Машина укажет нижнюю и верхнюю границу значений в том и другом случае для отпускаемых бюджетных денег по всем параметрам, так или иначе влияющим на производство.
Кроме того, можно узнать не по гороскопу и без помощи магов возможную последовательность "критических" и "удачных" моментов в развитии экономики страны при заданных исходных данных.
Разработчики проекта создали пока лишь демонстрационную модель, охватывающую около 300 параметров и период от 1990-го до 1999 года. Но для нормальной работы необходимо не менее 1000 параметров. И такая работа может быть проведена, если на неё будут отпущены средства. Надо провести множество прикладных работ, необходимы фундаментальные исследования по обоим основным составляющим проекта - математической и экономической. Здесь нужна серьёзная государственная материальная поддержка.
Внедрение действующей
Интерес к искусственным
Технологии
Применение
Поэтому наивно верить, что нейросеть будет автоматически предсказывать курсы основных индикаторов — национальной валюты или, например, драгоценных металлов на нестабильных рынках. Но при любой рыночной ситуации существуют инструменты, сохраняющие стабильность. Например, при скачках доллара — это "дальние"
Над созданием
Продажа одного только нейросетевого пакета "Brain Maker Pro" сравнима с объёмами продаж самого популярного пакета технического анализа MetaStock (в США продано более 20000 копий Brain Maker Pro).
Хорошо зарекомендовал себя пакет "The AI Trilogy". ("Трилогия искусственного интеллекта") американской фирмы "Ward Systems Group". Это набор из трёх программ, каждая из которых может использоваться как самостоятельно, так и в комбинации с остальными.
Так, программа "NeuroShell II" — это набор из 16 типов
"The AI Trilogy" на американском рынке пользуется большим спросом. Пакет установлен в 150 крупнейших банках США. Он многократно побеждал в престижных конкурсах популярных финансовых изданий и помогает управлять капиталами в несколько миллиардов долларов. Фирма "Du Pont" (институт стандартов США и ФБР) считает "Трилогию искусственного интеллекта" лучшей для решения различных задач.
Интересен и знаменателен малоизвестный факт, что ключевые компоненты этого пакета были написаны российскими программистами. Своим обликом пакет обязан группе разработчиков из небольшой московской компании "Нейропроект" под руководством профессора Персиянцева. Она более трёх лет выполняла заказы фирмы "Ward Systems Group" и нашла удачные решения. Можно сказать, что русские программы управляют финансами Америки и задачами ФБР!
Насколько может быть полезен пакет финансистам? В состоянии ли он будет работать на нашем непредсказуемом рынке, где одно решение Центробанка может мгновенно опрокинуть рынок? Предваряя эти вопросы, владельцы пакета предлагают специальную консалтинговую услугу.
С банком, аналитики которого не верят в прогнозируемость нашего рынка, заключается специальный договор. В течение определённого периода: две недели, месяц или больше, за символическую плату банку ежедневно предоставляются прогнозы на завтрашний день (или на неделю вперед) по
И не было ни единого случая, когда клиент отказывался от покупки. Показательный и впечатляющий случай имел место между выборами, когда один из крупных банков проводил подобное тестирование пакета. Плясали курсы бумаг, падали и поднимались политики, но каждый вечер банк получал прогноз с набором завтрашних цен (мини – макси – средневзвешенная – закрытие) по шестнадцати бумагам ГКО. Не прошло и двух недель, как банк заключил договор на поставку аналитического комплекса, способного сохранять работоспособность даже в таких бурных и непредсказуемых ситуациях.
Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединённых многочисленными связями (в среднем несколько тысяч связей на один
Нейроны - это специальные клетки, способные распространять электрохимические сигналы (рис.11.7).
(рис 11.7) Структура нейрона
Интенсивность сигнала, получаемого
Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берёт взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определённый уровень, передаёт дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи. Разумеется, здесь не затронуто многих сложных аспектов устройства мозга, однако интересно то, что искусственные
Чтобы отразить суть биологических нейронных систем, определение искусственного
При этом используется ступенчатая функция активации (т.е. выход
Это было описание отдельного
Ключевой вопрос здесь - обратная связь (Haykin, 1994). Простейшая сеть имеет структуру прямой передачи сигнала: сигналы проходят от входов через скрытые элементы и в конце концов приходят на выходные элементы. Такая структура имеет устойчивое поведение. Если же сеть рекуррентная (т.е. содержит связи, ведущие назад от более дальних к более ближним нейронам), то она может быть неустойчива и иметь очень сложную динамику поведения.
Типичный пример сети с прямой передачей сигнала показан на рис.11.8.
(рис 11.8) Сеть с прямой передачей сигнала
Нейроны регулярным образом организованы в слои. Входной слой служит просто для ввода значений входных переменных. Каждый из скрытых и выходных нейронов соединён со всеми элементами предыдущего слоя.
Можно было бы рассматривать сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя; однако, для большинства приложений сети с полной системой связей предпочтительнее, и именно такой тип сетей реализован в пакете ST
При работе (использовании) сети во входные элементы подаются значения входных переменных, затем последовательно отрабатывают нейроны промежуточных и выходного слоев. Каждый из них вычисляет своё значение активации, беря взвешенную сумму выходов элементов предыдущего слоя и вычитая из неё пороговое значение. Затем значения активации преобразуются с помощью функции активации, и в результате получается выход
В предыдущем разделе в несколько упрощенном виде было описано, как нейронная сеть преобразует входные сигналы в выходные. Теперь возникает следующий важный вопрос: как применить нейронную сеть к решению конкретной задачи?
Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдаёт значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определённая известная информация, и Вы хотите из неё получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач:
Прогнозирование на
Предоставление кредита. Требуется определить, высок ли риск предоставления кредита частному лицу, обратившемуся с такой просьбой. В результате разговора с ним известен его доход, предыдущая кредитная история и т.д.
Управление. Нужно определить, что должен делать робот (повернуться направо или налево, двигаться вперёд и т.д.), чтобы достичь цели; известно изображение, которое передаёт установленная на роботе видеокамера.
Разумеется, вовсе не любую задачу можно решить с помощью нейронной сети. Если Вы хотите определить результаты лотереи, тираж которой состоится через неделю, зная свой размер обуви, то едва ли это получится, поскольку эти вещи не связаны друг с другом. На самом деле, если тираж проводится честно, то не существует такой информации, на основании которой можно было бы предсказать результат. Многие финансовые структуры уже используют
Итак, мы приходим ко второму важному условию применения
Как правило, нейронная сеть используется тогда, когда неизвестен точный вид связей между входами и выходами, - если бы он был известен, то связь можно было бы моделировать непосредственно.
Другая существенная особенность
Для управляемого обучения сети пользователь должен подготовить набор обучающих данных. Эти данные представляют собой примеры входных данных и соответствующих им выходов. Сеть учится устанавливать связь между первыми и вторыми. Обычно обучающие данные берутся из исторических сведений. В рассмотренных выше примерах это могут быть предыдущие значения цен акций и индекса FTSE, сведения о прошлых заемщиках - их анкетные данные и то, успешно ли они выполнили свои обязательства, примеры положений робота и его правильной реакции.
Затем нейронная сеть обучается с помощью того или иного алгоритма управляемого обучения (наиболее известным из них является метод обратного распространения, предложенный в работе Rumelhart et al., 1986), при котором имеющиеся данные используются для
Если задача будет решаться с помощью нейронной сети, то необходимо собрать данные для обучения. Обучающий набор данных представляет собой набор наблюдений, для которых указаны значения входных и выходных переменных. Первый вопрос, который нужно решить, - какие переменные использовать и сколько (и каких) наблюдений собрать.
Выбор переменных (по крайней мере, первоначальный) осуществляется интуитивно. Опыт работы в данной предметной области поможет определить, какие переменные являются важными. При работе с пакетом ST
Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж, Жен}. Переменные с номинальными значениями можно представить в числовом виде, и в системе ST
Пусть, например, мы хотим научить нейронную сеть оценивать стоимость объектов недвижимости. Цена дома очень сильно зависит от того, в каком районе города он расположен. Город может быть подразделён на несколько десятков районов, имеющих собственные названия, и кажется естественным ввести для обозначения района переменную с номинальными значениями. К сожалению, в этом случае обучить нейронную сеть будет очень трудно, и вместо этого лучше присвоить каждому району определённый рейтинг (основываясь на экспертных оценках).
Нечисловые данные других типов можно либо преобразовать в числовую форму, либо объявить незначащими. Значения дат и времени, если они нужны, можно преобразовать в числовые, вычитая из них начальную дату (время). Обозначения денежных сумм преобразовать совсем несложно. С произвольными текстовыми полями (например, фамилиями людей) работать нельзя, и их нужно сделать незначащими.
Вопрос о том, сколько наблюдений нужно иметь для обучения сети, часто оказывается непростым. Известен ряд эвристических правил, увязывающих число необходимых наблюдений с размерами сети (простейшее из них гласит, что число наблюдений должно быть в десять раз больше числа связей в сети). На самом деле это число зависит также от (заранее неизвестной) сложности того отображения, которое нейронная сеть стремится воспроизвести. С ростом количества переменных количество требуемых наблюдений растёт нелинейно, так что уже при довольно небольшом (например, пятьдесят) числе переменных может потребоваться огромное число наблюдений.
Для большинства реальных задач бывает достаточно нескольких сотен или тысяч наблюдений. Для особо сложных задач может потребоваться еще большее количество, однако очень редко может встретиться (даже тривиальная) задача, где хватило бы менее сотни наблюдений. Если данных меньше, чем здесь сказано, то на самом деле недостаточно информации для обучения сети, и лучшее, что можно сделать - это попробовать подогнать к данным некоторую линейную модель.
В пакете ST
Во многих реальных задачах приходится иметь дело с не вполне достоверными данными. Значения некоторых переменных могут быть искажены шумом или частично отсутствовать. Пакет ST
Следовательно, при работе с НС необходимо выбирать такие переменные, которые, по предположению, влияют на результат.
С числовыми и номинальными переменными в пакете ST
Для анализа нужно иметь порядка сотен или тысяч наблюдений; чем больше в задаче переменных, тем больше нужно иметь наблюдений. Пакет ST
В случае необходимости можно работать с наблюдениями, содержащими пропущенные значения. Наличие выбросов в данных может создать трудности. Если возможно, следует удалить выбросы. Если данных достаточное количество, следует убрать из рассмотрения наблюдения с пропущенными значениями.
Всякая нейронная сеть принимает на входе числовые значения и выдаёт на выходе также числовые значения. Передаточная функция для каждого элемента сети обычно выбирается таким образом, чтобы её
(рис 11.9) Логистическая функция
Коль скоро выходные значения всегда принадлежат некоторой ограниченной области, а вся информация должна быть представлена в числовом виде, очевидно, что при решении реальных задач методами
Шкалирование. Числовые значения должны быть приведены в масштаб, подходящий для сети. Обычно исходные данные масштабируются по линейной шкале. В пакете ST
В некоторых случаях более подходящим может оказаться нелинейное шкалирование (например, если заранее известно, что переменная имеет экспоненциальное распределение, имеет смысл взять ее логарифм). Нелинейное шкалирование не реализовано в модуле ST
Номинальные переменные. Номинальные переменные могут быть двузначными (например, Пол ={Муж, Жен}) или многозначными (т.е. принимать более двух значений или состояний). Двузначную номинальную переменную легко преобразовать в числовую (например, Муж = 0, Жен = 1). С многозначными номинальными переменными дело обстоит сложнее. Их тоже можно представить одним числовым значением (например, Собака = 0, Овца = 1, Кошка = 2), однако при этом возникнет (возможно) ложное упорядочивание значений номинальной переменной: в рассмотренном примере Овца окажется чем-то средним между Собакой и Кошкой. Существует более точный способ, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальной переменной; при этом всякий раз ровно одна из N переменных принимает ненулевое значение (например, Собака = {1,0,0}, Овца = {0,1,0}, Кошка = {0,0,1}). В пакете ST
Задачи прогнозирования можно разбить на два основных класса: классификация и регрессия.
В задачах классификации нужно бывает определить, к какому из нескольких заданных классов принадлежит данный входной набор. Примерами могут служить предоставление кредита (относится ли данное лицо к группе высокого или низкого кредитного риска), диагностика раковых заболеваний (опухоль, чисто), распознавание подписи (поддельная, подлинная). Во всех этих случаях, очевидно, на выходе требуется всего одна номинальная переменная. Чаще всего (как в этих примерах) задачи классификации бывают двузначными, хотя встречаются и задачи с несколькими возможными состояниями.
В задачах регрессии требуется предсказать значение переменной, принимающей (как правило) непрерывные числовые значения: завтрашнюю цену акций, расход топлива в автомобиле, прибыли в следующем году и т.п.. В таких случаях в качестве выходной требуется одна числовая переменная.
Нейронная сеть может решать одновременно несколько задач регрессии и/или классификации, однако обычно в каждый момент решается только одна задача. Таким образом, в большинстве случаев нейронная сеть будет иметь всего одну выходную переменную; в случае задач классификации со многими состояниями для этого может потребоваться несколько выходных элементов (этап пост-процессирования отвечает за преобразование информации из выходных элементов в выходную переменную).
В пакете ST
Эта архитектура сети используется сейчас наиболее часто. Она была предложена в работе Rumelhart, McClelland (1986) и подробно обсуждается почти во всех учебниках по
Количество входных и выходных элементов определяется условиями задачи. Сомнения могут возникнуть в отношении того, какие входные значения использовать, а какие нет. Сейчас будем предполагать, что входные переменные выбраны интуитивно и что все они являются значимыми. Вопрос же о том, сколько использовать промежуточных слоёв и элементов в них, пока совершенно неясен. В качестве начального приближения можно взять один промежуточный слой, а число элементов в нём положить равным полусумме числа входных и выходных элементов.
После того, как определено число слоёв и число элементов в каждом из них, нужно найти значения для весов и порогов сети, которые бы минимизировали ошибку прогноза, выдаваемого сетью. Именно для этого служат алгоритмы обучения. С использованием собранных исторических данных веса и пороговые значения автоматически корректируются с целью минимизировать эту ошибку. По сути, этот процесс представляет собой подгонку модели, которая реализуется сетью, к имеющимся обучающим данным. Ошибка для конкретной конфигурации сети определяется путём прогона через сеть всех имеющихся наблюдений и сравнения реально выдаваемых выходных значений с желаемыми (целевыми) значениями. Все такие разности суммируются в так называемую
В традиционном моделировании (например, линейном моделировании) можно алгоритмически определить конфигурацию модели, дающую абсолютный минимум для указанной ошибки. Цена, которую приходится платить за более широкие (нелинейные) возможности моделирования с помощью
В этих рассмотрениях оказывается очень полезным понятие поверхности ошибок. Каждому из весов и порогов сети (т.е. свободных параметров модели; их общее число обозначим через N) соответствует одно измерение в многомерном пространстве. N+1-е измерение соответствует ошибке сети. Для всевозможных сочетаний весов соответствующую ошибку сети можно изобразить точкой в N+1-мерном пространстве, и все такие точки образуют там некоторую поверхность - поверхность ошибок. Цель обучения нейронной сети состоит в том, чтобы найти на этой многомерной поверхности самую низкую точку.
В случае линейной модели с суммой квадратов в качестве
В случае нейронной сети поверхность ошибок имеет гораздо более сложное строение и обладает рядом неприятных свойств, в частности, может иметь локальные минимумы (точки, самые низкие в некоторой своей окрестности, но лежащие выше глобального минимума), плоские участки, седловые точки и длинные узкие овраги.
Аналитическими средствами невозможно определить положение глобального минимума на поверхности ошибок, поэтому обучение нейронной сети по сути дела заключается в исследовании поверхности ошибок. Отталкиваясь от случайной начальной конфигурации весов и порогов (т.е. случайно взятой точки на поверхности ошибок), алгоритм обучения постепенно отыскивает глобальный минимум. Как правило, для этого вычисляется градиент (наклон) поверхности ошибок в данной точке, а затем эта информация используется для продвижения вниз по склону. В конце концов алгоритм останавливается в нижней точке, которая может оказаться всего лишь локальным минимумом (а если повезет - глобальным минимумом).
Самый известный вариант алгоритма обучения нейронной сети - так называемый
В алгоритме обратного распространения вычисляется вектор градиента поверхности ошибок. Этот вектор указывает направление кратчайшего спуска по поверхности из данной точки, поэтому если мы "немного" продвинемся по нему, ошибка уменьшится. Последовательность таких шагов (замедляющаяся по мере приближения к дну) в конце концов приведет к минимуму того или иного типа. Определенную трудность здесь представляет вопрос о том, какую нужно брать длину шагов.
При большой длине шага сходимость будет более быстрой, но имеется опасность перепрыгнуть через решение или (если поверхность ошибок имеет особо вычурную форму) уйти в неправильном направлении. Классическим примером такого явления при обучении нейронной сети является ситуация, когда алгоритм очень медленно продвигается по узкому оврагу с крутыми склонами, прыгая с одной его стороны на другую. Напротив, при маленьком шаге, вероятно, будет схвачено верное направление, однако при этом потребуется очень много итераций. На практике величина шага берется пропорциональной крутизне склона (так что алгоритм замедляет ход вблизи минимума) с некоторой константой, которая называется скоростью обучения. Правильный выбор скорости обучения зависит от конкретной задачи и обычно осуществляется опытным путем; эта константа может также зависеть от времени, уменьшаясь по мере продвижения алгоритма.
Обычно этот алгоритм видоизменяется таким образом, чтобы включать слагаемое импульса (или инерции). Этот член способствует продвижению в фиксированном направлении, поэтому если было сделано несколько шагов в одном и том же направлении, то алгоритм "увеличивает скорость", что (иногда) позволяет избежать локального минимума, а также быстрее проходить плоские участки.
Таким образом, алгоритм действует итеративно, и его шаги принято называть эпохами. На каждой эпохе на вход сети поочередно подаются все обучающие наблюдения, выходные значения сети сравниваются с целевыми значениями и вычисляется ошибка. Значение ошибки, а также градиента поверхности ошибок используется для
Одна из наиболее серьёзных трудностей изложенного подхода заключается в том, что таким образом мы минимизируем не ту ошибку, которую на самом деле нужно минимизировать, - ошибку, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, мы хотели бы, чтобы нейронная сеть обладала способностью обобщать результат на новые наблюдения. В действительности сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать "настоящую" ошибку на поверхности ошибок в заранее неизвестной модели явления (Bishop, 1995).
Сильнее всего это различие проявляется в проблеме
Полином (или многочлен) - это выражение, содержащее только константы и целые степени независимой переменной. Вот примеры:
$$y=2x+3$$ $$y=3x^2+4x+1$$Графики полиномов могут иметь различную форму, причём чем выше степень многочлена (и, тем самым, чем больше членов в него входит), тем более сложной может быть эта форма. Если у нас есть некоторые данные, мы можем поставить цель подогнать к ним полиномиальную кривую (модель) и получить таким образом объяснение для имеющейся зависимости. Наши данные могут быть зашумлены, поэтому нельзя считать, что самая лучшая модель задается кривой, которая в точности проходит через все имеющиеся точки. Полином низкого порядка может быть недостаточно гибким средством для аппроксимации данных, в то время как полином высокого порядка может оказаться чересчур гибким, и будет точно следовать данным, принимая при этом замысловатую форму, не имеющую никакого отношения к форме настоящей зависимости (рис.11.10).
(рис 11.10) Полином высокого порядка
Нейронная сеть сталкивается с точно такой же трудностью. Сети с большим числом весов моделируют более сложные функции и, следовательно, склонны к переобучению. Сеть же с небольшим числом весов может оказаться недостаточно гибкой, чтобы смоделировать имеющуюся зависимость. Например, сеть без промежуточных слоёв на самом деле моделирует обычную линейную функцию.
Как же выбрать "правильную" степень сложности для сети? Почти всегда более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении.
Ответ состоит в том, чтобы использовать механизм контрольной
Описанные проблемы с локальными минимумами и выбором размера сети приводят к тому, что при практической работе с
Необходимость многократных экспериментов ведёт к тому, что контрольное множество начинает играть ключевую роль в выборе модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели - при большом числе экспериментов есть риск выбрать "удачную" сеть, дающую хороший результат на контрольном множестве. Для того, чтобы придать окончательной модели должную надежность, часто (по крайней мере, когда объём обучающих данных это позволяет) поступают так: резервируют ещё одно - тестовое множество наблюдений. Итоговая модель тестируется на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах реальны, а не являются артефактами процесса обучения. Разумеется, для того чтобы хорошо играть свою роль, тестовое множество должно быть использовано только один раз: если его использовать повторно для корректировки процесса обучения, то оно фактически превратится в контрольное множество.
Итак, построение сети (после выбора входных переменных) состоит из следующих шагов:
Многократное повторение эвристических экспериментов в лучшем случае довольно утомительно, и поэтому в пакет ST
Отбор данных
На всех предыдущих этапах существенно использовалось одно предположение. А именно, обучающее, контрольное и тестовое множества должны быть репрезентативными (представительными) с точки зрения существа задачи (более того, эти множества должны быть репрезентативными каждое в отдельности). Известное изречение программистов "
Будущее непохоже на прошлое. Обычно в качестве обучающих берутся исторические данные. Если обстоятельства изменились, то закономерности, имевшие место в прошлом, могут больше не действовать.
Следует учесть все возможности. Нейронная сеть может обучаться только на тех данных, которыми она располагает. Предположим, что лица с годовым доходом более $100,000 имеют высокий кредитный риск, а обучающее множество не содержало лиц с доходом более $40,000 в год. Тогда едва ли можно ожидать от сети правильного решения в совершенно новой для нее ситуации.
Сеть обучается тому, чему проще всего обучиться. Классическим (возможно, вымышленным) примером является система машинного зрения, предназначенная для автоматического распознавания танков. Сеть обучалась на ста картинках, содержащих изображения танков, и на ста других картинках, где танков не было. Был достигнут стопроцентно "правильный" результат. Но когда на вход сети были поданы новые данные, она безнадежно провалилась. В чем же была причина? Выяснилось, что фотографии с танками были сделаны в пасмурный, дождливый день, а фотографии без танков - в солнечный день. Сеть научилась улавливать (очевидную) разницу в общей освещенности. Чтобы сеть могла результативно работать, ее следовало обучать на данных, где бы присутствовали все погодные условия и типы освещения, при которых сеть предполагается использовать - и это еще не говоря о рельефе местности, угле и дистанции съемки и т.д.
Несбалансированный набор данных. Коль скоро сеть минимизирует общую погрешность, важное значение приобретает пропорции, в которых представлены данные различных типов. Сеть, обученная на 900 хороших и 100 плохих примерах будет искажать результат в пользу хороших наблюдений, поскольку это позволит алгоритму уменьшить общую погрешность (которая определяется в основном хорошими случаями). Если в реальной популяции хорошие и плохие объекты представлены в другой пропорции, то результаты, выдаваемые сетью, могут оказаться неверными. Хорошим примером служит задача выявления заболеваний. Пусть, например, при обычных обследованиях в среднем 90% людей оказываются здоровыми. Сеть обучается на имеющихся данных, в которых пропорция здоровые/больные равна 90/10. Затем она применяется для диагностики пациентов с определённым жалобами, среди которых это соотношение уже 50/50. В этом случае сеть будет ставить диагноз чересчур осторожно и не распознает заболевание у некоторых больных. Если же, наоборот, сеть обучить на данных "с жалобами", а затем протестировать на "обычных" данных, то она будет выдавать повышенное число неправильных диагнозов о наличии заболевания. В таких ситуациях обучающие данные нужно скорректировать так, чтобы были учтены различия в распределении данных (например, можно повторять редкие наблюдения или удалить часто встречающиеся), или же видоизменить решения, выдаваемые сетью, посредством матрицы потерь (Bishop, 1995). Как правило, лучше всего постараться сделать так, чтобы наблюдения различных типов были представлены равномерно, и соответственно этому интерпретировать результаты, которые выдаёт сеть.
Как обучается многослойный персептрон
Мы сможем лучше понять, как устроен и как обучается
Комбинация линейной функции нескольких переменных и скалярной сигмоидной функции приводит к характерному профилю "сигмоидного склона", который выдает элемент первого промежуточного слоя
(рис 11.11) Функция двух входных переменных
Элемент с большим числом входов выдаёт многомерный аналог такой поверхности. При изменении весов и порогов меняется и поверхность отклика. При этом может меняться как ориентация всей поверхности, так и крутизна склона. Большим значениям весов соответствует более крутой склон. Так, например, если увеличить все веса в два раза, то ориентация не изменится, а наклон будет более крутым.
В многослойной сети подобные функции отклика комбинируются друг с другом с помощью последовательного взятия их линейных комбинаций и применения нелинейных функций активации. На этом рисунке изображена типичная поверхность отклика для сети с одним промежуточным слоем, состоящим из двух элементов, и одним выходным элементом, для классической задачи "исключающего или" (Xor). Две разных сигмоидных поверхности объединены в одну поверхность, имеющую форму буквы "U".
Перед началом обучения сети весам и порогам случайным образом присваиваются небольшие по величине начальные значения. Тем самым отклики отдельных элементов сети имеют малый наклон и ориентированы хаотично - фактически они не связаны друг с другом. По мере того, как происходит обучение, поверхности отклика элементов сети вращаются и сдвигаются в нужное положение, а значения весов увеличиваются, поскольку они должны моделировать отдельные участки целевой поверхности отклика.
В задачах классификации выходной элемент должен выдавать сильный сигнал в случае, если данное наблюдение принадлежит к интересующему нас классу, и слабый - в противоположном случае. Иначе говоря, этот элемент должен стремиться смоделировать функцию, равную единице в той области пространства объектов, где располагаются объекты из нужного класса, и равную нулю вне этой области. Такая конструкция известна как дискриминантная функция в задачах распознавания. "Идеальная" дискриминантная функция должна иметь плоскую структуру, так чтобы точки соответствующей поверхности располагались либо на нулевом уровне, либо на высоте единица.
Если сеть не содержит скрытых элементов, то на выходе она может моделировать только одинарный "сигмоидный склон": точки, находящиеся по одну его сторону, располагаются низко, по другую - высоко. При этом всегда будет существовать область между ними (на склоне), где высота принимает промежуточные значения, но по мере увеличения весов эта область будет сужаться.
Такой сигмоидный склон фактически работает как линейная дискриминантная функция. Точки, лежащие по одну сторону склона, классифицируются как принадлежащие нужному классу, а лежащие по другую сторону - как не принадлежащие. Следовательно, сеть без скрытых слоёв может служить классификатором только в линейно-отделимых задачах (когда можно провести линию - или, в случае более высоких размерностей, -
Сеть, содержащая один промежуточный слой, строит несколько сигмоидных склонов - по одному для каждого скрытого элемента, - и затем выходной элемент комбинирует из них "возвышенность". Эта возвышенность получается выпуклой, т.е. не содержащей впадин. При этом в некоторых направлениях она может уходить на бесконечность (как длинный полуостров). Такая сеть может моделировать большинство реальных задач классификации (рис.11.12).
(рис 11.12) Моделирование сети с одним промежуточным слоем
На этом рисунке показана поверхность отклика, полученная многослойным персептроном для решения задачи исключающего или: хорошо видно, что она выделяет область пространства, расположенную вдоль диагонали.
Сеть с двумя промежуточными слоями строит комбинацию из нескольких таких возвышенностей. Их будет столько же, сколько элементов во втором слое, и у каждой из них будет столько сторон, сколько элементов было в первом скрытом слое. После небольшого размышления можно прийти к выводу, что, используя достаточное число таких возвышенностей, можно воспроизвести поверхность любой формы - в том числе с впадинами и вогнутостями.
Как следствие наших рассмотрений мы получаем, что, теоретически, для моделирования любой задачи достаточно
В задачах классификации очень важно понять, как следует интерпретировать те точки, которые попали на склон или лежат близко от него. Стандартный выход здесь состоит в том, чтобы для пороговых значений установить некоторые доверительные пределы (принятия или отвержения), которые должны быть достигнуты, чтобы данных элемент считался "принявшим решение". Например, если установлены пороги принятия/отвержения 0.95/0.05, то при уровне выходного сигнала, превосходящем 0.95 элемент считается активным, при уровне ниже 0.05 - неактивным, а в промежутке – "неопределённым".
Имеется и более тонкий (и, вероятно, более полезный) способ интерпретировать уровни выходного сигнала: считать их вероятностями. В этом случае сеть выдает несколько большую информацию, чем просто "да/нет": она сообщает нам, насколько (в некотором формальном смысле) мы можем доверять её решению. Разработаны (и реализованы в пакете ST
Выше было описано, как с помощью
В некоторых задачах бывает целесообразно использовать такие - более сложные - методы нелинейной оптимизации. В пакете ST
Алгоритм линейного поиска действует следующим образом: выбирается какое-либо разумное направление движения по многомерной поверхности. В этом направлении проводится линия, и на ней ищется точка минимума (это делается относительно просто с помощью того или иного варианта метода деления отрезка пополам); затем все повторяется сначала. Что в данном случае следует считать "разумным направлением"? Очевидным ответом является направление скорейшего спуска (именно так действует
Идея метода состоит в следующем: поскольку мы нашли точку минимума вдоль некоторой прямой, производная по этому направлению равна нулю. Сопряженное направление выбирается таким образом, чтобы эта производная и дальше оставалась нулевой - в предположении, что поверхность имеет форму параболоида (или, грубо говоря, является "хорошей и гладкой"). Если это условие выполнено, то для достижения точки минимума достаточно будет N эпох. На реальных, сложно устроенных поверхностях по мере хода алгоритма условие сопряженности портится, и тем не менее такой алгоритм, как правило, требует гораздо меньшего числа шагов, чем метод обратного распространения, и дает лучшую точку минимума (для того, чтобы
Метод доверительных областей основан на следующей идее: вместо того, чтобы двигаться в определенном направлении поиска, предположим, что поверхность имеет достаточно простую форму, так что точку минимума можно найти (и прыгнуть туда) непосредственно. Попробуем смоделировать это и посмотреть, насколько хорошей окажется полученная точка. Вид модели предполагает, что поверхность имеет хорошую и гладкую форму (например, является параболоидом), - такое предположение выполнено вблизи точек минимума. Вдали от них данное предположение может сильно нарушаться, так что модель будет выбирать для очередного продвижения совершенно не те точки. Правильно работать такая модель будет только в некоторой окрестности данной точки, причем размеры этой окрестности заранее неизвестны. Поэтому выберем в качестве следующей точки для продвижения нечто промежуточное между точкой, которую предлагает наша модель, и точкой, которая получилась бы по обычному методу градиентного спуска. Если эта новая точка оказалась хорошей, передвинемся в нее и усилим роль нашей модели в выборе очередных точек; если же точка оказалась плохой, не будем в нее перемещаться и увеличим роль
Метод Левенберга-Маркара (Levenberg, 1944; Marquardt, 1963; Bishop, 1995) - самый быстрый алгоритм обучения из всех, которые реализованы в пакете ST
При всем сказанном метод обратного распространения также сохраняет свое значение, причем не только для тех случаев, когда требуется быстро найти решение (и не требуется особой точности). Его следует предпочесть, когда объем данных очень велик, и среди данных есть избыточные. Благодаря тому, что в методе обратного распространения корректировка ошибки происходит по отдельным случаям, избыточность данных не вредит (если, например, приписать к имеющемуся набору данных еще один точно такой же набор, так что каждый случай будет повторяться дважды, то эпоха будет занимать вдвое больше времени, чем раньше, однако результат ее будет точно таким же, как от двух старых, так что ничего плохого не произойдет). Методы же Левенберга-Маркара и сопряженных градиентов проводят вычисления на всем наборе данных, поэтому при увеличении числа наблюдений продолжительность одной эпохи сильно растет, но при этом совсем не обязательно улучшается результат, достигнутый на этой эпохе (в частности, если данные избыточны; если же данные редкие, то добавление новых данных улучшит обучение на каждой эпохе). Кроме того, обратное распространение не уступает другим методам в ситуациях, когда данных мало, поскольку в этом случае недостаточно данных для принятия очень точного решения (более тонкий алгоритм может дать меньшую
Кроме уже перечисленных, в пакете ST
В предыдущем разделе было описано, как
Столь же естественным является подход, основанный на разбиении пространства окружностями или (в общем случае) гиперсферами. Гиперсфера задается своим центром и радиусом. Подобно тому, как элемент
Элемент
До действия сигмоидной функции активации уровень активации такого элемента определяется
(рис 11.13) Поверхность отклика радиального элемента
В отличие от них, радиальный элемент задаётся своим центром и "радиусом". Положение точки в N-мерном пространстве определяется N числовыми параметрами, т.е. их ровно столько же, сколько весов у линейного элемента, и поэтому координаты центра радиального элемента в пакете ST
Сеть типа радиальной базисной функции (
Сети
С другой стороны, до того, как применять линейную оптимизацию в выходном слое сети
Другие отличия работы
Опыт показывает, что для правильного моделирования типичной функции сеть
С "групповым" подходом связано и неумение сетей
Сети
Расположение центров должно соответствовать кластерам, реально присутствующим в исходных данных. Рассмотрим два наиболее часто используемых метода.
Расположение центров должно соответствовать кластерам, реально присутствующим в исходных данных. Рассмотрим два наиболее часто используемых метода.
Выборка из выборки. В качестве центров радиальных элементов берутся несколько случайно выбранных точек обучающего множества. В силу случайности выбора они "представляют" распределение обучающих данных в статистическом смысле. Однако, если число радиальных элементов невелико, такое представление может быть неудовлетворительным (Haykin, 1994).
После того, как определено расположение центров, нужно найти отклонения. Величина отклонения (ее также называют сглаживающим фактором) определяет, насколько "острой" будет гауссова функция. Если эти функции выбраны слишком острыми, сеть не будет интерполировать данные между известными точками и потеряет способность к обобщению. Если же гауссовы функции взяты чересчур широкими, сеть не будет воспринимать мелкие детали. На самом деле сказанное - еще одна форма проявления дилеммы пере/недообучения. Как правило, отклонения выбираются таким образом, чтобы колпак каждой гауссовой функций захватывал "несколько" соседних центров. Для этого имеется несколько методов:
Явный. Отклонения задаются пользователем.
Изотропный. Отклонение берётся одинаковым для всех элементов и определяется эвристически с учётом количества радиальных элементов и объёма покрываемого пространства (Haykin, 1994).
K ближайших соседей. Отклонение каждого элемента устанавливается (индивидуально) равным среднему расстоянию до его K ближайших соседей (Bishop, 1995). Тем самым отклонения будут меньше в тех частях пространства, где точки расположены густо, - здесь будут хорошо учитываться детали, - а там, где точек мало, отклонения будут большими (и будет производиться интерполяция).
После того, как выбраны центры и отклонения, параметры выходного слоя оптимизируются с помощью стандартного метода линейной оптимизации - алгоритма псевдообратных матриц (сингулярного разложения) (Haykin, 1994; Golub and Kahan, 1965).
Могут быть построены различные гибридные разновидности радиальных
В предыдущем разделе, говоря о задачах классификации, мы кратко упомянули о том, что выходы сети можно с пользой интерпретировать как оценки вероятности того, что элемент принадлежит некоторому классу, и сеть фактически учится оценивать функцию плотности вероятности. Аналогичная полезная интерпретация может иметь место и в задачах регрессии - выход сети рассматривается как
Задача оценки плотности вероятности (p.d.f.) по данным имеет давнюю историю в математической статистике (Parzen, 1962) и относится к области байесовой статистики. Обычная статистика по заданной модели говорит нам, какова будет вероятность того или иного исхода (например, что на игральной кости шесть очков будет выпадать в среднем одном случае из шести). Байесова статистика переворачивает вопрос вверх ногами: правильность модели оценивается по имеющимся достоверным данным. В более общем плане, байесова статистика дает возможность оценивать плотность вероятности распределений параметров модели по имеющимся данных. Для того, чтобы минимизировать ошибку, выбирается модель с такими параметрами, при которых плотность вероятности будет наибольшей.
При решении задачи классификации можно оценить плотность вероятности для каждого класса, сравнить между собой вероятности принадлежности различным классам и выбрать наиболее вероятный. На самом деле именно это происходит, когда мы обучаем нейронную сеть решать задачу классификации - сеть пытается определить (т.е. аппроксимировать) плотность вероятности.
Традиционный подход к задаче состоит в том, чтобы построить оценку для плотности вероятности по имеющимся данным. Обычно при этом предполагается, что плотность имеет некоторый определенный вид (чаще всего - что она имеет нормальное распределение). После этого оцениваются параметры модели. Нормальное распределение часто используется потому, что тогда параметры модели (среднее и стандартное отклонение) можно оценить аналитически. При этом остается вопрос о том, что предположение о нормальности не всегда оправдано.
Другой подход к оценке плотности вероятности основан на ядерных оценках (Parzen, 1962; Speckt, 1990; Speckt, 1991; Bishop, 1995; Patterson, 1996). Можно рассуждать так: тот факт, что наблюдение расположено в данной точке пространства, свидетельствует о том, что в этой точке имеется некоторая плотность вероятности. Кластеры из близко лежащих точек указывают на то, что в этом месте плотность вероятности большая. Вблизи наблюдения имеется большее доверие к уровню плотности, а по мере отдаления от него доверие убывает и стремится к нулю. В методе ядерных оценок в точке, соответствующей каждому наблюдению, помещается некоторая простая функция, затем все они складываются и в результате получается оценка для общей плотности вероятности. Чаще всего в качестве ядерных функций берутся гауссовы функции (с формой колокола). Если обучающих примеров достаточное количество, то такой метод дает достаточно хорошее приближение к истинной плотности вероятности.
Метод аппроксимации плотности вероятности с помощью ядерных функций во многом похож на метод радиальных
Сеть
Базовая модель
В первом случае мы предполагаем, что пропорции классов в обучающем множестве соответствуют их пропорциям во всей исследуемой популяции (или так называемым априорным вероятностям). Например, если среди всех людей больными являются 2%, то в обучающем множестве для сети, диагностирующей заболевание, больных должно быть тоже 2%. Если же априорные вероятности будут отличаться от пропорций в обучающей выборке, то сеть будет выдавать неправильный результат. Это можно впоследствии учесть (если стали известны априорные вероятности), вводя поправочные коэффициенты для различных классов.
Второй вариант модификации основан на следующей идее. Любая оценка, выдаваемая сетью, основывается на зашумлённых данных и неизбежно будет приводить к отдельным ошибкам классификации (например, у некоторых больных результаты анализов могут быть вполне нормальными). Иногда бывает целесообразно считать, что некоторые виды ошибок обходятся "дороже" других (например, если здоровый человек будет диагностирован как больной, то это вызовет лишние затраты на его обследование, но не создаст угрозы для жизни; если же не будет выявлен действительный больной, то это может привести к смертельному исходу). В такой ситуации те вероятности, которые выдает сеть, следует домножить на коэффициенты потерь, отражающие относительную цену ошибок классификации. В пакете ST
Вероятностная нейронная сеть имеет единственный управляющий параметр обучения, значение которого должно выбираться пользователем, - степень сглаживания (или отклонение гауссовой функции). Как и в случае
Наиболее важные преимущества
Существенным недостатком таких сетей является их объём.
Обобщенно-регрессионная нейронная сеть (GRNN) устроена аналогично вероятностной нейронной сети (
Первый промежуточный слой сети GRNN состоит из радиальных элементов. Второй промежуточный слой содержит элементы, которые помогают оценить взвешенное среднее. Для этого используется специальная процедура. Каждый выход имеет в этом слое свой элемент, формирующий для него взвешенную сумму. Чтобы получить из взвешенной суммы взвешенное среднее, эту сумму нужно поделить на сумму весовых коэффициентов. Последнюю сумму вычисляет специальный элемент второго слоя. После этого в выходном слое производится собственно деление (с помощью специальных элементов "деления"). Таким образом, число элементов во втором промежуточном слое на единицу больше, чем в выходном слое. Как правило, в задачах регрессии требуется оценить одно выходное значение, и, соответственно, второй промежуточный слой содержит два элемента.
Можно модифицировать GRNN-сеть таким образом, чтобы радиальные элементы соответствовали не отдельным обучающим случаям, а их кластерам. Это уменьшает размеры сети и увеличивает скорость обучения. Центры для таких элементов можно выбирать с помощью любого предназначенного для этой цели алгоритма (выборки из выборки, K-средних или Кохонена), и программа ST
Достоинства и недостатки у сетей GRNN в основном такие же, как и у сетей
Согласно общепринятому в науке принципу, если более сложная модель не даёт лучших результатов, чем более простая, то из них следует предпочесть вторую. В терминах аппроксимации отображений самой простой моделью будет линейная, в которой подгоночная функция определяется
На языке
В пакете ST
Линейная сеть является хорошей точкой отсчёта для оценки качества построенных
Сети Кохонена принципиально отличаются от всех других типов сетей, реализованных в пакете ST
При управляемом обучении наблюдения, составляющие обучающие данные, вместе с входными переменными содержат также и соответствующие им выходные значения, и сеть должна восстановить отображение, переводящее первые во вторые. В случае же неуправляемого обучения обучающие данные содержат только значения входных переменных.
На первый взгляд это может показаться странным. Как сеть сможет чему-то научиться, не имея выходных значений? Ответ заключается в том, что сеть Кохонена учится понимать саму структуру данных.
Одно из возможных применений таких сетей - разведочный анализ данных. Сеть Кохонена может распознавать кластеры в данных, а также устанавливать близость классов. Таким образом, пользователь может улучшить свое понимание структуры данных, чтобы затем уточнить нейросетевую модель. Если в данных распознаны классы, то их можно обозначить, после чего сеть сможет решать задачи классификации. Сети Кохонена можно использовать и в тех задачах классификации, где классы уже заданы, - тогда преимущество будет в том, что сеть сможет выявить сходство между различными классами.
Другая возможная область применения - обнаружение новых явлений. Сеть Кохонена распознает кластеры в обучающих данных и относит все данные к тем или иным кластерам. Если после этого сеть встретится с набором данных, непохожим ни на один из известных образцов, то она не сможет классифицировать такой набор и тем самым выявит его новизну.
Сеть Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных элементов (выходной слой называют также слоем топологической карты). Элементы топологической карты располагаются в некотором пространстве - как правило, двумерном (в пакете ST
Обучается сеть Кохонена методом последовательных приближений. Начиная со случайным образом выбранного исходного расположения центров, алгоритм постепенно улучшает его так, чтобы улавливать кластеризацию обучающих данных. В некотором отношении эти действия похожи на алгоритмы выборки из выборки и K-средних, которые используются для размещения центров в сетях
Помимо того, что уже сказано, в результате итеративной процедуры обучения сеть организуется таким образом, что элементы, соответствующие центрам, расположенным близко друг от друга в пространстве входов, будут располагаться близко друг от друга и на топологической карте. Топологический слой сети можно представлять себе как двумерную решётку, которую нужно так отобразить в N-мерное пространство входов, чтобы по возможности сохранить исходную структуру данных. Конечно же, при любой попытке представить N-мерное пространство на плоскости будут потеряны многие детали; однако, такой приём иногда полезен, так как он позволяет пользователю визуализировать данные, которые никаким иным способом понять невозможно.
Основной
В алгоритме при вычислении взвешенной суммы используется постепенно убывающий коэффициент скорости обучения, с тем чтобы на каждой новой эпохе коррекция становилась все более тонкой. В результате положение центра установится в некоторой позиции, которая удовлетворительным образом представляет те наблюдения, для которых данный
Свойство топологической упорядоченности достигается в алгоритме с помощью дополнительного использования понятия окрестности. Окрестность - это несколько нейронов, окружающих выигравший
Результатом такого изменения окрестностей является то, что изначально довольно большие участки сети "перетягиваются" - и притом заметно - в сторону обучающих примеров. Сеть формирует грубую структуру топологического порядка, при которой похожие наблюдения активируют группы близко лежащих нейронов на топологической карте. С каждой новой эпохой скорость обучения и размер окрестности уменьшаются, тем самым внутри участков карты выявляются всё более тонкие различия, что, в конце концов, приводит к тонкой настройке каждого
После того, как сеть обучена распознаванию структуры данных, ее можно использовать как средство визуализации при анализе данных. С помощью данных, выводимых в окне "Частоты выигрышей" - Win Frequencies, (где для каждого
При решении задач классификации в сетях Кохонена используется так называемый порог доступа. Ввиду того, что в такой сети уровень активации
Идея сети Кохонена возникла по аналогии с некоторыми известными свойствами человеческого мозга. Кора головного мозга представляет собой большой плоский лист (площадью около 0.5 кв.м.; чтобы поместиться в черепе, она свернута складками) с известными топологическими свойствами (например, участок, ответственный за кисть руки, примыкает к участку, ответственному за движения всей руки, и таким образом все изображение человеческого тела непрерывно отображается на эту двумерную поверхность).
Перечисленные четыре свойства, которые можно сформулировать также как кодирование
При описании
Популяция - это конечное множество особей.
Особи, входящие в популяцию, в генетических алгоритмах представляются хромосомами с закодированным в них множествами параметров задачи, т.е. решений, которые иначе называются точками в пространстве поиска (search points). В некоторых работах особи называются организмами.
Локус или позиция указывает место размещения данного
Очень важным понятием в генетических алгоритмах считается функция приспособленности {fitness function), иначе называемая функцией оценки. Она представляет меру приспособленности данной особи в популяции. Эта функция играет важнейшую роль, поскольку позволяет оценить степень приспособленности конкретных особей в популяции и выбрать из них наиболее приспособленные (т.е. имеющие наибольшие значения функции приспособленности) в соответствии с
Очередная популяция в
Основной (классический)
Блок-схема основного
(рис 11.14) Блок-схема генетического алгоритма
Инициализация, т.е. формирование исходной популяции, заключается в случайном выборе заданного количества хромосом (особей), представляемых двоичными последовательностями фиксированной длины.
Оценивание приспособленности хромосом в популяции состоит в расчёте функции приспособленности для каждой
Проверка условия остановки алгоритма. Определение условия остановки
Селекция хромосом заключается в выборе (по рассчитанным на втором этапе значениям функции приспособленности) тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т.е. для очередного поколения. Такой выбор производится согласно принципу естественного отбора, по которому наибольшие шансы на участие в создании новых особей имеют
где
$$p_s (ch_i)= \frac{F(ch_i)}{\sum_{i=1}^N F(ch_i)}$$причём $$F(ch_i)$$ - значение функции приспособленности
В результате процесса селекции создается родительская популяция, также называемая родительским пулом (mating pool) с численностью N, равной численности текущей популяции.
Применение генетических операторов к хромосомам, отобранным с помощью селекции, приводит к формированию новой популяции потомков от созданной на предыдущем шаге родительской популяции.
В классическом
В
На первом этапе скрещивания выбираются пары хромосом из родительской популяции (родительского пула). Это временная популяция, состоящая из хромосом, отобранных в результате селекции и предназначенных для дальнейших преобразований операторами скрещивания и
Формирование новой популяции.
Выбор "наилучшей"
В завершение следует признать, что
Главный фактор эволюции - это естественный отбор (т.е. природная селекция), который приводит к тому, что среди генетически различающихся особей одной и той же популяции выживают и оставляют потомство только наиболее приспособленные к окружающей среде.
Рассмотрим алгоритм решения следующей задачи: необходимо оптимизировать эффективность от вложения средств в различные проекты, операции, недвижимость и т.д. Эффективность будет определяться как доходность от вложенных средств, в зависимости от того, в какой период они распределены. Рассмотрим возможность организации размещения средств в N периодах (что соответствует краткосрочному, среднесрочному и долгосрочному периодам, соответственно). Допустим, у организации есть альтернатива из М вариантов вложения средств в разные проекты в различные периоды. Вектор $$Х{Х_1,Х_2,…Х_n}$$, где $$X_i$$- вариант вложения средств в i-м периоде.
В данном случае вектор X будет являться
Необходимо найти
В результате работы алгоритма получим выходной вектор X, являющийся наилучшим вариантом плана вложения средств на N ближайших периодов.
Проведение двух серий экспериментов приводит к следующим выводам:
Определены следующие преимущества
В литературе обосновывается невысокая эффективность традиционных методик применительно к решению сложных практических задач. Именно к такой категории можно отнести монополистическую конкуренцию с её большим объёмом исходной информации, одновременным наличием количественно и качественно определённых параметров, а также требованиями к оперативности их обработки. В связи с этим в работе предлагается применить
Однако при всей эффективности
Инициализация, то есть формирование исходной популяции, заключается в случайном выборе заданного количества хромосом (особей), представляемых двоичными последовательностями фиксированной длины. В условиях конкуренции такой подход к формированию не вполне применим.
Во-первых, поведение всех участников рыночного процесса не хаотично, а является результатом глубокого анализа ситуации и поведения других субъектов. В связи с этим вполне закономерным является рассмотрение в качестве
Такое преобразование целесообразно при незначительной длине
В-третьих, необходимо уточнить природу популяции. В условиях совершенной конкуренции каждый отдельный производитель или потребитель не оказывали влияния на процесс формирования цены и других параметров товара. Они действовали абсолютно независимо. В условиях монополии наоборот одно предприятие, безусловно, доминирует. Рынок монополистической конкуренции отличается наличием на нем достаточно большого
Следующим важнейшим этапом является оценка приспособленности хромосом в популяции. Оно основано в расчете функции приспособленности для каждой
Форма функции приспособленности зависит от характера решаемой задачи. В большинстве случаев функция принимает неотрицательные значения, а также для решения оптимизационной задачи её требуется максимизировать. Однако в реальных условиях может требоваться не только её максимизация или минимизация, но одновременное применение обоих подходов при реализации алгоритма, как, например, при рассмотрении совершенной конкуренции.
Применительно к монополистической конкуренции, значение функции приспособленности должно рассчитываться на основе величин ценовых и неценовых характеристик. В силу того, что суть получения конкурентного преимущества состоит в предложении рынку товара с опережающими параметрами, для решения оптимизационной задачи предлагается применить максимизацию этой функции. Однако, в отличие от совершенной конкуренции, где соперничество происходило с учётом пожеланий и производителей, и потребителей (в силу отсутствия влияния на рынок), в условиях монополистического рынка в конкурентном взаимодействии принимает участие только одна сторона (только производители или только потребители). Это является одним из следствий возможности воздействия на рынок.
Определение возможности остановки
Селекция хромосом также осуществляется по значениям функции приспособленности и состоит в выборе хромосом, которые будут участвовать в создании потомков для следующей популяции (нового поколения). Существуют различные методы селекции. Наиболее популярным считается так называемый "метод рулетки", который свое название получил по аналогии с известной азартной игрой. Каждой
В результате процесса селекции создается родительский пул, равный по численности текущей популяции, но разделённой по парам. В том случае, если исходная популяция содержала нечётное количество хромосом, предлагается оставшуюся
Важно отметить, что
К объединённым в пары хромосомам родительского пула применяется
Такой вариант скрещивания называют одноточечным. Также применяются и другие виды скрещивания.
Возрастание числа точек скрещивания существенно усложняет алгоритм, но ведет к увеличению точности результата. Положительный эффект объясняется тем, что при большом числе точек степень "слияния" (взаимного проникновения) хромосом возрастает. Следовательно, полученные потомки лучшим образом отражают исходные характеристики родительских хромосом. В природе число точек разрыва выбирается случайно для любой из родительских пар. Очевидно, что реализация такого же механизма в случае конкурентного взаимодействия будет оказывать положительный эффект и приближать модель к реальному процессу. В связи с этим, предлагается следующая процедура:
Следующим важным этапом
Этот выбор выполняется по принципу естественного отбора - наибольшие шансы в создании новых особей имеют
В классическом
Предложенная адаптация базовых шагов
С точки зрения конкурентных преимуществ большей конкурентоспособностью обладает товар с опережающими неценовыми характеристиками, так как именно они отражают
Экспертные системы (ЭС) представляют собой компьютерные программы, использующие принципы искусственного интеллекта и формализованные знания эксперта для обработки оперативной информации и принятия обоснованных решений в анализируемой предметной области.
В экспертных системах для решения задач на уровне эксперта-человека широко используются специализированные знания. Термином "эксперт" обозначается личность, обладающая экспертными знаниями в определённой области. Это означает, что эксперт имеет знания или специальные навыки, которые неизвестны или недоступны для большинства людей. Эксперт способен решать задачи, которые большинство людей не способны решить вообще, или решает их гораздо более эффективно. После того как были впервые разработаны экспертные системы, они содержали исключительно только экспертные знания. Однако в наши дни термин "
В качестве знаний в экспертных системах могут применяться либо экспертные знания, либо обычные общедоступные знания, которые могут быть получены из книг, журналов и от хорошо осведомлённых людей. В этом смысле обычные знания рассматриваются как понятие более низкого уровня по сравнению с более редкими экспертными знаниями. Термины "
Существуют два принципиально различных класса ЭС: "основанные на знаниях" и "основанные на примерах". Первый класс ЭС применяется для работы с хорошо систематизированными элементами знаний и априори известными закономерностями, выраженными различного рода методиками, инструкциями, правилами и т.п. Принципы работы
(рис 11.15) Основные принципы функционирования экспертной системы
Кроме того, разработаны полезные системы, основанные на знаниях, которые предназначены для использования в качестве интеллектуального помощника для эксперта - человека. Эти интеллектуальные помощники проектируются на основе технологии экспертных систем, поскольку такая технология обеспечивает значительные преимущества при разработке. Чем больше знаний будет введено в базу знаний интеллектуального помощника, тем в большей степени его действия будут напоминать действия эксперта. Разработка интеллектуального помощника может стать полезным промежуточным шагом перед созданием полноценной
Знания эксперта относятся только к одной предметной области, и в этом состоит отличие методов, основанных на использовании экспертных систем, от общих методов решения задач. Предметная область - это специальная проблемная область, такая как медицина, финансы, наука и техника, в которой может очень хорошо решать задачи лишь определённый эксперт. Экспертные системы, как и эксперты - люди, в целом предназначены для использования в качестве экспертов в одной предметной области. Например, обычно нельзя рассчитывать на то, что эксперт в области шахмат будет обладать экспертными знаниями, относящимися к медицине. Экспертные знания в одной предметной области не переносятся автоматически на другую область.
Знания эксперта, касающиеся решения конкретных задач, называются областью знаний эксперта. Связь между предметной областью и областью знаний показана на рис.11.16.
На данном рисунке область знаний полностью включена в предметную область. Часть, выходящая за пределы области знаний, символизирует область, в которой отсутствуют знания о какой-либо из задач, относящихся к данной предметной области.
В области знаний
(рис 11.16) Связь между предметной областью и областью знаний
Это означает, что на основании определённых фактов путём рассуждений формируется логичное, оправданное заключение, которое следует из этих фактов.
ЭС с успехом применяются в тех областях, где, кроме применения стандартных алгоритмических методов, основанных на точных вычислениях, по существу используются знания и опыт конкретных экспертов - аналитиков, а принятие решений формируется в условиях неполноты данных и зависит скорее от качественных, чем количественных оценок. К таким предметным областям относится, прежде всего, область анализа финансовой деятельности, где эффективность принимаемых решений зависит от сопоставления множества различных факторов, учёта сложных причинно-следственных связей, применения нетривиальных логических рассуждений и т.п.
Классическая
(рис 11.17) Процесс разработки экспертной системы
Вначале инженер по знаниям устанавливает диалог с экспертом-человеком, чтобы выявить знания эксперта. Этот этап аналогичен этапу работы, выполняемому системным проектировщиком при обычном программировании в ходе обсуждения требований к системе с клиентом, для которого создается программа. Затем инженер по знаниям представляет знания в явном виде для внесения в базу знаний. После этого эксперт проводит оценку
Вообще говоря, процесс создания экспертных систем намного отличается от процесса разработки обычных программ. В экспертных системах рассматриваются задачи, не имеющие удовлетворительного алгоритмического решения, поэтому для достижения приемлемого решения используется логический вывод. Поскольку в основе функционирования
Следовательно,
Второй класс ЭС используется в ситуациях, когда отсутствуют какие-либо явные связи и закономерности между элементами знаний, а сами знания представлены в виде списков примеров, описывающих реализации тех или иных событий. Если первый класс ЭС работает с хорошо определёнными данными и знаниями, извлечёнными из экспертов - аналитиков инженерами знаний, то второй - формирует свои знания путём адаптации к предметной области, представленной примерами, причём как обучающая, так и анализируемая информация может быть искажена и неполна. В первом случае в основе механизмов вывода, как правило, лежат классические стратегии наследования и логического вывода, то во втором - различные методы индуктивного обобщения по примерам, в частности, свойства используемых для этого искусственных
В cистеме, основанной на правилах, знания в проблемной области, необходимые для решения задач, закодированы в форме правил и содержатся в базе знаний. Безусловно, для представления знаний наиболее широко применяются правила. Элементы типичной
(рис 11.18) Структура экспертной системы, основанной на правилах
Во многих системах имеется необязательное средство приобретения знаний, Это инструментальное средство в некоторых экспертных системах способно обучаться, осуществляя вывод правил по методу индукции на основании примеров, и автоматически вырабатывать правила. Для выработки правил в машинном обучении применялись также другие методы и алгоритмы, такие как искусственные
В
горит красный свет —> стоять
горит зеленый свет —> двигаться
Продукционные правила могут быть выражены в эквивалентном формате псевдокода IF-THEN следующим образом:
Правило: red__light
IF горит красный свет THEN стоять
Правило: green_light
IF горит зеленый свет THEN двигаться
Каждое правило обозначается именем. Вслед за именем находится часть IF правила. Участок правила между частями IF и THEN правила упоминается под разными именами, такими как антецедент, условная часть, часть шаблона или левая часть (left-hand-side — LHS). Такое отдельно взятое условие, как
"горит красный свет" называется условным элементом, или шаблоном.
В системе, основанной на правилах, машина логического вывода определяет, какие антецеденты правил (если таковые вообще имеются) выполняются согласно фактам. В качестве стратегий решения задач в экспертных системах обычно используются два общих метода логического вывода: прямой логический вывод и обратный логический вывод. В число других методов, применяемых для выполнения более конкретных методов, могут входить анализ целей и средств, упрощение задачи, перебор с возвратами, метод "запланировать-выработать-проверить", иерархическое планирование и принцип наименьшего вклада, а также обработка ограничений.
Прямой логический вывод представляет собой метод формирования рассуждений от фактов к заключениям, которые следуют из этих фактов. Например, если перед выходом из дома вы обнаружите, что идёт дождь (факт), то должны взять с собой зонтик (заключение).
Обратный логический вывод предусматривает формирование рассуждений в обратном направлении - от гипотезы (потенциального заключения, которое должно быть доказано) к фактам, которые подтверждают гипотезу. Например, если вы не выглядываете наружу, но кто-то вошёл в дом с влажными ботинками и зонтиком, то можно принять гипотезу, что идёт дождь. Чтобы подтвердить эту гипотезу, достаточно спросить данного человека, идёт ли дождь. В случае положительного ответа будет доказано, что гипотеза истинна, поэтому она становится фактом. Как уже было сказано выше, гипотеза может рассматриваться как факт, истинность которого вызывает сомнение и должна быть установлена. В таком случае гипотеза может интерпретироваться как цель, которая должна быть доказана.
В зависимости от проекта
Рабочая память может содержать факты, касающиеся текущего состояния светофора, такие как "горит зелёный свет" или "горит красный свет". В рабочей памяти может присутствовать любой из этих фактов или оба факта одновременно. Если светофор работает нормально, то в рабочей памяти будет находиться только один факт. Но возможно также, что в рабочей памяти будут присутствовать оба факта, если светофор неисправен. В чём состоит различие между базой знаний и рабочей памятью? Факты не взаимодействуют друг с другом. Факт "горит зелёный свет" не воздействует на факт "горит красный свет". С другой стороны, знания о работе светофоров говорят о том, что если одновременно присутствуют оба факта, то светофор неисправен.
Если в рабочей памяти имеется факт "горит зеленый свет", машина логического вывода обнаруживает, что этот факт удовлетворяет условной части правила green_light и помещает это правило в рабочий список правил. А если правило имеет несколько шаблонов, то все эти шаблоны должны быть удовлетворены одновременно для того, чтобы правило можно было поместить в рабочий список правил. В качестве условия удовлетворения некоторых шаблонов можно даже указать отсутствие определённых фактов в рабочей памяти.
Правило, все шаблоны которого удовлетворены, называется активизированным, или реализованным. В рабочем списке правил может одновременно присутствовать несколько активизированных правил. В этом случае машина логического вывода должна выбрать одно из правил для запуска.
Вслед за частью THEN правила находится список действий, которые должны быть выполнены после запуска правила. Эта часть правила называется консеквентом, или правой частью (Right-Hand Side — RHS). Если происходит запуск правила red_light, выполняется его действие "стоять". Аналогичным образом после запуска правила green_light его действием становится "двигаться". В состав конкретных действий обычно входит добавление или удаление фактов из рабочей памяти либо вывод результатов. Формат описания этих действий зависит от синтаксиса языка
Машина логического вывода работает в режиме осуществления циклов "распознавание – действие". Для описания указанного режима работы применяются также другие термины, такие как цикл "выборка - выполнение", цикл "ситуация - отклик" и цикл "ситуация - действие". Но как бы ни назывался такой цикл, машина логического вывода снова и снова выполняет некоторые группы задач до выявления определённых критериев, которые вызывают прекращение выполнения. При этом решаются общие задачи, обозначенные в приведённом ниже псевдокоде как разрешение конфликтов, действие, согласование и проверка условий останова.
WHILE работа не закончена
Разрешение конфликтов. Если имеются активизированные правила, то выбрать правило с наивысшим приоритетом; в противном случае работа закончена.
Действие. Последовательно осуществить действия, указанные в правой части выбранного активизированного правила. В данном цикле проявляется непосредственное влияние тех действий, которые изменяют содержимое рабочей памяти. Удалить из рабочего список правил только что запущенное правило.
Согласование. Обновить рабочий список правил путём проверки того, выполняется ли левая часть каких-либо правил. В случае положительного ответа активизировать соответствующие правила. Удалить активизированные правила, если левая часть соответствующих правил больше не выполняется.
Проверка условий останова. Если осуществлено действие
END - WHILE
Принять новую команду пользователя.
В течение каждого цикла могут быть активизированы и помещены в рабочий список правил многочисленные правила. Кроме того, в рабочем списке правил остаются результаты активизации правил от предыдущих циклов, если не происходит деактивизация этих правил в связи с тем, что их левые части больше не выполняются. Таким образом, в ходе выполнения программы количество активизированных правил в рабочем списке правил изменяется. В зависимости от программы, ранее активизированные правила могут всегда оставаться в рабочем списке правил, но никогда не выбираться для запуска. Аналогичным образом некоторые правила могут никогда не становиться активизированными. В подобных случаях следует повторно проверять назначение этих правил, поскольку либо такие правила не нужны, либо их шаблоны неправильно спроектированы.
Машина логического вывода выполняет действия активизированного правила с наивысшим приоритетом из рабочего списка правил, затем - действия активизированного правила со следующим по порядку приоритетом и т.д., до тех пор, пока в списке не останется больше активизированных правил. Для инструментальных средств экспертных систем разработаны различные системы приоритетов, но, вообще говоря, все инструментальные средства позволяют инженеру по знаниям определять приоритеты правил.
В рабочем списке правил возникают конфликты, если различные активизированные правила имеют одинаковый приоритет и машина логического вывода должна принять решение о том, какое из этих правил необходимо запустить. В различных командных интерпретаторах для решения этой проблемы применяются разные способы. Ньюэлл и Саймон использовали такой подход, что правила, введённые в систему в первую очередь, приобретают по умолчанию наивысший приоритет. В языке CLIPS правила имеют по умолчанию одинаковый приоритет, если каким-то из них не присваивается другой приоритет инженером по знаниям.
После завершения выполнения всех правил управление возвращается к
Верхний уровень представляет собой пользовательский интерфейс к командному интерпретатору в тот период, когда происходит разработка приложения
Главной особенностью
В настоящее время экспертными системами наиболее широко применяемого типа являются системы, основанные на правилах. В системах, основанных на правилах, знания представлены не с помощью относительно декларативного, статического способа (как ряд истинных утверждений), а в форме многочисленных правил, которые указывают, какие заключения должны быть сделаны или не сделаны в различных ситуациях. Система, основанная на правилах, состоит из правил IF-THEN, фактов и интерпретатора, который управляет тем, какое правило должно быть вызвано в зависимости от наличия фактов в рабочей памяти.
Системы, основанные на правилах, относятся к двум главным разновидностям: системы с прямым логическим выводом и системы с обратным логическим выводом.
Система с прямым логическим выводом начинает свою работу с известных начальных фактов и продолжает работу, используя правила для вывода новых заключений или выполнения определённых действий. Система с обратным логическим выводом начинает свою работу с некоторой гипотезы, или цели, которую пользователь пытается доказать, и продолжает работу, отыскивая правила, которые позволят доказать истинность гипотезы. Для разбиения крупной задачи на мелкие фрагменты, которые можно будет более легко доказать, создаются новые подцели. Системы с прямым логическим выводом в основном являются
Широкое применение систем, основанных на правилах, обусловлено описанными ниже причинами.
Продукционные системы Поста
Продукционные системы были впервые использованы в символической логике Постом (Post), поэтому имя этого учёного вошло в название указанных систем. Пост доказал такой важный и неожиданный результат, что любая система математики или логики может быть оформлена в виде системы продукционных правил определённого типа. Этот результат показал огромные возможности применения продукционных правил для представления важных классов знаний, а это означает, что продукционные правила не сводятся к нескольким ограниченным типам. Кроме того, продукционные правила, обозначаемые термином правила подстановки, используются также в лингвистике как способ определения грамматики языка. Компьютерные языки обычно определяются с помощью формы продукционных правил, известной как
В качестве очень простого случая можно представить себе, что если входной строкой является "у пациента имеется высокая температура", то выходной строкой может быть "пациент должен принять аспирин". За этими строками не закреплён какой-либо смысл. Иными словами, манипуляции со строками основаны на синтаксисе, а не на семантике, т.е. не на понимании того, что скрывается за словами "высокая температура", "аспирин" и "пациент". Люди знают, что означают эти строки в реальном мире, а продукционная система Поста применяется лишь в качестве способа преобразования одной строки в другую. Для данного примера может быть предусмотрено следующее продукционное правило:
антецедент —> консеквент
у пациента имеется высокая температура —> пациент должен принять аспирин
В этом правиле стрелка означает, что одна строка должна быть преобразована в другую. Указанное правило можно интерпретировать с помощью более знакомой системы обозначений IF-THEN следующим образом:
IF у пациента имеется высокая температура THEN пациент должен принять аспирин.
Если требуется создать
Решением этой проблемы является rete-алгоритм, разработанный Чарльзом Л. Форги (Charles L. Forgy) в университете Карнеги-Меллона в 1979 году в рамках диссертации по командному интерпретатору
Rete-алгоритм представляет собой очень быстрое средство сопоставления с шаблонами, высокое быстродействие которого достигается благодаря хранению в оперативной памяти информации о правилах, находящихся в сети. Этот алгоритм предназначен для повышения быстродействия систем с прямым логическим выводом, основанных на правилах, благодаря ограничению объёма работы, требуемой для повторного вычисления
Если в системе заданы сотни или тысячи правил, то подход к организации работы, в котором компьютер последовательно проверяет вероятность того, должен ли быть выполнен запуск каждого правила, становится очень неэффективным. Благодаря разработке rete - алгоритма появилась практическая возможность создания инструментальных средств экспертных систем даже на тех медленных компьютерах, которые применялись в 1970-х годах. В наши дни rete - алгоритм продолжает оставаться важным средством повышения быстродействия в тех случаях, когда
В rete - алгоритме в каждом цикле контролируются только изменения в согласованиях, поэтому в каждом цикле "распознавание - действие" не приходится согласовывать факты с каждым правилом. Благодаря этому существенно повышается скорость согласования фактов с антецедентами, поскольку статические данные, которые не изменяются от цикла к циклу, могут быть проигнорированы.
На рис.11.19 показаны технологии, которые образуют фундамент современных экспертных систем, основанных на правилах.
(рис 11.19) Современные экспертные системы, основанные на правилах
Рассмотрим на конкретном примере организацию взаимодействия пользователя с
И форма конфигурирования системы должна быть жёсткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего подходит бухгалтерская программа 1С версия 6.0.И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
И программа разработана под оболочку DOS.
ТО лучше всего подходит система бухгалтерских программ "Бест".И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
И программа разработана под оболочку Windows95.
И программа одноуровневая.
ТО лучше всего подходит бухгалтерская программа "Инфо Бухгалтер".И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы).
И программа разработана под оболочку Windows95.
И программа не одноуровневая.
ТО лучше всего подходит система бухгалтерских программ "Турбо Бухгалтер".И пополнение информационной базы происходит еженедельно (минимум), посредством курьера
ТО лучше всего подходит правовая программа "Гарант".И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM.
ТО лучше всего подходит правовая программа "Кодекс".И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM или еженедельно (минимум), посредством курьера
ТО лучше всего подходит правовая программа "Эталон".И форма конфигурирования системы должна быть жёсткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего подходит правовая складская программа "Фолио".И форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)
ТО лучше всего подходит правовая программа склад "1С версия 7.5".Предположим, что перед пользователем стоит задача: узнать, какое обеспечение из широкого спектра предлагаемого сейчас программного обеспечения ему наиболее подойдет, учитывая специфику ПК, на который предполагается установить это ПО. С помощью некоторых базовых правил фирмы "Элком-Информ" составлена некоторая
ЭС: Какое программное обеспечение вы хотели бы приобрести? (правовое, бухгалтерское, складское).
Пользователь: Бухгалтерское
ЭС: Форма конфигурирования системы должна быть жёсткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)? (да, нет).
Пользователь: Нет.
ЭС: Форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)?
Пользователь: Да
ЭС: Программа должна быть разработана под оболочку Windows95?
Пользователь: Да.
ЭС: Программа должна быть одноуровневая? (да, нет).
Пользователь: Нет.
ЭС: Программа должна быть не одноуровневая?
Пользователь: Да
ЭС: Лучше всего для вас подходит система бухгалтерских программ "Турбо Бухгалтер".
Если пользователь заинтересуется, почему сделаны такие выводы, то
Правила типа "если – то" для представления знаний
В качестве кандидата на использование в
"Если – то" - правила обычно оказываются весьма естественным выразительным средством представления знаний. Кроме того, они обладают следующими привлекательными свойствами:
Последнее свойство - это важное, относительное свойство экспертных систем. Под прозрачностью понимается способность системы к объяснению принятых решений и полученных результатов. Применение "если – то" - правил облегчает получение ответов на следующие основные типы вопросов пользователя:
"Если – то" - правила часто применяют для определения логических отношений между понятиями предметной области. Про чисто логические отношения можно сказать, что они принадлежат к "категорическим знаниям", "категорическим" - потому, что соответствующие утверждения всегда абсолютно верны. Однако в некоторых предметных областях преобладают "мягкие" или вероятностные знания. Эти знания являются "мягкими" в том смысле, что говорить об их применимости к любым практическим ситуациям можно только до некоторой степени ("часто, но не всегда"). В таких случаях используют модифицированные "если – то" - правила, дополняя их логическую интерпретацию вероятностной оценкой. Например:
если условие A, то заключение B с уверенностью F
Вообще говоря, если вы хотите разработать серьёзную
Как описано ниже, экспертные системы обладают многими привлекательными особенностями.
Экспертные системы могут использоваться для доступа к базам данных с помощью интеллектуального способа доступа. В качестве примера можно привести анализ скрытых закономерностей в данных.
Архитектура
Наиболее зарекомендовавшим себя методом внешнего анализа, интегрирующим множество различных экономических показателей предприятия, служит рейтинговый метод, который формирует "снизу – вверх" интегральную оценку финансового состояния предприятия.
Примером
где $$О_{ij}$$ - оценка влияния j - го фактора на i - й вышестоящий фактор по некоторой числовой шкале, а $$W_{ij}$$ - вес (коэффициент) влияния j – го фактора на i - й фактор.
------------------------------------------------------------------------------------------------
* При написании этого раздела использованы материалы из Интернет: Тельнов Ю.Ф. Информационные интеллектуальные системы. – М., 2004.
Правила базы знаний оценивают отдельные факторы, реализуя так называемый дизъюнктивный (независимый) подход к построению правил. Примеры правил имеют следующий вид:
IF: Управление = "удовлетворительно" THEN: Фин.состояние + = "удовлетворительно" cf 40 IF: Финансовая структура = "удовлетворительно" THEN: Фин.состояние + = "удовлетворительно" cf 60 IF: Ресурсы = "удовлетворительно" THEN: Фин.состояние + = "удовлетворительно" cf 50 . . . . . . . . . . . . . . . . . . . . . . . . . IF: Качество управления = "удовлетворительно" THEN: Управление + = "удовлетворительно" cf 80 IF: Структура управления = "удовлетворительно" THEN: Управление + = "удовлетворительно" cf 90
и т.д.
В качестве весов cf в данном примере используются факторы уверенности, поэтому вместо формулы при разработке аналогичной системы может применяться формула объединения факторов уверенности для дизъюнкции.
В результате внедрения системы EvEnt для 80 % ситуаций решения формируются без экспертов. Если раньше на оценку предприятия экспертом банка требовалось в среднем 2-3 недели, то после внедрения
В качестве метода внешнего анализа может применяться также метод классификации ситуаций, когда по множеству признаков классификации, в качестве которых в данном случае выступает множество показателей деятельности предприятия, последовательно строится дерево решений, отражающее эту классификацию. В случае индуктивного вывода дерево решений строится по обучающей выборке автоматически. Пример классифицирующего дерева решений для оценки кредитоспособности предприятий, построенного в системе индуктивного вывода ИЛИС по обучающей выборке из 100 реально оцененных в одном из банков предприятий, представлен на рис.11.20. В обучающей выборке в качестве классифицирующих признаков использовались коэффициенты автономии, мобильности, отношения собственных и заемных средств, покрытия, абсолютной ликвидности, ликвидности, а также качественные признаки репутации и величины.
Классообразующим признаком является признак "Класс кредитоспособности" (1 - высший класс, 5 - низший класс). В результате обобщения примеров обучающей выборки часть признаков была формально отброшена: коэффициенты мобильности, ликвидности и величина предприятия, причем по различным ветвям дерева решений наблюдалась различная последовательность классификации.
Для каждой отдельной ветки дерева решения строится правило, в котором все признаки классификации последовательно связываются в конъюнкцию () факторов левой части правила (так называемый конъюнктивный подход), например:
IF: Кпокрыт. > = 1.55 Kпокрыт. < 2 Pепутац = 3 Kсоб.заем. > = 0.625 Kсоб.заем. < 0.75 Kавтоном. > = 0.375 Kавтоном. < 0.6 THEN: Кред.сп = 1
(рис 11.20) Дерево решений "Определение класса кредитоспособности"
Ограничения метода классификации ситуаций (конъюнктивного подхода) по сравнению с рейтинговым методом (дизъюнктивным подходом) при использовании правил принятия решений связаны с необходимостью жесткого задания всех признаков классификации по соответствующему пути дерева решения. Отсутствие хотя бы одного из признаков может привести к неудаче логического вывода.
Для внутреннего экономического анализа свойственен поиск направлений повышения эффективности деятельности предприятия, т.е. диагностика узких мест и определение рекомендаций по их устранению.
В основе диагностики лежит метод последовательной декомпозиции "сверху - вниз" или дезагрегации "целое - часть", когда проблема последовательно разбивается на подпроблемы, пока на каком-либо уровне не станет ясным, какая подпроблема в действительности имеет место. Примером применения декомпозиционного метода к построению экспертных систем служит система внутреннего финансового анализа FINEX (рис.11.21).
В случае применения
При этом анализ финансовых показателей выполняется последовательно по принципу "сверху - вниз" и "слева - направо" в соответствии с деревом взаимосвязи показателей. В случае обнаружения некоторого "узкого места" (неудовлетворительного значения показателя) может быть включен диалоговый режим работы
Для проведения комплексного экономического анализа предприятия целесообразно комбинировать применение описанных выше методов к построению наборов правил. В МЭСИ разработан исследовательский прототип
Функциями
В ходе ввода и проверки бухгалтерской отчетности осуществляется логический контроль зависимостей различных статей баланса предприятия, отчета о финансовых результатах и их использовании, справки к этому отчету и приложений к балансу. При этом правила логического контроля выполняются последовательно по декомпозиционному методу.
Анализ финансового состояния предприятия предполагает комплексную рейтинговую и классификационную оценку платежеспособности и финансовой устойчивости предприятия.
(рис 11.21) Диагностика рентабельности предприятия
Анализ результатов финансово-хозяйственной деятельности предусматривает оценку важнейших показателей рентабельности и оборачиваемости капитала. Диагностика эффективности использования ресурсов сводится к поиску отклонений в использовании основных и оборотных средств от нормативных значений с последующей декомпозицией анализа.
Общая схема оценки различных показателей в процессе анализа финансового состояния предприятия, реализованная в структуре базы знаний
(рис 11.22)
Рассмотрим более подробно реализацию данной
При проведении экспертизы необходимо учитывать ряд факторов, оказывающих влияние на финансовое состояние предприятия:
Так, для получения итоговой оценки финансового состояния требуется выделить промежуточные этапы анализа (подцели):
При нахождении значений сформулированных подцелей и оценке финансового состояния в целом следует принимать во внимание, что невозможно точно установить, насколько удовлетворительными (неудовлетворительными) являются те или иные значения показателей.
Кроме того, сами нормативные значения некоторых финансовых показателей, на основании которых строятся выводы, зависят от множества обстоятельств: структуры баланса, особенностей деятельности предприятия, экономической ситуации в стране. Поэтому, несмотря на то, что все возможные исходы решения проблемы могут быть описаны, они оцениваются с некоторой степенью уверенности (достоверности). При этом задача оценки финансового состояния предприятия приобретает нечеткий характер.
Оценка ликвидности (платежеспособности) получается как по обобщенным показателям (финансовым коэффициентам) в результате их проверки на соответствие нормативным ограничениям, так и на основе соотношений статей актива и пассива баланса (ликвидности баланса).
Для оценки такого баланса кроме простого (приближенного)
1) Финансовые коэффициенты ликвидности:
а) коэффициент абсолютной ликвидности (Кал):
$$Кал =\frac{D}{ Kt + Rp + Ko}$$где D - денежные средства и краткосрочные финансовые вложения;
Kt - краткосрочные кредиты и заемные средства;
Ko - ссуды, не погашенные в срок.
б) коэффициент ликвидности (Кл):
$$Кл =\frac{Ra}{Kt + Rp + Ko}$$где
в) коэффициент покрытия (Кп):
$$Кп =\frac{(Z - Sf) + Ra}{Kt + Rp + Ko}$$где Z - запасы и затраты;
Sf - расходы будущих периодов;
Оценка коэффициентов ликвидности для промышленных предприятий осуществляется на основе проверки ограничений.
Коэффициент абсолютной ликвидности:
Коэффициент ликвидности:
Коэффициент покрытия:
2) Ликвидность баланса:
а) Расчёт ликвидности баланса простым методом:
б) Расчёт ликвидности баланса методом нормативов скидок:
$$А1 = D;$$ $$ A2 = 0,82a + 0,7Г + 0,5(Z - Sf -Г),$$где Г - готовая продукция;
$$A3 = 0,22a + 0,3Г +0,5(Z - Sf -Г) + FT + RTa;$$ $$П1 = 0,8Rp + Ko;$$ $$П2 = 0,2Rp + Kt - Ko;$$ $$П3 = KT + RTp.$$Для обоих методов оценки ликвидности баланса рассчитываются платежные излишки/недостатки по следующим формулам:
В общей оценке платежеспособности наибольшее значение придается оценке баланса ликвидности по сравнению с оценкой коэффициентов ликвидности, например, факторы уверенности назначаются в соотношении 2 к 1. В оценке баланса ликвидности метод нормативов - скидок играет уточняющую роль, он лишь немного увеличивает хорошие значения и уменьшает плохие значения ликвидности.
Оценку баланса ликвидности можно представить в виде следующей матрицы ("+" - избыток, "-" - недостаток):
| А11 | А12 | А13 | Оценка | Уверенность |
|---|---|---|---|---|
| + | + | + | Удовл. | 100 |
| + | + | - | Удовл. | 80 |
| + | - | + | Удовл. | 75 |
| - | + | + | Удовл. | 70 |
| - | - | - | Неудовл. | 100 |
| - | - | + | Неудовл. | 75 |
| - | + | - | Неудовл. | 70 |
| + | - | - | Неудовл. | 60 |
Оценка финансовой устойчивости формируется из оценок трёхкомпонентного показателя типа финансовой ситуации, определяющего покрытие основных и оборотных средств собственными и заемными финансовыми источниками, а также оценок коэффициентов устойчивости по сравнению с нормативными значениями. Основное влияние на финансовую устойчивость при этом оказывает оценка трёхкомпонентного показателя примерно в соотношении 2 к 1. При расчёте показателей финансовой устойчивости используются следующие формулы:
1) Трёхкомпонентный показатель типа финансовой ситуации:
Полученное значение трёхкомпонентного показателя может характеризовать состояние финансовой устойчивости как:
Такое состояние можно восстановить путём привлечения долгосрочных и среднесрочных кредитов и заемных средств или обоснованным снижением уровня запасов;
В этом случае денежные средства, краткосрочные ценные бумаги и дебиторская задолженность не покрывают даже кредиторской задолженности и просроченных ссуд.
2) Коэффициенты финансовой устойчивости предприятия:
Оценка коэффициентов финансовой устойчивости для промышленных предприятий осуществляется на основе проверки ограничений:
Коэффициент автономии:
Коэффициент соотношения заемных и собственных средств:
Коэффициент маневренности:
Коэффициент обеспеченности запасов и затрат собственными источниками финансирования:
Оценки показателей платежеспособности и финансовой устойчивости корректируются в зависимости от оценки тенденции развития предприятия (динамики значений показателей). При этом производится сравнение показателей отчётного периода со средней величиной этих показателей за предшествующий период деятельности предприятия с учётом инфляционных процессов. В случае улучшения значений показателей коэффициент уверенности удовлетворительной оценки увеличивается, предположим, на 10%, а в случае ухудшения коэффициент уверенности, соответственно, уменьшается.
Проверка ограничений на значения отдельных показателей и их последующая оценка задается в виде правил базы знаний в следующей форме:
Если: <посылка> То: < заключение > Уверенность < значение >, например:
Если: А11 > 0 и A12 > 0 и A13 > 0
То: Ликвидность баланса = "Удовлетворительна" Уверенность 100.
В случае независимого воздействия на оценку некоторой целевой переменной нескольких показателей (соответственно нескольких правил, оценивающих эту переменную) коэффициент уверенности (КУ) итоговой оценки формируется рейтинговым методом по формуле нормализованного сложения:
$$КУрез i = КУрез i-1 + КУфактора i - КУрез i-1* КУфактора i/100$$ $$(КУрез 1 = КУфактора 1)$$Например, коэффициент уверенности оценки ликвидности на основе значений финансовых коэффициентов ликвидности рассчитывается следующим образом:
Кал = 1,1 -> Ликвидность коэф-в = "Удовлетвор." Уверенность 30 Кл = 1,5 -> Ликвидность коэф-в = "Удовлетвор." Уверенность 40 Кп = 3,1 -> Ликвидность коэф-в = "Удовлетвор." Уверенность 50
Ликвидность коэф-в = "Удовлетвор." Уверенность 79
Влияние нескольких факторов на оценку некоторого показателя финансового состояния можно также представить в виде правил базы знаний, в посылке которых находится конъюнкция данных факторов, например:
IF: Ликвидность коэф-в = "Удовл." AND Ликвидность баланса = "Удовл." THEN: Платежеспособность = "Удовл." cf 100 IF: Ликвидность коэф-в ="Неудовл." AND Ликвидность баланса ="Удовл." THEN: Платежеспособность = "Удовл." cf 80 IF: Ликвидность коэф-в="Удовл." AND Ликвидность баланса="Неудовл." THEN: Платежеспособность = "Удовл." cf 40 IF: Ликвидность коэф-в="Недовл." AND Ликвидность баланса="Недовл." THEN: Платежеспособность = "Неудовл." cf 100 IF: Платежеспособность="Удовл." AND Финанс.устойчивость ="Удовл." THEN: Финансовое состояние = "Удовл." cf 100 IF: Платежеспособность = "Неудовл." AND Финанс. устойчивость="Удовл" THEN: Финансовое состояние = "Удовл." cf 50 IF: Платежеспособность="Удовл." AND Финанс. устойчивость ="Неуд." THEN: Финансовое состояние = "Удовл." cf 20 IF: Платежеспособность="Неудовл." AND Финанс.устойчивость="Неуд." THEN: Финансовое состояние = "Неудовл." cf 100
Объединение коэффициентов уверенности значений показателей для таких правил осуществляется следующим образом:
Например, коэффициент уверенности удовлетворительного финансового состояния предприятия на основе значений платежеспособности и финансовой устойчивости рассчитывается следующим образом:
Платежеспособность = "Удовл." Уверенность 60 Финанс. устойчивость = "Неудовл." Уверенность 70 ----------------------------------------------------------------------------- Посылка правила Уверенность 60 Заключение правила Уверенность 20 ----------------------------------------------------------------------------- Финансовое состояние = "Удовл." Уверенность 12
Решение задачи оценки финансового состояния предприятия с помощью
В процессе эксплуатации
Для детального внутреннего анализа результатов финансово-хозяйственной деятельности предприятия предназначена
Рентабельность предприятия, являющаяся интегральной оценивающей характеристикой эффективности его финансово-хозяйственной деятельности, рассчитывается как отношение полученного дохода (прибыли) к средней величине использования ресурсов. Существует множество показателей рентабельности, среди которых следует перечислить такие, как показатели рентабельности активов, текущих активов, реализованной продукции,
Общая схема оценки различных показателей в процессе анализа рентабельности, оборачиваемости средств и себестоимости продукции предприятия, реализованная в структуре базы знаний
Рассмотрим взаимосвязи представленных в
Показатель рентабельности текущих активов (Рта), отражающий получение чистой прибыли (ЧП) на один рубль оборотных средств (ОбС):
$$Рта=\frac {ЧП}{ОбС}$$может быть выведен через показатели
(рис 11.23) Дерево целей "Оценка эффективности ФХД предприятия"
В дальнейшем анализ
Рентабельность реализованной продукции рассчитывается как отношение чистой прибыли к выручке от реализации продукции (Врп):
$$Ррп=\frac {Ррп}{Врп}$$Выручка от реализации продукции в стоимостном выражении складывается из затрат на производство реализованной продукции (Зпр), или себестоимости, и результата от реализации, или прибыли (Пр):
$$Врп = Зпр + Пр.$$Затраты на производство продукции включают прямые затраты (сырьё и материалы, оплату труда рабочих, отчисления на социальные нужды, брак в производстве и прочие расходы) и постоянные затраты (общехозяйственные, общепроизводственные и коммерческие расходы).
Диагностика результатов финансово-хозяйственной деятельности предприятия осуществляется путём просмотра описанного
IF: Рта >= Рта отр. и Рта >= Рта пред.
THEN: Рентабельность тек. активов + = "Удовл."
IF: Рта >= Рта отр. и Рта < Рта пред.
THEN: Рентабельность тек. активов += {"Удовл." cf 70, "Неудовл." cf 30}
IF: Рта < Рта отр. и Рта >= Рта пред.
THEN: Рентабельность тек. активов += {"Удовл." cf 30, "Неудовл." cf 70}
IF: Рта < Рта отр. и Рта < Рта пред.
THEN: Рентабельность тек. активов += "Неудовл."
В приведённых правилах: Рта - показатель рентабельности текущих активов предприятия, Рта пред. - показатель рентабельности текущих активов предприятия за прошлый период, Рта отр. – показатель рентабельности текущих активов по отрасли.
Сформированное качественное значение показателя фиксируется в специальной переменной "Финансово-хозяйственный результат". В случае неудовлетворительного значения того или иного показателя
IF: Рентабельность тек. активов = "Неудовлетв."
AND KNOWN ("Оборачиваемость тек. активов")
AND KNOWN("Рентабельность реал. продукции")
THEN: Финансово-хозяйственный результат + =
"Рентабельность тек. активов неудовлетворительна"
IF: Рентабельность тек. активов = "Удовлетв."
THEN: Финансово-хозяйственный результат + =
"Рентабельность тек. активов удовлетворительна"
IF: Оборачиваемость тек. активов = "Неудовлетв."
AND KNOWN("Оборачиваемость гот. продукции")
AND KNOWN("Оборачиваемость матер. запасов")
THEN: Финансово-хозяйственный результат + =
" Оборачиваемость тек. активов неудовлетворительна"
IF: Оборачиваемость тек. активов = "Удовлетв."
THEN: Финансово-хозяйственный результат + =
" Оборачиваемость тек. активов удовлетворительна"
. . . . . . . . . . . . . . . . . . . . . . . . .
Переход на следующий уровень анализа обеспечивается в результате использования функции "KNOWN ", которая заставляет искать значение заданной в скобках переменной. По мере просмотра
Главным направлением перестройки менеджмента и его радикального усовершенствования, приспособления к современным условиям стало массовое использование новейшей компьютерной и телекоммуникационной техники, формирование на её основе высокоэффективных информационно-управленческих технологий. Средства и методы прикладной информатики используются в менеджменте и маркетинге. Новые технологии, основанные на компьютерной технике, требуют радикальных изменений организационных структур менеджмента, его регламента, кадрового потенциала, системы документации, фиксирования и передачи информации. Особое значение имеет внедрение информационного менеджмента, значительно расширяющее возможности использования компаниями информационных ресурсов. Развитие информационного менеджмента связано с организацией системы обработки данных и знаний, последовательного их развития до уровня интегрированных автоматизированных систем управления, охватывающих по вертикали и горизонтали все уровни и звенья производства и сбыта.
На текущий момент большинство хозрасчетных предприятий начало, наконец, осознавать необходимость внедрения серьезных информационных технологий для нужд управления предприятием и поддержки принятия решений. То есть сейчас наблюдается постепенный отход от простых учётных систем и переход к более сложным, корпоративного уровня системам. Отличительной особенностью этих систем является то, что они позволяют в едином информационном пространстве охватить полностью всю деятельность предприятия. К сожалению, на большинстве российских фирм в процессе принятия решений не используются данные информационных систем, или используются в незначительном объёме.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.