Uploaded by Zafarali Daminov

+2-mavzu (MO'T TURLARI)(40-56) (3)

advertisement
2-Mavzu. Mashinali o’qitish turlari. Mashinali o’qitish uchun instrumental
vositalar
Reja:
1. Mashinali o‘qitishning (MO’) turlari.
2. Mashinali o'qitish modellari uchun asosiy algoritmlar
3. Mashinali oqitish (MO’) uchun kerakli instrumental vositalar
(Octave/ Matlab/Python/) taҳlili va imkoniyatlari bilan tanishish.
Tayanch iboralar. Mashinali o’qitish, murakkab mashinali o’qitish, bir
pog’anali mashinali o’qitish va ko’p pog’onali mashinali o’qitish, nisbiy o’lchash,
aprior alfavit, etalonsiz tizimlar, etalonli tizimlar, taksonlar, determinallashgan
tizimlar,
ehtimolli
tizimlar,
mantiqiy
tizimlar,
strukturali
tizimlar,
kombinatsiyalashgan tizimlar, obyektlarni tanib olish, o‘qituvchili o’qitish,
o‘qituvchisiz o’qitish, chuqur o’qitish, regressiya, klasterlash, model, testlash, qaror
qabul qiluvchi qoida, matritsa, operator, Octave, Matlab, Python, Pandas, NumPy,
SciPy, Anaconda, PyCharm, Scikit-learn, Matplotlib, Theano, Keras.
1. Mashinali o‘qitish(MO’)ning turlari
Mashinali o‘qitish quyidagi masalalarni echishda qo’llaniladi:
- sinflashtirish;
- haqiqiy javobni berish (regressiya);
- bashoratlsh;
- tartiblash;
- filtrlash;
- muhim ko’rsatkichlarni topish;
- ko’rsatmalar berish va boshqalar.
Misol.
Yo'l qoplamasining holatini 6 va 24 soat davomida bashorat qilish
Qiziqtiradigan
yo’llar koordinatalari
Ob-havo
stansiyalaridan
olingan joriy
ob-havo
Haqiqiy
holat
Qiziqtiradigan yo’llar
koordinatalari bo’yicha
ob-havoni basoratlash
Ma’lumotlarni qayta
ishlash
Model
Holatni
bashorat
-lsh
Ma’lumotBir nechta
Modellarni
larni qayta
modellar
testlash va
ishlash
asosida
taqqoslash
o’qitishsinflashtirish.
2.1-rasm. MO’Tni
40
Quruq
Nam
Muz
Qor
MO’ning uchta turini ko'rib chiqamiz [30,43]:
· o’qituvchili o‘qitish (boshqariladigan),
· o’qituvchisiz o‘qitish (nazoratsiz yoki o'z-o'zidan)
· chuqur (mustaxkam) o‘qitish.
Biz ular orasidagi tub farqlarni bilib olamiz va kontseptual misollarga
asoslanib, ular amaliy qo'llanilislhini aniqlaydigan intuitiv tushunchalarni
rivojlantiramiz (2.2-rasm)
Mashinali o’qitish usullari
2.2-rasm.
Mashinali o’qitishni tashkil qilishning modeli 2.3-rasmda keltirilgan.
Usulni va
parametrlarni tanlash
Ma’lumotlarni
qayta ishlash
O’qitish
(O’rgatish)
Sifatni baholash
Oxirgi model
2.3-rasm. Mashinali o’qitishni tashkil qilishning modeli.
Spam
Elektron
pochta
Mashinali
o’qitish algoritmi
Spam emas
2.4-rasm. Mashinali o’qitishga misol.
O’qituvchili o’qitish (Supervised learning) - bu modelni xususiyatlari aniq
bo’lgan ma’lumotlar bilan o’qitish. Oʻqituvchili MO’Tlarda obyektlar to’plami (OT)
va ularning belgilari hamda bu belgilarning qanday sinfga qarashli ekanligi, ya’ni
sinflarning nomi berilgan boʻladi. Bunday turdagi o’qitish usullariga regressiya (2.541
rasm) va sinflashtirish (2.3-rasm) masalalarini misol keltirish mumkin. Bunda
xususiyatlari aniq deganda kiruvchi va chiquvchi parametrlar mavjud bo’lishi nazarda
tutiladi.
2.5-rasm. Regressiyaga misol.
2.6-rasm. Sinflashga misol.
42
F : X -> Y
Harorati
Jinsi
Yo’ tal
So’ lak
UFanlardan
o’ r. ball
Covid?
170
128
0
E
1
1
1
45
4.4
Yo’q
195
90
40
A
1
0
0
50
3.1
Ha
160
111
2
A
0
1
1
60
3.9
Yo’q
183
143
0
E
0
1
1
65
4.7
Ha
158
118
25
A
1
0
1
70
?
?
178
132
10
E
0
1
0
75
?
?
170
120
4
A
1
1
0
65
?
?
165
100
20
E
1
1
0
55
?
?
Bosh
og’ riq
Yoshi
Og’ irligi
(Y) o’zgaruvchining
maqad funksiyasi
Bo’ yi
Belgilar (Х)
Tanlanma
O’qituvchi
tanlama
Obyektlar
Test
tanlanma
Regres
Sinflash
-siya
2.7-rasm. Regressiya va sinflashga misol.
Modelni o’qitishda foydalaniladigan ma’lumotlar odatda ikkita qismga
ajratiladi va ular 80:20 nisbatda olinadi. Ya’ni ma’lumotlarning 80% o’qitiluvchi
ma’lumot va qolgan 20% esa modelni testlovchi ma’lumot bo’lib xizmat qiladi.
O’qitish jarayonida model kiruvchi va chiquvchi ma’lumotlarning 80% dan
foydalanadi va modelni o’qitish faqat ushbu ma’lumot orqali amalga oshiriladi (2.8rasm).
2.8-rasm. O’qituvchili o’qitish masalalari.
43
2.9-rasm. O’qituvchili o’qitish (Supervised learning) sxemasi.
O’qituvchili o’qitish algoritmlariga misollar:
• chiziqli regressiya (Linear Regression);
• eng yaqin qo'shni (Nearest Neighbor);
• Gauss soddaligi Bayesiyalik (Gaussian Naive Bayes);
• qaror daraxtlari (Decision Trees);
• vektorli mashinani qo'llab-quvvatlash (Support Vector Machine (SVM));
• tasodifiy o'rmon (Random Forest).
O’qituvchisiz o’qitish (unsupervised learning) - bu mashinani o’qitish
usulidan biri bo’lib, bunda modelni oldindan aniq bo’lgan ma’lumotlar bilan o’qitish
amalga oshirilmaydi, aksincha obyekt parametrlarini (ma'lumotlarni) topish uchun
modelga o'z ustida ishlashga imkon yaratib beriladi. Oʻqituvchisiz MO’Tlarda faqat
OT va ularning BT berilgan boʻlib, obyektlarning qaysi sinfga qarashli ekanligi
berilmaydi. Bunday tizimlar koʻp hollarda taksonomik tizimlar deyiladi, ya’ni
taksonlarga qarab, obyektlar sun’iy ravishda sinflarga ajratiladi.
2.0-rasm. O’qituvchisiz o’qitish sxemasi.
44
O’qituvchisiz o’qitish usuliga qaraganda murakkab usul hisoblanadi va
bashoratlash jarayoni avtomatik lekin noaniqroq bo’lishi mumkin.
O’qituvchisiz o’qitish usulida asosan “klasterlash” masalasi yechiladi.
a) Namuna.
B) Klasterlar.
2.11-rasm. Klasterlashga misol.
Klasterlash usullari:
· Ierarxik klasterlash (Hierarchical clustering);
· K-klasterlash vositasi (K-means clustering);
· K eng yaqin qo'shnilar (K-NN (k nearest neighbors));
· asosiy tarkibiy qismlarni tahlil qilish (Principal Component Analysis);
· bitta qiymat bo'yicha parchalanish (Singular Value Decomposition);
· komponentlarning mustaqil tahlili (Independent Component Analysis).
Chuqur o’qitish - bu ko'p qatlamli neyron tarmoqlarini tadqiq qilinayotgan
obyektga tegishli juda katta miqdordagi ma'lumotlardan foydalanib, ularning
tuzilishi va xususiyatlarini tushunishga qaratilgan jarayondir.
Chuqur o’qitish – bu ko'p pog’onali taqdimotni o'rganishga asoslangan
mashinali o'qitish algoritmlari to'plamidir. Bir nechta taqdimot pog’nalari
abstraktsiyaning bir nechta pog’onasini anglatadi (2.12-rasm).
2.12-rasm.
45
Chuqur o’qitish asosan neyron tarmoqlari asosida amalga oshiriladi va bunda
quriladigan neyron tarmog’i xususiyatlari va o’qitish jarayoni muhim hisoblanadi
hamda neyron tarmog’i aniqligini oshirishga xizmat qiladi.
Chuqur o’qtitishda quyidagi mashinani o’qitish usullaridan foydalaniladi:
· regressiya - o’qituvchili (supervised) o’qitish usuli hisoblanib, o’qitish
natijasida qurilgan model doimiy qiymatlar qabul qiladi
· sinflashtirish - o’qituvchili (supervised) o’qitish usuli hisoblanib, o’qitish
natijasida qurilgan model biron sinfga tegishli yoki tegishli emaslik haqidagi qiymat
qabul qiladi
· klasterlash (Segmentlash) - o’qituvchisiz (unsupervised) o’qitish usuli
hisoblanib, o’qitish natijasida model oxshash xususiyatlarni aniqlashga oid
qiymatlarni hisoblaydi.
Mashinani chuqur o'qitish
2.13-rasm. Chuqur o’qtitish.
2.14-rasm. Chuqur o’qtitish bosqichlari.
Misol. Tender hujjatlarini shakllantirish masalasi.
1) Mutaxassislarning tajribasini to'plash va uni qayta ishlatish qobiliyati;
2) Hujjatlarni tayyorlash va tekshirishni avtomatlashtirish;
3) Hujjat tayyorlash vaqtini qisqartirish.
Misol.
1) Divan rangi yashil yoki ko'k → Divan rangi yashil;
2) Stulning balandligi 50 – 60 sm → stul balandligi 60 sm;
3) Stol materiallari terak, dub, yong’oq, faner, temir → Stol materiali yong’oq.
Chuqur o’qitishda kuzatiladigan kamchiliklar. Ma’lumotlar nishoni (Data
label)ning - ko'pincha zamonaviy AI modellari "nazorat ostida o'rganish“ o’qituvchili o’qitish orqali o'qitiladi. Bu shuni anglatadiki, odamlar katta hajmdagi va
46
xatolarga olib keladishi mumkin bo'lgan asosiy ma'lumotlarni belgilashi va
toifalashlari kerak.
O’qitish uchun katta ma'lumotlar to'plamlari (Obtain huge training datasets) CNN kabi chuqur o’qitish usullari ba'zi hollarda tibbiyot va boshqa sohalardagi
mutaxassislarning bilimlariga mos ishlaydi. Hozirgi vaqtda mashina o'qitish jarayoni
nafaqat ma’lumotar aniq bo’lishini, balki yetarlicha keng va universal bo'lgan o'quv
ma'lumot to'plamlarini talab qiladi.
Muammoni tushuntirish(Explain a problem) - katta va murakkab modellarni
tushuntirish va unig xususiyatlarini aniqlash qiyin hisoblanadi. Bunday holatlarda
aniq qarorlarni qabul qilishda xatoliklarga yo’l qo’yilishi mumkin.
2. Mashinali o'qitish modellari uchun asosiy algoritmlar
Qaror daraxti. Bu daraxtga o'xshash grafikadan foydalanishga asoslangan
qarorlarni qo'llab-quvvatlash usuli bo’lib, ularning yuzaga kelishi mumkin bo'lgan
oqibatlarini hisobga olgan holda qaror qabul qilish modeli (hodisa yuzaga kelishi
ehtimolini hisoblash bilan), samaradorlik, resurslarni sarflashdan iborat bo’ladi.
Biznes-jarayonlar uchun ushbu daraxt minimal miqdordagi savollardan iborat
bo'lib, ular aniq javobni talab qiladi - "ha" yoki "yo'q". Bu savollarning barchasiga
doimiy ravishda javob berib, to'g'ri tanlovga kelamiz. Qaror daraxtining uslubiy
afzalliklari shundaki, u masalani tuzadi va tizimga soladi va yakuniy qaror mantiqiy
xulosalar asosida qabul qilinadi.
Bayesning sodda sinfi, Bayescha sodda sinflagichlar oddiy ehtimollik
klassifikatorlari oilasiga mansub va Bayes teoremasidan kelib chiqadi, bu holda
funksiyalarni mustaqil deb hisoblaydi (bu qat'iy yoki sodda, taxmin deb ataladi).
Amalda, u mashinasozlikning quyidagi yo'nalishlarida qo'llaniladi:
• elektron pochtaga keladigan spam-spam ta'rifi;
• yangiliklar maqolalarini tematik sarlavhalar bilan avtomatik ravishda
bog'lash;
• matnning emotsional rangini aniqlash;
• tasvirlardagi yuzlar va boshqa shablonlarni tanib olish.
Eng kichik kvadratlar usuli. Statistikani ozgina bo'lsa ham o'rgangan kishi
chiziqli regressiya tushunchasini yaxshi biladi. Eng kichik kvadratlar ham uni amalga
oshirish variantlariga tegishli. Odatda, chiziqli regressiya ko'plab nuqtalardan o'tgan
to'g'ri chiziqni o'rnatish masalalarini hal qilish uchun ishlatiladi. Bu eng kichik
kvadratlar usuli yordamida amalga oshiriladi: to'g'ri chiziqni torting, undan har bir
nuqtagacha bo'lgan masofani o'lchang (nuqtalar va chiziq vertikal segmentlar bilan
bog'langan), natijada olingan yig’indini ko'chiring. Natijada, masofalar yig'indisi eng
kichik bo'ladigan egri chiziq kerakli (bu chiziq haqiqiy qiymatdan normal
taqsimlangan og'ish bilan nuqtalar orqali o'tadi).
Ma'lumotlarni mashinada o'rganish uchun moslashtirishda chiziqli funksiya
odatda qo'llaniladi va xato metrikasini yaratish orqali xatolarni minimallashtirish
uchun eng kichik kvadratchalar usuli qo'llaniladi.
Logistik regressiya. Logistik regressiya bu o'zgaruvchilardan o'zaro
47
bog'liqlikni aniqlash usulidir, ulardan biri qat'iyan bog'liq, boshqalari esa mustaqil.
Buning uchun logistik funksiyadan (akkumulyativ logistik taqsimot) foydalaniladi.
Logistik regressiyaning amaliy qiymati shundaki, u bir yoki bir nechta mustaqil
o'zgaruvchini o'z ichiga olgan voqealarni bashorat qilishning kuchli statistik usuli
hisoblanadi. Bu quyidagi holatlarda foydalidir:
• kredit ballari;
• reklama kampaniyalarining muvaffaqiyatini o'lchash;
• ma'lum bir mahsulotdan foyda bashorati;
• ma'lum bir sanada zilzila ehtimolini taxmin qilish.
Vektorli mashinani qo'llab-quvvatlash. Bu sinflash va regressiya tahlili
masalalarini hal qilish uchun zarur bo'lgan algoritmlarning butun to'plamidir. N
o'lchovli kosmosdagi obyekt ikki sinfdan biriga tegishli ekanligiga asoslanib, qo'llabquvvatlovchi vektorli mashina barcha obyektlar ikki guruhdan birida bo'lishi uchun
(N - 1) o'lchovli giperplan yaratadi. Qog'ozda uni quyidagicha ifodalash mumkin:
ikki xil nuqtalar mavjud va ularni chiziqli ajratish mumkin. Ushbu usul nuqtalarni
ajratishdan tashqari, har bir guruhning eng yaqin nuqtasidan iloji boricha uzoqroq
joyda giperplan hosil qiladi.
Vektorli mashinani qo'llab-quvvatlash va uning modifikatsiyalari mashinali
o’qitishda tasvirdan odamning jinsini aniqlash, veb-saytlarda reklama bannerlarini
namoyish qilish kabi murakkab masalalarni hal qilishga yordam beradi.
Ansambl usuli. Bu sinflagichlar to'plamini yaratadigan va ularning o'rtacha
yoki ovoz berish natijalariga ko'ra barcha olingan obyektlardan yangi obyektlarni
ajratib turadigan mashinali o’qitish algoritmlariga asoslanadi. Dastlab ansambl usuli
Bayesning o'rtacha ko'rsatkichi bo'lgan, ammo keyinchalik u yanada murakkablashdi
va qo'shimcha algoritmlar bilan to'ldirildi:
• kuchaytirish - klassifikatorlar ansamblini shakllantirish orqali zaif modellarni
kuchli modellarga aylantiradi (matematik nuqtai nazardan, bu yaxshilanadigan
kesishma);
• potfellar (sumkalar) - bir vaqtning o'zida asosiy sinflarni o'qitishda
(birlashishni takomillashtirishda) murakkab klassifikatorlarni yig'adi;
• chiqishdai kodlash xatolarini tuzatish.
Ansambl usuli mustaqil bashoratlash modellariga qaraganda kuchliroqdir,
chunki:
• har bir tayanch sinflagichining xatolarini o'rtacha hisoblash orqali tasodif
ta'sirini minimallashtiradi;
• farqni kamaytiradi, chunki har xil farazlarga asoslangan bir necha xil
modellar alohida olingan natijalarga qaraganda to'g'ri natijaga erishish ehtimoli
ko'proq;
• to'plamdan tashqariga chiqishni istisno qiladi: agar jamlangan gipoteza asosiy
farazlar to'plamidan tashqarida bo'lsa, unda birlashtirilgan gipotezani shakllantirish
bosqichida u u yoki bu usul yordamida kengaytiriladi va gipoteza unga kiritilgan
bo’ladi.
48
3. Mashinali oqitish (MO’) uchun kerakli instrumental vositalar
(Octave/ Matlab/Python/) tahlili va imkoniyatlari bilan tanishish
Mashinani o’qitish (MO’) uchun asosiy instrumenta vositalar, bu Python MatLab – R dasturiy muhitlari hisoblanadi. MatLab, Python va R dasturiy muhitlari
matematika va statistika asoslarini o'qitishda samarali ishlatiladi. Bu dasturiy
muhitlar malumotlarga asoslangan muhitdagi katta hajmli ma'lumotlarni statistik
tahlillar orqali o'rganishda, ayniqsa qaror qabul qilishda juda qulay hisoblanadi.
Python. Python - dasturlash tilining bitta turi. Python ma’lumotlarga boy
muhitda kiruvchi ma’lumotlar statistikasini tahlil qilishni o'qitish uchun júda
qulaydir. Bu dasturlash tilida eng keng tarqalgan dastur bu C (CPython deb
nomlanadi). Python faqatgina dasturlash tili bo’libgina qolmasdan, balki u katta
standart kutubxonalardan iborat. Bu kutubxonalar umumiy dasturlashga e'tibor berish
uchun tuzilgan va operatsion sistema (OS) uchun maxsus, ish yuritish, tarmoq va
matumotlar omborlari uchun modullarni qamrab olgan.
MatLab. MatLabdan matematik hisoblashlar va statistik tahlil qilish kabi
masalalarni echishda foydalanish mumkin. Katta hajmli ma’lumotlar bilan aloqador
qarorlarni qabul qilish uchun Python va R-dan foydalanish samarali hisoblanadi.
MatLab nafaqat tijorat raqamli hisoblash muhiti, balki dasturlash tili sifatidada ham
yuqori baholanadi. MatLab ham standart kutubxonalarga ega, biroq uning
ishlatilishida matritsali algebra va ma'lumotlarga ishlov berish va chizish uchun katta
tarmoq mavjud. Shu bilan birga, u ilg'or o'quvchi uchun vositalar majmuini qamrab
olgan, lekin bu foydalanuvchiga qo'shimcha xarajatlarni keltirib chiqaradi.
R dasturi. R - bu statistik tahlillar va grafikalarni chiqarish uchun
mo’ljallangan dasturiy ta'minot hisoblanadi. R avvaldan paketlangan, avvaldan
dasturlashtırılgan statistik tahlil sharoitida belgilar asosida qarorlar qabul qilishi
mumkin bo'lgan ko'plab moslashtirilgan dasturlarga ega. R - bepul, shaffof manbali
statistik dasturdur. Yangi Zelandiyadagi Oklend Universitetining hamkasblari Robert
Gentleman va Ross Ihaka 1993 yilda dasturiy ta'minotnı yaratdi, sababi ular
o'zlarining sinflash masalalari uchun yaxshi dasturiy ta'minot muhitiga ehtiyoj sezdi.
GNU Octave - bu MATLAB bilan mos keladigan yuqori darajadagi tilni
ishlatadigan bepul matematik hisoblash tizimi. Bu chiziqli va chiziqli bo'lmagan
matematik masalalarni echish hamda boshqa raqamli tajribalarni bajarish uchun
interaktiv buyruq interfeysini taqdim etadi. Bundan tashqari, Oktav partiyani qayta
ishlash uchun ishlatilishi mumkin.
Oktav tili haqiqiy va murakkab skalar va matritsalar arifmetikasi bilan ishlaydi,
chiziqli algebraik masalalarni echish, chiziqli bo'lmagan algebraik tenglamalar
tizimining ildizlarini topish, polinomlar bilan ishlash, har xil differentsial
tenglamalarni echish, differentsial va differentsial-algebraik tizimlarni birlashtirish
uchun kengaytmalarga ega. funktsiyalarni cheklangan va cheksiz intervallarga
birlashtirgan birinchi darajadagi tenglamalar. Ushbu ro'yxat Oktav tili yordamida
osonlikcha kengaytirilishi mumkin (yoki C, C ++, Fortran va boshqalarda yaratilgan
dinamik ravishda yuklanadigan modullar yordamida).
49
Oktav MATLAB muvofiqligini hisobga olgan holda yozilgan va uning ko'plab
xususiyatlarini amalga oshiradi:
• matritsalar ma'lumotlarning asosiy turlari sifatida;
• kompleks raqamlar uchun o'rnatilgan qo'llab-quvvatlash;
• kuchli o'rnatilgan matematik funktsiyalar va katta funktsiyalar kutubxonalari;
• kengaytirilganlik, maxsus funktsiyalarni yaratish qobiliyati tufayli.
Ammo farqlar ham mavjud:
• sharhlar # va% bilan boshlanishi mumkin;
• C kabi operatorlar ++, -, + =, * =, / = qo'llab-quvvatlanadi;
• elementlarga yangi o'zgaruvchini yaratmasdan murojaat qilish mumkin,
masalan [1:10];
• qatorlar "" "va" "" belgilar bilan belgilanishi mumkin.
Python hozirda eng keng qo'llaniladigan dasturlash tillaridan biridir. Uning
afzalliklaridan biri bu turli xil vazifalarni hal qiladigan ko'plab to'plamlardir. Ushbu
o'quv qo'llanma uchun biz ma'lumotlarni o'qish, saqlash va qayta ishlashni ancha
osonlashtiradigan Pandas, NumPy va SciPy kutubxonalaridan foydalanishni tavsiya
etamiz. Shuningdek, sizga ko'plab mashinalarni o'rganish algoritmlarini amalga
oshiradigan Scikit-Learn to'plami taqdim etiladi.
Shuni ta'kidlash kerakki, Pythondagi asosiy farqlar:
• satr oxirida izlarning yo'qligi (nuqta, vergul va hk), bu yozishni chiziqli
konstruksiyalarni juda "yoqimli" va tezkor qiladi (va ko'pgina kompyuter dasturlari
hali ham chiziqli matematik, ammo murakkab ko'p darajali tizimlar emas).
• bo'shashmasdan terish. O'zgaruvchini e'lon qilishda ma'lumotlar turini e'lon
qilishning hojati yo'q, bu yana modelni yaratish jarayonini tezlashtiradi.
• Python talqin qilingan, o'zaro faoliyat platforma va yaxshi disk raskadrovka
vositalariga ega.
Ilovalarni ishlab chiqish uchun bizga quyidagilar kerak:
• Til, kod ishlab chiqish muhiti (IDE) va ishlash vaqti. Bizning holatlarimizda
bu Anaconda va PyCharm.
• Asosiy kutubxonalar to'plami: Scikit-learn, Numpy, Pandas, Matplotlib,
Theano, Keras.
Muhim nuqta shundaki, asl holatida ishlash uchun barcha komponentlar
Windows tizimiga xos emas, shuning uchun ushbu ko'rsatmalar birinchi navbatda
Windows foydalanuvchilari uchun amal qiladi.
Quyida MatLab, Python va R dasturiy muhitlarning har birining afzalliklari va
kamchiliklari haqida qisqacha to'xtalamız.
MatLabning afzalliklari. Quyidagi afzalliklarga ega:
- matematikaning turli yo'nalishlarini, masalan, hisoblash yoki grafik
tenglamalarini o'rgatish uchun qulay;
- signallarga ishlov berishi sifatli;
- juda ko'p foydali kutubxonalar jamlanmasiga ega;
- matritsa ustida bajariladigan amallar bilan aloqador har qanday jarayonlar
oddiy va aniq bajariladi;
- raaqamli ma’lumotlar matritsa shaklida berilganda qulay ishlaydi.
50
Quyidagi kamchiliklarga ega:
- litsenziyaning bahosi - uni foydalanuvchisi har bitta modulni sotib olishi va
unga to'lov qilishi zarur;
- o'zaro ishga layoqatlilik kompilyasiya vaqtida yoki MatLabnı boshqa til
kodiga aylantirishning juda qiyinligi;
- hamma xatolar bilan shug'ullanishning qiyinligi;
- MatLabning teran bilimni talab etishligi;
- qandaydir tovar ishlab chiqarishning taklif etilmasligi;
- shaffof manbali ekosistenińg yetishmasligi.
R dasturining afzalliklari. Quyidagi afzalliklarga ega:
- R - statistik masalalarni tarqatib olishga harakat etadigan statistik to'plam;
- R da har xil analitik masalalarni hal etishga urinadigan ko'plab paketlangan
dasturlari bor.
- analitik sohada, statistik tahlilni amalga oshirishda MatLabdan ustunroq;
- R mavjud eng keng qamrovli statistik tahlillar jamlanmasi bo'lib, u mavjud
standart statistik testlarni, modellarni va tahlillarni qamrab olgan;
- ma'lumotlarni boshqarish va boshqarish uchun keng qamrovli tilni taklif etadi;
- yangi texnologiyalar va g'oyalarning ko'pincha birinchi bo'lib R da paydo
bo'ladi;
- yuqori sifatli kutubxonalar mavjud;
- yaxshi interaktiv tahlil qilish vositasi – Rstudio mavjud;
- R dasturi ko'plab domenlarga xizmat qilish uchun 5000 dan ortiq
kutubxonalarga ega;
- R dasturi vizualizatsiyalash maslasida Pythonga nisbatan samarali;
- ishbilarmon foydalanuvchilar (marketing analitikasi, chakana analitikasi)
uchun odatda R dasturi qulay, chunki ular tez-tez tez prototiplash va
vizualizatsiyalash kabi ishlarni amalga oshiradi (bu R dasturida Pythonga qaraganda
tezroq bajariladi).
R dasturining kamchiliklari. Quyidagi kamchiliklarga ega:
- R ni boshlang'ich o'rganish uchun ko'proq mehnarni taqazo etadi;
- R dasturiy ta'minoti dastlab katta hisoblashlarda muammolarga uchradi,
masalan, nxn matritsasini ko'paytirishda;
- katta hajmli matumotlar bilan ishlashda R dasturining imkoniyatlari Pyhtonga
nisbatan cheklanishlarga ega.
Pythonnıng afzalliklari. Quyidagi afzalliklarga ega:
- Python tili dasturiy ta'minot ishlab chiqaruvchi kompaniyalarda, masalan,
turli oyinlar, veb-oynalar, Internet va Internetni rivojlantirish, ma’lumotlar bazasiga
kirish, ilmiy va raqamli hisoblashlar, o’qitish, tarmoqli dasturlash, dasturlash tillarda
dasturiy ta'minotlar ishlab chiqish, prototiplar yaratish, grafik dizayn dasturlari kabi
turli xil dasturlarga ega;
- foydalanuvchilarga qulay va o'rganish oson;
- o'zaro ishga layoqatli platformani qo'llab – quvvatlashga ega;
- shaffof;
- keng xajmli kutubxonalarga ega;
51
-string operatsiyalari, Internet, veb-xizmat vositalari, operatsion tizim
interfeyslari va protokollari kabi sohalarni o'zlari ichiga olgan yirik standart
kutubxonalar mavjud;
- boshqa dasturlash tillar bilan integratsiya mavjud;
- Java, VB, Perl, C, C ++ va C # kabi tillardan foydalanishda keng qamrovli
kutubxonalar va dizaynlar mavjud;
- Pandas, Scikit-learn, Numpy, Scipy, Ipython va Matplotlib, Python 3, R 2
kabi eng ko'p ishlatiladigan ilmiy hisoblash kutubxonalari mavjud;
- sun'iy intellekt va MO’ uchun kutubxonalarning mavjidligi - Tensorflow ( bu
a'lo darajadagi nerv tarmoqi kutubxonasi), scikit-learn (ma'lumotlarni tanlab olish,
tahlil qilish va MO’ uchun), pylearn2 (scikit-learngga qaraganda ancha
moslashuvchan) va boshqa kutubxonalar.
- sun'iy intellekt sohasidadagi masalalarni (simvolli o’zgaruvchilar bilan
ishlashda) echishda qo’llaniladigan Python - simvolli til ekanligi;
- dastur kodining yozuvi va diskni rostkodlashni amalga oshirish uchun
sarflanadigan vaqtning C, C ++ yoki Java bilan solishtirilganda kamroq ekanligi;
- Pythonni o'rganish oson, deyarli ingliz tilini o'qishga o'xshaydi;
Pythonnıng kamshiliklari. Quyidagi kamchiliklarga ega:
- korporativ yechimlarni ololmaydi;
- boshqa tillardan foydalanishdagi qiyinchiliklarning mavjudligi;
- mobil hisoblash texnikasining zaifligi;
- tezlikni pasaytirishligi;
- ishlash vaqtidagi xatolarning mavjudligi;
- matumotlar bazasiga kirish qoplamalarining rivojlanmaganligi.
Pythonnıng MatLabdan afzalliklari. Quyidagi afzalliklarga ega:`
- Python kodi MatLab kodiga qaraganda ixcham va o'qish osonroq;
- Python MatLabdan farqli o'laroq, blokni asta-sekin ko'rsatish uchun end
operatorini ishlatadi;`
- Pythonda obyektaa yo'naltirilgan dasturlash (OYD) oddiy egiluvchanlik
xususiyatiga ega, MatLabda esa - OYD sxemasi murakkab va tushunarsizdir;
- Python bepul va ochiq;
- Python ishlab chiqaruvchilari foydalanuvchilarni dasturiy ta'minot uchun
tavsiyalar kirituvchilarni rag'batlantiradi, MatLab ishlab chiquvchilari esa buni taklif
etmaydi;
- Python grafik paket va asboblar majmualarida kengroq tanlov majmualarini
taklif etadi.
Oʻzini-oʻzi tekshirishga doir savollar
1.
2.
3.
4.
5.
6.
MO’Tlar deganda nimani tushunasiz?
MO’Tlarni yaratishga nechanchi yillardan boshlab kirishilgan?
MO’Tlarning texnika tashxisida qoʻllanilishi.
MO’Tlarning tibbiyot tashxisida qoʻllanilishi.
MO’Tlarning qishloq xoʻjaligida qoʻllanilishi.
Belgilarning qanday turlari mavjud?
52
7. MO’Tlarni turlarga boʻlishda qanday tamoyillarga asoslanamiz?
8. MO’Tlarni sinflashtirishning ikkinchi tamoyilini keltiring?
9. Bir pogʻonali MO’Tlarda belgilar haqidagi ma’lumotlar qanday olinadi?
10. Koʻp pogʻonali MO’Tlarda belgilar haqidagi ma’lumotlar qanday olinadi?
11. MO’Tlarni sinflashtirishning uchinchi tamoyilini keltiring?
12. Oʻqituvchili va oʻqituvchisiz etalon tizimlarni izohlang.
13. Oʻzini-oʻzi MO’Tlarni izohlang?
14. MO’Tlarni sinflashtirishning toʻrtinchi tamoyilini izohlang?
15. MO’Tlar qanday tamoyillar asosida sinflashtirililadi?
16. Determinallashgan, ehtimolli, mantiqiy, strukturali va kombinatsiyalashgan
tizimlarda tanib olish masalasini yechish usuli nimalarga asoslanadi?
17. Tanib olish jarayoni nechta qadamdan iborat?
18. Chuqur o’qitish qanday jarayon hisoblanadi?
19. Chuqur o’qitishda asosan qanday usuldan foydalaniladi?
20. Chuqur o’qtitishda mashinali o’qitishning qanday usullaridan foydalaniladi?
21. Regressiya, sinflashtirish va klasterlash usullarini izohlang?
22. Chuqur o’qtitish qanday bosqichlardan iborat?
23. Chuqur o’qitishda qanday kamchiliklar kuzatiladi?
24. Mashinani o’qitish (MO’) uchun qaysi instrumenta vositalar qo’llaniladi?
25. Python, MatLab va R dasturlarining tavsiflari nimalardan iborat?
26. GNU Octave matematik hisoblash tizimining qanday xususiyatlari mavjud?
27. MatLabning afzalliklari va kamchiliklari nimalardan iborat?
28. R dasturining afzalliklari va kamchiliklarini izohlang?
29. Pythonnıng qanday afzalliklari va kamshiliklari mavjud?
30. Pythonnıng MatLabdan asosiy afzalliklari nimalarda ko’rinadi?
Nazorat testlari
1. Sinflashtirish - bu ... asosida sinflarga bo‘lish.
a) obyektlarni belgilar;
b) obyektlarni etalon tanlov;
c) etalon tanlovni erkin tanlov; e) harflarni erkin tanlov.
2. Mashinali o’qitish tizimlarni sinflashtirish nechta tamoyillarga asoslanadi?
a) 4; b) 2; c) 6; e) 1.
4. Mashinali o’qitish tizimlarini sinflashtirishning 1- tamoyilda ………….. ekanligi
e’tiborga olinadi.
a) belgilarning fizik tabiati bir xilda yoki ko‘p xilda;
b) obyektlarning fizik tabiati bir xilda yoki ko‘p xilda;
c) sinflarning fizik tabiati bir xilda yoki ko‘p xilda;
e) tizimning fizik tabiati bir xilda yoki ko‘p xilda.
5. Mashinali o’qitishning oddiy tizimlari obyektlardagi ………... fizik tabiati
bo‘yicha bir xildaligi bilan harakterlanadi.
a) belgilarning; b) qoidalarning; c) uzilishlarning; e) to’liqlikning.
6. Mashinali o’qitishning murakkab tizimlari obyektlardagi ………….. fizik tabiati
bo‘yicha ko‘p xildaligi bilan harakterlanadi.
53
a) belgilarning; b) qoidalarning; c) uzliksizlikning; e) to’liqlikning.
7. Mashinali o’qitishning bir pog‘onali tizimlarda ………….. haqidagi ma’lumotlar
o‘rganilayotgan obyektlardan to‘g‘ridan-to‘g‘ri o‘lchash natijasida olinadi.
a) belgilar; b) qaror qabul qiluvchi qoidalar; c) chiziqli qoidalar;
e) mantiqli qoidalar;
8. Mashinali o’qitishning ko’p pog‘onali tizimlarda ……..... haqidagi ma’lumotlar
o‘rganilayotgan obyektlardan nisbiy o‘lchash natijasida olinadi.
a) belgilar; b) sinflar; c) tizimlar; e) bilimlar.
9. O’qituvchisiz (o’zini-o’zi) o‘qituvchi tizimlarda …….. alfaviti berilgan bo‘ladi.
a) obyektlar to‘plami va belgilar; b) sinflar to‘plami va obyektlar;
c) qoidalar to‘plami va sinflar;
e) obyektlar to‘plami va sinflar.
10. Mashinali o’qitish tizimlarini sinflashtirishning 4- tamoyilda ................ haqidagi
ma’lumotlarning harakterlarini o‘rganish e’tiborga olinadi.
a) obyektlarni anglashda belgilar;
b) belgilarni sinflashda obyektlar;
c) qoidalarni bo’laklashda obyektlar; e) tizimlarni o’rganishda qoidalar.
11. Obyektlarni tanib olish jarayoni asosan nechta qadamdan iborat ?
a) 3; b) 5; c) 2; e) 4.
12. O‘qituvchili o’qitishda ………..... soni va obyektlarning qaysi sinfga qarashliligi
oldindan berilgan bo’ladi.
a) sinflar, obyektlar, belgilar;
b) belgilar, qoidalar, sinflar;
c) obyektlar, etalonlar, qoidalar; e) sinflar, qoidalar, masofalar.
13. O‘qituvchisiz o’qitishda ……………..... soni oldindan berilgan va obyektlarning
qaysi sinfga qarashliligi oldindan berilmagan bo’ladi.
a) obyektlar, belgilar; b) belgilar, qoidalar;
c) obyektlar, qoidalar; e) qoidalar, masofalar.
14. Qaror qabul qiluvchi qoidani qurish .......................... aniqlashga asoslanadi.
a) o‘qituvchili yoki o‘qituvchisiz o’qitish jarayonida obyektlarga xos bo‘lgan
asosiy belgilar tizimini;
b) o‘qituvchili o’qitish jarayonida idrok etishni;
c) o‘qituvchisiz o’qitish jarayonida etalon tanlovni;
e) o‘zini-o’zi o’qitish jarayonida etalon tanlovni.
15. Obyektlarni tanib olish etalon tanlovdagi ................ aniqlashga asoslanadi.
a) obyektlarni o’rganish jarayonida hosil qilingan qaror qabul qiluvchi qoida
yordamida yangi obyektlarning qaysi sinflarga qarashli ekanligini;
b) to’liq bo’lmagan muhim belgilarini;
c) to’liq bo’lgan etalon tanlovdagi o’xshash sinflarni;
e) to’liq bo’lgan obyektlarini.
16. .......... o’qitish - bu ko'p qatlamli neyron tarmoqlarini tadqiq qilinayotgan
obyektga tegishli juda katta miqdordagi ma'lumotlardan foydalanib, ularning tuzilishi
va xususiyatlarini tushunishga qaratilgan jarayondir.
a) Chuqur; b) O’qituvchili; c) O’qituvchisiz; e) To’liqmas.
17. ..............o’qitish asosan neyron tarmoqlari asosida amalga oshiriladi va bunda
quriladigan neyron tarmog’i xususiyatlari va o’qitish jarayoni muhim hisoblanadi
hamda neyron tarmog’i aniqligini oshirishga xizmat qiladi.
54
a) Chuqur; b) O’qituvchisiz; c) O’qituvchili; e) To’liqmas.
18. ................. - o’qituvchili (supervised) o’qitish usuli hisoblanib, o’qitish natijasida
qurilgan model doimiy qiymatlar qabul qiladi.
a) Regressiya; b) Sinflashtirish; c) Klasterlash; e) Identifikatsiyalsh.
19. Sinflashtirish - o’qituvchili (supervised) o’qitish usuli hisoblanib, o’qitish
natijasida qurilgan model biron sinfga tegishli yoki tegishli emaslik haqidagi qiymat
qabul qiladi.
a) Sinflashtirish; b) Identifikatsiyalsh; c) Klasterlash; e) Regressiya;
20. - o’qituvchisiz (unsupervised) o’qitish usuli hisoblanib, o’qitish natijasida model
oxshash xususiyatlarni aniqlashga oid qiymatlarni hisoblaydi.
a) Klasterlash; b) Identifikatsiyalsh; c) Sinflashtirish;e) Regressiya;
21. Chuqur o’qtitishda qaysi mashinali o’qitish usullaridan foydalaniladi?
a) klasterlash, sinflashtirish, regressiya;
b) tarmoqlash, integrallash, regressiya;
c) differensiallash, inversiyalash, chatishtiruv;
e) sinflashtirish, seleksiyalsh; ko’paytirish.
22. Chuqur o’qtitishning bosqichlari qaysi javobda to’g’ri keltirilgan?
a) muammoni tushunib olish, ma’lumotlarni aniqlash, chuqur o’qitish algoritmni
belgilash, modelni qurish, modelni testlash;
b) muammoni tushunib olish, ma’lumotlarni aniqlash, chuqur o’qitish algoritmni
belgilash, klasterlash, sinflashtirish;
b) tarmoqlash, integrallash, regressiya, modelni qurish, modelni testlash;
c) muammoni tushunib olish, differensiallash, inversiyalash, chatishtiruv, chuqur
o’qitish algoritmni belgilash.
e) sinflashtirish, seleksiyalsh; ko’paytirish, muammoni tushunib olish,
ma’lumotlarni aniqlash.
23. Mashinani o’qitish (MO’) uchun asosiy instrumenta vositalar – bu ………….
hisoblanadi
a) Python; MatLab; R;
b) Python; MatLab; C;
c) MatLab; C; C++;
e) C; Java; R.
23. Python – bu ………………. bitta turi hisoblanadi.
a) dasturlash tilining;
b) operatsion tizimning;
c) tilni tarjima;
e) grafik chizishning.
24 MatLabdan …………….va ……………. qilish kabi masalalarni echishda
foydalanish mumkin..
a) matematik hisoblashlar; statistik tahlil;
55
b) operatsion tizimlar; parallel ulash;
c) matnni tarjima qilish; printerni ulash;
e) diskret hisoblashlar; yozma tahlil.
25. R - bu …………….. tahlillar va ……….. chiqarish uchun mo’ljallangan dasturiy
ta'minot hisoblanadi.
a) statistik; grafikalarni;
b) operatsion; formulalarni;
c) matnli; qo’lyozma;
e) dinamik; ketma-ket.
26. ………….. - bu MATLAB bilan mos keladigan yuqori darajadagi tilni
ishlatadigan bepul matematik hisoblash tizimi.
a) GNU Octave;
b) Python;
c) MatLab1;
e) Fortran.
27. Pandas, Scikit-learn, Numpy, Scipy, Ipython va Matplotlib, Python 3, R 2 kabi
eng ko'p ishlatiladigan ilmiy hisoblash kutubxonalari qaysi dasturda mavjud?
a) Python;
b) GNU Octave;
c) MatLab;
e) R dasturida.
28.Korporativ yechimlarni ololmasligi, boshqa tillardan foydalanishdagi
qiyinchiliklarning mavjudligi, mobil hisoblash texnikasining zaifligi qaysi
dasturlash mihitiga xos kamchiliklar hisoblanadi?
a) Python;
b) GNU Octave;
c) MatLab;
e) R dasturiga.
29. Qaysi dastur vizualizatsiyalash maslasida Pythonga nisbatan samaraliroq?
a) R dastur;
b) GNU Octave;
c) MatLab;
e) C++.
30. Qaysi dasturda Java, VB, Perl, C, C ++ va C # kabi tillardan foydalanishda keng
qamrovli kutubxonalar va dizaynlar mavjud?
a) Pyton;;
b) GNU Octave;
c) MatLab;
e) R dastur.
56
Download