Боровиков В.П. - Нейронные сети (778916), страница 32
Текст из файла (страница 32)
б.б Обучение сети Кохонена Алгоритм обучения сети Кохонена корректирует положение центров в слое топологической карты таким образом, чтобы приблизить их к центрам кластеров в обучающих данных. На каждом шаге обучения алгоритм выбирает элемент, чей центр лежит ближе всего к обучающему наблюдению. Этот элемент и соседние с ним затем корректируются так, чтобы они больше походили на данное обучающее наблюдение.
Исключительно важную роль в обучении Кохонена играет окрестность элемента. Корректируя не только сам выигравший элемент, но и соседние с ним, алгоритм Кохонена относит близкие наборы данных к смежным областям топологической карты. По ходу обучения окрестность постепенно сужается, и одновременно уменьшается скорость обучения, так что поначалу выстраивается грубое отображение (при котором на одно наблюдение откликаются большие группы элементов), а на последующих этапах достраиваются более тонкие детали (так что отдельные элементы в группах реагируют на небольшие различия в данных).
Залсечанае. Как и в случае метода обратного раснространения, в окне График обучения выводится среднеквадратичная ошибка. Однако в данном случае смысл этой ошибки совершенно иной, чем для обрапаюго распространения. В методе обратного распространения берется сумма квадратов значений функции ошибок, которая измеряет расстояние от выходного вектора сети до целевого выходного вектора. При этом ошибка, которая выдается в окне График обучения — это среднеквадратичное значение ошибки выхода, взятое по всему обучающему множеству. Гпава В. цапьнеашпе возможноств нейронных севеа В обучении методом Кохонена функция ошибок — это расстояние от вектора вссов выигравшего радиального элемента до входного вектора.
Та ошибка, которая выдается в окне График обучения — это среднеквадратичное значение этой входной ошибки, взятое по всему обучающему множеству. Диалоговое окно Обучение сети Кохонена, которое открывается после задания типа сети и количества элементов или после нажатия кнопки Обучить в диалоге редактора сети, содержит (вкладка Быстрый) начальные и конечные значения параметров Скорость обучения — Ьеагнтд гаге и Окрестность — Хецй Ьогпоой(рис. 6.7). Часто обучение Кохонена явным образом разделяется на фазу грубого приближения (упорядочивания) и фазу уточнения. Рис.
6.7 В нашем случае достаточная эффективность достигается при двух этапах по 50 эпох в каждом. На первом этапе зададим уменьшение параметра Скорость обучения с начального значения 0,5 до конечного значения 0,1, а размер окрестности будем все время сохранять равным единице. На втором этапе скорость обучения будем держать постоянной и равной 0,1, а размер окрестности равным нулю. После того, как сеть Кохонена обучена, можно рассмотреть ее, чтобы узнать, какие кластеры она образовала и чему они соответствуют. В нашем примере мы будем делать это с известным лукавством, поскольку мы заранес знаем всю структуру данных (для применения сетей Кохонена зто нетипично).
Часпюгпы выыирыцзе0 После окончания анализа мы переходим к окну топологической карты с неопределенными классами (сели более удобно, можно на топологической карте отобразить Частоты выигрышей). В данном диалоговом окне можно 153 Неаронные сева. ЗТАТ!ЗТ!СА йеи(а! Ме~аогаа наблюдать за тем, где на топологической карте формируются кластеры. Это окно прогоняет сеть по всем наблюдениям и подсчитывает, сколько раз каждый элемент выигрывал (т.е. оказывался ближайшим к обрабатываемому наблюдению). Большие значения частоты выигрышей указывают на центры кластеров в топологической карте. Элементы с нулевой частотой выигрьппей вообще не были использованы, и часто это считается признаком того, что обучение не было особенно успешным (так как сеть не использовала все свои ресурсы).
Однако, в нашей задаче так мало обучающих наблюдений, что некоторые из элементов неизбежно окажутся незадействованными. На вкладке Часпюты аыигрышей статистики можно выводить раздельно для обучающего и контрольного множеств, а можно сразу для всех наблюдений. Если показатели кластеризации для этих двух множеств существенно различаются, это свидетельствует о том, что сеть не научилась хорошо обобщать. В случае, когда обучающее множество очень мало, то можно не обращать внимания на такие несоответствия, Окно гпопопоаической карпты После того, как зафиксировано распределение центров кластеров, средствами окна Толологическая карта можно протестировать сеть с целью выяснения смысла кластеров.
В окне Топологическая карта, которое находится на соответствующей вкладке, выходной слой представлен графически в пространстве двух измерений. При обработке очередного наблюдсния каждый элемент показывает степень своей близости к нему с помощью сплошного черного квадратика (чем больше размер квадрата, там больше степень близости), а выигравший элемент помечается цветом.
При тестировании сети на нескольких наблюдениях (удобнее всего делать это с помощью верхней стрелки кнопок микропрокрутки, расположенной рядом с полем Наблюдение) по структуре активаций вы увидите, как группируются похожие элементы и как они реагируют на близкис наблюдения. Теперь мы можем начать помечать элементы, устанавливая этим смысл соответствующих им кластеров. В нашем примере первые 50 наблюдений соответствуют виду Бешена. Сначала проанализируем первое наблюдение.
Пометьте выигравший элсмент следующим образом. Выигравший элемент по умолчанию уже выбран, поместите указатель мьппи на контекстное меню над кнопкой Изменить список классов справа. Выбираем из него нужный класс (Юегоаа). Вы увидите, что имя выигравшего элемента топологической карты изменилось. Гпава 6. Папьнесшое возыожноспа несронных севов Пропустите через сеть остальные обучающие наблюдения, соответственно помечая выигравшие элементы. Может получиться так, что некоторый элемент будет выигрывать на наблюдениях как класса кегисо1об так и класса НГ81п1са; пометьте его знаком вопроса (неясный).
Просмотрев все тестовые наблюдения, оставшиеся незанятыми элементы можно также пометить как неиспользуемые (?). Или же можно еще раз пропустить все наблюдения и посмотреть, на какой класс сильнее реагирует данный неиспользуемый элемент, и соответствующим образом его пометить.
После того, как всем элементам приписаны метки, в окне Топологическая карта — Торо1о81са! Мар можно посмотреть, насколько хорошо сеть Кохонена классифицирует контрольное множество (рис. б.8). Рис. 6.8 Когда сеть Кохонена применяется для решения реальной задачи, то, как правило, заранее бывает неизвестно, какие кластеры встретятся в данных. В таком случае следует пометить кластеры символами (идентифицируя их с помощью таблицы Частоты выигрышей), а затем исследовать данные, чтобы попытаться определить, какой смысл могут иметь выявленные кластеры.
Чтобы облегчить эту работу, программа $Т Хеига! йге!аког!и позволяет помечать наблюдения в окне Топологическая карта — Торо!о81са! Мар. Для этого нужно придерживаться описанной далее последовательности действий (нс делайте этого сейчас — в этом нет нужды, так как данные про ирисы уже помечены). 1. Обучить сеть Кохонена. 2. Средствами окна Частоты выигрышей идентифицировать кластеры в окне Топологическая карта.
155 Нейронные репа. ЗТАТ!ЗТ!СА Норге! НеЫ|ог«е 3. Пометить кластеры символическими именами (например С1, С2 и т.д.). Чтобы присвоить кластеру новое имя, нужно нажать кнопку Изменить сиисок классов в окне Толологическая карта и затем пункт Добавить. Таким образом, можно редактировать выходную переменную сети, добавляя ей новые номинальные значения (соответствующие именам кластеров). 4. Протестировать наблюдения в окне Топалогическая карта и присвоить наблюдениям имена кластеров. 5. Исследовать данные (возможно, обратившись к исходной прикладной задаче) с целью определить, что представляют собой выявленные кластеры.
б. Заменить символические имена кластеров смысловыми. 7. Вновь протестировать наблюдения и пометить их согласно выигравшим элементам. ВЕРОЯТНОСТНЫЕ И ОБОБШЕННО-РЕГРЕССИОННЫЕ СЕТИ Обсуждение Стандартные архитектуры сетей, рассчитанные на управляемое обучение (многослойный персептрон и радиальная базисная функция), предполагают построение параметрической модели по имеющимся обучающим данным, где в качестве параметров выступают веса. Параметрическая модель (сеть) по объему обычно оказывается гораздо меньше, чем набор обучающих данных, и работает довольно быстро, хотя для обучения сети иногда может требоваться значительное время.
К задаче можно подойти иначе: попытаться моделировать искомое отображение более или менее непосредственно по обучающим данным. Преимущество такого подхода в том, что здесь не требуется обучения (нс считая, быть может, некоторых простых действий, которые практически сводятся к изменениям формы представления обучающих данных), а недостаток в том, что в результате может получиться очень громоздкая модель, которая будет занимать много памяти и медленно работать.
РХМ- и 0КХХ-сети как раз и представляют собой методы такого типа, «замаскированные» под нейронные сети, предназначенные соответственно для задач классификации и регрессии. Первый промежуточный слой в сетях этих типов состоит из радиальных элементов, каждый из которых в случае РМХ-сети хранит в себе каждое обучающее наблюдение, а в случае ОКНАХ-сети — большое число центров кластеров (которое, как правило, бывает примерно того же порядка, что и объем обучающего множества).
Выходной сигнал такого радиального элемента представляет собой гауссову функцию активации с центром в той точке, которая хранится в данном элементе (тем самым 156 Гпввв В. пвпьневшсе всзмсжнссас неврснньк своев «свидетельствуя» о том, что у моделируемой функции имеется некоторая плотность вероятности в окрестности данной точки), а в последующих слоях нз этих сигналов составлякпся оценки для плотностей вероятностей классов (для РХХ) или зависимой переменной регрессии (для 011ХХ). Вероятностные нейронные сети Вероятностные нейронные сети (РХХ) применяются в задачах классификации, поэтому набор данных для них должен иметь одну номинальную выходную переменную (Райегзоп, 1996; В1зпор, 1995).















