ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.11.2023
Просмотров: 114
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Системный анализ и принятие решений Макаров Л.М.
75
Где
j
NET
— это выход J нейрона Гроссберга,
Если слой Кохонена функционирует таким образом, что лишь у одного нейрона величи- на NET равна единице, а у остальных равна нулю, то всего один элемент вектора K отличен от нуля и вычисления очень просты. Фактически каждый нейрон слоя Гроссберга лишь выдает величину веса, который связывает этот нейрон с единственным ненулевым нейроном Кохонена.
Слой Кохонена классифицирует входные векторы в группы схожих. Это достигается с помо- щью такой подстройки весов слоя Кохонена, что близкие входные векторы активируют один и тот же нейрон данного слоя. Затем задачей слоя Гроссберга является получение требуемых вы- ходов.
Обучение Кохонена является самообучением, протекающим без учителя. Поэтому труд- но (и не нужно) предсказывать, какой именно нейрон Кохонена будет активироваться для за- данного входного вектора. Необходимо лишь гарантированно добиться, чтобы в результате обучения разделялись несхожие входные векторы.
Для достижения этой цели требуется нормализовать входные векторы перед тем, как предъявлять их сети. Это выполняется с помощью деления каждой компоненты входного век- тора на длину вектора. Эта длина находится извлечением квадратного корня из суммы квадра- тов компонент вектора. В алгебраической форме это представляется процедурой:
Это превращает входной вектор в единичный вектор с тем же самым направлением, т. е. в вектор единичной длины в n-мерном пространстве. Уравнение (4.1) обобщает хорошо извест- ную теорему Пифагора. На рис. 4.8 представлен двумерный вектор
1 2 3 4 5 6 7 8
V в координатах х-у, при- чем координата х равна четырем, а координата y – трем. Квадратный корень из суммы квадра- тов этих компонент равен пяти.
Деление каждой компоненты V на пять дает вектор V с компонентами 4/5 и 3/5, где V’ указывает в том же направлении, что и V, но имеет единичную длину.
На рис. 4.9 показано несколько единичных векторов. Они оканчиваются в точках еди- ничной окружности (окружности единичного радиуса), что имеет место, когда у сети лишь два
ij
i
i
К v
NET
1
j
=
=
2
n
2 2
2 1
i i
'
x
x
x
x
x
+
+
+
=
4.1
Системный анализ и принятие решений Макаров Л.М.
76 входа. В случае трех входов векторы представлялись бы стрелками, оканчивающимися на по- верхности единичной сферы. Эти представления могут быть перенесены на сети, имеющие произвольное число входов, где каждый входной вектор являетсярадиусом, оканчивающейся на поверхности единичной гиперсферы.
Рис. 4.8 Единичный входной вектор
При обучении слоя Кохонена на вход подается входной вектор и вычисляются его ска- лярные произведения с векторами весов, связанными со всеми нейронами Кохонена. Нейрон с максимальным значением скалярного произведения объявляется «победителем» и его веса под- страиваются. Так как скалярное произведение, является мерой сходства между входным векто- ром и вектором весов, то процесс обучения состоит в выборе нейрона Кохонена с весовым век- тором, наиболее близким к входному вектору, и дальнейшем приближении весового вектора к входному.
Рис. 4.9. Двумерные единичные векторы на единичной окружности
Этот процесс является самообучением, выполняемым без учителя. Сеть самоорганизует- ся таким образом, что данный нейрон Кохонена имеет максимальный выход для данного вход- ного вектора. Уравнение, описывающее процесс обучения имеет следующий вид:
)
(
W
W
c н
c
W
x −
+
=
4.2
Системный анализ и принятие решений Макаров Л.М.
77 где w
н
– новое значение веса, соединяющего входную компоненту х с выигравшим нейроном;
w
с
– предыдущее значение этого веса; – коэффициент скорости обучения, который может ва- рьироваться в процессе обучения.
Каждый вес, связанный с выигравшим нейроном Кохонена, изменяется пропорциональ- но разности между его величиной и величиной входа, к которому он присоединен. Направление изменения минимизирует разность между весом и его входом. Иллюстрация этой процедуры приведена на рис. 4.10
Сначала находится вектор X – W
с
, для этого проводится отрезок из конца W в конец X.
Затем этот вектор укорачивается умножением его на скалярную величину , меньшую едини- цы, в результате чего получается вектор изменения δ. Окончательно новый весовой вектор W
н является отрезком, направленным из начала координат в конец вектора δ. Отсюда можно ви- деть, что эффект обучения состоит во вращении весового вектора в направлении входного век- тора без существенного изменения его длины.
Переменная является коэффициентом скорости обучения, который вначале обычно равен 0,7 и может постепенно уменьшаться в процессе обучения. Это позволяет делать боль- шие начальные шаги для быстрого грубого обучения и меньшие шаги при подходе к оконча- тельной величине.
Рис. 4.3. Вращение весового вектора в процессе обучения
Wн – вектор новых весовых коэффициентов, Wс – вектор старых весовых коэффициентов
Если бы с каждым нейроном Кохонена ассоциировался один входной вектор, то слой
Кохонена мог бы быть обучен с помощью одного вычисления на вес. Веса нейрона-победителя приравнивались бы к компонентам обучающего вектора ( = 1). Как правило, обучающее мно- жество включает много сходных между собой входных векторов, и сеть должна быть обучена
Системный анализ и принятие решений Макаров Л.М.
78 активировать один и тот же нейрон Кохонена для каждого из них. В этом случае веса этого нейрона должны получаться усреднением входных векторов, которые должны его активиро- вать. Постепенное уменьшение величины уменьшает воздействие каждого обучающего шага, так что окончательное значение будет средней величиной от входных векторов, на которых происходит обучение. Таким образом, веса, ассоциированные с нейроном, примут значение вблизи «центра» входных векторов, для которых данный нейрон является «победителем».
Рассмотрим выбор начальных значений весовых векторов. Всем весам сети перед нача- лом обучения следует придать начальные значения. Общепринятой практикой при работе с нейронными сетями является присваивание весам небольших случайных значений. При обуче- нии слоя Кохонена случайно выбранные весовые векторы следует нормализовать. Окончатель- ные значения весовых векторов после обучения совпадают с нормализованными входными векторами. Поэтому нормализация перед началом обучения приближает весовые векторы к их окончательным значениям, сокращая, таким образом, обучающий процесс.
Рандомизация весов слоя Кохонена может породить серьезные проблемы при обучении, так как в результате ее весовые векторы распределяются равномерно по поверхности гиперсфе- ры. Из-за того, что входные векторы, как правило, распределены неравномерно и имеют тен- денцию группироваться на относительно малой части поверхности гиперсферы, большинство весовых векторов будут так удалены от любого входного вектора, что они никогда не будут да- вать наилучшего соответствия. Эти нейроны Кохонена будут всегда иметь нулевой выход и окажутся бесполезными. Более того, оставшихся весов, дающих наилучшие соответствия, мо- жет оказаться слишком мало, чтобы разделить входные векторы на классы, которые располо- жены близко друг к другу на поверхности гиперсферы.
Допустим, что имеется несколько множеств входных векторов, все множества сходные, но должны быть разделены на различные классы. Сеть должна быть обучена активировать от- дельный нейрон Кохонена для каждого класса. Если начальная плотность весовых векторов в окрестности обучающих векторов слишком мала, то может оказаться невозможным разделить сходные классы из-за того, что не будет достаточного количества весовых векторов в интере- сующей нас окрестности, чтобы приписать по одному из них каждому классу входных векто- ров.
Наоборот, если несколько входных векторов получены незначительными изменениями из одного и того же образца и должны быть объединены в один класс, то они должны включать один и тот же нейрон Кохонена. Если же плотность весовых векторов очень высока вблизи группы слегка различных входных векторов, то каждый входной вектор может активировать отдельный нейрон Кохонена.
Наиболее желательное решение состоит в том, чтобы распределять весовые векторы в
Системный анализ и принятие решений Макаров Л.М.
79 соответствии с плотностью входных векторов, которые должны быть разделены, помещая тем самым больше весовых векторов в окрестности большого числа входных векторов. На практике это осуществить трудно, однако существует несколько методов приближенного достижения тех же целей. Одно из решений, известное под названием метода выпуклой комбинации (convex combination method), состоит в том, что все веса приравниваются одной и той же величине: где n – число входов и, следовательно, число компонент каждого весового вектора. Благодаря этому все весовые векторы совпадают и имеют единичную длину. Каждой же компоненте вхо- да Х придается значение: где n – число входов. В начале очень мало, вследствие чего все входные векторы имеют дли- ну, близкую к n
1
, и почти совпадают с векторами весов. В процессе обучения сети посте- пенно возрастает, приближаясь к единице. Это позволяет разделять входные векторы и оконча- тельно приписывает им их истинные значения. Весовые векторы отслеживают один или не- большую группу входных векторов и в конце обучения дают требуемую картину выходов. Ме- тод выпуклой комбинации хорошо работает, но замедляет процесс обучения, так как весовые векторы подстраиваются к изменяющейся цели. Другой подход состоит в добавлении шума к входным векторам. Тем самым они подвергаются случайным изменениям, «поглощая» в конце концов весовой вектор. Этот метод также работоспособен, но еще более медленен, чем метод выпуклой комбинации.
Третий метод начинает со случайных весов, но на начальной стадии обучающего про- цесса подстраивает все веса, а не только связанные с выигравшим нейроном Кохонена. Тем са- мым весовые векторы перемещаются ближе к области входных векторов. В процессе обучения коррекция весов начинает производиться лишь для ближайших к победителю нейронов Кохо- нена. Этот радиус коррекции постепенно уменьшается, так что в конце концов корректируются только веса, связанные с выигравшим нейроном Кохонена.
Еще один метод наделяет каждый нейрон Кохонена «Чувством справедливости». Если он становится победителем чаще своей законной доли времени (примерно 1/k, где k – число
n
w
i
1
=
4.2
n
x
i
−
+
=
1
x i
4.2
Системный анализ и принятие решений Макаров Л.М.
80 нейронов Кохонена), он временно увеличивает свой порог, что уменьшает его шансы на выиг- рыш, давая тем самым возможность обучаться и другим нейронам. Во многих приложениях точность результата существенно зависит от распределения весов.
Для сокращения времени расчетов допустимо использовать процедуру интерполяции.
Рассмотрим некоторые аспекты реализации этой процедуры.
Первоначально обсуждался алгоритм обучения, в котором для каждого входного вектора активировался лишь один нейрон Кохонена. Это называется методом аккредитации. Его точ- ность ограничена, так как выход полностью является функцией лишь одного нейрона Кохоне- на.
В методе интерполяции целая группа нейронов Кохонена, имеющих наибольшие выхо- ды, может передавать свои выходные сигналы в слой Гроссберга. Метод интерполяции спосо- бен устанавливать более сложные соответствия и может давать более точные результаты.
Статистические свойства обученной сети
Метод обучения Кохонена обладает полезной и интересной способностью извлекать статисти- ческие свойства из множества входных данных. Для полностью обученной сети вероятность того, что случайно выбранный входной вектор будет ближайшим к любому заданному весово- му вектору, равна 1/k, где k – число нейронов Кохонена. Это является оптимальным распреде- лением весов на гиперсфере.
Процедура выявления подобия текстового материала и формирование близких по семан- тическим признакам групп текстовых документов позволяет создавать кластеры. Понятие кла- стерного пространства можно создать посредством обращения к множеству сфер деятельности человека, где осуществляется творческая деятельность. Рассматривая творчество как процесс создания информационных материалов можно говорить о представлении знаний – позициони- ровании знаний. Процесс представление знаний порождает вопрос, возникающий в когнитоло- гии (науке о мышлении), в информатике и в исследованиях искусственного интеллекта. В ко- гнитологии он связан с тем, как люди хранят и обрабатывают информацию. В информатике — с подбором представления конкретных и обобщённых знаний, сведений и фактов для накопле- ния и обработки информации в ЭВМ. Главная задача в искусственном интеллекте (ИИ) — научиться хранить знания таким образом, чтобы программы могли осмысленно обрабатывать их и достигнуть тем подобия человеческого интеллекта.
Под термином «представление знаний» чаще всего подразумеваются способы представ- ления знаний, ориентированные на автоматическую обработку современными компьютерами, и, в частности, представления, состоящие из явных объектов и из суждений или утверждений о них.
Выделяя информационные концепции формирования и представления знаний, вводят
Системный анализ и принятие решений Макаров Л.М.
81 понятие онтологии, как науки о формальном позиционировании некоторой области знаний, безусловно, связанной с другими областями деятельности человека. Неразрывная связь практи- ческой и творческой деятельности человека позволяет создавать определенные схемы взаимной связи этих областей, которые относят к онтологии. Обычно такая схема состоит из структуры данных, содержащей все релевантные классы объектов, их связи и правила, принятые в этой области. Принимая во внимание основные концептуальные положения, такие как структура и свойства среды, а также время формирования и развития событий в среде, в рамках информа- ционной онтологии рассматриваются проблемы представления знаний посредством специаль- ных инструментальных средств – компьютеров.
Задача наилучшего позиционирования онтологий состоит в нахождении такого расслое- ния пространства на области, при котором минимизируется среднеквадратичная ошибка, воз- никающая при замене векторов выборки на позиционные вектора этих областей. В обобщенном виде этот алгоритм реализуется последовательностью процедур:
1. вектора обучающей выборки нормируются, после чего их концы попадают на поверх- ность единичной гиперсферы;
2. в местах скопления векторов по некоторому правилу выбираются несколько позицион- ных векторов;
3. для каждого вектора эталонной выборки находится ближайший позиционный вектор;
4. найденный позиционный вектор сдвигается в направлении вектора эталонной выборке на некоторое, небольшое расстояние.
5. процедуры 3-4 повторяются до тех пор, пока среднеквадратичная ошибка сети не пере- станет изменяться.
Поскольку и позиционные вектора, и вектора обучающей выборки нормированы, то в п.3 в качестве меры близости можно использовать скалярное произведение векторов, что существен- но быстрее, чем подсчет квадрата разности векторов.
Приведенный вариант алгоритма является, в каком-то смысле, базовым, существуют раз- личные его улучшения, позволяющие достичь более быстрого обучения. Один из них называет- ся «Метод k-средних» и используется на конечных выборках. В этом случае, шаги 3-5 выпол- няются следующим образом:
1. вектора обучающей выборки нормируются, после чего их концы попадают на поверх- ность единичной гиперсферы;
2. в местах скопления векторов по некоторому правилу выбираются несколько позицион- ных векторов;
3. для каждого позиционного вектора находятся ближайшие вектора выборки;