top of page
Post: Blog2_Post

Elşən bu kitabların hamısını oxumalıdırmı?

Çox sevdiyim rejissor Əlisəttar Atakişiyevin "Bir qalanın sirri" filmində Elşən obrazı vasitəsilə bizə bütün kitabları oxumalı olduğumuz aşılanırdı. Biliyə, bilgəliyə önəm verən bu filmdən, yəqin ki, ilhamlanan çox insan var. Bəs biz, həqiqətən də bütün kitabları oxumalıyıqmı? Bütün məlumatlar dəyərlidirmi?


Elşən Databazadakı hər şeyi öyrənməyə çalışır. GPT tərəfindn generasiya olunmuş şəkil.
Elşən Databazadakı hər şeyi öyrənməyə çalışır. GPT tərəfindn generasiya olunmuş şəkil.

Overfit və epoch sayı: Hər kitabı neçə dəfə oxuyaq?

Mənim üçün məxsusi yeri olan görkəmli yazıçı #GeorgeOrwell #_1984_ romanında distopik bir cəmiyyət təsvir edir. Bu cəmiyyətin öz doğruları var və insanlar bu doğrulara məruz qalırlar ki, başqa bir həqiqət ola biləcəyini düşünməyi və sorğulamağı unudurlar.Əsər bir çox tərəfi ilə reallıqdan uzaq görünsə də, əslində, günümüz reallıqlarını da əks etdirir. Oxşar bir cəmiyyət #RayBradburry #Franheit451 əsərində də təsvir edilir. Kitablar yandırılır, insanlar davamlı boş statistik məlumatlara, hər yerdə bas-bas bağıran reklamlara məruz qalır. Dərsliklər ancaq statistik icmallardan bəhs edir.

Tanış gəlir? Əslində indi də bunlara çox uzaq deyilik. Hər yerdə gözümüzə soxulan reklamlar cə dərsliklərdə statistik məlumatlar artıq bu gün mövcuddur.

Bəs bunun #overfitting ilə nə əlaqəsi?

#MaşınÖyrənməsi prosesi epoch-larla baş verir. Yəni biz #hyperparameter olaraq epoch sayını neçə vermişiksə, model eyni data üzərində o qədər təkrarən öyrənir.Epoch sayının çox olması, modelin datanı daha yaxşı mənimsəməsinə səbəb olur. Bu aşağı epoch saylarında əlverişli olsa da, epoch sayı artdıqca model datanı "əzbərləyir" və artıq yeni nümunələr üzərində ümumiləşdirmə edə bilmir. İnsan dilində desək, #mühakimə bacarığını itirir.

Bir zamanlar qəbul imtahanında yüksək bal toplayan tələbələr üçün #əzbərçilik etdiklərini və real təcrübədə mühakimə edərək qərar verə bilmədiklərini deyirdilər. Mən də onlardan biriyəm😂.Məlumatlar bizi öyrətdiyi kimi yaradıcılığı məhdudlaşdıra da bilir.


Data həcminin Overfittingə təsiri

Maşın öyrənməsində data miqdarı üçün önəmli bir nüans var: Çox zaman daha çox data nümunəsinin modelin overfit ehtimalını aşağı saldığından bəhs edirik. Lakin data nümunələri bir-birinə çox bənzəyirsə, bu oxşar nümunələr üzərindən öyrənmək modeli daha da overfit edə bilər. Bu səbəbdən datada təkrarlanan case-lərin çox olmamasına diqqət etməliyik.


Öyrətmək və yoxlamaq. Train-test split

Datanı doğru bölmək bir incəsənətdir. Müəllimlər bu incəsənət növü ilə çoxdan məşğuldurlar. Onlar dərs zamanı bizə nümunə məsələlər göstərir və imtahanda bizə həm ədalətli, həm də biliyimizi həqiqətən aşkara çıxarmaq üçün fərqli məsələlər verirlər.

Model də şagird kimidir: ona keçmədiyi dərsdən (istifadəsi nəzərdə tutulmayan hal üçün) sual vermək doğru olmaz. Belə hal modelin tətbiqinin uyğunsuzluğu deməkdir. Məsələn, model lux restoran müştərilərinin alacağı növbəti məhsulu proqnozlaşdırmaq üçün "train" edilibsə və hədəf kütləsi olaraq bu şəxslər nəzərə alınıbsa, onu "coffe-shop" müştəriləri üçün tətbiq etmək xəta olar. Bunun üçün müvafiq data üzrəində təlim keçmiş ayrı modelə ehtiyac var. Yaxud həmin model "transfer learning" sayəsində təkrar yeni data üçün öyrədilməlidir. Necə ki biz mütəxəssislər də hansısa sektorda ixtisaslaşdıqda, başqa sahəyə keçnmək üçün təkrar öyrənmə prosesindən keçirik.

Lakin bu o demək deyil ki, model tamamilə öyrəndiyi nümunələrə oxşar nümunələr üzərində yaxşı nəticə verməlidir. Real Dünyada bir çox fərqli hal yaşana bilər ki, model bunları bir şagirdin yaxşı bildiyi mövzu üzrə fərqli məsələləri həll edə bildiyi kimi həll etməlidir.

Bir modelin ən lazımlı bacarığı onun generalizasiya - ümumiləşdirmə qabiliyyəti, digər bir bacarığı isə bunun tam əksi olan diskriminasiya - yəni ayrışdırma bacarığıdır. Model bütün nümunələr arasında oxşarlığı və onların izlədiyi "pattern" - qanunauyğunluğu müəyyən etməli, eyni zamanda onları fərqləndirə bilməlidir.

Train-test split zamanı biz datanın müxtəliflik və balansının qorunmasını təmin etməliyik. Məsələn target dəyişəni "is_fraud" olan dələduzluq hallarının aşkarlanması modelində, normal halda "fraud" durumlar, "non-fraud" durumlardan çox daha az olduğu üçün həm "train", həm "test" datasında "fraud" nümunələrin olmasına diqqət etməliyik. Əks halda model görmədiyi halı öyrənə bilməz. Xüsusən də klassifikasiya modellərində, model ancaq train-də var olan sinifləri anlayır və ancaq onlar arasından proqnoz verir.

Eyni zamanda biz modeli çətinliklər üzərində yoxlamaq üçün bəzi halları modeldən gizlədirik. Məsələn, biz bilirik ki, bir müştərinin tranzaksiyaları adətən müəyyən qanunauyğunluq izləyir. Model təlim zamanı bu müştəri ilə tanış olduqda, sınaq zamanı onu asanlıqla tanıya bilər. Buna görə bəzən eyni bir müştəriyə məxsus data nümunələrini ancaq təlim, yaxud ancaq sınaq datasında cəmləyərək modelin tanımadığı nümunələr üçün ümumiləşdirmə edə bilib-bilmədiyini yoxlayırıq.


Learning-rate: Unutmaq özü də öyrənməkdir.

Modellərdə öyrənmə prosesini idarə edən əhəmiyyətli hyperparametrlərdən biri məhz "learning rate"dir. Bu modelin bir növ hər dəfə öyrənəndə özünü dataya adaptasiya etmə sürətidir. Əgər model sürətli öyrənirsə, əvvəl öyrəndiyini də sürətli unudur. İnsan beyni ilə belə bir analogiya edərək bunu daha yaxşı anlaya bilərik: bəzi insanlar yeni mühitə tez uyğunlaşır, yəni sürətli öyrənir və öyrəşir, bu da onun əvvəlki vərdişlərini sürətli tərgitməsi deməkdir. Bəzi insanlar isə vərdişlərinə daha sadiqdirlər, keçmişi unutmurlar və yenilikləri daha yavaş öyrənirlər. Bunlardan hansısa biri daha yaxşıdır, yaxud daha pisdir demək doğru olmaz. Ən yaxşısı ikisi arasında balansı qurmaqdır. Öyrəndiyini tez unutmaq real dünyada davranışlarımızı doğru tənzimləməkdə bizə mane ola bilər. Çünki köhnə vərdişlər də bizə lazımdır. Lakin eynisi adaptasiya bacarığı olmadıqda da baş verir, çünki dünya dəyişsə də modelin, yaxud beynimizin öyrəndikləri sabit qaldıqda real proqnozlar verməyə bilir.


Data update: Yeniliklərdən xəbərdar olmaq.

Bəzən model pis işləyir, çünki yeni baş verənlərdən xəbəri yoxdur. Buna ən məşhur nümunə kimi, 2020-2021-ci illərdə Covidə qədər təlim görmüş modellərin mütləq şəkildə post-Covid data üzərində öyrənməli olmaları, əks təqdirdə aşağı performans göstərmələri ola bilər.

Biz modelə yeni baş verənləri bildirməsək, o keçmiş əsasında hərəkət edəcək. Bu bir növ elmi-fantastik filmlərdə illərlə yatıb qalmış insanların Yeni Dünyada oyanıb nə edəcəklərini bilməməsinə bənzəyir.

Bəzən də modelin öyrəndiyi datanın yanlış olduğu ortaya çıxa bilər ki, bu zaman yanlış datanın həcminə əsasən, ya model yenidən qurulmalı, ya da təkrar öyrədilməlidir. Adətən təhlükəsizlik üçün birinci üstün tutulur.


İnsanlar da Modellərdir. Daima öyrəndikdə uğurlu olurlar.

Modelə tətbiq etdiyimiz bu tədbirlər öz öyrənməmiz üçün də önəmlidir.

Köhnə faktları və yeni faktları bilmək, onlar arasında doğru balans qurmaq, hansı data üzərindən öyrəndiyimizə və datanın real olmasına diqqət yetirmək bizi daha doğru gözləntilər formalaşdıran və doğru qərarlar verən modellərə çevirər.

Həm zehnimizdə, həm modeldə overfittingin qarşısını almaq üçün eyni məlumatlara ilişib qalmamalı, daima fərqli mənbələrə üz tutmalı, hətta bəzən bizə uyğun gəlməyən, daha öncə öyrəndiklərimizə zidd fikirlər oxumalıyıq. #Data nə qədər müxtəlif olarsa, biz də, model də daha yaxşı mühakimə edə bilərik.

Elşən, hələ də çox kitab oxumalıdır, ancaq oxumadan öncə araşdırmalı, ona lazım olanı doğru seçməli, lazım olmayan datalardan qurtulmalıdır.


 
 
 

Comments


Digər

©2021 by Challengers Deep.

bottom of page