Ishdan maqsad: Mashinali o’qitishda o’qituvchisiz o’qitish algoritmlarini o’rganish va ularni dasturlash. Nazariy qism


Download 121.93 Kb.
Sana17.11.2023
Hajmi121.93 Kb.
#1783077
Bog'liq
3-...


3-amaliy mashg’ulot
Mavzu: Mashinali o’qitish turlari. Mashinali o’qitish jarayonining umumiy qadamlari


Ishdan maqsad: Mashinali o’qitishda o’qituvchisiz o’qitish algoritmlarini o’rganish va ularni dasturlash.
Nazariy qism
Mashinani o'rganish algoritmlarining turlarini aniqlashning ba'zi o'zgarishlari mavjud, lekin odatda ularni maqsadlariga ko'ra toifalarga bo'lish mumkin va asosiy toifalar quyidagilardir:

  • Nazorat ostida o'rganish

  • Nazoratsiz ta'lim

  • Yarim nazorat ostida o'qitish

  • O'rganishni mustahkamlash

Nazorat ostidagi ta'lim
“Unsupervised Learning’ (Nazoratsiz ta’lim) da o’qituvchi yoki o’rgatuvchiga hojat yo’q! Algoritm ushbu qo’llanmasiz ma’lumotlarni tushuna olishi kerak.”
Unsupervised Learning’ni regressiya yoki tasniflash muammosiga to‘g‘ridan-to‘g‘ri qo‘llash mumkin emas, chunki Supervised Learning’dan farqli o‘laroq, bizda kirish ma’lumotlari mavjud, lekin tegishli chiqish ma’lumotlari yo‘q. Unsupervised Learning’ning maqsadi ma’lumotlar to’plamining asosiy tuzilishini topish, ma’lumotlarni o’xshashliklari bo’yicha guruhlash va ushbu ma’lumotlar to’plamini tartiblangan formatda taqdim etishdir.
Menga funktsiyani yaqinlashtirish kontseptsiyasi bilan nazorat ostida o'qitish haqida o'ylash yoqadi, bu erda biz asosan algoritmni o'rgatamiz va jarayon oxirida biz kiritilgan ma'lumotlarni eng yaxshi tavsiflovchi, ma'lum X uchun eng yaxshi baho beradigan funktsiyani tanlaymiz. y (X -> y). Ko'pincha biz har doim to'g'ri bashorat qiladigan haqiqiy funktsiyani aniqlay olmaymiz va boshqa sabab shundaki, algoritm odamlar tomonidan kompyuter qanday o'rganishi kerakligi haqidagi farazga tayanadi va bu taxminlar noto'g'rilikni keltirib chiqaradi.
Bu erda inson mutaxassislari o'qituvchi rolini o'ynaydi, bu erda biz kompyuterni kirish/prognoz qiluvchilarni o'z ichiga olgan o'quv ma'lumotlari bilan ta'minlaymiz va biz unga to'g'ri javoblarni (chiqish) ko'rsatamiz va ma'lumotlardan kompyuter naqshlarni o'rganishi kerak.
Nazorat qilinadigan o'rganish algoritmlari maqsadli bashorat natijasi va kirish xususiyatlari o'rtasidagi munosabatlar va bog'liqliklarni modellashtirishga harakat qiladi, shunda biz oldingi ma'lumotlar to'plamidan o'rgangan munosabatlarga asoslangan yangi ma'lumotlar uchun chiqish qiymatlarini taxmin qilishimiz mumkin.
Nazoratsiz ta'lim
Kompyuter yorliqsiz ma'lumotlar bilan o'qitiladi.
Bu erda umuman o'qituvchi yo'q, aslida kompyuter ma'lumotlardagi naqshlarni o'rgangandan so'ng sizga yangi narsalarni o'rgatishi mumkin, bu algoritmlar, ayniqsa, inson mutaxassisi ma'lumotlardan nimani qidirishni bilmagan hollarda foydalidir.
Mashinani o'rganish algoritmlari oilasi bo'lib, ular asosan naqshlarni aniqlash va tavsifiy modellashtirishda qo'llaniladi. Biroq, bu erda algoritm munosabatlarni modellashtirishga harakat qilishi mumkin bo'lgan chiqish toifalari yoki teglar mavjud emas. Ushbu algoritmlar qoidalarni qazib olish, naqshlarni aniqlash va ma'lumotlar nuqtalarini umumlashtirish va guruhlash uchun kirish ma'lumotlaridagi usullardan foydalanishga harakat qiladi, bu esa mazmunli tushunchalarni olishga yordam beradi va ma'lumotlarni foydalanuvchilarga yaxshiroq tavsiflaydi.

K-Means klasterlash - bu nazoratsiz o'rganish algoritmi. Nazorat ostidagi ta'limdan farqli o'laroq, bu klasterlash uchun yorliqli ma'lumotlar yo'q. K-Means ob'ektlarni o'xshashliklari bo'lgan va boshqa klasterga tegishli ob'ektlarga o'xshamaydigan klasterlarga bo'linishni amalga oshiradi.
"K" atamasi raqamdir. Siz tizimga qancha klaster yaratishingiz kerakligini aytishingiz kerak. Masalan, K = 2 ikkita klasterni bildiradi. Berilgan ma'lumotlar uchun K ning eng yaxshi yoki optimal qiymati nima ekanligini aniqlashning bir usuli mavjud.
K-vositalarni yaxshiroq tushunish uchun keling, kriketdan misol olaylik. Tasavvur qiling-a, siz butun dunyo bo'ylab ko'plab kriket o'yinchilari haqida ma'lumot oldingiz, bu o'yinchi tomonidan kiritilgan yugurishlar va so'nggi o'nta o'yinda ular tomonidan egallab olingan gollar haqida ma'lumot beradi.


Dastur kodi
import numpy as np
x_soat=[1,2,3];
y_baho=[2,4,6];
w=1
def forward(x):
return x*w
def loss (x,y): y_pred=forward(x return (y_pred-y)**2
def gradient(x,y):
return 2*x*(x*w-y)
print("Bashorat (trainingdan avval)","4 soat o'qilganda",forward(4))
learning_rate=0.01
for epoch in range(10): for x_hb_qiymat, y_hb_qiymat, in zip( x_soat, y_baho): grad=gradient(x_hb_qiymat,y_hb_qiymat) w=w-learning_rate*grad
print("/tgrad:",x_hb_qiymat,y_hb_qiymat,round(grad,2))
l=loss(x_hb_qiymat, y_hb_qiymat) print("progress",epoch,"w=",round(w,2),"loss=",round(l,2))
print("Bashorat (trainingdan avval)", "4 soat o'qilganda", forward(4))
Download 121.93 Kb.

Do'stlaringiz bilan baham:




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