18.10.2023, 21:58
Untitled0.ipynb
- Colaboratory
https://colab.research.google.com/drive/1In5lis7QQNP6hw9bjV18_92_LX8ebTPd#scrollTo=ZvWzHUHDqFrK&printMode=true
1/6
10-21 guruh talabasi Pardaboyev Narzullaning Sun'iy intellekt fanidan 1-Amaliy ishi:
1. Sun’iy intellektda mashinali o‘qitishning asosiy tushunchalari, o‘qitish turlari va algoritmlari
** Mashinali o'qitish** - bu kompyuterlarga aniq dasturlashtirilmagan holda oldingi tajribalar yoki ma'lumotlar asosida o'rganish va bash
qilish yoki qaror qabul qilish imkonini beruvchi algoritmlar va modellarni ishlab chiqish bilan shug'ullanadigan sun'iy intellektning kic
Mashinani o'rganishda ikkita asosiy tushuncha mavjud: trening va algoritmlar.
Mashinali o'qitish bo'yicha trening algoritm yoki modelga katta hajmdagi etiketli ma'lumotlarni taqdim etishni o'z ichiga oladi, bu unga
chiqishlar o'rtasidagi naqsh va munosabatlarni o'rganish imkonini beradi. Trening ma'lumotlari odatda ikkita kichik to'plamga bo'linadi:
o'rgatish uchun ishlatiladigan o'quv to'plami va modelning ishlashini baholash uchun foydalaniladigan alohida tekshirish to'plami. Trenin
maqsadi model parametrlarini yoki og'irliklarini optimallashtirishdan iborat bo'lib, u ko'rinmas kirishlar uchun natijalarni aniq bashora
Mashinali o'qitish algoritmlari - bu o'quv ma'lumotlaridan naqshlarni o'rganish va bashorat qilish yoki qaror qabul qilish uchun ishlatil
matematik modellar. Mashinani o'rganish algoritmlarining har xil turlari mavjud, jumladan:
1. Nazorat ostidagi o‘qitish: Nazorat ostidagi ta’limda o‘quv ma’lumotlariga kirish-chiqish juftliklari kiradi. Algoritm ushbu juftliklar
kirishlar uchun chiqishlarni bashorat qila oladigan xaritalash funktsiyasini yaratishni o'rganadi. Nazorat qilinadigan o'rganish algoritm
misollar qatoriga chiziqli regressiya, qarorlar daraxtlari, vektorli mashinalar va neyron tarmoqlar kiradi.
2. Nazoratsiz o'qitish: Nazoratsiz o'rganish kirish ma'lumotlari bo'yicha algoritmni hech qanday aniq chiqish belgilarisiz o'rgatishni o'
oladi. Maqsad ma'lumotlardagi yashirin naqsh yoki tuzilmalarni aniqlashdir. Klasterlash va o'lchamlarni qisqartirish nazoratsiz o'qitishd
keng tarqalgan vazifalardir. Nazoratsiz ta'limda ba'zi mashhur algoritmlar k-vositalari klasterlash, ierarxik klasterlash va asosiy
komponentlarni tahlil qilishdir.
3. O'qitishni kuchaytirish: mustahkamlashni o'rganishda agent mukofot signalini maksimal darajada oshirish uchun muhitda qaror qabul
qilishni yoki harakatlarni amalga oshirishni o'rganadi. Agent sinov va xato orqali o'rganadi, mukofot yoki jazo shaklida ¦kr-mulohaza ola
O'rganishni kuchaytirish algoritmlari o'yin, robototexnika va avtonom tizimlar kabi ilovalarda qo'llaniladi. Q-o'rganish va chuqur Qtarmo
4. Yarim nazorat ostida ta’lim:Yarim nazorat ostida o‘qitish – bu nazorat va nazoratsiz ta’limning kombinatsiyasi. U o'rganish samaradorl
oshirish uchun kichik hajmdagi etiketli ma'lumotlardan kattaroq miqdorda etiketlanmagan ma'lumotlardan foydalanadi. Ushbu yondashuv
ma'lumotlarni etiketlash qimmat yoki ko'p vaqt talab qilganda foydalidir.
5. Chuqur o'qitish: Chuqur o'rganish - bu bir nechta qatlamli neyron tarmoqlarga qaratilgan mashinani o'rganishning kichik sohasi. Chuqur
neyron tarmoqlari ma'lumotlarning ierarxik ko'rinishlarini o'rganish qobiliyatiga ega, bu esa tasvirni aniqlash, tabiiy tilni qayta ishla
nutqni aniqlash kabi sohalarda eng zamonaviy ishlashga olib keladi. Konvolyutsion neyron tarmoqlari (CNN) va takroriy neyron tarmoqlari
(RNN) chuqur o'rganishda keng qo'llaniladigan arxitektura hisoblanadi.
Bular mashinali o'qitish algoritmlarining bir nechta misollari va aniq muammo yoki vazifaga qarab yana ko'p narsalar mavjud. Har bir algo
o'zining kuchli va zaif tomonlariga ega va algoritmni tanlash ma'lumotlarning tabiatiga va hal qilinayotgan muammoga bog'liq.
2. Bir o‘zgaruvchili va ko‘p o‘zgaruvchili chiziqli regressiya masalalari va ularni dasturlash
Chiziqli regressiya - bu qaram o'zgaruvchi (maqsad yoki javob o'zgaruvchisi deb ham ataladi) va bir yoki bir nechta mustaqil o'zgaruvchil
(shuningdek, bashorat qiluvchilar yoki xususiyatlar sifatida ham tanilgan) o'rtasidagi munosabatlarni modellashtirish uchun foydalaniladi
nazorat ostida o'rganish algoritmidir. U o'zgaruvchilar o'rtasidagi chiziqli munosabatni nazarda tutadi, ya'ni munosabatlar 2D yoki 3D fa
to'g'ri chiziq bilan ifodalanishi mumkin.
1. Bir oʻzgaruvchan chiziqli regressiya: Bir o'zgaruvchan chiziqli regressiya bitta mustaqil o'zgaruvchiga asoslangan qaram
o'zgaruvchini bashorat qilishni o'z ichiga oladi. Bunda o‘zgaruvchilar orasidagi bog‘lanish oddiy to‘g‘ri chiziq tenglamasi bilan ifodala
mumkin: y = mx + b, bu yerda y – bog‘liq o‘zgaruvchi, x – mustaqil o‘zgaruvchi, m – nishab, b – y kesma. . Maqsad, bashorat qilingan va
haqiqiy qiymatlar orasidagi farqni minimallashtiradigan m va b uchun eng yaxshi qiymatlarni topishdir.
Dasturlash usuli: Bir o'zgaruvchan chiziqli regressiyani amalga oshirish uchun siz Python yoki R kabi mashhur dasturlash tillaridan va sc
foydalanishga misol:
piton numpy ni np sifatida import qiling sklearn.linear_model import LinearRegression dan
#Ma'lumotlar namunasi
x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 6, 8, 10])
# LinearRegression ob'ektini yarating12.10.2023, 10:56 Untitled43.ipynb - Colaboratory
https://colab.research.google.com/drive/1b9cavY3f-QsupcM5BtfyG06gNTsSFEP7?hl=ru#printMode=true 2/4
model = LinearRegression()
# Agar kerak bo'lsa, ma'lumotlarni 2D massivga o'zgartiring
X = x.reshape(-1, 1)
# Modelni ma'lumotlarga moslang
model.¦t(X, y)
# Yangi ma'lumotlarning chiqishini taxmin qiling
x_new = np.array([6, 7]) X_new = x_new.reshape(-1, 1) y_pred = model.predict(X_yangi)
print(y_pred) # Chiqish: [12. 14.]
2. Ko‘p o‘zgaruvchan chiziqli regressiya: Ko'p o'zgaruvchan chiziqli regressiya bir o'zgaruvchan chiziqli regressiya kontseptsiyasini
bog'liq o'zgaruvchini bashorat qilish uchun bir nechta mustaqil o'zgaruvchilarni kiritish orqali kengaytiradi. O'zgaruvchilar o'rtasidagi
munosabatlar hali ham chiziqli, ammo endi u bir nechta o'lchamlarni o'z ichiga oladi. Tenglama quyidagicha bo'ladi: y = b0 + b1x1 + b2x2
... + bn*xn, bu erda x1, x2, ..., xn - mustaqil o'zgaruvchilar va b0, b1, b2, ..., bn - aniqlanadigan koe¨tsientlar.
Dasturlash usuli: Ko'p o'zgaruvchan chiziqli regressiyani amalga oshirish uchun siz kiritish xususiyatlari sifatida bir nechta mustaqil
o'zgaruvchilarga ega bo'lishingiz kerak. Dasturlash yondashuvi o'xshashligicha qolmoqda, faqat siz kirish ma'lumotlari sifatida 2D massiv
taqdim etishingiz kerak bo'ladi. Mana Python va scikit-learn-dan foydalanishga misol:
piton numpy ni np sifatida import qiling sklearn.linear_model import LinearRegression dan
# Ma'lumotlar namunasi
x1 = np.array([1, 2, 3, 4, 5]) x2 = np.array([2, 3, 4, 5, 6]) y = np.array([4, 7, 8, 11, 13])
# LinearRegression ob'ektini yarating
model = LinearRegression()
# Ma'lumotlarni 2D massiviga o'zgartiring
X = np.column_stack((x1, x2))
# Modelni ma'lumotlarga moslang
model.¦t(X, y)
# Yangi ma'lumotlarning chiqishini taxmin qiling
x1_new = np.array([6, 7]) x2_new = np.array([7, 8]) X_new = np.column_stack((x1_new, x2_new)) y_pred = model.predict(X_yangi)
print(y_pred) # Chiqish: [15. 17.]
Bir va ko'p o'zgaruvchan chiziqli regressiyada dasturlash yondashuvi model ob'ektini yaratish, modelni ma'lumotlarga moslashtirish va key
o'qitilgan model yordamida bashorat qilishni o'z ichiga oladi.
import numpy as np
import matplotlib.pyplot as plt