13.3. Chiziqli funksiyaning barcha parametrlari bilan neyronni chiziqli klassifikator sifatida modellashtirish va dasturiy ta’minoti
Endi tasavvur qilamizki, oldimizga yangi masala qo’yiladi. Bunda ma'lumotlarni mustaqil ravishda tahlil qilib, ularning koordinatalari oldingilaridan sezilarli darajada farq qilishini ko'ramiz. Endi faqat qiyalik (tiklik) koeffitsienti x bilan sinflovchi to'g'ri chiziqni chizish emas, balki b siljish koeffitsientini hisobga olib sinflovchi to'g'ri chiziqni hosil qilish masalasi qaraladi (13.1-rasm).
Y = Ax + b to'g'ri chiziq tenglamasida b parametri shunchaki Y o'qi bilan kesishish nuqtasi hisoblanadi. Grafikda bunday nuqta koordinataning yaqinida joylashganligi aniq (x = 0; y = 11).
Yangi masalani echish uchun biz neyronga ikkinchi kirish prametri sifatida b parametni qo'shishimiz kerak.
(b) parametrni aniqlaymiz. Ikkinchi kirish qanday ko'rinishga ega bo'ladi? O’rgatish jarayonida qanday ma'lumotlarni taqdim etish kerak?
Parametr (b) doimiy qiymatdir, shuning uchun biz uni neyronning ikkinchi kiritilishiga qo'shamiz, ushbu kirish signalining doimiy qiymati birga teng (x2=1). Shunday qilib, ushbu kirishning miqdor qiymati (b) bilan ko'paytmasi har doim miqdorning o'zi (b) ga teng bo'ladi. Bunday sun'iy neyronning modelini quyidagicha tasvirlaymiz (13.6-rasm):
13.6-rasm. Sun'iy neyronning modeli.
Yuqorida aytib o'tilganidek, neyronning kirish qismiga x (bizning ma'lumotlar bazamizdan) va x2 = 1 ikkita kirish signallari keladi. Shundan so'ng, ushbu qiymatlar o'zgaruvchan parametrlari bilan ko'paytiriladi va keyin ular jamlanadi:
A*x + b*x2.
Ushbu yig'indining qiymati
y=A*x+b*x2 =A*x+b
bir vaqtning o'zida chiqish neyronida hosil bo’ladi.
Endi hamma belgilashlarni sun'iy neyronlar va NTlarni modellashtirishda ishlatiladigan qabul qilingan belgilashlarga muvofiq tasavvur qilaylik. Ya'ni A koeffitsient va b parametrni mos ravishda w1 va w2 deb belgilaymiz. w1 va w2 larni vazn koeffitsientlari deb ataymiz. Bularga mos neyronning tuzilmasini esa 13.7-rasmdagidek tasavvur qilamiz:
13.7-rasm. Neyronning tuzilmasi.
Birinchi dasturimizda slaydda ko'rsatilgandek (A) koeffitsientini va (b) parametrni vaznkoeffitsientlari belgilariga o'zgartiramiz. Biz ularni unda boshlaymiz. Oldinroq (A) koeffitsient bilan qilganimizdek, uning ozgina qismini o’quv bilan, vazn o'zgarishi formulasi (w2) bilan to'ldiramiz.
Shundan so'ng, dastur bo'yicha o’quv olib boriladigan maydon quyidagicha ko'rinadi:
# Tanlanma bo'yicha ishlash
oralig'idagi e (davrlar) uchun:
for i (len (arr)) qatorida: # len (arr) - funksiya qator uzunligini qaytaradi
# Nuqtaning x koordinatasini olamiz
x = arr [i]
# Hisoblangan y, nuqta koordinatasini olamiz
y = w1 * x + w2
# Maqsad Y, nuqta koordinatasini olamiz
target_Y = arr_y [i]
# Xatolik E = maqsad qiymati - neyron chiqishi
E = target_Y - y
# Kirishdagi vaznni o’zgartirish
w1 + = lr * (E / x)
# Kirishdagi vaznni o’zgartirish x2 = 1, w2 + = lr * (E / x2) = lr * E
w2 + = lr * E
Va oldinga yugurib, aytamanki, bu erda biz umidsizlikka tushamiz - bundan hech narsa chiqmaydi ...
Haqiqat shundaki, vazn(w2) (avvalgi parametr (b)) vaznni (w1) (avvalgi koeffitsient (A)) tuzatishda buzishni keltirib chiqaradi va aksincha. Ular bir-biridan mustaqil ravishda harakat qilishadi, bu dastur siklining har bir o'tishi bilan xatolarning ko'payishiga ta'sir qiladi.
Endi vaznlar hamjihatlikda harakat qiladigan, bir-birining manfaatlarini inobatga oladigan, kerakli natija uchun murosaga keladigan omil kerak. Bunday omol – chiqish neyronidagi xatolik hisoblanadi.
Agar biz xatolikni doimiy ravishda barcha kirishlarda kamaytirishni aniqlasak, unda vazn koeffitsientlarini oxir-oqibat barcha kirishlar uchun minimal qiymatiga olib keladigan tarzda sozlashimiz kerak bo’ladi. Bunday echim neyronning barcha kirishlari uchun umumiy bo'ladi. Ya'ni, vaznlarni ularning umumiy xatosini kamaytirish yo'nalishi bo'yicha doimiy ravishda yangilab borish orqali biz chiqishda eng maqbul natijaga yaqinlashamiz.
Shuning uchun, neyronning kirish soni bir nechta bo'lsa, bizning ilgari ishlab chiqilgan chiziqli sinflash qoidalari to'ldirilishi kerak. Matematik tarzda barcha kirishlar umumiy manfaatlar hisobga olinadigan tarzda bog'lanish uchun xatoliklardan foydalanishingiz kerak. Natijada, kerakli klassifikatorni chiqish neyronida hosil qilamiz.
Do'stlaringiz bilan baham: |