Ushbu seriya Neyron tarmoqlarini o'rta maktab matematikasidan boshqa hech narsani bilmaydigan odamlar uchun tushunarli qilishga urinishdir. Koddan keyin zerikarli matematik tenglamalar va uzun kod satrlarini ularning birortasidan qanday foydalanishni bilmasdan tomosha qilishdan ko'ra dahshatliroq narsa yo'q. Barcha zavqlarni olib ketadi!

Shunday ekan, ortiqcha gaplarsiz, neyron tarmoqlar orqasidagi tushunchalarni muloyimlik bilan kiritadigan oddiyTasniflash muammosini tushunishdan boshlaylik.

Aytaylik, siz universitet talabalarini yozgi amaliyot uchun yollamoqchi bo'lgan kompaniyaning ishga yollash menejerisiz. Siz 3.0 GPA bo'lgan va 10 ta shaxsiy loyihani tugatgan talabaning rezyumesini olishingiz mumkin, siz talabani yollashga qaror qilasiz. Boshqa rezyume 1.0 GPA va 2 shaxsiy loyihaga ega bo'lishi mumkin, siz arizani rad qilasiz. Endi siz 2.7 GPA va 8 shaxsiy loyihaga ega yana bir rezyume haqida qaror qabul qilishingiz kerak, uqabul qilinadimi yoki yo'qmi?

Javobni topish uchun bizda mavjud bo'lgan ma'lumotlarni x o'qi bo'yicha GPA va y o'qidagi loyihalar soni bilan grafikda chizishdan boshlaylik.

Ko'k nuqta qabul qilingan talabani, to'q sariq nuqta rad etilgan talabani va kulrang nuqta biz qaror qilishimiz kerak bo'lgan talabani ko'rsatadi. Keling, so'nggi bir necha yil ichida sodir bo'lishi mumkin bo'lgan barcha qabul va rad etishlarni qo'shamiz va bu ma'lumotlarni grafikimizga qo'shamiz.

Ko'kni to'q sariq nuqtadan ajratib turadigan chiziqqa e'tibor bering, u sizga 2,7 GPA va 8 loyihaga ega bo'lgan talabani qabul qilish kerakligini aniq aytadi. Ushbu qator AI/Neural Network/ML jargonida “model” deb ataladi(Men har doim bu atamani eshitganimda hayajonlanib ketardim, lekin bu unchalik yomon emasmi?). Biz odamlar uchun bu chiziqni chizish oson, lekin u har bir ma'lumot nuqtasini diqqat bilan chizish va keyin eng mos keladigan chiziqni topish kabi oddiy vazifani o'z ichiga oladi. Yaxshi xabar, kompyuterlar bu zerikarli ishlarning barchasini bizdan olib tashlash uchun yaratilgan, shunda biz diqqatimizni muhimroq vazifalarga qaratishimiz mumkin. Xo'sh, qanday qilib kompyuterlar o'zimiz uchun model topishga majburlashimiz mumkin?

Ba'zi bir asosiy matematikadan boshlaylik, biz X1 o'zgaruvchisi bilan GPA ga mos keladigan gorizontal o'qni va x2 o'zgaruvchisi bilan loyihalar soniga mos keladigan vertikal o'qni belgilaymiz. Shunday qilib, ko'k va to'q sariq nuqtalarni ajratib turadigan chegara chizig'i chiziqli tenglamaga ega bo'ladi:

Bu tenglama haqiqatan ham talabaning ballidir va uni quyidagi formatda yozish mumkin:

Endi biz har doim yangi talaba mos yoki yo'qligini aniqlamoqchi bo'lsak, biz ushbu tenglamadagi qiymatlarning har birini kiritamiz va agar ball ijobiy bo'lsa, biz talabani qabul qilamiz, aks holda yo'q. GPA sifatida 2,7 va Loyihalar sonida 8 ball qo'yaylik. Biz 3,9 ball olamiz. Talaba haqli!

Umumiyroq shaklda biz model uchun tenglamaga ega bo'lamiz:

yoki vektor shaklida:

qayerda

va

va biz oddiygina ikkita vektorning mahsulotini olamiz. An'anaga ko'ra, W ni og'irliklar, x - kirishlar va b - egilish sifatida. Ijobiy ballarni 1 (ko‘k nuqta) va salbiy ballarni 0 (to‘q sariq nuqta) deb belgilashimiz mumkin.

Nihoyat, bizning modelimiz bashorati quyidagicha bo'ladi:

Bu bizning algoritmimiz agar ball 0 dan katta bo'lsa, 1 ni va agar ball 0 dan kam bo'lsa, 0 ni bashorat qilishga harakat qiladi degan ma'noni anglatadi. Bizning algoritmimiz ma'lumotlarda mavjud bo'lgan yorliqlarga qanchalik yaqinroq bashorat qila olsa, u shunchalik yaxshi ishlaydi. ko'k nuqtalarni to'q sariq nuqtalardan ajratib turadigan eng yaxshi moslama chizig'iga to'liq mos keladi.

Ushbu maqola uchun men shu erda to'xtab qolaman va umid qilamanki, hozirgacha tasniflash muammolari, ular qanday ishlashi va algoritmlarning bashoratlarni topishga urinishlari haqida ba'zi ma'nolar paydo bo'ldi. Neyron tarmoqlarining ajoyib olamiga sho'ng'ing. Keyingi safargacha, adios!

Yaxshilash bo'yicha takliflar qabul qilinadi :)