Muhammad al-Xorazmiy nomidagi tatu farg‘ona filiali "Al-Farg‘oniy avlodlari"




Download 295,08 Kb.
Pdf ko'rish
bet2/3
Sana18.05.2024
Hajmi295,08 Kb.
#243138
1   2   3
Bog'liq
pythonda-neyron-tarmoqni-qurish-va-bashorat-qilish

har qanday 
ma'lumotdan ma'lumot olishi mumkin. Bu shuni 
anglatadiki, biz rasm yoki matn ma'lumotlaridan 
foydalanamizmi, 
bu 
muhim 
emas. 
Ma'noli 
ma'lumotlarni olish va chuqur o'rganish modelini 
o'rgatish jarayoni ikkala stsenariy uchun ham bir xil. 
Quyidagi rasmda biz ikkita qatlamli tarmoq 
arxitekturasining namunasini ko'rishimiz mumkin: 
Rasm 3. Ikki qatlamli neyron tarmoq. 
Har bir daraja oldingi darajadan olingan 
ma'lumotlarni ba'zi matematik operatsiyalarni qo'llash 
orqali o'zgartiradi. 
Neyron tarmog'ini o'rgatish sinov va xato 
jarayoniga o'xshaydi. Tasavvur qiling-a, biz birinchi 
marta dart o'ynayapmiz. Birinchi otishda biz 
nishonning markaziy nuqtasiga tegmoqchimiz. Odatda 
birinchi tortishish qo'lingizning balandligi va tezligi 
natijaga qanday ta'sir qilishini tushunish uchun olinadi. 
Dartning markaziy nuqtadan yuqorida ekanligini 
ko'rsak, uni bir oz pastga tashlash uchun qo'limizni 
moslashtiramiz va hokazo. 
Dart taxtasining o'rtasiga urish uchun quyidagi 
qadamlar mavjud: 
Rasm 4. Darts markaziga borish uchun 
qadamlar. 
Dart qayerga tushganini kuzatish orqali xatoni 
baholashda davom etayotganingizni unutmang (2-
bosqich). Nihoyat nishon markaziga tegmaguningizcha 
davom etamiz. 
Neyron tarmoqlarda jarayon juda o'xshash: biz 
tasodifiy og'irliklar va noaniqlik vektorlaridan 
boshlaymiz, bashorat qilamiz, uni kerakli natija bilan 
taqqoslaymiz va keyingi safar yaxshiroq bashorat 
qilish uchun vektorlarni moslashtiramiz. Jarayon 
prognoz va to'g'ri maqsadlar o'rtasidagi farq minimal 
bo'lgunga qadar davom etadi, haddan tashqari 
moslashish va mos kelmaydigan ssenariylarga bog'liq. 
Neyron tarmoqlar bilan ishlash vektorlar bilan 
operatsiyalarni bajarishdan iborat. Biz vektorlarni ko'p 
o'lchovli massivlar sifatida ifodalaymiz. Vektorlar 
chuqur o'rganishda asosan bitta operatsiya tufayli 
foydalidir: nuqta mahsuloti. Ikki vektorning nuqta 
mahsuloti 
yo'nalishi 
bo'yicha 
ular 
qanchalik 
o'xshashligini ko'rsatadi va ikkita vektorning kattaligi 
bilan o'lchanadi. 
Neyron tarmog'idagi asosiy vektorlar og'irlik va 
egilish vektorlaridir. Taxminan aytganda, biz neyron 
tarmog'imiz 
kirish 
allaqachon 
ko'rgan 
boshqa 
kirishlarga o'xshashligini tekshirishni xohlaymiz. Agar 
yangi kirish oldingi ko'rilgan kirish bilan bir xil bo'lsa, 
chiqish bir xil bo'ladi. Shunday qilib, bashorat 
natijasini olamiz. 
Regressiya, qaram o'zgaruvchi va ikki yoki 
undan ortiq mustaqil o'zgaruvchilar o'rtasidagi 
munosabatni baholash kerak bo'lganda qo'llaniladi. 
Chiziqli regressiya - bu o'zgaruvchilar o'rtasidagi 
munosabatlarni 
chiziqli 
deb 
taxmin 
qilganda 
ishlatiladigan usul. Chiziqli munosabat - mustaqil 
o'zgaruvchi bilan bog'liq o'zgaruvchi o'rtasida 
to'g'ridan-to'g'ri 
bog'liqlik 
mavjud 
bo'lgan 
munosabatlar. 
O'zgaruvchilar 
o'rtasidagi 
munosabatlarni 
chiziqli sifatida modellash 
orqali biz qaram 
o'zgaruvchini mustaqil o'zgaruvchilarning vaznli 
yig'indisi sifatida ifodalashimiz mumkin. Shunday 
qilib, har bir mustaqil o'zgaruvchi og'irlik deb 
nomlangan vektorga ko'paytiriladi. Og'irliklar va 
mustaqil o'zgaruvchilarga qo'shimcha ravishda biz 
boshqa bias vektorni ham qo'shamiz. Boshqa barcha 
mustaqil o'zgaruvchilar nolga teng bo'lganda natijani 
o'rnatadi. 


25 
Muhammad al-Xorazmiy nomidagi TATU 
Farg‘ona filiali “Al-Farg‘oniy avlodlari” 
elektron ilmiy jurnali ISSN 2181-4252 
Tom: 1 | Son: 4 | 2023-yil 
"Descendants of Al-Farghani" electronic scientific 
journal of Fergana branch of TATU named after 
Muhammad al-Khorazmi. ISSN 2181-4252 
Vol: 1 | Iss: 4 | 2023 year 
Электронный научный журнал "Потомки Аль-
Фаргани" Ферганского филиала ТАТУ имени 
Мухаммада аль-Хоразми ISSN 2181-4252 
Том: 1 | Выпуск: 4 | 2023 год 
https://al-fargoniy.uz/ 
Chiziqli regressiya modelini yaratishning 
haqiqiy hayotiy misoli sifatida, uyning maydoni va 
yoshiga qarab uyning narxini taxmin qilish uchun 
modelni o'rgatmoqchi ekanligingizni tasavvur qiling. 
Biz 
chiziqli 
regressiya 
yordamida 
ushbu 
munosabatlarni modellashtirishga qaror qilamiz. 
Quyidagi kod bloki psevdokodda berilgan muammo 
uchun chiziqli regressiya modelini qanday yozishingiz 
mumkinligini ko'rsatadi: 
price = (weights_area * area) + (weights_age * 
age) + bias 
Yuqoridagi misolda ikkita vazn mavjud: 
weights_area va weights_age. O'quv jarayoni model 
to'g'ri narx qiymatini bashorat qila olishi uchun og'irlik 
va moyillikni sozlashdan iborat. Buning uchun biz 
prognoz xatosini hisoblashingiz va shunga mos 
ravishda og'irliklarni yangilashimiz kerak. Bu neyron 
tarmoq mexanizmi qanday ishlashining asoslari. 
Natijalar. Endi bu tushunchalarni Python bilan 
qanday qo'llashni ko'rish vaqti keldi. Birinchi neyron 
tarmog'imizni qurishni boshlash: Neyron tarmog'ini 
qurishda 
birinchi 
qadam 
kirishdan 
chiqishni 
yaratishdir. Biz buni o'zgaruvchilarning vaznli 
yig'indisini yaratish orqali qilamiz. Biz qilishimiz 
kerak bo'lgan birinchi narsa Python va NumPy bilan 
kiritilgan 
ma'lumotlarni 
taqdim 
etishdir
(HYPERLINK 
https://realpython.com/numpy-
tutorial/). 
Hulosa. 
NumPy 
bilan 
neyron 
tarmoq 
kirishlarini 
qayta 
ishlash: 
Tarmoqning 
kirish 
vektorlarini massivlar sifatida ko'rsatish uchun 
NumPydan 
foydalanamiz. 
Lekin 
NumPydan 
foydalanishdan oldin, nima bo'layotganini yaxshiroq 
tushunish uchun sof Pythonda vektorlar bilan amallar 
qilish yaxshi fikr. 
Ushbu birinchi misolda bizda kirish vektori va 
yana 
ikkita 
vazn 
vektori 
mavjud. 
Maqsad, 
og'irliklardan qaysi biri kiritilgan yo'nalish va 
kattalikka ko'proq o'xshashligini topishdir. Agar biz 
ularni chizsak, vektorlar shunday ko'rinadi: 
Rasm 5. Dekart koordinata tekisligidagi uchta 
vektor. 
weights_2 ko'proq kirish vektoriga o'xshaydi, 
chunki u bir xil yo'nalishga ishora qiladi va kattaligi 
ham o'xshash. Xo'sh, Python yordamida qaysi 
vektorlar o'xshashligini qanday aniqlash mumkin? 
Birinchidan, biz uchta vektorni aniqlaymiz, biri 
kirish uchun, ikkitasi og'irlik uchun. Keyin biz 
input_vector va og'irliklar_1 qanchalik o'xshashligini 
hisoblaymiz. Buning uchun biz nuqta mahsulotini 
qo'llaymiz. Barcha vektorlar 2D vektorlar bo'lganligi 
sababli, buning uchun qadamlar: 
1.
Input_vectorning birinchi indeksini vaznlar_1 
ning birinchi indeksiga ko'paytiramiz. 
2.
Input_vector ikkinchi indeksini vaznlar_2 ning 
ikkinchi indeksiga ko'paytiramiz. 
3.
Ikkala ko'paytirish natijalarini yigamiz. 
Ko'rsatmalarga amal qilish uchun IPython 
konsoli yoki Jupyter daftaridan foydalanishimiz 
mumkin. 
Har 
safar 
yangi 
Python 
loyihasini 
boshlaganimizda yangi virtual muhit yaratish yaxshi 
amaliyotdir, shuning uchun avval buni qilishimiz 
kerak. Venv Python 3.3 va undan yuqori versiyalari 
bilan birga keladi va virtual muhit yaratish uchun 
qulay. 

Download 295,08 Kb.
1   2   3




Download 295,08 Kb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Muhammad al-Xorazmiy nomidagi tatu farg‘ona filiali "Al-Farg‘oniy avlodlari"

Download 295,08 Kb.
Pdf ko'rish