Главная страница

Интеллектуальный анализ данных


Скачать 7.76 Mb.
НазваниеИнтеллектуальный анализ данных
Дата11.10.2022
Размер7.76 Mb.
Формат файлаpdf
Имя файлаiad_iadl.pdf
ТипУчебное пособие
#726651
страница21 из 23
1   ...   15   16   17   18   19   20   21   22   23
ВЫВОДЫ
ИНС являются важным расширением понятия вычисления. Они обещают создание автоматов, выполняющих функции, бывшие ранее исключительной пре- рогативой человека. Машины могут выполнять скучные, монотонные и опасные задания, и с развитием технологии возникнут совершенно новые приложения.
Теория ИНС развивается стремительно, но в настоящее время она недос- таточна, чтобы быть опорой для наиболее оптимистических проектов. В ретро- спективе видно, что теория развивалась быстрее, чем предсказывали пессими- сты, но медленнее, чем надеялись оптимисты, – типичная ситуация. Сегодняшний взрыв интереса привлек к нейронным сетям тысячи исследователей. Резонно ожидать быстрого роста нашего понимания ИНС, ведущего к более совершенным сетевым парадигмам и множеству прикладных возможностей.

157
ЛЕКЦИЯ 19
ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ
С ОБРАТНЫМ РАСПРОСТРАНЕНИЕМ ОШИБКИ
1. Краткие теоретические сведения
Пусть структура ИНС имеет вид, представленный на рис. 1.
Здесь (x
1
, x
2
,…,x p
)
T
– входные сигналы, w
1
=(w
11 1
, w
22 1
,…, w p1 1
)
T
, w
2
=(w
11 2
, w
22 2
,…, w pk
2
)
T
– весовые ко- эффициенты, соответственно, 1-го и
2-го уровней.
Каждый уровень ИНС имеет разное количество нейронов: A – p нейронов, S – l и R - k. Соотношение
(p, l, k) первоначально неизвестно.
Начальные данные для обучение ИНС даны в табл. 1.
Пусть N – кол-во точек входа и выхода, полученных в результате эксперимента или моделированием. X =(X
1
, X
2
,
…, X
p
)– вектор входа, D=( d
1
, d
2, …,
d k
) - реальные или расчетные выходы.
Целевая функция, подлежащая минимизации:
 

 
 






















N
1
i l
1
j k
1
j
2 2
ij
2
ij
1
ij
1
ij
2
N
1
i l
1
j
N
1
i k
1
j
2
ij
2
ij
1
ij
1
ij
))
d y
(
)
d y
(
(
2 1
)
d y
(
)
d y
(
2 1
)
(
E
Поскольку значения выхода пер- вого уровня
1
ij
d
неизвестны, ограничим- ся выходом уровня R:
 






N
1
i k
1
j
2 2
ij
2
ij min
)
d y
(
2 1
)
(
E
Используем метод градиентного спуска, что означает настройку весо- вых коэффициентов следующим обра- зом:
,
2
,
1
n
,
E
ij
)
n
(
ij









где
)
(n
ij

- вес связи i-го нейрона (n-1)-го уровня с j-м нейроном n-го уровня,
1<0< - коэффициент скорости обучения. Известно, что
,
S
S
y y
E
E
ij j
j j
j ij













где у j
– выход нейрона, S
j
– взвешенная сумма его входных сигналов (ар- гумент активационной функции).
Третий множитель ij j
)
1
n
(
i
S
y





- выход нейрона предыдущего уровня.
Первый множитель разложим следующим образом:
X
1 x
1 1 x
1 2 x
1 3
… x
1
N
X
2 x
2 1 x
2 2 x
2 3

X
2
N






X
p x
p
1 x
p
2 x
p
3
… x
p
N d
1 d
1 1 d
1 2 d
1 3
… d
1
N d
2
d
2 1 d
2 2 d
2 3
… d
2
N





… d
k d
k
1 d
k
2 d
k
3
… d
k
N
Рис. 1. Структура двухслойного перцептрона
w
pl
1
w
21
1
w
11
1
d
k
d
2
d
1

X
1
X
2
X
p
w
1k
2
w
21
2
w
11
2


158

















k k
k k
i k
k k
k k
i dS
dy y
E
y
S
S
y y
E
y
E
Последняя сумма ищется среди нейронов (n-1)-го уровня. Введем новую замену:
,
S
y y
E
j j
j
)
n
(
j







получим рекурсивную формулу:
,
S
y
]
[
j j
k
)
1
n
(
jk
)
1
n
(
k
)
n
(
j











что дает возможность, зная
)
1
( 
n
j

, вычислить
)
(n
j

. Для выходного уровня
,
dS
dy
)
d
y
(
e
e
e
)
n
(
e
)
n
(
e




Тогда настройка весовых коэффи- циентов будет иметь вид
.
2
,
1
n
,
y
)
1
n
(
i
)
n
(
j
)
n
(
ij









(С)
Для придания процессу коррекции весов некоторой инерциальности, чтобы сгладить резкие скачки при перемеще- нии по поверхности целевой функции, последнее выражение дополняется значе- ниями измененных весов на предыдущей итерации
,
2
,
1
n
),
y
)
1
(
)
1
t
(
(
)
t
(
)
1
n
(
i
)
n
(
j
)
n
(
j
)
n
(
ij



















(D) где  -коэффициент инерцион- ности, t – номер текущей итерации.
2. Алгоритм обучения сети
Рассмотрим пример для p=3, l=3, k=2.
1. Подаем на вход сети первый образ (вар. 1 – (x
1
=1, x
2
=2, x
3
=3). По- лагаем начальные веса равными 0,5.
Рассчитываем взвешенную сумму сигналов, поступающих на ней- роны 1-го уровня:
3
,...,
1
j
,
x
S
1
i
3
o i
1
ij
)
1
(
j





где 3 – число нейронов в уровне А, учитывая, что нулевой нейрон с посто- янным выходным значением 1, что задает смещение
)
n
(
ij
)
1
n
(
j
x
y


- I-ый вход j-го нейрона уровня n. Положим
,
x
y
1
1
0
1

,
x
y
1
2
0
2

.
x
y
1
3
0
3

В нашем случае
,
y
w
y
w
y
w
w
S
0
3
1
31
0
2
1
21
0
1
1
11
1
01
1
1




,
y
w
y
w
y
w
w
S
0
3
1
32
0
2
1
22
0
1
1
12
1
02
1
2




Типичные функции активации сигмоид




i
i
x
e
y

1 1
или гиперболический тангенс
,
)
(
1
'
,
2
x
ch
x
th
e
e
e
e
x
th
y
x
x
x
x







где ch(x) – гиперболический косинус,
th x – гиперболический тангенс, (th x)

=1- (th x)
2
.
Для случая сигмоида
.
S
)
S
1
(
)
d
y
(
e
e
e
)
n
(
e
)
n
(
e






(А) для гиперболического тангенса
),
S
1
(
)
d
y
(
2
e
e
)
n
(
e
)
n
(
e





(B)
Рис. 2. Пример двухслойного перцептрона
w
33
1
w
21
1
w
11
1
d
2
d
1
X
1
X
2
X
3
w
32
2
w
11
2

159 y
w y
w y
w w
S
0 3
1 33 0
2 1
23 0
1 1
13 1
03 1
3




2. Вычислим (например, для сигмоида) выход первого уровня:
,
e
1 1
y
1
S
1 1



,
e
1 1
y
2
S
1 2



e
1 1
y
3
S
1 3



3. Далее повторим процедуру для второго уравнения. При этом уравнения будут те же , но верхний индекс «1» нужно заменить на «2». Найдем
2
,
1
i
,
y
2
i

4. Истинные значения выхода сети d
1
(1)
и d
2
(1) находятся из заданного ва- риантом выражения, которое сеть должна имитировать. Например, для первого варианта, d
1
(1)
= x
1 2
-x
2 2
+x
3 2
;
d
2
(1)
=1, если
d
1
(1)
- d
1
(1)
расчет больше заданного порога и d
2
(1)
=0 в про- тивоположном случае.
5. Если ошибка сети превышает заданный порог , т.е. то начинается про- цесс коррекции. Иначе – конец вычислений.
6. Вычислим корректирующие коэффициенты
(n) для сигмоидальной функции активации
).
S
1
(
)
d y
(
2 1
1
)
2
(
1
)
2
(
1





).
S
1
(
)
d y
(
2 2
2
)
2
(
2
)
2
(
2





7. Рассчитаем с помощью (C) или (D) измененные веса. В нашем случае, используя (C), имеем
,
y
)
1
(
1
)
2
(
1 2
11







,
y
)
1
(
1
)
2
(
2 2
12







,
y
)
1
(
2
)
2
(
1 2
21







,
y
)
1
(
2
)
2
(
2 2
22







,
y
)
1
(
31
)
2
(
1 2
31







y
)
1
(
3
)
2
(
2 2
32







8. Скорректировать все веса нейронной сети
).
t
(
w
)
1
t
(
w
)
f
(
w
)
n
(
ij
)
n
(
ij
)
n
(
ij




9. Входной образ изменяется на (+/-) 1 и переходим к новой итерации к п.1.
3. Структурная схема программы обучения ИНС с обратным распро-
странением ошибки
Структурная схема программы обучения ИНС с обратным распространени- ем ошибки представлена на рис. 3.
Контрольные вопросы
1. В чем состоит смысл алгоритма с обратным распространением ошибки?
2. Под каким оптимизационным методом функционирует алгоритм?
3. Какое значение имеет для алгоритма функция ошибки?
4. Для решения каких задач используется данный алгоритм?
5. Как перевести сочетание back propagation?
6. Назовите особенности процесса обучения НС с учителем,
7. Какие бывают методы обучения НС?
8. К какому классу обучения относится метод обратного распространения ошибки?
9. Почему порядок поступления приложений в начальной выборке может влиять на качество обучения?

160 10. Какими свойствами должна обладать функция активации при использо- вании в алгоритме обратного распространения ошибки?
Цикл по выходнму слою
j=1:N3
B2(i)=B2(i)-Alfa*E(i);
ВВОД ДАННЫХ
Цикл по выходнму слою
j=1:N3
Цикл по скрытому слою
j=1:N2
Цикл по числу эпох
n=1:Epoh
Цикл по обуч. последова-
тельности
k=1:N4
Цикл по входнму слою
j=1:N1
b(j)=A(k,j)*W1(i,j);
Bs(i)=sum(b)-B1(i);
B(k,i)=1/(1+exp(-Bs(i)));
E(i)=C(k,i)*(1-C(k,i))*(D(k,i)-C(k,i));
Цикл по скрытому слою
j=1:N2
Цикл по выходнму слою
j=1:N3
s(j,i)=E(i)*W2(i,j);
Ss=sum(s,2);
S(j)=B(k,j)*(1-,j))*Ss(j);
Цикл по выходнму слою
j=1:N3
Цикл по скрытому слою
j=1:N2
W2(i,j)=W2(i,j)+Alfa*B(k,j)*E(i)
;
Цикл по скрытому слою
j=1:N2
Цикл по входнму слою
j=1:N1
W1(i,j)=W1(i,j)+Alfa*A(k,j)*S(i
);
Цикл по скрытому слою
j=1:N2
B1(i)=B1(i)-Alfa*S(i);
O
ut put п
ро м
ежут оч н
ог о
с л
оя
К
орре к
ти ров к
а в
ес ов
О
п ре д
ел ен и
е п
оп ра в
ок в
ес ов
O
ut put п
ро м
ежут оч н
ог о
с л
оя
К
орр ек ц
и я см ещ ен и
й
Цикл по выходнму слою
j=1:N3
Цикл по скрытому слою
j=1:N2 c(j)=B(k,j)*W2(i,j);
Cs(i)=sum(c,2)-B2(i);
C(k,i)=1/(1+exp(-Cs(i)));

161
ЛЕКЦИЯ 20
САМООРГАНИЗУЮЩИЕСЯ КАРТЫ КОХОНЕНА
1. Краткие теоретические сведения
Самоорганизующаяся карта Кохонена (Self-organizing map — SOM) —
нейронная сеть с обучением без учителя, выполняющая задачу визуализации и кластеризации. Идея сети предложена финским учёным Т. Кохоненом. Являет- ся методом проецирования многомерного пространства в пространство с более низкой размерностью (чаще всего, двумерное), применяется также для решения задач моделирования, прогнозирования и др.
SOM Кохонена используются для решения таких задач, как моделирова- ние, прогнозирование, выявление наборов независимых признаков, сжатие ин- формации, а также для поиска закономерностей в больших массивах данных.
Наиболее часто описываемый алгоритм применяется для кластеризации данных.
SOM состоит из компонентов, называемых узлами или нейронами. Их ко- личество задаётся аналитиком, исходя из особенностей решаемой задачи.
Каждый из узлов описывается двумя векторами. Первый — т. н. вектор
веса m, имеющий такую же размерность, что и входные данные. Второй — век- тор r, представляющий собой координаты узла на карте.
Карта Кохонена визуально отображается с помощью ячеек прямоугольной или шестиугольной формы; последняя применяется чаще, поскольку в этом слу- чае расстояния между центрами смежных ячеек одинаковы, что повышает кор- ректность визуализации карты.
Изначально известна размерность входных данных, по ней некоторым об- разом строится первоначальный вариант карты. В процессе обучения векторы веса узлов приближаются к входным данным. Для каждого наблюдения (семпла) выбирается наиболее похожий по вектору веса узел, и значение его вектора веса приближается к наблюдению. Также к наблюдению приближаются векторы веса нескольких узлов, расположенных рядом. Таким образом, если в множестве входных данных два наблюдения были схожи, на карте им будут соответствовать близкие узлы. Циклический процесс обучения, перебирающий входные данные, заканчивается при достижении картой допустимой (заранее заданной) погрешно- сти, или по совершении заданного количества итераций.
Таким образом, в результате обучения карта Кохонена классифицирует входные данные на кластеры и визуально отображает многомерные входные данные в двумерной плоскости, распределяя векторы близких признаков в со- седние ячейки и раскрашивая их в зависимости от анализируемых параметров нейронов.
В результате работы алгоритма получаются следующие карты:
карта входов нейронов — визуализирует внутреннюю структуру входных данных путём подстройки весов нейронов карты. Обычно используется несколь- ко карт входов, каждая из которых отображает один из них и раскрашивается в зависимости от веса нейрона. На одной из карт определенным цветом обозна- чают область, в которую включаются приблизительно одинаковые входы для анализируемых примеров;

162
карта выходов нейронов — визуализирует модель взаимного расположе- ния входных примеров. Очерченные области на карте представляют собой кла- стеры, состоящие из нейронов со схожими значениями выходов;
специальные карты — это карта кластеров, полученных в результате применения алгоритма самоорганизующейся карты Кохонена, а также другие карты, которые их характеризуют.
Таким образом, алгоритм Кохонена да- ет возможность строить
искусственную
ней-
ронную сеть (ИНС) по- зволяющую разделять вектора входных сигна- лов на подгруппы.
ИНС формирует- ся из M нейронов, об- разующих на плоскости прямоугольную решет- ку
(рис.1).
Входные сигналы подаются на всю ИНС. В процессе функционирования настраиваются синаптические веса нейронов.
Входные сигналы, образованные векторами вещественных чисел, после- довательно поступают на вход сети. Желательные входы не назначаются. После того, когда на вход поступило достаточно количество векторов, синаптические веса определяют кластеры.
Кроме того, веса организуются так, что типологически близкие узлы чувст- вительны для схожих входных сигна- лов.
Для организации алгоритма необходимо назначить меру близости нейронов. На рис. 2 показаны зоны топологической близости нейронов на карте в разные моменты времени.
NE
j
(t) – множество нейронов, которые предполагаются близкими к нейрону
1   ...   15   16   17   18   19   20   21   22   23


написать администратору сайта