Son dövrlərdə tez-tez eşidilən “Maşın Öyrənməsi” haqqında araşdırdıqlarımdan ən sadə şəkildə ümumi giriş üçün izah verməyə çalışacağam. Maşın Öyrənməsi (Machine Learning) Azərbaycan dilində tam qarşılığı olmadığı üçün facebookda sorğu keçirdim və belə qərara gəldim ki, ən uyğun tərcümə bu ola bilər. Maşın Öyrənməsi riyazi və statistik metodlar istifadə edərək mövcud məlumatları işləyən və bu işlənmiş məlumatlarla bilinməyənə dair proqnozlar verən metod paradiqmasıdır. Misal üçün insanlar müşahidələrindən (təcrübə) öyrənir və bu təcrübələrə əsasən yeni qərarlar verir. Maşın öyrənməsində də proses təxmini bu şəkildədir, sadəcə tək fərq insanlar real müşahidələrdən öyrənir, maşınlar isə məlumatlardan (data).Maşın öyrənməsinə nümunə olaraq üz tanınması, spam yoxlanışı, istifadəçiyə uyğun nəticələrin göstərilməsi və s. göstərə bilərik.
Misal olaraq bir tələbə hərhansısa mövzunu dərs kitabındakı nümunə olaraq verilmiş həlli olan sualları həll edir və öyrənir. Bundan sonra kitabda olmayan, amma eyni məlumatlara əsaslanaraq fərqli bir test ilə qarşılaşır. Tələbə cavabları bilmədən testi həll edir. Sonra qiymətləndirmə aparılır və nə qədər doğru olduğu hesablanır. Əgər əzbərçi bir bir tələbədirsə oxşar olan, amma kitabda olmayan sualları böyük ehtimalla səhv cavablandıracaq. Əgər mövzunun məntiqini başa düşən bir tələbədirsə fərqli tərzdə sual olsa belə düzgün həll edə biləcək. Səhv cavablandırdığı suallarda isə “Bu sualda belə bir ümumiləşdirmə etmişəm, amma bu qədər asan deyilmiş”, “Bu faktoru nəzərdən qaçırtmışam” kimi nəticələr çıxarır özü üçün. Sonra isə səhvlərindən çıxartdığı nəticələrlə mövzunu təkrar öyrənir və testi yenidən həll edir. Kifayət qədər yaxşı nəticə əldə edənə qədər səhvlərini görərək mövzunun əsas incəliklərini öyrənməyə çalışır.
Maşın öyrənməsi də buna çox oxşar bir şeydir. Ümumi gedişat eynidir. Qısaca maşın öyrənməsi kobud dildə izah etsək budur. Bundan sonrakı yazıda ən əsas 2 öyrənmə növü haqqında öyrənib və bir maşın öyrənmə prosesinin necə olduğunu başa düşəcəyik. Bundan əvvəl son olaraq maşın öyrənməsinin terminologiyası haqqında ümumi məlumat verib bu yazını yekunlaşdırmaq istəyirəm.
Terminologiya
Müşahidələr (Observations): Öyrənmək və ya qiymətləndirmək üçün istifadə edilən hər bir məlumat toplusudur. Misal üçün: hər bir elektron məktub bir müşahidədir.
Xüsusiyyətlər (Features): Bir müşahidəni təmsil edən (əsasən rəqəmsal) məlumatlardır. Misal üçün: elektron məktubun uzunluğu, tarixi, bəzi kəlimələrin mövcudluğu və s.
Etiketlər (Labels): Müşahidələrə istinad edilən kateqoriyalardır. Misal üçün: spamdır, spam deyil.
Tədris* Məlumatı (Training Data): Alqoritmin öyrənməsi üçün təqdim edilən müşahidələr toplusudur. Alqoritm bu məlumata baxaraq nəticə çıxarır və özünə uyğun bir model yaradır. Misal üçün: çoxlu spam və spam deyil olaraq işarətlənmiş (etiketlənmiş) elektron məktublar.
(* Bəzilərinin training tədris deyil axı dediyini eşidirəm, amma məşğələ tərcüməsindənsə bu daha uyğun gəldi mənə. Daha əsaslı bir fikriniz varsa məmnuniyyətlə əlavə edərəm.)
Test Məlumatı (Test Data): Alqoritmin beynində formalaşdırdığı modelin nə qədər reallığa yaxın olduğunu test etmək üçün istifadə edilən məlumat toplusu və ya dəstidir. Tədris müddətində saxlanılır, tədris prosesi bittikdən sonra etiketsiz olaraq alqoritmə verilərək alqoritmin (vermədiyimiz etiketlər haqqında) proqnozlar verməsi gözlənilir. Misal üçün: spam olub olmadığı bilinən (amma gizlədilən), tədris məlumatındakılardan fərqli çoxlu elektron məktub müşahidələri (observations).
Son olaraq isə dilimizin texnologiya sahəsindəki kasadlıqla əlaqədar olaraq çox çətinlik çəkirəm və bəzi hissələri izah edəndə qəliz olur. İngilis dili ilə qarışdıraraq yazmaq da istəmədiyim üçün əlimdən hələlik sadəcə bu qədəri gəlir. Yazıda olan hansısa sözlər başa düşülmədiyi zaman və ya yerinə daha yaxşı alternativlərinizin olduğu təqdirdə şərhlərdə paylaşsanız böyük məmnuniyyətlə yazıda düzəlişlər edərəm. Əvvəldə qeyd etdiyim kimi növbəti yazıda ən əsas 2 öyrənmə növü və bu növlərin metodları haqqında yazacağam. Ondan sonra isə vaxt tapdıqca hər bir metoda uyğun nümunələr və kodlar paylaşmağa çalışacağam.
5 comments On Maşın Öyrənməsi nədir?
Pingback: Maşın Öyrənməsi növləri - Sanan Guliyev ()
Pingback: Niyə Python-a keçirəm? | Sanan Guliyev ()
Gördüyün iş təqdirəlayiqdir. Eşq olsun!
Salam. Mən necə öyrənə bilərəm. Ən sadə şəkildə. Təşəkkür edirım.
Bu barədə resurslar inanılmaz çoxdur. İngiliscə bilmək bu prosesi daha da sürətli edir, çünki inanılmaz çox resurs var bu barədə. Maşın öyrənməsini öyrənməyin ən önəmli şərtlərindən biri Python öyrənməkdir. Təbiiki başqa dillərlə də bunu edə bilirsiniz, amma Python proqramlaşdırma dili bu barədə ən çox istifadə olunan və ən sadə dildir. Odurki ilk iş Python proqramlaşdırma dilini öyrənməkdir. Sonrasında Python dilində yazılmış çox məşhur maşın öyrənməsi kitabxanalarını (library) istifadə edərək təcrübələrə başlaya bilərsiniz.