Особенности линии Кохонена
Автор: Иманбаев .С., Махсут Г.Н.
Журнал: Вестник Алматинского технологического университета @vestnik-atu
Рубрика: Техника и технологии
Статья в выпуске: 2 (111), 2016 года.
Бесплатный доступ
В статье предложен рекуррентный алгоритм обучения составной кластеризирующей сети Кохонена, являющейся обобщением WTA и WTM принципов обучения, а также объединяющий в себе возможностный и вероятностный подходы к кластеризации. С использованием математической модели обучения сети Кохонена, и с помощью программы МатЛаб построена и была обучена Карта Кохонена.
Нейрондық желілер, кохонен желісі, математикалық модель, жеңімпаз-нейрон, кластерлеу
Короткий адрес: https://sciup.org/140205077
IDR: 140205077
Текст статьи Особенности линии Кохонена
Кіріспе
Нейрон желілері – адам миының нейрон желілерін құру идеясына негізделген -математикалық модель. Нақты емес логика, адамның талқылауына үйреншікті «жоғары жылдамдық», «өте жоғары жылдамдық» сияқты нақты емес түсініктерді пайдаланады. Эволюциялық модельдеу кездей соқ өз-герістер мен биологиялық эволюцияны еске салатын, пайдалы қасиеттерді бекіту механизмдерін пайдаланады. Тиімділеу әдісі орталықтанбаған өздігінен ұйымдастырушы жүйенің ұжымдық жүрісін сипаттайды. Осындай қысқаша сипаттамалар, есептеу интеллектсшщ кептеген идеялары табитатт-ан алынғанын көрсетеді. Сондықтан «есептеу интеллекті» ғылыми бағыты белгілі бір дэрежеде "Natural Computing" - «Табити ес-ептеу» ғылыми бағытымен қиылысады, ол шешiм кабыддаудын табиFи механизмдершщ принциптерінен тұратын математикалық модельдеpдi бipiктipедi [1].
Кохонен желiлеpi (Kohonen T.) нейрон желiлеpне жатады [2]. 0здiгiнен уйымдас-тыру қасиеті бар желі белгілі бір ортақ цаcиеттеpi бар кipic векторларынын кластер-леpiн (топтарын) аныцтаута мYмкiндiк беpедi. Реттелмеген нейрондары бар (әдетте Кохонен цабаттары деп аталады) желшер жэне рет-телген нейрондары бар (Кохонен карталары деп аталады) желілер қолданылады. Кохонен карталары, каpтадаFы жацын орналасцан де- ректер кластеріне, оларға жақын орналасқан нейрондар сәйкес келетіндей, құрылымды кеpcетедi [3, 4].
Зерттеу нысандары мен әдістері
Зерттеу нысандары ретінде кохонен желілері және кохонен картасы қолданылды. Бул мацалада келеci зерттеу эдicтеpi цол-данылFан: кохонен желiлеpiн оцыту Yшiн бэ-секелік механизмі, кохонен картасын құру
Yшiн математикалыц модельдер.
Нәтижелері және оларды талдау
Желi кipici x векторын цолданса, салмац векторы кipic векторынан аз Fана дэрежеде еpекшеленетiн нейрон женедi. Жещмпаз-нейрон Yшiн келеci цатынас орындалады (1):
d ( x , w, ) = min d ( x , w, )
V j / 1 < i < n v i 7
,
мундаFы: n - нейрондар саны, j - жещмпаз-нейрон немipi, d (X, W) - X жэне
W векторлары аpаcындаFы цашыцтыц (тандалFан елшемде).
Көп жағдайда қашықтық өлшемі pетiнде евклидов елшемi алынады (2):
m d (x,w. M Iх - wJI=< Z( xj- j vj =1 (2)
Бұдан басқа қашықтық өлшемдері де цолданылады.
Белсендірудің бәсекелік функциясы сумматор шамаларын талдайды жэне нейрон-дар шыгысын цурайды. Онда «жещмпаз- нейронның» шығысында ғана максимал шама болады, ал қалған барлық нейрондар үшін шыFыc 0-ге тен болады. Осылайша, шыгыс векторынын, бip Fана элемент болады, ол 1-ге тен жэне женiмпаз-нейpонFа сэйкес келедi. Белсенді нейрон нөмірі, кіріс векторы ең жақын орналасцан топты (клаcтеpдi) аныцтайды.
Кохонен желісінде кіріс шамаларын нормалау керек. Ол үшін келесі формулалардын бipiн пайдалану керек (3):
x
Хн-= -р=
JZ x2 x"‘ =
, xi xi ,
мунда Хнj - кipic векторынын норма- ланFан цураушысы.
Кipic деpектеpiн нормалау, желiнi оцыту жылдамдыFына тиiмдi эсер етедi.
Оцыту Ypдiciнiн алдында желi ини-циализацияланады, яғни салмақ векторының бастапцы шамалары беpiледi. ^арапайым жаF-дайда салмацтарынын кездейсоц шамасы беpi-ледi. Кохонен желiciн оцыту Ypдici бipнеше ца-дамнын циклдiк цайталануынан турады:
-
1. Кірісіне бастапқы берілгенді беру. Әдетте бұл кіріс векторларының бірін таңдау.
-
2. Эpбip нейронньщ шыFыcын табу.
-
3. «Жеңген» нейронды немесе жеңімпаз нейронды анықтау (салмағы кіріс векторының цураушысынан аз Fана еpекшеленетiн нейрон).
-
4. Кохонен ережесі бойынша «жеңген» нейроннын cалмаFын реттеу (4)
W ( k + 1 ) = W ( k ) +n ( k )
( к )
x - wy
-
5. Егер оқыту аяқталса, 1 қадамға ауысу. Neural Network Toolbox MATLAB баF-дарламасында оқыту циклінің саны беріледі. Және қателік функционалының аз шамасына жетуiн тексеруге болады (5):
мунда: X - кipic векторы, к
J, (4)
- оцыту
(k)
циклiнiн немipi, Пг - к -шi оцыту циклiндегi I -шi нейроннын оцыту жылдамдыFынын коэффициент.
Q
E =pZ h i - w x .
Q = 1
мунда: wx - кipic векторы xz. беpiлгендегi жещмпаз-нейроннын салмац векторы, Q - оцыту тандамасынын елшемi.
Салмақ векторы кіріс векторына жақын болған нейрон, кіріс векторына жақынырақ болу үшін жаңарып отырады. Нәтижесінде бұл нейрон, кірісіне жақын векторды берген-де, жеңеді және кіріс векторына алыс век-торды бергенде, жеңіледі. Оқыту вектор-ларын бірнеше рет берген соң, вектор клас-терге тиісті болған кезде 1 шамасын беретін нейрон пайда болады, ал кластерге тиісті болмаса, 0 береді. Осылайша желі кіріс век-торларын жіктеуді үйренеді.
Кохонен желісін оқытуда «өлі» ней-рондар мәселесі туындайды. Кез келген бәсекелік қабаттың шектеулерінің бірі – кейбір нейрондардың үрдіске мүлдем қатыс-пауы. Бастапқы салмақтық векторлары бар, кіріс векторларынан алыс орналасқан ней-рондар оқытуға қанша қатысса да, бәсекеде ешқашан жеңбейді. Нәтижесінде мұндай нейрондарды оқытуда қолданбайды. Ондай нейрондар «өлі» нейрондар деп аталады, себебі олар ешқандай пайдалы функция ат-қармайды. Соған байланысты кіріс деректері аздаған нейрондармен ғана түсіндіріледі. Сондықтан барлық нейрондардың жеңуіне мүмкіндік беру керек. Ол үшін оқыту алго-ритмін «өлі» нейрондар оқытуға қатысатын-дай модификациялайды.
Мысалы, жеңімпаз-нейрон белсенді-лігін жоғалтатындай оқыту алгоритмін моди-фикациялайды [5]. Нейрондардың белсен-ділігін ескерудің бір әдісі – оқыту үрдісіндегі
әрбір нейронның p потенциалын есептеу.
Бастапқыда нейрондарға 1 потенциалы
p(0) n меншіктеледі, мұндағы n
—
нейрондар
саны (кластерлер). Оқытудың k -ші циклінде потенциал келесі ережемен анықталады (6):
a ( k ) =<
-P‘ ( k - 1 ) + и, i * j , (6)
_P,(k — 1)- Pmin, i = j, мұнда: j - жеңімпаз-нейрон нөмірі.
Егер pt (k) потенциал шамасы pmjn деңгейінен төмен болса, нейрон қарастырыл- майды
–
«демалады». pm = 0 кезiнде нейрондар бэсекеге катысады. pmin = 1 кезінде нейрондар тізім бойынша жеңіп отырады, себебі оқытудың әрбір цикліне олардың бірі ғана бәсекеге дайын болады. Тэжiрибеде p^n ~ 0.75 кезiнде жаксы нәтижеге жетуге болады.
Neural Network Toolbox бағдарла-масында «өлі» нейрондармен күрес үшін нейрондардың ығысуын өзгерту қолданылады
-
[8]. Өлі нейрондардың сезімсіздігін ескеретін сәйкес ереже learncon функциясы түрінде орындалған. Реттеу үрдісінің басында бәсекеге түсетін қабаттың барлық нейрон-дарына бірдей белсенділік параметрі беріледі
1 , c 0 = N
мұнда N
кластер санына тең
бәсекеге түсетін нейрондар саны. Реттеу кезінде learncon функциясы, белсенді нейрондар үшін осы параметр жоғары, ал белсенді емес нейрондар үшін төмен шамада болатын реттейді. Белсенділік параметрінің векторына сәйкес келетін формула (7):
c ( k + 1 ) = ( i — r ) c ( k ) + r s ( k ) (7)
мұнда: r - реттеу жылдамдығының параметра k - окыту циклшщ HeMipi; s(k) - k -ші оқыту цикліндегі бейімделген сумматорлар шығысының векторы.
Ығысу векторының құраушысы келесі формуламен есептеледі (8):
b ( k +1) = e 0-1" c k + , ) ) — b ( k ) (8)
«Жеңімпаз-нейрон» үшін ығысу азаяды, ал қалған нейрондар үшін артады. Реттеу жылдамдығының параметрі r = 0,001. Бел- сенді емес нейрондар үшін ығысудың артуы кіріс шамалар диапазонын кеңейтеді, және белсенді емес нейрон кластер құра бастайды. Соңында ол жаңа кіріс векторларын тартады. Егер салмақ векторы желі кірісіне түсетін векторлардан ерекше болатын нейрондар жеңімпаз болмаса, онда оның ығысуы оқыту барысында үлкен шамаға жетеді және ол бәсекеге қабілетті болады. Сонымен қатар оның салмақ векторы кіріс векторларының шамасына жете бастайды. Нейрон жеңе бастағанда, оның ығысуы азая бастайды. Осылай «өлі» нейрондар мәселесі шешіледі. Ығысумен байланысты екінші артықшылық – олар кіріс векторының шамамен бірдей санын тартады. Егер кластерлердің бірі басқасы мен салыстыр-ғанда көп кіріс векторын тартса, оның тол-тырылған облысы нейрондардың қосымша санын тартып, өлшемі кіші кластер құрады.
Осыған байланысты Кохонен желісін MATLAB бағдарламасының көмегімен құра-мыз және оқытамыз. Ол үшін келесі түрдегі competlayer функциясы қолданылады: сompetlayer (numClasses, kohonenLR, conscience LR), мұнда num Classes – жіктелетін кластерлер саны (5-тен), kohonen LR – Кохонен салмағын оқыту жылдамдығы (үнсіздік кезінде 0,01), conscience LR – реттеу жылдамдығының параметрі (үнсіздік кезінде 0,001).
Төрт екі элементті вектордан массив береміз, оны екі классқа бөлу керек:
-
> > p=[0.1 0.8 0.1 0.9; 0.2 0.9 0.1 0.8]
0.2000 0.9000 0.1000 0.8000
p = 0.1000 0.8000 0.1000 0.9000
Мысал бойынша екі вектор (0,0) нүктесіне жақын және екі вектор – (1,1) нүктесіне жақын.
Екі элементті кіріс векторларын талдау үшін екі нейрондары бар Кохонен қабатын құрамыз:
-
> > net = competlayer (2);
Енді, өздігінен ұйымдастырушы ней-рондық желі құрылған соң оны 500 оқыту циклінде оқытамыз. Ол үшін train функциясы қолданылады:
-
> > net.trainParam.epochs = 500;
Оқытудың қандай функциясы net атаулы құрылған желіде қолданылатынын білу үшін келесі команданы орындау керек:
-
> > net.trainFcn
ans = trainru
Кохонен ережесі бойынша реттеу learnk функциясымен беріледі (үнсіздік кезінде беріледі). Тексеру үшін келесі команданы орындаймыз:
-
> > net.inputWeights{1,1}.learnFcn
ans = learnk
Ығысу белсенділігінің параметрін реттеу үшін learncon функциясы қолданы-лады. Бұл функцияны пайдалану үшін келесі сәйкес қасиеттерді орнату керек:
>>net.inputWeights{1}.learnFcn='learncon'
Желіні оқытумыз:
-
> > net1=train(net, p);
Оқытудан кейін желіні модельдейміз:
-
> > a = net1(p)
a = 1 0 1 0
0 1 0 1
Алынған нәтиже бойынша, бірінші кіріс векторы нөмірі 1 болатын кластерге жатады, екінші вектор – 2 кластерге жатады, ал үшінші вектор – 1 кластерге, төртінші вектор – 2 кластерге жатады. Нәтижені vec2ind функ-циясының көмегімен көрсеткен ыңғайлы, ол әрбір вектордағы бірлік элемент векторын шығарады:
-
> > ac=vec2ind(a)
ac = 1 2 1 2
Желі кіріс векторларын екі кластерге жіктеуді үйренді: координата басына жақын орналасқан векторлар бірінші кластерлерге жатады; ал (1, 1) нүктесіне жақын орналасқан векторлар – екінші кластерге жатады.
Желінің салмағы мен ығысуы келесіге тең:
-
> > wts1=net1.IW{1, 1}
wts1 = 0.1000 0.1500
0.8500 0.8500
-
> > biases1 = net1.b{1}
biases1 = 5.4367
5.4365
Салмақ пен ығысу шамалары көрсетіл-ген шамадан өзгеше болуы мүмкін, себебі кіріс векторлар кездейсоқ ретте оқыту үшін таңдалады. Бірінші нейронның салмақ векторы (ол салмақ матрицасының бірінші жолы) (0, 0) векторына жақын, ал екінші нейронның салмақ векторы (1, 1) жақын.
Келесі векторды беру арқылы желіні тексереміз:
-
> > p1=[0.2; 0.3]
0.3000
p1 = 0.2000
Желіні модельдеу арқылы келесі нәтижені аламыз:
-
> > ac1=vec2ind(net(p1))
-
a c1 = желі векторды бірінші кластерге дұрыс жіктеді.
Қорытынды
Нейрон желiлерiн қолданудың негiзгi артықшылығы әр түрлi бейресми мiндеттерді шешу мүмкiндiгi болып табылады. Тiптi бұл ретте әр түрлi жағдайларды модельдеуге, желі кірісіне әр түрлi деректердi енгізе отырып, желі арқылы берілген нәтижелерді бағалау.
Нейрон желілерін қолдану барысында белгіленген елеулі кемшіліктері: желі нәти-жесін алу процесін түсіну күрделілігі. Осы сұрақтың шешімі үшін алғашқы қадамы нейрон желілеріне негізделген жаңа технология дамыту болып табылады.
Тәжірибелік деректер кестесін пайдалана отырып, осы мәселені шешу үшін нақты алгоритмді алуға болады.
ӘДЕБИЕТТЕР ТІЗІМІ
-
1. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика.- М.: Мир, 1992.- 240 с.
-
2. Хайкин С. Нейронные сети: полный курс. -М.: Вильямс, 2006. - 1104 с.
-
3. Осовский С. Нейронные сети для
обработки информации. - М.: Финансы и статистика, 2002. - 244 с.
-
4. Кохонен Т. Самоорганизующиеся карты. -М.: БИНОМ. Лаборатория знаний, 2008. - 655 с.
-
5. Элементарное введение в технологию нейронных сетей с примерами программ
Список литературы Особенности линии Кохонена
- Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика.-М.: Мир, 1992.-240 с.
- Хайкин С. Нейронные сети: полный курс. -М.: Вильямс, 2006. -1104 с.
- Осовский С. Нейронные сети для обработки информации. -М.: Финансы и статистика, 2002. -244 с.
- Кохонен Т. Самоорганизующиеся карты. -М.: БИНОМ. Лаборатория знаний, 2008. -655 с.
- Элементарное введение в технологию нейронных сетей с примерами программ/Р. Тадеусевич, Б. Боровик, Т. Гончаж, Б. Леппер.-М: Горячая линия-Телеком, 2011. -С. 408.