Нейросетевые алгоритмы. Вопросы и ответы

Терминология. Базовые понятия и определения

Преимущества нейросетевых алгоритмов

Использование нейросетевых алгоритмов для решения экономических задач

Терминология. Базовые понятия и определения

  • Ответ: Есть две основных модели нейрона √ непрерывная с синапсами, порогами и функциями активации и логическая. Обе модели реализуют одинаковую логику. Различие между ними состоит во входных переменных: в первой - они непрерывные, а во второй - логические (0 и 1).
  • Ответ: Вы правильно заметили - формируется коллектив нейронов. Происходит голосование за 0 или 1 большинством голосов. Это нечеткая логика. Нечеткие переменные появляются тогда, когда Вы переходите от точечных оценок к интервальным (в нашем случае - к пороговым).
  • Ответ: Это схема не проясняет, а запутывает. Зачем она нужна?
  • Ответ: Верно. Мы ставим задачу извлечения зависимости y = f(x1, x2 ... xm) в явном виде и решаем эту задачу в классе логических функций. По определению y - зависимый параметр (показатель). Мы можем взять линейную зависимость или квадратичную, большинство так и делает.

    Когда зависимость найдена, мы можем не только прогнозировать будущие значения, но и вырабатывать управляющие воздействия (устанавливать значения порогов x1...xm) для того, чтобы прирост величины y в будущем был максимальным. Последнее есть задача оптимизации, решаемая методами исследования операций (линейного, нелинейного программирования)

  • Ответ: Целевая функция - это формальная запись того, что мы ищем. В нашем случае мы ищем управляющее воздействие, выраженное в форме логических высказываний, которое способно максимизировать прирост целевой функции.
  • Ответ: Эти два критерия были введены Ивахненко. Они имеют недостатки, которые я постарался убрать. Я использую другой эвристический критерий, смысл которого - в сокращении перебора моделей. Сокращение достигается за счет отбора эффективных моделей, усложнение которых благодаря введению новых переменных приводит к снижению ошибки обучения. Эта эвристика часто называется "жадным" алгоритмом и широко применяется в НС и оптимизационных методах.
  • Ответ: Полносвязная НС с точки зрения анализа причинно-следственных связей аналитически описывается как суммарная реакция выходов скрытых нейронов, активизируемых входными нейронами (сенсорами). С точки зрения прикладной проблемы такую систему функций трудно понять и объяснить. Поэтому надо искать способы более легкой интерпретации найденных НС закономерностей. Иными словами надо построить понятную для конечного пользователя систему аналитических функций, адекватно (в рамках заданной погрешности) заменяющих отношение вход-выход обученной НС. Автоматы это система логических функций, в данном случае без памяти (поскольку нет динамики, нет параметра времени).
  • Ответ: Она получается путем записи обученной НС в явном виде. Другими словами, мы имеем НС, представленную системой уравнений. Эту систему можно записать в явном виде, т.е. построить аналитическую модель.
  • Ответ: Таблица решений вводится для адекватной замены (или аппроксимации) отношений "вход-выход" обученной НС. В простейших случаях, она достаточно компактная и обозрима.

    Таблица решений нужна для выработки управляющих решений по принципу сценариев (схема "что будет, если..."). Она инвариантна к условиям решения задачи в рамках представленных для обучения примеров.

    Таблица решений фактически ничем не отличается от аналитической модели, так как вычисляется по найденным аналитическим уравнениям (автоматам).

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

    Цель самоорганизации - получить минимальную конфигурацию НС при максимальной точности на выходе. Для этого пользователь указывает критерии самоорганизации.

  • Ответ: Управление без самоорганизации это своеобразный политический режим. Самоорганизация без управления (или критериев) это анархия. Природа это результат самоорганизации, если вы конечно атеист.
  • Ответ: Обычно имеющиеся данные разбивают на две части для обучения и тестирования. Сеть считается обученной, если она правильно классифицирует обучающие и тестовые примеры. Или делает допустимо малое число ошибок. Таким образом, обучение - это процесс настройки синапсов НС на минимум функции ошибок в рамках обучающих примеров.

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

  • Ответ: Есть фундаментальная теорема: "если мы в состоянии сформулировать задачу, значит - существует ее решение". Решать надо ясные задачи.
  • Ответ: Стандартные НС - это сети прямого распространения с одним скрытым слоем нейронов и одним выходным. Все нейроны связаны со всеми нейронами предыдущего слоя. Число нейронов задается пользователем. Обучение синапсов происходит на основе алгоритма обратного распространения ошибки (back-propagation). Примером реализации стандартной НС может служить программный пакет BrainMaker.

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

  • Ответ: Это типичный вопрос. Экономика динамична и зависимости, которые мы ищем, быстро меняются. Поэтому существует некоторая оптимальная длина ряда. Увеличение длины ряда в одном случае может повысить точность прогноза, а в другом - снизить ее. Это должно быть ясно.
  • Ответ: Если мы построили модель при оптимальной длине ряда, то его уменьшение естественно снизит точность прогноза.
  • Ответ: Если зависимость изменяется медленно, то найденная модель будет давать достоверные прогнозы на 3-4 месяца. В некоторых случаях было бы целесообразно строить рекуррентные НС...
  • Ответ: Рекуррентные НС - это нейронные сети, имеющие обратные связи с выхода на вход с задержкой по времени. То есть их выход является функцией времени или добавляется новый фактор времени. Статические же модели размазывают (усредняют) поведение системы во времени и поэтому делают больше ошибок. Они применяются в задачах с замороженной динамикой, обновление модели это отмораживание.
  • Ответ: Вероятность правильного прогноза пропорциональна числу проголосовавших за решение нейронов. Например, три нейрона из пяти проголосовали за спад какого-либо зависимого параметра, значит - вероятность совпадения прогнозного и реального значений 3/5.
  • Ответ: Все прогнозы строятся на основе имеющихся наблюдений, цель прогноза - найти закономерности, которые будут работать в будущем (ближайшем, или отдаленном).
  • Ответ: Например, ежемесячный прирост промышленного производства (ОПП) у нас закодирован 0 и 1. Мы пытаемся объяснить и спрогнозировать его каждым из выделенных показателей в отдельности. Эти показатели предварительно также кодируются 0 и 1. В том месяце, в котором значения показателя и ОПП не совпадают, мы констатируем ошибку.
  • Ответ: Если эти ошибки были представлены обучающими примерами, НС достаточно устойчиво на них реагирует. Она становится как бы умнее своего учителя. До известных пределов она справляется с ошибками при текущих значениях.
  • Ответ: Значимость пропорциональна частоте использования показателя и определяется, когда модель уже построена. Значимость кратна количеству ссылок моделей прогнозирования на какой-либо показатель. Если мы получили модель, в которой тот или иной показатель отсутствует - значит, он не вносит полезной информации (не оказывает существенного влияния).
  • Ответ: Отрицательный прирост берется со знаком "минус". Если нет прироста, прогнозируемый показатель равен логическому 0. Как правило, если показатель не изменяется, то его не включают в гипотезу (он ничего не объясняет).
  • Ответ: Вектор состояния - это независимые переменные искомой функции или ее аргументы. В этом смысле при использовании НС можно говорить о построении логического вектора состояния.
  • Ответ: НС индифферентна по отношению ко всем этим моментам. Это - сугубо Ваши представления.
  • Ответ: Это допускается в рамках выдвинутой вами гипотезы. Все остальные параметры, реально влияющие на выход, но не включенные в вашу гипотезу, будут вносить "шум", это неконтролируемые возмущения, которые есть в любой системе.
  • Ответ: Формулируя гипотезы, мы указываем все влияющие переменные. Часть из них, так же вошедших в гипотезу, будут контролируемыми возмущающими переменными. Неконтролируемые возмущения определяются рамками гипотезы а не НС. НС Вам просто дает явное, скорректированное по реальным данным, логическое представление Вашей гипотезы.
  • Ответ: Новый фактор - это новая гипотеза, а значит новая НС.
  • Преимущества нейросетевых алгоритмов

  • Ответ: Формально-логические методы, в частности НС, в большинстве случаев дают лучшие результаты при использовании небольших, непредставительных выборок.
  • Ответ: Хороший вопрос. Я бы сам хотел знать на него точный ответ. Могу сказать только, что НС в тех случаях, когда отсутствуют регулярные зависимости между анализируемыми параметрами. Ограничения также могут быть в связи с быстрым ростом вычислительных затрат.
  • Ответ: Теория оптимального управления (исследования операций) это сказка, выдуманная математиками, которые реальный мир видят лишь по телевизору и в книжках. Ее положения обычно не работают с реальными данными. Оптимизационные методы направлены на поиск минимума (максимума) при помощи производных явно заданных функций. Эти точки мы можем точно указать лишь при отсутствии или малом уровне "шума" (как известно, дифференцирование усиливает "шум" данных). Важно учитывать, что реальные данные чрезвычайно искаженные.

    Мой алгоритм эвристический по своей природе и не требует выполнения требований (по объему и точности исходных данных), характерных для теории оптимального регулирования. Однако, он способен давать решения достаточно близкие к оптимальным.

  • Использование нейросетевых алгоритмов для решения экономических задач

  • Ответ: Идея должна быть следующей... 1) Мы имеет гипотезу о влиянии некоторых параметров на заданную нам целевую функцию. 2) Далее мы заполняем таблицу данных для всех переменных нашей гипотезы и на ее основе находим зависимость, способную прогнозировать будущие значения (мы выбрали НС для этого). 3) Найдя такую зависимость, мы решаем обратную задачу - задаем нужное значение (прирост) выхода модели и находим интересующие нас значения входных переменных, гарантирующих это состояние. В итоге мы получаем в символьной (понятной) записи набор мероприятий, который необходимо реализовать для прироста целевой функции.
  • Ответ: Абсолютно так.
  • Ответ: Последнее правильно, первое нет.
  • Ответ: Только так и следует понимать. В экономике можно найти сколько угодно способов приложения НС. Но почти все наши экономисты ограничиваются получением численного прогнозируемого результата, а не его модели. Фактически никто не занимается анализом моделей.
  • Ответ: Я уверен, что первая задача решается в очень неопределенных условиях и к тому же на непредставительной статистике. Отсюда необходимость использовать аппарат нечетких переменных и соответствующие методы представления знаний (зависимостей). Вторая задача гораздо определеннее. При ее решении удовлетворительно или хорошо работают классические методы.
  • Ответ: Да, по числу ошибок при прогнозировании. Интеллект по определению - способность предвидеть.

    Вопросы задавал Сухов С.В., e-mail: Sergey_Suhov@mail.ru