Machine Learning Part1

5 minute read

Machine Learning part 1: Machine learning o’zi nima?

Assalomu alaykum qadrli do’stlar! O’ylashimcha, bu maqolani o’qiyotgan ekansiz demak “Machine learning” haqida eshitgansiz, ayniqsa o’tgan 5 yil ichida bu atama juda ommobop mavzuga aylandi. Agar sizda hali ham bu atama nimani anglatishi haqida ikkilanishlar bo’lsa bugun men sizlar bilan bu haqadagi o’z tushunchalarimni baham ko’rmoqchiman. Demak boshladik, sizni bu yerga yetaklab kelgan eng muhim savol yoki sabab: ““Machine learning” o’zi nima?” degan savolga javob topish. Fikrimcha siz mendan darsliklarda yoki Wikipediada yozilgan uzundan uzun , tushunarsiz tariflarni eshitmoqchi emassiz. Sodda qilib aytadigan bo’lsam “Machine learning” bu- biz endilikda kompyuterlarga qanday ishlashni o’rgatmaymiz, biz shunday qilamizki kompyuterlar nimadir qilishni o’zlari o’rganadi! Haliyam tushunarsizmi?! Keling rasm orqali tushunishga harakat qilamiz:

alt text

Rasmda ko’rganingizdek, bizda model (o’rtada eng katta ko’k quti), kiruvchi ma’lumot (birinchi quti) qaysiki attribute va labellardan iborat (feature and label) va chiquvchi ma’lumot (activation) bor. Bular o’zi nima demoqchimisiz? Tassavur qiling, siz kompyuteringiz sizga berilgan rasmda it bor yoki yo’qligini aytib bera olishini xoxlaysiz. Demak bizda it rasmi bor:

alt text

Birinchidan, atribut(yoki feature) nima? Agar bu atamani birinchi marta eshitib turgan bo’lsangiz, sizni tabriklayman endilikda bu atama har qadamingizda uchraydi (albatta Machine Learning ni o’rganishni davom ettirsangiz). Keling soddalashtiramiz. It rasmiga qarang, unda 4 ta oyoq( dunyodagi barcha itlarniki kabi), qora burn, dum, uzun til va shunga o’xshash yana ko’plab belgilari bor. Demak shu va shu kabi boshqa belgilar orqali kishilar itning it ekanligini bilishadi. Biz aytayotgan atributlar (yoki features) bu malum obektga tegishli belgilar demakdir. Belgilar malum bir obektlarni boshqalaridan farqlash uchun ishlatiladi. O’z o’zidan savol tug’iladi nimaga biz kompyuterlarga shunday farqlashni o’rgatmas ekanmiz?! Nimadir tushungandaysizmi? Endi ikkinchi tushuncha “label” haqida gaplashamiz. “Label” bu maxsus belgilarga ega obektning nomi. Bizning misolda label=it. Demak, to’rtta oyoq, qora burn, uzun osilib turgan til va uzun dumga ega obektni it(yoki kuchuk) deb nomlaymiz(obekt nomi label ekan). Boshqa obektlarnichi?! Hozircha ularni “it emas” deb nomlab turamiz. Balki siz nimaga o’z nomlari bilan emas dersiz, masalan mushuk, chumchuq yoki shunga o’xshash. Bu savolga “Logistic Regression” mavzusiga kelganimizda javob topasiz. Hozircha bu haqda o’ylamay turing, hali juda ko’p qiziqarli narsalar oldinda bunga vada beraman! Demak biz atributlar(obekt belgilari) va label(obekt nomi) haqida bilib oldik, xo’p keyinchi? Bolaligingizni eslaysizmi, ota onamiz bizga ko’plab rasmi bor kitoblar olib berishardi(yoki bog’chada rasmli kitoblar ko’b bo’lardi), keyin bizga ularning ko’rsatib nomini aytishardi va keyingi safar bizdan u nima ekanligi haqida so’rashardi, biz javob taopsak juda xursand bo’lishardi biz ham to’g’ri javob berganimizdan faxrlanib xursand bo’lar edik, esladingizmi? Buni eslatishimdan maqsad biz ham huddi shu ishni “aqilli qurilma”larimizda bajaramiz. Demak ularga juda ko’p miqdorda rasmlarni ko’rsatib qaysi obekt ekanligini aytamiz, mana bunday:

alt text

Yuqorida ko’rganingizdek, har bir rasmda obekt nomi berilgan, huddi biz bolalikda takrorlagan ishdek. Kompyuterlarimiz ham biz ko’rsatgan rasmlardan obektlarni o’rganadi. O’RGANADI, xotirasida SAQLAB qoladi emas.Biz o’rgangan ekanmiz demak kompyuterlar ham o’rgana oladi, to’g’rimi? Oxirgisi, chiquvchi malumot (yoki activation) nima bo’ladi? Oddiy qilib aytganda kompyuter bizga beradigan JAVOB. Tassavur qiling, kompyuteringiz it obektini o’rgandi, keyin biz unga oldin umuman ko’rmagan it rasmini ko’rsatamiz, u o’rganganlari orqali bizga javob beadi (it yoki it emas deb). Ha aytgancha biz kompyuterga it rasmini o’rgatib keyin undan mushukni tanishini so’rolmaymiz, bu odamlarda ham shundayku to’g’rimi?! Tushunarliroq bo’lishi uchun rasmda ko’rsatamiz:

alt text

Ha endi kompyuteringiz berilgan rasmlar bo’yicha it va qisqichbaqaning farqiga boradi. Eslatma, kompyuteringiz hali qisqichbaqa haqida bilmaydi, u faqat uning it emasligini biladi. Tushunarlimi? Ha albatta o’rganishni davom ettiring yanada tushunarliroq bo’laveradi. “Machine learning” deganda doim atributlar(belgilar), label(obekt nomlari) va activation(javob) tushunchalar ko’z oldimizga kelishi kerak. Demak shu yergacha o’qigan bo’lsangiz sizda “machine learning” nimaligi haqida o’z tushunchalaringiz shakllandi. Unchalik qiyin narsamas to’g’rimi? Unda keyingi bosqichga o’tamiz:

alt text

Shoshilmang! Yana tushunarsiz matematika boshlandi deb o’yladingizmi? Qo’rqmang , hali ungacha erta. Buni ko’rsatishdan maqsad nima dersiz? Chunki , bu maqolani o’qib do’stlaringiz bilan machine learning haqida suhbatlashayotganingizda itning to’rtta oyog’i bu itning atributi kabi gaplarni gapirmasligingiz uchun(hazil). Hammamizga malumki kompyuter faqatgina 0 va 1 ni tushunadi. Demak u itning dumini yoki tilini ko’rolmaydi, ko’rolgan narsasi 0 va 1. Kompyuter esa atributlar, labellar, activation larni 0 va 1 dan tashkil topgan matritsa ko’rinishida ko’radi. Keling o’rgangan narsalarimizni umumlashtiramiz:

alt text

Tanish ko’rinyaptimi endi? Demak biz kompyuterga itni (umuman qandaydir obektni) taniy oladigan model yaratishiga yordam beramiz(yordam beramiz, modelni yaratmaymiz, machine learning qiladigan ish ham ana shu). Machine learning haqida gapirganimizda, atributlar, labellar, actvation va albatta model haqida gapiramiz. Demak keying qadam, mashq qilish? Mashq qilish deganda muskullarni mashq qildirish emas balki miyyani aniqroq aytsak kompyuter miyyasini mashq qildiramiz. Kompyuterga rasmlarni ko’rsatayotganimizda bo’layotgan jarayonni nazarda tutyapman. Keling yaxshisi o’rganish qanday sodir bo’lyapti shu haqda gaplashamiz. Biz ularga o’rgatmayapmizku(machine learning deyapmiz mashinaning o’rganishi- qanday va nimadan o’rganyapti?) Flashkardlar orqali so’z yodlab o’rganganmisiz?! Bu huddi shunga o’xshash jarayon, kompyuter hech narsa bilmasdan turib obektning it yoki it emasligini taxmin qiladi va taxmindan keyin javobni ko’radi. Ha xuddi odamlardek xatolardan o’rgana boshlaydi, qancha ko’p hato qilsa shuncha tez o’rganadi. Keyingi qadam baholash.(Evaluation). Tasavur qilamiz kompyuterga 100 ta rasm ko’rsatdik shundan 50tasi it rasmlari, qolgan 50tasi it bo’lmagan obektlar. Kompyuter har bitta rasmni qaysi obekt ekanligini topishga harakat qiladi yani taxmin qiladi. Misol uchun 100 ta rasmdan 69 tasini to’g’ri taxmin qildi. Demak bu son kompyuterning it obektini taniy olish extimolligi 69% ekanligini ko’rsatadi. Yomonmas a? Mana shu narsa baxolash deyiladi. Kompyuter o’zi bajargan ishni baholaydi:

alt text

Lekin natija bizni qoniqtirmasachi? Biz bu haqda kompyuterga aytamiz va u o’z parametrlarini yangilaydi. Parametrlar o’zi nimalar? Yuqorida biz model degan tushuncha haqida gapirgandik, parametrlar o’sha model ichidagi narsalar. Xuddi zavoddagi mashinalar kabi agar maxsulot yaxshi chiqmasa mashinani tuzatishadi va yana ishni davom ettirishadi. Huddi shu ish modeldagi parametrlar bilan ham sodir bo’ladi, qoniqtirmadimi parametrlar o’zgartiriladi. Bu yerda 2 ta parameter haqida gap ketadi w og’irlik uchun(for weights) va b baiyslar uchun(for biases) yuqoridagi rasmda ikkalasi birgalikda Ө belgi bilan belgilangan. Demak, mashq qilish, baholash, parametrlarni yangilash machine learning ning asosi hisoblanadi(traning, evaluating, parameter updating). Bu maqola oxirida yana bir tushuncha bilan tanishtirmoqchiman yani activation function(javob topish uchun ishlatiladigan funksiya). Keling rasmda ko’ramiz

alt text

Activation function (Javob topish funksiyasi) og’irlik(weights) va baislardan(bies) tashkil topgan funksiya hisoblanadi, nima uchun bunday nomlangani haqida keying maqolalarda gaplashamiz. Bugunga yetarli deb o’ylayman, keyngi maqolalarimda yanada ko’plab qiziqarli va foydali malumotlar keltirishga harakat qilaman albatta kod ham yozamiz. Bilimlarimizni amaliyotda ham sinab ko’ramiz! Umid qilamanki bu malumotlar foydali bo’ldi! Ko’rishguncha!

Maqola mana bu manba asosida tayyorlandi.