Untitle ipynb Colaboratory



Yüklə 34,55 Kb.
Pdf görüntüsü
tarix14.12.2023
ölçüsü34,55 Kb.
#177699


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


18.10.2023, 21:58
Untitled0.ipynb - Colaboratory
https://colab.research.google.com/drive/1In5lis7QQNP6hw9bjV18_92_LX8ebTPd#scrollTo=ZvWzHUHDqFrK&printMode=true
2/6
po t atp ot b.pyp ot as p t
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import statsmodels.api as sm
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
LinearRegression()
model = LinearRegression()
X = np.column_stack((x1, x2))
model.fit(X, y)
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_new)
print(y_pred)
[15.2 17.4]
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import statsmodels.api as sm
x = np.array([1,3,5,7,9])
y = np.array([10,12,15,17,19])
n = np.size(x)
x_mean = np.mean(x)
y_mean = np.mean(y)
x_mean,y_mean
(5.0, 14.6)
Sxy = np.sum(x*y)- n*x_mean*y_mean
Sxx = np.sum(x*x)-n*x_mean*x_mean
b1 = Sxy/Sxx


18.10.2023, 21:58
Untitled0.ipynb - Colaboratory
https://colab.research.google.com/drive/1In5lis7QQNP6hw9bjV18_92_LX8ebTPd#scrollTo=ZvWzHUHDqFrK&printMode=true
3/6
b0 = y_mean-b1*x_mean
print('Qiyaligi', b1)
Qiyaligi 1.15
print('Kesish', b0)
Kesish 8.85

plt.scatter(x,y)
Text(0.5, 0, ' X parametrining qiymatlari')
plt.xlabel(' X parametrining qiymatlari')
plt.ylabel('Y parametrining qiymatlari ')


18.10.2023, 21:58
Untitled0.ipynb - Colaboratory
https://colab.research.google.com/drive/1In5lis7QQNP6hw9bjV18_92_LX8ebTPd#scrollTo=ZvWzHUHDqFrK&printMode=true
4/6
Text(0, 0.5, 'Y parametrining qiymatlari ')
y_pred = b1 * x + b0

plt.scatter(x, y, color = 'red')
[]
plt.plot(x, y_pred, color = 'green')
plt.xlabel('X')


18.10.2023, 21:58
Untitled0.ipynb - Colaboratory
https://colab.research.google.com/drive/1In5lis7QQNP6hw9bjV18_92_LX8ebTPd#scrollTo=ZvWzHUHDqFrK&printMode=true
5/6
Text(0.5, 0, 'X')
Text(0, 0.5, 'y')
plt.xlabel('X')
plt.ylabel('y')
xatolik = y - y_pred
se = np.sum(xatolik**2)
print('Kvadrat xatolik', se)
Kvadrat xatolik 0.2999999999999996
mse = se/n
print('O\'rtacha kvadrat xatolik', mse)
O'rtacha kvadrat xatolik 0.05999999999999992
rmse = np.sqrt(mse)
print('ildiz o\'rtacha kvadrat xatosi', rmse)
ildiz o'rtacha kvadrat xatosi 0.24494897427831766
SSt = np.sum((y - y_mean)**2)
R2 = 1- (se/SSt)
print('R kvadrati', R2)
R kvadrati 0.9943609022556391
4. Logistik regressiya funksiyasi orqali 2.24 mm o’lchamda o’simta inson tanasida saraton bor yoki yo‘qligini aniqlovchi dastur tuzing va
topshiring. Dasturda faqat massiv parametlaridan foydalaning.
# Logistik regressiya umumiy tuzilishi
import numpy as np
from sklearn import linear_model
#Logistik funksiya uchun qayta shakllangan
X = np.array([3.78, 2.44, 2.09, 0.14, 1.72, 1.65, 4.92, 4.37, 4.96, 4.52, 3.69, 5.88]).reshape(-1,1)
y = np.array([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1])
logistik_regressiya = linear_model.LogisticRegression()
logistik_regressiya.fit(X,y)
#tahmin qiling 2,24 mm bo'lgan o'simta saraton bo'lsa:
Bashorat = logistik_regressiya.predict(np.array([2.24]).reshape(-1,1))
print(Bashorat)


18.10.2023, 21:58
Untitled0.ipynb - Colaboratory
https://colab.research.google.com/drive/1In5lis7QQNP6hw9bjV18_92_LX8ebTPd#scrollTo=ZvWzHUHDqFrK&printMode=true
6/6
print(Bashorat)
[0]
Ko'rinib turibdiku bizning natija [0] chiqdi,demak saraton yo'qligini aniqlaymiz!

Yüklə 34,55 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin