Курсовая работа: Искусственные нейронные сети
Чтобы проиллюстрировать
модель, рассмотрим сеть ART1, которая рассчитана на бинарный (0/1) вход.
Упрощенная схема архитектуры ART1 представлена на рис. 7. Она содержит два слоя
элементов с полными связями.

Рис.7 - Архитектура
ART1
Направленный сверху
вниз весовой вектор wj соответствует элементу j входного слоя, а
направленный снизу вверх весовой вектор i связан с выходным элементом i; i
является нормализованной версией wi . Векторы wj
сохраняют прототипы кластеров. Роль нормализации состоит в том, чтобы
предотвратить доминирование векторов с большой длиной над векторами с малой
длиной. Сигнал сброса R генерируется только тогда, когда подобие ниже заданного
уровня.
Модель ART1 может
создать новые категории и отбросить входные примеры, когда сеть исчерпала свою
емкость. Однако число обнаруженных сетью категорий чувствительно к параметру
сходства.
3.
Многослойный персептрон (MLP)
Вероятно, эта
архитектура сети используется сейчас наиболее часто. Она была предложена в
работе Rumelhart, McClelland (1986) и подробно обсуждается почти во всех
учебниках по нейронным сетям. Вкратце этот тип сети был описан выше. Каждый
элемент сети строит взвешенную сумму своих входов с поправкой в виде слагаемого
и затем пропускает эту величину активации через передаточную функцию, и таким
образом получается выходное значение этого элемента. Элементы организованы в
послойную топологию с прямой передачей сигнала. Такую сеть легко можно
интерпретировать как модель вход-выход, в которой веса и пороговые значения
(смещения) являются свободными параметрами модели. Такая сеть может
моделировать функцию практически любой степени сложности, причем число слоев и
число элементов в каждом слое определяют сложность функции. Определение числа
промежуточных слоев и числа элементов в них является важным вопросом при
конструировании MLP.
Количество входных и
выходных элементов определяется условиями задачи. Сомнения могут возникнуть в
отношении того, какие входные значения использовать, а какие нет, - к этому
вопросу мы вернемся позже. Сейчас будем предполагать, что входные переменные
выбраны интуитивно и что все они являются значимыми. Вопрос же о том, сколько
использовать промежуточных слоев и элементов в них, пока совершенно неясен. В
качестве начального приближения можно взять один промежуточный слой, а число
элементов в нем положить равным полусумме числа входных и выходных элементов.
Опять-таки, позже мы обсудим этот вопрос подробнее.
3.1 Обучение
многослойного персептрона
После того, как
определено число слоев и число элементов в каждом из них, нужно найти значения
для весов и порогов сети, которые бы минимизировали ошибку прогноза,
выдаваемого сетью. Именно для этого служат алгоритмы обучения. С использованием
собранных исторических данных веса и пороговые значения автоматически
корректируются с целью минимизировать эту ошибку. По сути, этот процесс
представляет собой подгонку модели, которая реализуется сетью, к имеющимся
обучающим данным. Ошибка для конкретной конфигурации сети определяется путем
прогона через сеть всех имеющихся наблюдений и сравнения реально выдаваемых
выходных значений с желаемыми (целевыми) значениями. Все такие разности
суммируются в так называемую функцию ошибок, значение которой и есть ошибка
сети. В качестве функции ошибок чаще всего берется сумма квадратов ошибок, т.е.
когда все ошибки выходных элементов для всех наблюдений возводятся в квадрат и
затем суммируются.
В традиционном
моделировании (например, линейном моделировании) можно алгоритмически
определить конфигурацию модели, дающую абсолютный минимум для указанной ошибки.
Цена, которую приходится платить за более широкие (нелинейные) возможности
моделирования с помощью нейронных сетей, состоит в том, что, корректируя сеть с
целью минимизировать ошибку, мы никогда не можем быть уверены, что нельзя
добиться еще меньшей ошибки.
В этих рассмотрениях
оказывается очень полезным понятие поверхности ошибок. Каждому из весов и
порогов сети (т.е. свободных параметров модели; их общее число обозначим через
N) соответствует одно измерение в многомерном пространстве. N+1-е измерение
соответствует ошибке сети. Для всевозможных сочетаний весов соответствующую
ошибку сети можно изобразить точкой в N+1-мерном пространстве, и все такие
точки образуют там некоторую поверхность - поверхность ошибок. Цель обучения
нейронной сети состоит в том, чтобы найти на этой многомерной поверхности самую
низкую точку.
В случае линейной
модели с суммой квадратов в качестве функции ошибок эта поверхность ошибок
будет представлять собой параболоид (квадрику) - гладкую поверхность, похожую
на часть поверхности сферы, с единственным минимумом. В такой ситуации
локализовать этот минимум достаточно просто.
В случае нейронной сети
поверхность ошибок имеет гораздо более сложное строение и обладает рядом
неприятных свойств, в частности, может иметь локальные минимумы (точки, самые
низкие в некоторой своей окрестности, но лежащие выше глобального минимума),
плоские участки, седловые точки и длинные узкие овраги.
Аналитическими
средствами невозможно определить положение глобального минимума на поверхности
ошибок, поэтому обучение нейронной сети по сути дела заключается в исследовании
поверхности ошибок. Отталкиваясь от случайной начальной конфигурации весов и
порогов (т.е. случайно взятой точки на поверхности ошибок), алгоритм обучения
постепенно отыскивает глобальный минимум. Как правило, для этого вычисляется
градиент (наклон) поверхности ошибок в данной точке, а затем эта информация
используется для продвижения вниз по склону. В конце концов алгоритм
останавливается в нижней точке, которая может оказаться всего лишь локальным
минимумом (а если повезет - глобальным минимумом).
4.
Вероятностная нейронная сеть
Задача оценки плотности
вероятности (p.d.f.) по данным имеет давнюю историю в математической статистике
и относится к области байесовой статистики. Обычная статистика по заданной
модели говорит нам, какова будет вероятность того или иного исхода (например,
что на игральной кости шесть очков будет выпадать в среднем одном случае из
шести). Байесова статистика переворачивает вопрос вверх ногами: правильность
модели оценивается по имеющимся достоверным данным. В более общем плане,
байесова статистика дает возможность оценивать плотность вероятности
распределений параметров модели по имеющимся данных. Для того, чтобы минимизировать
ошибку, выбирается модель с такими параметрами, при которых плотность
вероятности будет наибольшей.
При решении задачи
классификации можно оценить плотность вероятности для каждого класса, сравнить
между собой вероятности принадлежности различным классам и выбрать наиболее
вероятный. На самом деле именно это происходит, когда мы обучаем нейронную сеть
решать задачу классификации - сеть пытается определить (т.е. аппроксимировать)
плотность вероятности.
Традиционный подход к
задаче состоит в том, чтобы построить оценку для плотности вероятности по
имеющимся данным. Обычно при этом предполагается, что плотность имеет некоторый
определенный вид (чаще всего - что она имеет нормальное распределение). После
этого оцениваются параметры модели. Нормальное распределение часто используется
потому, что тогда параметры модели (среднее и стандартное отклонение) можно
оценить аналитически. При этом остается вопрос о том, что предположение о
нормальности не всегда оправдано.
Другой подход к оценке
плотности вероятности основан на ядерных оценках. Можно рассуждать так: тот
факт, что наблюдение расположено в данной точке пространства, свидетельствует о
том, что в этой точке имеется некоторая плотность вероятности. Кластеры из
близко лежащих точек указывают на то, что в этом месте плотность вероятности
большая. Вблизи наблюдения имеется большее доверие к уровню плотности, а по
мере отдаления от него доверие убывает и стремится к нулю. В методе ядерных
оценок в точке, соответствующей каждому наблюдению, помещается некоторая простая
функция, затем все они складываются и в результате получается оценка для общей
плотности вероятности. Чаще всего в качестве ядерных функций берутся гауссовы
функции (с формой колокола). Если обучающих примеров достаточное количество, то
такой метод дает достаточно хорошее приближение к истинной плотности
вероятности.
Метод аппроксимации
плотности вероятности с помощью ядерных функций во многом похож на метод
радиальных базисных функций, и таким образом мы естественно приходим к понятиям
вероятностной нейронной сети (PNN) и обобщенно-регрессионной нейронной сети
(GRNN). PNN-сети предназначены для задач классификации, а GRNN - для задач
регрессии. Сети этих двух типов представляют собой реализацию методов ядерной
аппроксимации, оформленных в виде нейронной сети.
Сеть PNN имеет по
меньшей мере три слоя: входной, радиальный и выходной. Радиальные элементы
берутся по одному на каждое обучающее наблюдение. Каждый из них представляет
гауссову функцию с центром в этом наблюдении. Каждому классу соответствует один
выходной элемент. Каждый такой элемент соединен со всеми радиальными
элементами, относящимися к его классу, а со всеми остальными радиальными
элементами он имеет нулевое соединение. Таким образом, выходной элемент просто
складывает отклики всех элементов, принадлежащих к его классу. Значения
выходных сигналов получаются пропорциональными ядерным оценкам вероятности
принадлежности соответствующим классам, и пронормировав их на единицу, мы
получаем окончательные оценки вероятности принадлежности классам.
Базовая модель PNN-сети
может иметь две модификации.
В первом случае мы
предполагаем, что пропорции классов в обучающем множестве соответствуют их
пропорциям во всей исследуемой популяции (или так называемым априорным
вероятностям). Например, если среди всех людей больными являются 2%, то в
обучающем множестве для сети, диагностирующей заболевание, больных должно быть
тоже 2%. Если же априорные вероятности будут отличаться от пропорций в
обучающей выборке, то сеть будет выдавать неправильный результат. Это можно
впоследствии учесть (если стали известны априорные вероятности), вводя
поправочные коэффициенты для различных классов.
Страницы: 1, 2, 3, 4, 5, 6, 7 |