You are on page 1of 13

Տվյալների կլաստերիզացիա.

Կոհոնենի ցանցեր

«Կոհոնենի ցանցեր» (Kohonen Clastering Network- KCN) տերմինը առաջադրվել է


1982թ․ֆինն գիտնական Տոյվո Կոհոնենի կողմից։ Չնայած ի սկզբանե Կոհոնենի ցանցերը
օգտագործվում էին պատկերների և ձայների մշակման համար, նրանք հանդիսանում են նաև
տվյալների կլաստերային վերլուծության արդյունավետ միջոց։
Նեյրոնային ցանցերի վրա հիմնված կլաստերավորման մեթոդները հանդիսանում են
դասական կլաստերավորման մեթոդների զարգացումներ: Օրինակ, Կոհոնենի ցանցի
օգտագործմամբ տվյալների կլաստերիզացիան հիմնված է K-միջինների մեթոդի վրա։
Միևնույն ժամանակ, նեյրոնային ցանցերը շատ ավելի ճկուն գործիք են, երբ կիրառվում են մեծ
ծավալի և մեծ չափողականություն ունեցող տվյալների վրա:
Կոհոնենի ցանցերի տարատեսակ են հանդիսանում Կոհոնենի քարտեզները (maps),
որոնց հիմնական նպատակը բարդ բազմաչափ տվյալների ձևափոխությունն է ավելի պարզ և
փոքր չափողականության կառուցվածքների։ Այդ ցանցերը և քարտեզնենը լավ
համապատասխանում են կլաստեր վերլուծության համար, երբ անհրաժեշտ է հայտնաբերել
թաքնված օրինաչափություններ տվյալների մեծ զանգվածներում։
Կոհոնենի ցանցերը կազմված են նեյրոնների երկու շերտերից՝ մուտքային շերտ և
Կոհոնենի շերտ (ֆունկցիոնալ կամ ելքային շերտ) (նկ. 1):

Նկ. 1. Կոհոնենի ցանցի կառուցվածքը

1
Ի տարբերություն այլ տիպի նեյրոնային ցանցերի, Կոհոնենի ցանցը չունի թաքնված
շերտեր: Մուտքային շերտից տվյալները անմիջականորեն փոխանցվում են ելքային շերտ, որի
նեյրոնները դասավորված են միաչափ կամ երկչափ կառուցվածքներում՝ կազմելով
ուղղանկյուններ կամ վեցանկյուններ:
Մուտքային նեյրոնները ձևավորում են ցանցի մուտքային շերտը, որը պարունակում է
մեկական նեյրոն յուրաքանչյուր մուտքային ազդանշանի համար։ Ինչպես սովորակոն
նեյրոնային ցանցերում, մուտքային նեյրոնները չեն մասնակցում ուսուցման պրոցեսում,
նրանց նպատակը նախնական ընտրանու մուտքային արժեքների փոխանցումն է հաջորդ
շերտի նեյրոններին։
Ցանցի մուտքային շերտին տրվում է 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) մուտքային վեկտորը:
Կոհոնենի շերտը բաղկացած է 𝑛 զուգահեռ գործող տարրերից՝ նեյրոններից։ Նրանցից
յուրաքնչյուրն ունի 𝑚 թվով մուտքեր և իր մուտքում ստանում է մուտքային ազդանշանի նույն
𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) վեկտորը:
Ցանցում մուտքային և ֆունկցիոնալ շերտերի նեյրոնների միջև յուրաքանչյուր կապ ունի
որոշակի կշիռ: Կապերի կշիռները սկզբնարժեքավորվում են կամայական (պատահական)
արժեքներով [0,1] միջակայքից։ Ուսուցման գործընթացը կայանում է կշիռների կարգավորման
մեջ։
Կոհոնենի շերտի 𝑗 −րդ նեյրոնի ելքում ձևավորվում է

𝑧𝑗 = 𝑤𝑗0 + ∑𝑚
𝑖=1 𝑤𝑗𝑖 𝑥𝑖 (1)

ազդանշանը, որտեղ 𝑤𝑗𝑖 - ն՝ 𝑗-րդ նեյրոնի 𝑖-րդ մուտքի կշռային գործակիցն է, 𝑖 -ն մուտքի
համարն է, 𝑗 - ն նեյրոնի համարն է, 𝑤𝑗0 -ն շեմային գործակիցն է:
Կոհոնենի ցանցի կառուցման հիմքում ընկած է մրցակցային ուսուցումը, երբ ելքային
հանգույցները (նեյրոնները) մտնում են մրցակցության մեջ հաղթող դառնալու իրավունքի
համար (նկ. 2)։

2
Նկ. 2. Կոհոնենի ցանցի օրինակ

Ուսուցման ընթացքում KCN ցանցը կատարում է երեք գործողություն


1. Մրցակցություն (Competition)։ Ելքային նեյրոնները մրցակցում են միմյանց հետ նրա
համար, որ իրենց կշռային վեկտորները լինեն հնարավորինս մոտ մուտքային տվյալի
(օբյեկտի) հատկությունների վեկտորին։ Ելքային նեյրոնը, որի կշռային վեկտորը ունի
ամենափոքր հեռավորությունը օբյեկտի հատկությունների (features) վեկտորից,
հայտարարվում է հաղթող։
2. Միավորում (Cooperation): Հաղթող նեյրոնը դառնում է հարևան նեյրոնների ինչ-որ խմբի
կենտրոն։ KCN-ում այդպիսի հարևանությամբ բոլոր նեյրոնները անվանում են կշիռների
կարգավորման իրավունքով օժտված։ Հետևաբար, չնայած նրան, որ ելքային շերտի
նեյրոնները չեն միավորվում անմիջականորեն, նրանք ունեն կշիռների ճշգրտված
հավաքածու հաղթող նեյրոնի հետ հարևանության շնորհիվ։
3. Կշիռների կարգավորում (Adaptation): Հաղթող նեյրոնների հետ միասին հարևան
նեյրոնները մասնակցում են կշիռների ձևափոխման գործընթացին, այսինքն՝ ուսուցման
գործընթացին։

3
Կոհոնենի ցանցի ուսուցում

WTA (Winner Takes All – Հաղթողը ստանում է ամեն ինչ) ալգորիթմ


Կոհոնենի ցանցի մուտքային շերտին տրվում է 𝑥 = (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) մուտքային վեկտորը և
Կոհոնենի շերտի յուրաքանչյուր 𝑗 − րդ նեյրոնի համար հաշվարկվում է նրա կշռային
վեկտորի հեռավորությունը մուտքային վեկտորից ՝ 𝑑(𝑥, 𝑤𝑗 ) : Հաղթող է ճանաչվում այն

նեյրոնը, որի հեռավորությունը մուտքային վեկտորից մինիմալն է: Այդ նեյրոնը ելքում ստանում
է 1, իսկ մնացած նեյրոնները՝ 0:
Հաղթող նեյրոնը իրավունք է ստանում փոխելու իր կշռային վեկտորը 𝑥 վեկտորի
ուղղությամբ հետևյալ կանոնով
նոր հին հին
𝑤յ∗ = 𝑤𝑗 ∗ + 𝛼(𝑥 − 𝑤𝑗 ∗ ),

որտեղ 𝑗 ∗ -ը՝ հաղթող նեյրոնի համարն է, 𝛼 − ն (0 < 𝛼 < 1)՝ ուսուցման արագության
գործակիցն է, որը կարող է փոքրանալ ուսուցման ընթացքում:
Մնացած նեյրոնների կշիռները չեն փոփոխվում:
WTA ալգորիթմով ցանցի ուսուցման արդյունքները կախված են 𝜶 գործակցի արժեքից:
Եթե 𝛼 = 1 , ապա կշռային վեկտորը հավասարվում է մուտքային վեկտորին հենց
առաջին իտերացիայից հետո: Նոր մուտքային վեկտորի դեպքում նեյրոնը հարմարեցվում է
այդ վեկտորին, իսկ նախորդ արժեքները “մոռացվում են” :
Եթե 𝛼 < 1, ապա ուսուցման արդյունքում նեյրոնի կշիռներն ընդունում են այդ նեյրոնն
ակտիվացնող մուտքային վեկտորների համապատասխան կոմպոնենտների միջինացված
արժեքները:

WTM (Winner Takes Most – Հաղթողը ստանում է ավելին) ալգորիթմ


Ի տարբերություն WTA ալգորիթմի, որի ժամանակ ամեն մի իտերացիայում
ուսուցանվում է միայն մեկ նեյրոն, WTM ալգորիթմում բացի հաղթող նեյրոնից իրենց կշիռները
կարգավորում են նաև նեյրոններ՝ հաղթող նեյրոնի մոտակա շրջակայքից: Ընդ որում որքան
հեռու է նեյրոնը հաղթող նեյրոնից, այնքան ավելի քիչ է փոխվում նրա կշռային վեկտորը:
Կշիռների փոփոխումը կատարվում է հետևյալ եղանակով.
նոր հին հին
𝑤𝑖 = 𝑤𝑖 + 𝛼𝑖 ∗ 𝐺(𝑖, 𝑥) ∗ (𝑥 − 𝑤𝑖 ),

4
որտեղ 𝛼𝑖 –ն 𝑖-րդ նեյրոնի ուսուցման գործակիցն է, 𝐺(𝑖, 𝑥) ֆունկցիայով որոշվում է WTM
ալգորիթմի տարբերակը:
Եթե
1, եթե 𝑖 = 𝑗 ∗
𝐺(𝑖, 𝑥) = {
0, եթե 𝑖 ≠ 𝑗 ∗

որտեղ 𝑗 ∗ -ն հաղթող նեյրոնն է 𝑥 մուտքային վեկտորի համար, ապա ստանում ենք WTA
ալգորիթմը:

Կոհոնենի ալգորիթմ

Կոհոնենի ալգորիթմը մրցակցության սկզբունքի վրա հիմնված ալգորիթմներից է:


Ներկայումս գոյություն ունեն նրա մի քանի տարբերակներ: Կոհոնենի դասական ալգորիթմում
ենթադրվում է, որ Կոհոնենի շերտի նեյրոններն ունեն որոշակի դասավորվածություն
հարթության վրա (ուղիղ գիծ, ուղղանկյուն ցանց, վեցանկյուն ցանց) և կապված են իրենց
հարևանների հետ որոշակի ձևով: Կոհոնենի ալգորիթմում կշիռները փոխում են և՛ հաղթող
նեյրոնը, և՛ նրա մոտակա հարևանները: Կոհոնենի դասական ալգորիթմում 𝐺(𝑥, 𝑖) ֆունկցիան
սահմանվում է հետևյալ կերպ

1, եթե 𝑑(𝑖, 𝑗 ∗ ) ≤ 𝜀
𝐺(𝑥, 𝑖) = {
0, եթե 𝑑(𝑖, 𝑗 ∗ ) > 𝜀

𝜀-ը կոչվում է հարևանության գործակից, որի արժեքը փոքրանում է ուսուցման ընթացքում՝


ձգտելով զրոյի: Հարևանության այս եղանակը կոչվում է ուղղանկյուն հարևանություն: Այս

դեպքում հաղթողնեյրոնի հետ մեկտեղ իրենց կշիռները փոխում են նրա 𝜀 −ջրջակայքում


գտնվող նեյրոնները:
Հարևանության մեկ այլ եղանակ, որն օգտագործվում է Կոհոնենի ինքնակազմակերպվող
քարտեզներում, գաուսյան հարևանությունն է:
Այս դեպքում հարևանության 𝜎(𝑡) շառավիղը նվազում է էքսպոնենցիալ կանոնով՝
𝑡
𝜎(𝑡) = 𝜎0 exp(− 𝜆), 𝑡 = 1,2,3, …

5
որտեղ 𝑡 ` ժամանակի պահն է (իտերացիայի համարը), 𝜎0 –ն Կոհոնենի ցանցի լայնությունն է
ժամանակի 𝑡0 պահին, 𝜆-ն՝ հաստատուն է:
Համաձայն Կոհոնենի, ուսուցման 𝛼𝑖 արագությունը ևս պետք է լինի նվազող ֆունկցիա
ուսուցման իտերացիաների քանակի նկատմամբ (t –ից կախված)։
𝐺(𝑥, 𝑖) ֆունկցիան սահմանվում է հետևյալ կերպ
𝑑2 (𝑖,𝑗∗ )
(− )
𝐺(𝑥, 𝑖) = 𝑒 2∗𝜎2 .

Այսպիսով, հաղթող նեյրոնի մոտակա շրջակայքում գտնվող նեյրոնների կշիռները փոխվում են


ոչ թե հավասարաչափ, այլ կախված են Գաուսի ֆունկցիայի արժեքից: Այս եղանակը տալիս է
ուսուցման ավելի լավ արդյունքներ և ապահովում է ցանցի ավելի լավ կազմակերպում:
Կոհոնենի ցանցի ուսուցման գործընթացը բաժանում են երկու փուլի՝ մոտավոր
հարմարվածության և հստակ հարմարվածության։
Առաջին փուլում ուսուցման արագությունը մեծ է և նեյրոնների կշիռները զգալիորեն
շտկվում են: Դա թույլ է տալիս նրանց կարգավորվել նախնական ընտրանու օբյեկտների
հատկությունների արժեքների բաշխմանը համապատասխան։
Երկրորդ փուլում ուսուցման արագությունը նվազում է, ինչը թույլ է տալիս կշիռները
որոշել ավելի հստակ։ Ցանցի սկզբնարժեքավորման ժամանակ նեյրոնների սկզբնական
կշիռները տրվում են պատահականորեն, եթե բացակայում են նախնական ընտրանու
հատկությունների մասին ապրիորի գիտելիքները։
Կոհոնենի ալգորիթմը կատարվում է հետևյալ քայլերով.
1. Սկզբնարժեքավորում. ցանցի նեյրոնների համար տրվում են սկզբնական կշիռներ,
ինչպես նաև տրվում են ուսուցման սկզբնական արագությունը և ուսուցման շառավիղը։
2. Վերսկսում. մուտքային շերտին տրվում է մուտքային 𝑋𝑛 վեկտորը, որն ընտրվում է
պատահականորեն մուտքային տվյալների բազմությունից:
3. Մրցակցություն. ամեն ելքային նեյրոնի համար հաշվարկվում է 𝑑(𝑊𝑗 , 𝑋𝑛 )

հեռավորությունը: Եթե որպես երկու վեկտորների միջև որպես հեռավորություն


ընտրվում է էվկլիդյան հեռավորությունը, ապա

𝑑(𝑊𝑗 , 𝑋𝑛 ) =√∑𝑖(𝑤𝑗𝑖 − 𝑥𝑛𝑖 )2 ։

6
Այլ կերպ, հաշվարկվում է ելքային շերտի բոլոր նեյրոնների կշռային վեկտորների և
մուտքային վեկտորի միջև հեռավորությունը։ Այն նեյրոնը, որի համար հեռավորությունն
ամենափոքրն է, կլինի հաղթող։
4. Միավորում. Որոշվում են բոլոր նեյրոնները, որոնք տեղակայված են ուսուցման
շառավղի սահմաններում հաղթող նեյրոնի նկատմամբ։
5. Հարմարեցում. Կատարվում է նեյրոնների կշիռների հարմարեցում ուսուցանման
շառավղի սահմաններում՝ համաձայն համապատասխան բանաձևի։ Այն նեյրոնների
կշիռները, որոնք ավելի մոտ են հաղթող նեյրոնին, հարմարվում են նրա կշռի վեկտորի
կողմը (նկ. 3, մուտքային վեկտորի կոորդինատները նշված են «+» նիշով, իսկ ցանցի
տեսքը փոփոխությունից հետո՝ կետագծերով)։

Նկ. 3. Կշիռների կարգավորում


6. Ուղղում. ուսուցման շառավիղը և արագությունը փոխվում են տրված օրենքի
համապատասխան։
7. Պրոցեսը կրկնվում է մուտքային ընտրանու բոլոր վեկտորների նկատմամբ:
8. Ուսուցման ավարտ. Ուսուցումն ավարտում են հետևյալ դեպքերում.
 կատարվել է ուսուցման իտերացիաների պահանջվող քանակ, որը
սահմանափակվում է հաստատունով, օրինակ, մուտքային հավաքածուի
տվյալների քանակով
 ցանցի ելքը կանոնավորվել է, այսինքն մուտքային վեկտորները չեն
տեղափոխվում կլաստերից կլաստեր

7
 կշիռների փոփոխություները դառնում են աննշան:

Կոհոնենի ցանցի որակի գնահատում

Ուսուցման ալգորիթմի աշխատանի արդյունքները կախված են նրա պարամետրերի


սկզբնական արժեքներից:
Սահմանենք կլաստերիզատորի որակի գնահատման ֆունկցիա հետևյալ կերպ.
𝑄 = 𝑐 × 𝑑𝑖 /𝑑𝑜 ,
որտեղ 𝑐 –ն ՝ կլաստերների քանակն է , 𝑑𝑖 –ն ներկլաստերային միջին հեռավորությունը, 𝑑0 – ն՝
միջկլաստերային միջին հեռավորությունը:
Լավագույն արդյունք ստանալու համար կարելի է մի քանի անգամ կատարել
կլաստերիզացիայի ալգորիթմը և ընտրել 𝑄 –ի մինիմալ արժեքով տարբերակը (նկ. 4-7):

Նկ.4. Սկզբնական վիճակ

8
Նկ.5. Կլաստերավորման արդյունք. նեյրոնների քանակ-4, կլաստերների քանակ-4,Q=0.35

Նկ.6. Կլաստերավորման արդյունք. նեյրոնների քանակ-4, կլաստերների քանակ-4,Q=0.06

9
Նկ.7. Կլաստերավորման արդյունք. նեյրոնների քանակ-9, կլաստերների քանակ-6,Q=0.04

Կոհոնենի քարտեզ ( Self Organizing Mар -SOM)


Կոhոնենի ցանցը օգտագործվում է օբյեկտների խմբավորման համար: Սովորաբար
արդյունքների արտածումը կատարվում է աղյուսակների կամ գրաֆիկների օգնությամբ։
Ինքնակազմակերպվող քարտեզը (Self Organizing Mар - SOM) թույլ է տալիս ներկայացնել
խմբավորման արդյունքները երկչափ քարտեզի տեսքով, որի տարրերի միջև
հեռավորությունները համապատասխանում են վեկտորների միջև հեռավորությանը
բազմաչափ տարածությունում, իսկ հատկությունների արժեքները պատկերվում են տարբեր
գույներով և երանգներով։
Կոhոնենի ցանցում ելքային նեյրոնների թիվը համապատասխանում է կլաստերների
քանակին, իսկ Կոhոնենի քարտեզում՝ սեգմենտների քանակին, որոնցից կազմված կլինի
քարտեզը: Քարտեզի սեգմենտների քանակը անվանում են քարտեզի չափ: Որքան շատ է
քարտեզում սեգմենտների քանակը, այնքան ավելի հստակ այն կպատկերի տվյալների
բաշխումը նրանց հատկությունների տարածության մեջ:
Կոհոնենի քարտեզի մուտքային նեյրոնների քանակը, ինչպես Կոհոնենի ցանցերում,
հավասար է մուտքային տվյալների հատկությունների (features) քանակին:

10
Կոհոնենի քարտեզը բաղկացած է ուղղանկյուն կամ վեցանկյուն տեսքի սեգմենտներից,
որոնք կոչվում են բջիջներ (նկ. 8)։

Նկ. 8. Կոհոնենի քարտեզ


Յուրաքանչյուր բջիջ կապված է որոշակի ելքային նեյրոնի հետ և իրենից ներկայացնում է
տվյալ նեյրոնի «ազդեցության տիրույթը», որի մեջ ընկնում են այն օբյեկտները, որոնք
«բռնագրավվել» են նեյրոնի կողմից խմբավորման ընթացում։
Քարտեզի նեյրոնների կշռային վեկտորների ձևավորումը կատարվում է նույն կերպ, ինչ
Կոհոնենի ցանցերում, այսինքն մրցակցային ուսուցման սկզբումքի հիման վրա։ Այն մուտքային
օբյեկտները, որոնց վեկտորները ավելի մոտ են տվյալ նեյրոնի կշռային վեկտորին, ընկնում են
այդ նեյրոնի հետ կապված բջիջի մեջ: Այսպիսով, քարտեզի վրա օբյեկտների բաշխումը
ընդհանուր առմամբ համապատասխանում է նեյրոնների կշռային վեկտորների բաշխմանը
օբյեկտների հատկությունների տարածության մեջ: Հետևաբար, եթե օբյեկտները քարտեզի
վրա մոտ են գտնվում, այսինքն հայտնվել են նույն բջջում կամ գոնե հարևան բջիջներում,
ապա այդ օբյեկտների հատկությունների վեկտորները ևս մոտ են: Նկատենք, որ եթե
քարտեզի վրա օբյեկտները հայտնվել են միմյանցից հեռու բջիջներում, ապա նրանց
հատկությունների վեկտորները զգալիորեն տարբերվում են:

11
Նկ. 9-ում ցուցադրված է ինքնակազմակերպվող քարտեզի տեսքը ուսուցումից հետո:
Գույնով մոտ բջիջները պարունակում են ըստ իրենց հատկությունների մոտ օբյեկտ-
տվյալները:

Նկ. 9. Կոհոնենի ինքնակազմակերպվող քարտեզ

Քարտեզները ինքնին խմբավորման խնդիր չեն լուծում, այլ թույլ են տալիս առաջադրել
հիփոթեզներ տվյալներում խմբային կառուցվածքի և կախվածությունների առկայության
մասին։ Առաջադրված հիփոթեզները պետք է հաստատել այլ մեթոդներով, քանի որ նրանք
կարող են սխալ լինել։

Կոհոնենի քարտեզի օրինակ

Դիտարկենք Կոհոնենի քարտեզի օրինակ, որը մուտքում ստանում է եռաչափ


վեկտորներ 𝑥 = (𝑥1 , 𝑥2 , 𝑥3 ): Մուտքային վեկտորի կոմպոնենտները մեկնաբանենք որպես RGB
գունային պալիտրայի կոմպոնենտներ (0 ≤ 𝑥𝑖 ≤ 255, 𝑖 = 1,2,3):
Ցանցն ուսուցումից հետո մուտքային վեկտորների բազմությունը արտապատկերում է
գունային գրադիենտային քարտեզի վրա: Ելքային նեյրոնների կշռային վերտորները

12
ներկայացվում են գունավոր կետերի տեսքով: Մոտ մուտքային վեկտորներին քարտեզի վրա
համապատասխանում է տվյալ գունային տիրույթը: (նկ. 10, 11):

Նկ. 10. 20 × 20 նեյրոններով քարտեզը՝ 200 հազ.իտերացիաներից հետո

Նկ. 11. 100 × 100 նեյրոններով քարտեզը 350 հազ.իտերացիաներից հետո

Ընդհանուր դեպքում կարող ենք հաշվարկել ցանցի ելքային նեյրոնի ելքային ազդանշանը և
քարտոզի վրա արտապատկերելու նպատակով ներկայացնել այն եռաչափ գունային
ազդանշանի տեսքով:

13

You might also like