Teskari tarqalishli neyronlarni (kitobda 7-bob) kelgusi mavzuda kiritasizmi? Agar kelgusi mavzuga kiritmasangiz shu mavzuning oxiridan kiritish kerak



Download 1,22 Mb.
bet12/16
Sana23.12.2022
Hajmi1,22 Mb.
#895341
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
13-mavzu

Mantiqiy (OR-YOKI) funksiyasi. Keling, shunga o'xshash tarzda boshqa (OR-YOKI) mantiqiy funksiyani tahlil qilaylik.
Mantiqiy (OR-YOKI) quyidagi chinlik jadvaliga ega:

x1

x2

Y= x1 OR x2

0

0

0

1

0

1

0

1

1

1

1

1

Mantiqiy (OR) funksiyani mantiqiy qo'shish deb atash mumkin. Haqiqatdan ham:
x1 + x2 = 0 + 0 = 0
x1 + x2 = 1 + 0 = 1
x1 + x2 = 0 + 1 = 1
x1 + x2 = 1 + 1 = 1
Mantiqiy funksiyalarning qiymatlari ikkilik bo'lganligi sababli, mantiqiy qo'shishda: 1 + 1 = 1.
Ma'lumotlar massivi va o'qitilgan neyronni tekshirish bo'yicha so'nggi AND mantiqiy funksiyasi uchun tuzilgan dasturga o'zgartirishlar kiritamiz. Shuningdek b parametrini olib tashlab, usiz koeffitsientlar qanday bo'lishini ko'rib chiqamiz.
Dastur:
import random
import numpy as np
# Biz istalgan raqam bilan w1 = A to'g'ri chiziqning qiyaligini belgilaymiz
w1 = random.uniform(-4, 4)
w1_vis = w1 # Dastlabki w1 vaznni saqlaymiz
# Y o'qi orqali to'g'ri chiziqning o'tish nuqtasi uchun W2 = b parametrini ishga tushiring
w2 = random.uniform(-4, 4)
w2_vis = w2 # w2 vaznining boshlang'ich qiymatini saqlang
# Vazn koeffitsientlarining boshlang'ich qiymatlari bo'yicha ma'lumotlarni chiqaring
print ('Dastlabki vaznlar:', '\ nw1 =', w1, '\ nw2 =', w2)
# O'qish tezligi
lr = 0,001
# Davrlar sonini o’rnatish
epochs = 5000
# Birlik faollashtirish funksiyasi uchun chegarani o'rnatish
bias = 3
# Mantiqiy (OR-YOKI) funksiyasi uchun ma'lumotlar qatorini yaratish
log_or = np.array ([[0, 0, 0],
[1, 0, 1],
[0, 1, 1],
[1, 1, 1]])
# Tanlanma bo'yicha ishlash
for e in range(epochs):
for i in range(log_or.shape[0]): # shape - massivning o'lchamini qaytaradi, [0] - massivdagi qatorlar indeksi
# Nuqtaning x1 koordinatasini olamiz
x1 = log_or [i, 0] # i - satr, 0 - ustun
# Nuqtaning x2 koordinatasini olamiz
x2 = log_or [i, 1] # i - qator, 1 - ustun
# vaznlar yig’indisi
y = (w1*x1) + (w2*x2)
if y >= bias:
# Chegara qiymati oshib ketganda, chiqish - y = 1 bo'lishi kerak
y = 1
# Maqsad Y va nuqta koordinatasini olamiz
target_Y = log_or [i, 2] # i - qator, 2-ustun
# Xatolik E = - (maqsad qiymati - neyron chiqishi)
E = - (target_Y - y)
# Vaznni x1 darajasida o’zgartamiz
w1 - = lr * E * x1
# Vaznni x2 darajasida o’zgartamiz
w2 - = lr * E * x2
else:
# Chegara oshmaganida, chiqish - y = 0 bo'lishi kerak
y = 0
# Maqsad Y va nuqta koordinatasini olamiz
target_Y = log_or [i, 2] # i - qator, 2-ustun
# Xatolik E = - (maqsad qiymati - neyron chiqishi)
E = - (target_Y - y)
# Vaznni x1 darajasida o’zgartamiz
w1 - = lr * E * x1
# Vaznni x2 darajasida o’zgartamiz
w2 - = lr * E * x2
# Ma'lumotlarning chiqishi to'g'ridan-to'g'ri tayyor
print ('\ nOrgatilgan vaznlar:', '\ nw1 =', w1, '\ nw2 =', w2)
print ('\ n mantiqiy funksiyasi (OR-YOKI) ni tekshirish:')
print ('(0, 0,', int ((0 * w1 + 0 * w2)> = 3), ')')
print ('(1, 0,', int ((1 * w1 + 0 * w2)> = 3), ')')
print ('(0, 1,', int ((0 * w1 + 1 * w2)> = 3), ')')
print ('(1, 1,', int ((1 * w1 + 1 * w2)> = 3), ')')
Dastur natijasi:
Dastlabki vaznlar:
w1 = 3.611365134992452
w2 = 3.8646266194092878
O’qitilgan vaznlar:
w1 = 3.61136513499
w2 = 3.86462661941
Mantiqiy funksiya (OR-YOKI) ni tekshirish:
(0, 0, 0)
(1, 0, 1)
(0, 1, 1)
(1, 1, 1)
Agar ma'lumotlardan bitta kirishni qo'llagan holda o'quv jarayonini batafsil ko'rib chiqsak, biz quyidagi ko’rinishga ega bo’lamiz:
1)
Kirish parametri faol (x = 1), neyron to'g'ri javob berdi (chegaradan oshib ketdi), lekin xatoga yo'l qo'ydi (y= 1, lekin Y= 0):
Xatolik: E = - (Y - y) = - (0 - 1) = 1;
Vaznni yangilashi: w = w - (E * x1) = w - 1
2)
Kirish parametri faol emas (x = 0 ), neyron to'g'ri javob berdi (chegadan oshib ketdi), lekin xatoga yo'l qo'ydi (y = 1, lekin Y = 0 ):
Xato: E = - (Y - y) = - (0 - 1) = 1;
Og'irligi yangilanishi: w = w - (E * x1) = w - 0 = w
Biz darhol xulosa qilamizki, nofaol kirish parametri bilan har qanday maqsad qiymatlari va neyron chiqishi uchun vazn koeffitsienti o'zgarmaydi. Shuning uchun, biz faol bo'lmagan yozuv bilan variantlarni ko'rib chiqmaymiz.
3)
Kirish parametri faol (x = 1 ), neyron to'g'ri javob berdi (chegaradan oshib ketdi) va yanglishmadi (y = 1, lekin Y = 1 ):
Xato: E = - (Y - y) = - (1 - 1) = 0;
Vazn yangilanishi: w = w - (E * x1) = w - 0 = w
4)
Kirish parametri faol (x = 1 ), neyron noto'g'ri javob berdi (chegara oshmadi) va yanglishmadi (y= 0 lekin Y = 0 ):
Xato: E = - (Y - y) = - (0 - 0) = 0;
Vazn yangilanishi: w = w - (E * x1) = w - 0 = w
5)
Kirish parametri faol (x = 1 ), neyron noto'g'ri javob berdi (chegara oshmadi) va xato qildi (y = 0 lekin Y= 1 ):
Xato: E = - (Y - y) = - (1 - 0) = -1;
Vazn yangilanishi: w = w - (E * x1) = w + 1 = w + 1
Agar siz ushbu ma'lumotlarga diqqat bilan qarasangiz, quyidagi qoidani shakllantirishingiz mumkin:
Agar bizning neyronimiz to'g'ri javob bergan bo'lsa (xato 0 ga teng), demak biz hech narsa qilmaymiz.
Agar neyron to'g'ri javob bergan bo'lsa, lekin xatoga yo'l qo'ygan bo'lsa, biz uni buning uchun jazolashimiz kerak - bu signal o'tgan ulanishlarning vaznini kamaytirish uchun. Boshqacha qilib aytganda, hayajonlangan kirishlar bilan bog'liq vaznlar kamayadi.
Agar neyron noto'g'ri javob bergan va xato qilgan bo'lsa, unda biz signal o'tgan barcha vaznlarni oshirishimiz kerak. Shunday qilib, biz, go'yo, tarmoqqa bunday ulanishlar va shuning uchun ular bilan bog'liq bo'lgan kirishlar to'g'ri ekanligini aytmoqdamiz.
Ushbu qoida o'z nomiga ega - delta qoidasi.

Download 1,22 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish