Machine Learning terminləri
Machine Learning terminləri
Data-dan öyrənmə, model-lərin qiymətləndirilməsi, feature engineering və production-a çıxış ilə bağlı terminlər.
Bu fəsildə: A/B test · Backpropagation · Calibration · Canary · Classification · Cross-validation · Decision tree · Distribution shift · Drift · Embedding · Feature · Feature engineering · Feature store · Generalization · Gradient boosting · Gradient descent · Hyperparameter · Inference · Label · Leakage · Loss function · Neural network · Optimizer · Overfitting · Parameter · Precision · Random forest · Recall · Regularization · Rollback · Shadow mode · Supervised learning · Target encoding · Test set · Training set · Training/serving skew · Underfitting · Validation set
A/B test
İstifadəçiləri təsadüfi olaraq iki qrupa bölüb köhnə və yeni versiyanı paralel işlədən və biznes metric-indəki fərqi statistik olaraq ölçən controlled experiment.
A/B test yeni model-in (və ya istənilən dəyişikliyin) real təsirini ölçməyin ən dürüst yoludur. Trafik təsadüfi şəkildə iki qrupa bölünür: A qrupu cari model-i, B qrupu yeni model-i görür. Qalan hər şey eyni olduğu üçün qruplar arasındakı fərqi məhz dəyişikliyə aid etmək olar.
Offline metric-lər (AUC, precision, recall) model-in keyfiyyətini ölçür, amma biznesi maraqlandıran adətən başqa şeydir: conversion, gəlir, retention. Validation set-də 2% yaxşılaşma real istifadəçi davranışında heç nə dəyişməyə bilər, bəzən isə əksinə, pisləşdirər. A/B test bu boşluğu birbaşa ölçür.
Praktikada vacib məqamlar:
- Metric-i əvvəlcədən seçin. Test bitəndən sonra "ən yaxşı görünən" metric-i axtarmaq p-hacking-dir.
- Sample size-ı hesablayın. Kiçik effekti tutmaq üçün çoxlu trafik və vaxt lazımdır; testi erkən dayandırmaq yalançı qələbələr verir.
- Randomization vahidi. Adətən istifadəçi səviyyəsində bölün ki, eyni adam hər iki variantı görməsin.
Nümunə: recommendation model-in yeni versiyası offline-da daha yaxşı ranking verir. İki həftəlik A/B test göstərir ki, kliklər artıb, amma alışlar dəyişməyib, deməli model clickbait-ə meyl edir.
A/B test canary-dən fərqlidir: canary təhlükəsizlik üçündür, A/B test isə təsiri ölçmək üçün.
Əlaqəli terminlər: Canary, Shadow mode, Rollback, Precision
Backpropagation
Neural network-ün loss-a görə hər weight üzrə gradient-ini chain rule ilə output-dan input-a doğru, layer-lər boyunca geriyə hesablayan alqoritm.
Backpropagation neural network-ləri praktik olaraq train etməyi mümkün edən alqoritmdir. Gradient descent hər parameter üçün "loss-u azaltmaq üçün bu weight-i hansı istiqamətdə və nə qədər dəyişməli?" sualının cavabını, yəni gradient-i tələb edir. Milyonlarla weight-i olan network üçün bunu hər weight-i ayrıca tərpədib yoxlamaqla hesablamaq mümkün deyil.
Backpropagation iki keçiddən ibarətdir:
- Forward pass. Input layer-lər boyunca irəli axır, hər addımın aralıq nəticələri yadda saxlanılır, sonda loss hesablanır.
- Backward pass. Chain rule ilə loss-un gradient-i son layer-dən birinciyə doğru geri ötürülür. Hər layer öz weight-lərinin gradient-ini və əvvəlki layer-ə ötürüləcək gradient-i hesablayır.
Bunun sayəsində bütün gradient-lərin hesablanması təxminən bir forward pass qədər baha başa gəlir. Sonra optimizer bu gradient-lərlə weight-ləri yeniləyir.
Bu gün backpropagation-ı əl ilə yazan yoxdur: PyTorch və JAX kimi framework-lər automatic differentiation ilə bunu özləri edir. Amma onun necə işlədiyini bilmək debug zamanı lazımdır: vanishing və exploding gradient-lər, NaN loss, yaddaş çatışmazlığı (forward pass-in aralıq nəticələri yaddaşda saxlanılır) məhz buradan qaynaqlanır.
Qısaca: backpropagation gradient-i hesablayır, gradient descent isə onu istifadə edir. Bunlar fərqli addımlardır.
Əlaqəli terminlər: Gradient descent, Neural network, Loss function, Optimizer, Parameter
Calibration
Model-in verdiyi ehtimalların reallığa uyğunluğu: 0.9 deyən model belə hallarda təxminən 90% haqlı olmalıdır.
Calibration model-in ehtimallarının nə qədər "dürüst" olduğunu göstərir. Yaxşı calibrate olunmuş model 0.7 ehtimal verdiyi bütün hallara baxsanız, onların təxminən 70%-i həqiqətən positive çıxır.
Bu, ranking keyfiyyətindən ayrı xüsusiyyətdir. Model nümunələri əla sıralaya bilər (yüksək ROC-AUC), amma ehtimalları sistematik olaraq şişirdilmiş və ya sıxılmış ola bilər. Boosted tree-lər və neural network-lər bu baxımdan tez-tez zəif olur.
Calibration nə vaxt vacibdir? Ehtimal qərara birbaşa daxil olanda:
- expected value hesablamaları (fraud ehtimalı × məbləğ);
- risk threshold-ları ("ehtimal 0.3-dən yuxarıdırsa, əl ilə yoxla");
- bir neçə model-in ehtimallarını birləşdirmək.
Yalnız sıralama lazımdırsa (top-10 tövsiyə), calibration o qədər də əhəmiyyətli deyil.
Necə yoxlanılır: reliability diagram çəkin. Proqnozları ehtimal aralıqlarına (bin-lərə) bölün və hər bin üçün orta proqnozu faktiki positive nisbəti ilə müqayisə edin. Mükəmməl model diaqonal üzərində olur. Log loss və Brier score da calibration-ı əks etdirir.
Necə düzəldilir: Platt scaling (üstünə logistic regression) və ya isotonic regression. Calibrator-u training set-də yox, ayrıca validation datası üzərində fit edin, əks halda yenə nikbin nəticə alacaqsınız.
Əlaqəli terminlər: Precision, Validation set, Classification
Canary
Yeni versiyanı əvvəlcə trafikin kiçik hissəsinə (məsələn, 5%) verib metric-ləri izləyən və problem yoxdursa tədricən genişləndirən deployment üsulu.
Canary yeni model-i bütün istifadəçilərə birdən çıxarmamaq üsuludur. Trafikin kiçik bir hissəsi, məsələn 1-5%-i yeni versiyaya yönləndirilir, qalanı köhnə versiyada qalır. Metric-lər normaldırsa, pay mərhələli şəkildə artırılır: 5%, 25%, 50%, 100%. Nəsə pis gedirsə, rollback yalnız kiçik qrupa təsir edir.
Ad şaxtaçıların kanareykasından gəlir: təhlükəni hamıdan əvvəl kiçik "sensor" hiss edir.
Model-lər üçün canary xüsusilə vacibdir, çünki onlar səssiz sınır: exception atmırlar, sadəcə pis rəqəmlər qaytarırlar. Canary zamanı izləyin:
- system health: latency, error rate, yaddaş;
- prediction distribution: yeni model köhnədən kəskin fərqli nisbətdə flag edirmi?
- əlçatan olan biznes metric-ləri.
Nümunə: yeni fraud model-i 5% trafikdə işə salınır. Bir saat sonra məlum olur ki, o, əməliyyatların 12%-ni bloklayır (köhnə model 0.8%). Rollback bir əmrlə edilir və problem yalnız istifadəçilərin kiçik hissəsinə toxunur.
Canary A/B test ilə qarışdırılmamalıdır. Canary-nin məqsədi riski məhdudlaşdırmaqdır və adətən qısa çəkir; A/B test isə təsiri statistik ölçmək üçündür. Shadow mode isə ondan da əvvəlki addımdır: model heç bir istifadəçiyə təsir etmədən işləyir.
Əlaqəli terminlər: Shadow mode, A/B test, Rollback, Drift
Classification
Output-un kateqoriya olduğu supervised learning məsələsi: spam ya yox, fraud ya yox, şəkildə pişik, it və ya quş.
Classification supervised learning-in iki əsas növündən biridir; digəri output-u ədəd olan regression-dur. Classification-da model input-u əvvəlcədən məlum siniflərdən birinə aid edir.
Növləri:
- Binary classification. İki sinif: churn edəcək/etməyəcək, fraud/qanuni.
- Multiclass. Bir neçə sinifdən biri: məhsul kateqoriyası, dil.
- Multilabel. Bir nümunəyə eyni anda bir neçə label: məqaləyə bir neçə tag.
Əksər classifier-lər əslində sinif yox, ehtimal qaytarır. Sinif qərarı threshold ilə verilir və bu threshold-un seçimi biznes qərarıdır, model-in yox. Default 0.5 nadir hallarda optimaldır.
Ən çox rast gəlinən tələ class imbalance-dır. Əməliyyatların 99%-i qanunidirsə, həmişə "qanunidir" deyən model 99% accuracy göstərir və heç nəyə yaramır. Buna görə nadir positive sinfi olan məsələlərdə precision, recall, F1 və PR-AUC kimi metric-lərə baxılır.
Nümunə: xərçəng skrininqində false negative (xəstəliyi buraxmaq) false positive-dən (əlavə müayinə) qat-qat bahadır, ona görə threshold aşağı salınır və recall-a üstünlük verilir. Spam filtrində isə vacib məktubu itirmək bahadır, burada precision önə çıxır.
Model seçimi: tabular data üçün logistic regression baseline kimi, gradient boosting isə güclü default kimi.
Əlaqəli terminlər: Supervised learning, Precision, Recall, Calibration, Label
Cross-validation
Datanı k hissəyə (fold) bölüb hər dəfə birini validation, qalanlarını training üçün istifadə edən və k nəticəni ortalayan evaluation üsulu.
Cross-validation tək validation split-in təsadüfiliyini azaldır. Data k bərabər hissəyə (fold-a) bölünür. Model k dəfə train edilir: hər dəfə bir fold validation rolunu oynayır, qalan k−1 fold isə training üçün istifadə olunur. Nəticədə k score alınır, onların ortası estimate, yayılması isə error bar kimi çıxış edir.
Niyə lazımdır:
- Kiçik dataset-lər. 2000 nümunədə 15%-lik validation set cəmi 300 nümunədir və nəticə çox noisy olur. Cross-validation bütün datanı həm training, həm də validation üçün istifadə edir.
- Etibarlılıq. "Model A model B-dən 0.4% yaxşıdır" iddiası fold-lar arasındakı yayılmadan kiçikdirsə, bu fərq noise-dur.
Tipik dəyər k=5 və ya k=10-dur. Daha böyük k daha dəqiq, amma daha bahalıdır.
Ümumi səhvlər:
- Preprocessing leakage. Scaling, imputation və ya target encoding bütün data üzərində əvvəlcədən fit edilirsə, cross-validation nikbin nəticə verir. Preprocessing pipeline-ın içində, hər fold-un training hissəsində fit edilməlidir.
- Struktursuz bölmə. Zaman sırası olan datada random fold-lar gələcəyi keçmişə sızdırır; time series split istifadə edin. Eyni istifadəçinin sətirləri varsa, group k-fold seçin.
- Test set-i əvəz etmək. Cross-validation model seçimi üçündür; yekun rəqəm üçün yenə toxunulmamış test set lazımdır.
Əlaqəli terminlər: Validation set, Test set, Leakage, Hyperparameter
Decision tree
Feature-lər barədə ardıcıl hə/yox sualları verib hər leaf-də proqnoz qaytaran model; oxunaqlıdır, amma tək halda asanlıqla overfit edir.
Decision tree input-u bir sıra sadə suallarla bölür: "age > 40?", "country == DE?". Hər suala cavaba görə nümunə sol və ya sağ budağa gedir, sonda leaf-ə çatır və həmin leaf-dəki training nümunələrinin çoxluq label-ı (və ya regression üçün ortası) proqnoz kimi qaytarılır. Training zamanı alqoritm hər addımda datanı ən yaxşı ayıran feature-i və threshold-u seçir.
Güclü tərəfləri:
- feature scaling tələb etmir;
- rəqəm və kateqoriyalı feature-ləri qarışıq emal edir;
- feature-lər arasındakı interaction-ları özü tapır;
- kiçik tree-ni kağıza çap edib auditor-a və ya tənzimləyici orqana göstərmək olar.
Zəif tərəfləri:
- Overfitting. Dərinliyi məhdudlaşdırılmamış tree hər training nümunəsi üçün ayrıca leaf yaradıb datanı əzbərləyə bilər. Max depth, minimum leaf ölçüsü və pruning bunu cilovlayır.
- Qeyri-sabitlik. Datadakı kiçik dəyişiklik tamamilə fərqli tree verə bilər.
- Yalnız oxlara paralel bölgülər çəkir, diaqonal sərhədləri pilləkənlə approximate edir.
Praktikada tək tree nadir hallarda son model olur. Onun qeyri-sabitliyi ensemble-larda üstünlüyə çevrilir: random forest çoxlu müstəqil tree-ni ortalayır, gradient boosting isə tree-ləri ardıcıl qurur. Tək tree isə izah tələb olunan yerlərdə və sürətli baseline kimi dəyərlidir.
Əlaqəli terminlər: Random forest, Gradient boosting, Overfitting, Feature
Distribution shift
Production-dakı datanın model-in train edildiyi datadan statistik olaraq fərqlənməsi; model-in i.i.d. fərziyyəsini pozur və keyfiyyəti səssizcə aşağı salır.
Hər model gizli bir fərziyyə üzərində qurulur: gələcək data keçmiş dataya bənzəyəcək (training və deployment nümunələri independent and identically distributed-dir). Distribution shift bu fərziyyənin pozulmasıdır və production-da istisna deyil, normal haldır.
Əsas növləri:
- Covariate shift. Input-ların distribution-ı dəyişir, input ilə label arasındakı əlaqə isə eyni qalır. Məsələn, tətbiqə yeni ölkədən istifadəçilər gəlir.
- Label shift. Siniflərin nisbəti dəyişir: epidemiya zamanı müsbət testlərin payı kəskin artır.
- Concept drift. Input ilə label arasındakı əlaqənin özü dəyişir. Fırıldaqçılar yeni sxemə keçir və dünənki "təhlükəsiz" pattern bu gün fraud-dur.
Shift-in mənbələri: məhsul dəyişiklikləri, mövsümilik, marketinq kampaniyaları, upstream data pipeline-da dəyişiklik, pandemiya kimi xarici şoklar, hətta model-in özünün təsiri (fraud model-i bloklayanda fırıldaqçılar davranışını dəyişir).
Necə yaşamalı:
- evaluation-da time-based split istifadə edin ki, test set gələcəyi təqlid etsin;
- input drift-i və prediction distribution-ı monitoring ilə izləyin;
- label-lar gəldikcə canlı metric-i validation score ilə müqayisə edin;
- retraining trigger-ini və gate-ini əvvəlcədən müəyyən edin.
Səhv: shift-i bir dəfəlik hadisə kimi qəbul etmək. Model deploy olunduğu gündən köhnəlməyə başlayır.
Əlaqəli terminlər: Drift, Generalization, Test set, Training set
Drift
Production-da feature-lərin, proqnozların və ya keyfiyyətin zamanla training dövründən uzaqlaşması; monitoring-in əsas izlədiyi siqnaldır.
Drift distribution shift-in production-da müşahidə olunan tərəfidir: model-in gördüyü data və ya verdiyi cavablar tədricən training dövründəkindən uzaqlaşır. Software adətən səs-küylə sınır; model-lər isə rəqəm qaytarmağa davam edir və bu rəqəmlər yavaş-yavaş pisləşir. Drift monitoring bu səssiz çürüməni görmək üçündür.
Nəyi izləmək lazımdır:
- Input drift. Hər feature-in production-dakı distribution-ını training set ilə müqayisə edin. Population stability index (PSI), KL divergence və ya sadə histogram müqayisəsi kifayətdir.
- Prediction drift. Model-in output distribution-ı. Fraud model-i birdən 10 dəfə çox əməliyyat flag edirsə, ya fraud dalğası var, ya da nəsə sınıb.
- Performance drift. Label-lar gəldikcə (churn oldumu? fraud idimi?) canlı metric-i validation score ilə müqayisə edin.
Drift həmişə model-in günahı deyil. Çox vaxt səbəb upstream-dədir: kitabxana upgrade-i, sahənin vahidinin dəyişməsi, null-ların sıfırla əvəz olunması. Belə hallarda retraining problemi həll etmir, əksinə, xətanı model-ə "öyrədir".
Praktik qayda: alert-ləri yalnız error-lara deyil, drift-ə də qoşun və hər alert üçün threshold-u əvvəlcədən müəyyən edin. Drift aşkarlananda əvvəlcə səbəbi araşdırın, sonra retrain və ya rollback barədə qərar verin.
Əlaqəli terminlər: Distribution shift, Training/serving skew, Rollback, Feature
Embedding
Kateqoriyanı, sözü, mətni və ya şəkli öyrənilmiş dense vector-la təmsil etmək; oxşar obyektlərin vector-ları bir-birinə yaxın olur.
Embedding diskret və ya mürəkkəb obyekti (user ID, məhsul, söz, cümlə, şəkil) sabit uzunluqlu ədədlər vector-una çevirir. Bu vector-lar əl ilə yazılmır, öyrənilir: training zamanı model elə vector-lar tapır ki, tapşırıq üçün oxşar olan obyektlər space-də bir-birinə yaxın yerləşsin.
Niyə lazımdır: one-hot encoding yüz min kateqoriya üçün yüz min sütun yaradır və heç bir oxşarlıq məlumatı daşımır; "Bakı" ilə "Gəncə" "Bakı" ilə "banan" qədər uzaqdır. Embedding isə bunu 64 və ya 256 ölçülü dense vector-la ifadə edir və oxşarlığı tutur.
İstifadə yerləri:
- Categorical feature-lər. Neural network-ün içində çox yüksək cardinality-li sütunlar üçün (user ID, məhsul ID).
- Mətn. Pretrained transformer-dən alınan sentence embedding-ləri semantic similarity-ni hazır verir və trivial olmayan mətn işləri üçün default-dur.
- Axtarış və tövsiyə. Yaxın vector-ları tapmaqla oxşar sənəd, məhsul və ya istifadəçi axtarışı.
Nümunə: e-commerce saytında məhsul embedding-ləri birlikdə alınma tarixçəsindən öyrənilir; "bu məhsula baxanlar bunlara da baxıb" bloku sadəcə ən yaxın vector-ları göstərir.
Diqqət: embedding-in keyfiyyəti onu öyrədən dataya və məqsədə bağlıdır. Bir tapşırıq üçün öyrənilmiş embedding başqa tapşırıqda pis işləyə bilər; embedding model-i dəyişəndə köhnə vector-larla yenilər müqayisə edilə bilmir, hamısını yenidən hesablamaq lazımdır.
Əlaqəli terminlər: Feature, Feature engineering, Neural network, Transformer, Token
Feature
Machine learning-də model-in gördüyü input dəyişəni: xam datadan elə formada çıxarılmış ədəd və ya kateqoriya ki, model pattern-i asan görsün.
Feature model-in input-unun bir sütunudur: müştərinin yaşı, son 7 gündəki alışların sayı, mətnin uzunluğu. Model yalnız feature-ləri görür; datada olan, amma feature-ə çevrilməyən məlumat model üçün mövcud deyil.
Feature-i datanın üzərinə taxılmış linza kimi düşünmək faydalıdır. Timestamp tək başına bir ədəddir; ondan çıxarılmış "həftənin günü" isə həftəlik mövsümiliyi göstərir. Transaction məbləği ədəddir; "bu məbləğin müştərinin orta məbləğinə nisbəti" isə anomaliyanı üzə çıxarır.
Tabular məsələlərdə tavanı feature-lərin keyfiyyəti müəyyən edir, alqoritm isə bu tavana nə qədər yaxınlaşacağınızı. Yaxşı feature set ilə logistic regression xam sütunlar üzərində neural network-ü tez-tez üstələyir.
Hər feature üçün vacib suallar:
- Prediction anında məlum olacaqmı? Yoxdursa, bu leakage-dir.
- Training və serving-də eyni kodla hesablanırmı? Yoxdursa, training/serving skew yaranacaq.
- Niyə mövcuddur? Hər feature-in mənasını və mənbəyini yazın; altı aydan sonra bu qeydlər pipeline-ı anlamağın yeganə yolu olacaq.
Daha çox feature həmişə yaxşı deyil: əhəmiyyətsiz feature-lər noise əlavə edir, training-i yavaşladır və overfitting-ə yol açır. Feature selection ilə faydasızları silin.
Əlaqəli terminlər: Feature engineering, Feature store, Leakage, Label, Training/serving skew
Feature engineering
Xam datadan model üçün faydalı feature-lər yaratmaq prosesi: transformation-lar, encoding, aggregate-lər və domain biliyinin kodlaşdırılması.
Feature engineering xam sütunları model-in asan istifadə edə biləcəyi formaya çevirmək işidir. Tabular məsələlərdə bu, alqoritm seçimindən adətən daha çox nəticə verir: feature-lərə bir həftə, alqoritmə bir saat ayıran mühəndislər əksini edənləri müntəzəm üstələyir.
Əsas texnikalar:
- Numeric. Scaling (linear model-lər, neural network-lər, k-NN üçün), heavy-tailed kəmiyyətlər üçün log transform, binning, iki feature-in nisbəti və ya hasili (qiymət / kvadratmetr).
- Categorical. One-hot encoding, ordinal encoding, target encoding, frequency encoding, embedding-lər.
- Tarix və vaxt. Günün saatı, həftənin günü, bayram flag-i, son hadisədən keçən vaxt, cyclical encoding.
- Mətn. TF-IDF, n-gram-lar, pretrained embedding-lər, sadə statistikalar.
- Aggregate-lər. Hər müştəri və ya cihaz üçün trailing window-lar üzrə say, cəm, orta. Biznes datasında predictive gücün çoxu tarixçədədir.
- Missing value-lar. Impute edib "was_missing" flag-i əlavə edin; boşluğun özü çox vaxt informativdir.
Ən yaxşı feature mənbəyi işi əl ilə görən domain expert ilə söhbətdir: onun hər rule of thumb-ı potensial feature-dir.
Workflow: xam sütunlarla baseline qurun, feature-ləri batch-larla əlavə edin, hər batch-dən sonra validation score-a baxın, kömək etməyənləri silin. Sonda hər feature-i leakage baxımından yoxlayın; ən çox leakage məhz aggregate-lərdə və target encoding-də gizlənir.
Əlaqəli terminlər: Feature, Target encoding, Embedding, Leakage, Feature store
Feature store
Feature-ləri bir dəfə hesablayıb həm training, həm serving üçün eyni məntiqlə təqdim edən və point-in-time düzgünlüyünü təmin edən infrastruktur.
Feature store feature-lərin mərkəzləşdirilmiş anbarı və hesablama qatıdır. O, iki çətin problemi həll etmək üçün mövcuddur.
Training/serving skew. Feature-lər training zamanı batch rejimində, tarixi data üzərində, inference zamanı isə real-time, hər request üçün hesablanır. İki ayrı implementasiya mütləq ayrılır. Feature store feature-in tərifini bir yerdə saxlayır və hər iki yola eyni dəyəri verir: offline store training dataset-i qurmaq üçün, online store isə aşağı latency ilə serving üçün.
Point-in-time düzgünlük. "Son 30 gündə alışların sayı" feature-i training nümunəsi üçün yalnız həmin nümunənin prediction anından əvvəlki event-ləri saymalıdır. Bunu əl ilə düzgün etmək çətindir və səhv temporal leakage verir. Feature store tarixi dəyərləri vaxt damğası ilə saxlayıb "o anda nə məlum idi" sorğusunu düzgün icra edir.
Əlavə faydalar: feature-lərin komandalar arasında təkrar istifadəsi, versiyalaşdırma, sahiblik və sənədləşmə.
Nə vaxt lazım deyil: bir-iki model, batch scoring və sadə feature-lər üçün feature store artıq mürəkkəblikdir. Training və serving üçün eyni Python funksiyasını çağırmaq çox vaxt kifayətdir. Feature store çoxlu model, online serving və tarixçə aggregate-ləri olanda öz dəyərini doğruldur.
Əlaqəli terminlər: Training/serving skew, Feature, Leakage, Feature engineering
Generalization
Model-in training zamanı görmədiyi, amma eyni distribution-dan gələn yeni data üzərində yaxşı işləmək qabiliyyəti; machine learning-in əsl məqsədi.
Training set-i mükəmməl təkrarlayan model qurmaq asandır: onu əzbərləmək kifayətdir. Amma belə model faydasızdır, çünki bizi yalnız hələ görmədiyimiz input-lar maraqlandırır. Generalization model-in öyrəndiyi pattern-in yeni nümunələrə nə qədər yaxşı keçdiyini ifadə edir və machine learning-dəki demək olar ki, hər dizayn qərarı son nəticədə onun haqqındadır.
Generalization-ı birbaşa ölçmək olmur, yalnız təxmin etmək olur: model-in toxunmadığı validation və test set-lər üzərində. Buna görə evaluation-ın dürüstlüyü kritikdir; leakage və ya test set-ə təkrar-təkrar baxmaq generalization barədə yalançı təsəvvür yaradır.
Ən informativ rəqəm training və test nəticələri arasındakı fərqdir:
- hər ikisi pisdirsə, underfitting var: model çox sadədir və ya feature-lər zəifdir;
- training əla, test pisdirsə, overfitting var: model noise-u əzbərləyib.
Generalization-ı yaxşılaşdıran əsas vasitələr: daha çox və daha müxtəlif data, regularization, uyğun capacity, early stopping, ensemble-lar və ən əsası yaxşı feature-lər.
Vacib qeyd: generalization "eyni distribution" daxilində verilən zəmanətdir. Production-da distribution dəyişirsə (distribution shift), test set-də əla generalization göstərən model də uğursuz ola bilər. Buna görə test set-i deployment şəraitini təqlid edəcək şəkildə qurun.
Əlaqəli terminlər: Overfitting, Underfitting, Regularization, Distribution shift, Test set
Gradient boosting
Tree-ləri ardıcıl train edib hər yenisinin əvvəlki ensemble-ın səhvlərini düzəltdiyi metod; tabular data üçün ən güclü ümumi təyinatlı alqoritm.
Gradient boosting çoxlu kiçik decision tree-ni ardıcıl qurur. Birinci tree kobud proqnoz verir. Hər növbəti tree o ana qədərki ensemble-ın qalıq səhvlərini (daha dəqiq desək, loss-un gradient-ini) proqnozlaşdırmağa öyrədilir və kiçik çəki ilə ensemble-a əlavə olunur. Nəticədə yüzlərlə zəif tree birlikdə çox dəqiq model yaradır.
XGBoost, LightGBM və CatBoost ən məşhur implementasiyalardır. Tabular data üzərində onlar hazırda state-of-the-art sayılır və structured data yarışlarının əksəriyyətini qazanır.
Güclü tərəfləri:
- scaling tələb etmir, missing value-ları native emal edir;
- feature interaction-larını özü tapır;
- feature importance verir; SHAP value-ları ilə ayrı-ayrı proqnozları izah etmək olur.
Zəif tərəfləri və tələlər:
- Bir neçə vacib hyperparameter var: learning rate, tree dərinliyi, tree-lərin sayı. Nəzarətsiz qalsa, overfit edir; validation set üzrə early stopping istifadə edin.
- Ehtimalları çox vaxt zəif calibrate olunur.
- Tək tree-dən xeyli az interpretable-dır.
Random forest ilə fərq: random forest tree-ləri paralel və müstəqil qurub ortalayır (variance-ı azaldır), boosting isə ardıcıl qurur (bias-ı azaldır). Random forest-i pis konfiqurasiya etmək çətindir, boosting isə tuning ilə daha yüksək nəticə verir.
Praktik tövsiyə: 10 mindən çox sətirli cədvəl datası üçün əvvəlcə gradient boosting sınayın.
Əlaqəli terminlər: Decision tree, Random forest, Hyperparameter, Overfitting, Calibration
Gradient descent
Loss-u azaltmaq üçün parameter-ləri gradient-in əks istiqamətində kiçik addımlarla təkrar-təkrar yeniləyən optimizasiya alqoritmi.
Gradient descent differentiable model-ləri train etməyin əsas üsuludur. Fikir sadədir: loss function-u parameter-lərdən asılı bir səth kimi təsəvvür edin. Gradient bu səthdə ən dik yüksəliş istiqamətini göstərir. Parameter-ləri onun əksinə, kiçik addımla dəyişsəniz, loss azalır. Bunu minlərlə dəfə təkrarlayırsınız.
Hər addımda yeniləmə belədir: yeni weight = köhnə weight − learning rate × gradient.
Variantları:
- Batch gradient descent. Gradient bütün training set üzərində hesablanır. Dəqiqdir, amma böyük data üçün çox yavaşdır.
- Stochastic gradient descent (SGD) və mini-batch. Gradient kiçik təsadüfi batch üzərində hesablanır. Noisy, amma sürətlidir və praktikada standartdır; noise hətta generalization-a kömək edir.
- Adam, RMSProp və s. Hər parameter üçün addım ölçüsünü adaptiv tənzimləyən optimizer-lər.
Learning rate ən vacib hyperparameter-dir. Çox böyükdürsə, loss sıçrayır və ya NaN olur; çox kiçikdirsə, training sonsuz çəkir və ya pis nöqtədə ilişir. Learning rate schedule (warmup, tədricən azaltma) geniş istifadə olunur.
Neural network-lərdə gradient-ləri backpropagation hesablayır, gradient descent isə onları tətbiq edir. Tree-əsaslı gradient boosting də eyni ideyanı istifadə edir, amma parameter-lər əvəzinə yeni tree-lər əlavə edir.
Əlaqəli terminlər: Backpropagation, Optimizer, Loss function, Hyperparameter, Parameter
Hyperparameter
Training zamanı öyrənilməyən, mühəndisin əvvəlcədən seçdiyi parametr: learning rate, tree depth, regularization gücü, tree-lərin sayı.
Model-in iki növ "düyməsi" var. Parameter-lər (weight-lər) training zamanı datadan öyrənilir. Hyperparameter-lər isə training-in özünü idarə edir və ondan əvvəl seçilir: learning rate, tree-nin maksimal dərinliyi, ensemble-dakı tree-lərin sayı, L1/L2 regularization gücü, neural network-də layer-lərin sayı.
Hyperparameter-lər model-in capacity-sini və öyrənmə dinamikasını təyin edir, ona görə overfitting ilə underfitting arasındakı balansı məhz onlar idarə edir.
Tuning üsulları:
- Grid search. Bütün kombinasiyaları yoxlayır; az hyperparameter üçün uyğundur.
- Random search. Təsadüfi kombinasiyalar; adətən grid-dən səmərəlidir.
- Bayesian optimization (Optuna və s.). Əvvəlki nəticələrə əsasən növbəti sınağı seçir.
Ən vacib qayda: tuning validation set və ya cross-validation üzərində aparılır, heç vaxt test set üzərində yox. Yüz kombinasiyanı test set-də yoxlayıb ən yaxşısını seçsəniz, test set validation set-ə çevrilir və yekun rəqəminiz nikbin olur.
Praktik qeydlər: tuning-in qazancı adətən yaxşı feature-lərin qazancından kiçikdir, ona görə buna həddindən artıq vaxt sərf etməyin. Seçilmiş hyperparameter-ləri model artifact-i ilə birlikdə saxlayın ki, model reproducible olsun. Kiçik fərqləri fərqli random seed-lərlə yoxlayın, çünki onlar çox vaxt noise-dur.
Əlaqəli terminlər: Parameter, Validation set, Cross-validation, Regularization, Gradient descent
Inference
Train edilmiş model-in yeni input üzərində işlədilib proqnoz və ya output alınması; training-dən sonra production-da baş verən mərhələ.
Machine learning sisteminin həyatı iki mərhələdən ibarətdir: training, yəni parameter-lərin datadan öyrənilməsi, və inference, yəni hazır model-in yeni input-lar üzərində işə salınması. Training nadir hallarda, böyük hesablama ilə edilir; inference isə hər request-də, bəzən saniyədə minlərlə dəfə baş verir.
Inference-in tələbləri training-dən fərqlidir:
- Latency. Online API-də model millisaniyələr ərzində cavab verməlidir.
- Xərc. Training bir dəfəlik xərcdir, inference isə daimi; böyük model-lərdə əsas xərc məhz buradadır.
- Feature-lərin əlçatanlığı. Inference anında yalnız həmin anda məlum olan data istifadə edilə bilər.
Serving pattern-ləri:
- Batch scoring. Gecə job-u bütün proqnozları cədvələ yazır; qurmaq və rollback etmək ən asandır.
- Online. HTTP və ya gRPC endpoint arxasında model, hər request üzrə proqnoz.
- Embedded. Model tətbiqin və ya cihazın içində işləyir.
- Streaming. Model event stream-i oxuyub proqnoz verir.
Ən geniş yayılmış problem training/serving skew-dur: feature-lər inference-də training-dəkindən fərqli hesablanırsa, model səssizcə zəifləyir. Çarə feature kodunu iki yol arasında paylaşmaqdır.
Use case imkan verirsə, batch inference ilə başlayın; real-time-a yalnız həqiqətən lazım olanda keçin.
Əlaqəli terminlər: Training/serving skew, Feature store, Latency, Deployment
Label
Supervised learning-də hər training nümunəsi üçün düzgün cavab: model-in proqnozlaşdırmağa öyrədildiyi target dəyər.
Label supervised learning-də nümunənin düzgün cavabıdır: e-məktubun spam olub-olmaması, evin satış qiyməti, şəkildəki obyekt. Model input-lardan label-ı proqnozlaşdırmağı öyrənir, buna görə label-ın keyfiyyəti model-in keyfiyyətinin tavanıdır.
Label-ların mənbələri:
- Təbii label-lar. Sistemin özü sonradan bilir: müştəri churn etdimi, kredit qaytarıldımı, istifadəçi klik etdimi.
- İnsan annotasiyası. Ekspertlər və ya annotator-lar nümunələri işarələyir. Bahalıdır və annotator-lar arasında fikir ayrılığı olur.
- Proxy label-lar. Əsl hədəfi ölçmək çətin olanda yaxın bir şey: "məmnunluq" əvəzinə "geri qayıtdı".
Praktik problemlər:
- Gecikmə. Fraud label-ı həftələr sonra gəlir, kredit default-u isə illər sonra. Bu, monitoring və retraining-i çətinləşdirir.
- Noise. Səhv label-lar model-i çaşdırır; az sayda yoxlanılmış label çox vaxt çoxlu noisy label-dan dəyərlidir.
- Leakage. Label-ın nəticəsi olan feature (məsələn, account_closed_date churn üçün) model-ə cavabı "pıçıldayır".
- Selection bias. Yalnız model-in təsdiqlədiyi kreditlərin nəticəsini bilirsiniz; rədd edilənlər barədə label yoxdur.
Qayda: label-ın dəqiq tərifini, hansı anda məlum olduğunu və necə yaradıldığını yazılı şəkildə müəyyən edin. Label tərifindəki dəyişiklik yeni model deməkdir.
Əlaqəli terminlər: Supervised learning, Feature, Leakage, Classification
Leakage
Label haqqında prediction anında əlçatan olmayacaq məlumatın training-ə və ya feature-lərə sızması; möhtəşəm validation nəticəsi, faydasız model verir.
Leakage machine learning-in səssiz qatilidir. Model validation-da əla nəticə göstərir, çünki o, production-da heç vaxt əlində olmayacaq məlumatdan istifadə edir. Deploy edildikdən sonra isə keyfiyyət kəskin düşür.
Əsas formaları:
- Target leakage. Label-ın nəticəsi olan feature. account_closed_date churn üçün mükəmməl predictor-dur, amma churn-u əvvəlcədən proqnozlaşdırmaq üçün tamamilə faydasızdır.
- Temporal leakage. Prediction anından sonrakı data ilə training. Bazar ertəsinin tələbini bazar ertəsini də əhatə edən rolling average ilə proqnozlaşdırmaq.
- Preprocessing leakage. Scaling, imputation, feature selection və ya target encoding split-dən əvvəl bütün dataset üzərində fit edilir; validation datası training-ə təsir edir.
- Duplicate leakage. Eyni entity həm training, həm də test set-də: təkrarlanan müştərilər, demək olar ki, eyni şəkillər, bir neçə vizitdə eyni pasiyent.
Əlamətləri: şübhəli dərəcədə yüksək score, bir feature-in hər şeyi üstələyən importance-ı, baseline-ın nədənsə qeyri-real yaxşı olması.
Müdafiə:
- hər feature üçün soruşun: "production-da bu proqnozu verəcəyim anda bu dəyər məlum olacaqmı?";
- time-based və group-based split istifadə edin;
- preprocessing-i pipeline-ın içində yalnız training fold üzərində fit edin;
- feature store ilə point-in-time düzgün aggregate-lər qurun.
Əlaqəli terminlər: Feature, Target encoding, Cross-validation, Test set, Feature store
Loss function
Model-in proqnozlarının düzgün cavablardan nə qədər uzaq olduğunu bir ədədlə ölçən funksiya; training bu ədədi minimuma endirməyə çalışır.
Loss function training-in "nəyi optimallaşdırırıq?" sualına verdiyi cavabdır. O, model-in hər proqnozunu düzgün label ilə müqayisə edib cəza hesablayır; optimizer isə parameter-ləri bu cəzanın ortasını azaltmaq üçün dəyişir.
Geniş yayılmış loss-lar:
- Mean squared error. Regression üçün; böyük səhvləri kvadrata görə sərt cəzalandırır, outlier-lərə həssasdır.
- Mean absolute error və Huber loss. Outlier-lərə qarşı daha davamlı alternativlər.
- Log loss (cross-entropy). Classification üçün; yanlış cavaba yüksək əminliklə verilən ehtimalı çox ağır cəzalandırır və ehtimalların keyfiyyətini ölçür.
Loss function və biznes metric-i fərqli şeylərdir. Loss differentiable və optimallaşdırıla bilən olmalıdır; metric isə (precision, recall, gəlir) insanların həqiqətən önəm verdiyi şeydir. Model log loss-u minimallaşdırır, siz isə F1 və ya pul ilə qiymətləndirirsiniz. Bu ikisi arasındakı boşluq nə qədər böyükdürsə, sürpriz bir o qədər çox olur.
Praktik qeydlər:
- Səhvlərin dəyəri asimmetrikdirsə (false negative daha bahalıdır), class weight-lər və ya xüsusi loss ilə bunu training-ə daxil edin.
- Training loss-un azalması kifayət deyil; validation loss da izlənməlidir. Training loss düşür, validation loss artırsa, bu overfitting-dir.
- Loss NaN olursa, adətən learning rate çox böyükdür və ya datada problem var.
Əlaqəli terminlər: Optimizer, Gradient descent, Overfitting, Calibration
Neural network
Aralarında qeyri-xətti activation-lar olan çəkili cəmlər layer-lərindən qurulmuş model; xam datadan öz feature-lərini öyrənə bilir.
Neural network bir-birinin üstünə düzülmüş layer-lərdən ibarətdir. Hər layer input-un çəkili cəmlərini hesablayır və nəticəni qeyri-xətti activation funksiyasından (ReLU və s.) keçirir. Kifayət qədər layer, weight və data olduqda belə network demək olar ki, istənilən funksiyanı approximate edə bilir. Çoxlaylı network-lərlə işləmək deep learning adlanır.
Ən böyük üstünlüyü: neural network feature-lərini xam datadan özü öyrənir. Klassik yanaşmada şəkil üçün kənarları və formaları əl ilə təsvir etmək lazım idi; neural network bunları piksellərdən öyrənir. Buna görə şəkil, səs, mətn və sequence məsələlərində hakim mövqedədir. Müasir language model-lər də transformer arxitekturalı neural network-lərdir.
Training gradient descent ilə aparılır, gradient-ləri isə backpropagation hesablayır.
Zəif tərəfləri:
- dataya və compute-a acdır;
- hyperparameter-ləri çoxdur, debug etmək çətindir;
- az interpretable-dır;
- kiçik və orta tabular data üzərində adətən gradient boosting-dən pis nəticə verir.
Nə vaxt seçməli: input şəkil, səs, mətn və ya sequence-dirsə, yaxud milyonlarla nümunəniz və GPU-nuz varsa. Çox vaxt sıfırdan train etmək əvəzinə pretrained model götürüb fine-tune etmək daha səmərəlidir.
Ümumi səhv: cədvəl datası üçün refleksiv olaraq neural network seçmək. Yaxşı feature-lər üzərində logistic regression və ya gradient boosting çox vaxt daha yaxşı və daha ucuzdur.
Əlaqəli terminlər: Backpropagation, Gradient descent, Parameter, Embedding, Fine-tuning
Optimizer
Loss-u azaltmaq üçün gradient-lərdən istifadə edərək model-in parameter-lərini yeniləyən alqoritm: SGD, Adam, RMSProp və s.
Optimizer training döngəsinin "hərəkət edən" hissəsidir. Loss function nə qədər səhv etdiyimizi ölçür, backpropagation gradient-ləri hesablayır, optimizer isə bu gradient-lərə əsasən weight-ləri necə dəyişəcəyini qərara alır.
Əsas ailələr:
- SGD. Ən sadəsi: weight-i learning rate × gradient qədər əks istiqamətə sürüşdürür. Momentum əlavə olunanda əvvəlki addımların istiqamətini də nəzərə alır, noise-u hamarlayır və dar dərələrdə daha sürətli irəliləyir.
- Adaptive optimizer-lər (Adam, AdamW, RMSProp). Hər parameter üçün addım ölçüsünü gradient-lərin tarixçəsinə görə ayrıca tənzimləyir. Default parametrlərlə yaxşı işləyir, ona görə neural network-lər üçün ən geniş yayılmış seçimdir.
Optimizer-in hyperparameter-ləri:
- Learning rate ən vacibidir. Çox böyük olsa loss partlayır, çox kiçik olsa training ilişir.
- Learning rate schedule: warmup, cosine decay, step decay.
- Weight decay: regularization-ın optimizer içində tətbiqi.
Praktik tövsiyə: neural network üçün AdamW və standart learning rate ilə başlayın, əvvəlcə kiçik data alt çoxluğunda loss-un düşdüyünü yoxlayın. Training qeyri-sabitdirsə, optimizer-i dəyişməzdən əvvəl learning rate-i azaldın. Optimizer seçimi adətən data və feature problemlərindən daha az təsir edir.
Əlaqəli terminlər: Gradient descent, Backpropagation, Loss function, Hyperparameter
Overfitting
Model-in training datasındakı ümumi pattern əvəzinə ona xas noise-u əzbərləməsi: training error aşağı, test error isə yüksək olur.
Overfitting model-in training set-i "çox yaxşı" öyrənməsidir: o, real qanunauyğunluqla birlikdə təsadüfi noise-u, səhv label-ları və konkret nümunələrin xüsusiyyətlərini də yadda saxlayır. Nəticədə görmədiyi data üzərində pis işləyir.
Əsas əlamət training və validation nəticələri arasındakı böyük fərqdir: training-də 99% accuracy, validation-da 75%. Neural network-lərdə tipik mənzərə: training loss düşməyə davam edir, validation loss isə bir nöqtədən sonra artmağa başlayır.
Səbəbləri:
- data ilə müqayisədə model-in capacity-si həddindən artıqdır (dərin tree, çoxlu parameter);
- data azdır və ya noisy-dir;
- feature-lər çoxdur, onların bir hissəsi əhəmiyyətsizdir;
- hyperparameter-lər validation set üzərində həddindən artıq tune edilib (validation set-ə overfit).
Çarələri:
- daha çox data;
- regularization (L1, L2, dropout);
- daha sadə model və ya daha az capacity (max depth, daha az layer);
- early stopping;
- feature selection;
- ensemble-lar (random forest variance-ı azaldır).
Nümunə: dərinliyi məhdudlaşdırılmamış decision tree hər müştəri üçün ayrıca leaf yaradır və training-də mükəmməl, yeni müştərilər üzərində isə təsadüfi tahmindən bir az yaxşı işləyir.
Diqqət: test score şübhəli dərəcədə yüksəkdirsə, bu overfitting yox, leakage ola bilər.
Əlaqəli terminlər: Underfitting, Generalization, Regularization, Validation set
Parameter
Model-in training zamanı datadan öyrəndiyi daxili ədədlər (weight-lər və bias-lar); model-in bildiyi hər şey onlarda saxlanılır.
Parameter-lər, ən çox weight adlanır, model-in öyrəndiyi ədədlərdir. Linear regression-da y = w₁x₁ + w₂x₂ + b formulundakı w-lar və b parameter-lərdir. Neural network-də isə hər layer-in weight matrisləri və bias-ları; böyük language model-lərdə onların sayı milyardlarla ölçülür.
Training-in mahiyyəti parameter-lərin elə dəyərlərini tapmaqdır ki, loss minimum olsun. Gradient descent bunları addım-addım yeniləyir. Training bitdikdən sonra parameter-lər donur və inference zamanı dəyişmir; model-in "bildiyi" hər şey onlarda kodlaşdırılıb.
Hyperparameter-lərlə qarışdırmayın: parameter-lər datadan öyrənilir, hyperparameter-lər (learning rate, tree depth) isə mühəndis tərəfindən əvvəlcədən seçilir.
Praktik mənası:
- Interpretability. Linear model-lərdə weight elə izahın özüdür: işarəsi və böyüklüyü feature-in təsirini göstərir (feature-lər eyni scale-dədirsə). Neural network-lərdə isə ayrıca weight-in mənası yoxdur.
- Capacity. Parameter sayı model-in nə qədər mürəkkəb funksiya öyrənə biləcəyinə təsir edir; data ilə müqayisədə çox parameter overfitting riskidir.
- Regularization weight-lərin böyüklüyünü cəzalandırır; L1 bəzi weight-ləri dəqiq sıfıra endirir.
- Artifact. Saxlanılan model faylı əsasən parameter-lərdən ibarətdir; onu yaradan data, kod və hyperparameter-lərlə birlikdə versiyalaşdırın.
Model-də olmayan biliyi əlavə etmək üçün ya parameter-ləri yeniləmək (retrain, fine-tuning), ya da məlumatı input-a vermək lazımdır.
Əlaqəli terminlər: Hyperparameter, Gradient descent, Regularization, Neural network, Fine-tuning
Precision
Model-in positive dediyi nümunələrin nə qədərinin həqiqətən positive olduğu; false positive-lər baha başa gələndə əsas metric.
Precision sualı belədir: model "bəli" deyəndə nə qədər haqlıdır? Düsturu: true positive / (true positive + false positive). Model 100 məktubu spam kimi işarələyib və onlardan 90-ı həqiqətən spamdırsa, precision 0.9-dur.
Precision false positive-lərin dəyəri yüksək olanda önə çıxır:
- spam filtri: vacib məktubu spam qovluğuna atmaq istifadəçi üçün ağrılıdır;
- fraud bloklaması: qanuni müştərinin kartını bloklamaq onu itirmək deməkdir;
- əl ilə yoxlama növbəsi: analitiklərin vaxtını boş alert-lərə sərf etmək.
Precision həmişə recall ilə birlikdə oxunmalıdır. Model yalnız ən əmin olduğu bir nümunəni positive desə, precision 100% ola bilər, amma positive-lərin demək olar ki, hamısını buraxar. Bu ikisi arasında balansı classification threshold idarə edir: threshold-u qaldırmaq precision-ı artırır, recall-u azaldır.
Bu balansı ifadə etmək üçün:
- F1: precision və recall-un harmonik ortası;
- PR curve və PR-AUC: bütün threshold-lar üzrə mənzərə, xüsusən nadir positive sinif olduqda.
Praktik yanaşma: biznesdən hər səhv növünün dəyərini soruşun. "Gündə ən çox 200 alert yoxlaya bilərik" kimi məhdudiyyət precision-a hədəf qoyur və threshold bu hədəfə görə seçilir. Accuracy-yə isə imbalanced datada etibar etməyin.
Əlaqəli terminlər: Recall, Classification, Calibration, A/B test
Random forest
Datanın və feature-lərin təsadüfi alt çoxluqları üzərində yüzlərlə decision tree train edib nəticələrini ortalayan robust ensemble metodu.
Random forest tək decision tree-nin əsas zəifliyini, qeyri-sabitliyi, üstünlüyə çevirir. Hər tree datanın təsadüfi bootstrap sample-ı üzərində train edilir və hər bölgüdə feature-lərin yalnız təsadüfi bir hissəsinə baxır. Bu, tree-lərin bir-birindən fərqli olmasını təmin edir. Proqnoz bütün tree-lərin səsverməsi (classification) və ya ortası (regression) ilə verilir.
Fərdi tree-lərin səhvləri qismən bir-birini kompensasiya edir, ona görə variance kəskin düşür, model daha sabit və overfitting-ə daha davamlı olur.
Güclü tərəfləri:
- pis konfiqurasiya etmək demək olar ki, mümkün deyil; default-lar çox vaxt yaxşı işləyir;
- scaling tələb etmir, qarışıq feature tipləri ilə işləyir;
- tree-lər paralel train edilir;
- out-of-bag nümunələr pulsuz validation estimate verir;
- feature importance verir.
Zəif tərəfləri:
- adətən yaxşı tune edilmiş gradient boosting-dən bir az zəif nəticə verir;
- yüzlərlə dərin tree böyük model faylı və yavaş inference deməkdir;
- tək tree kimi oxunaqlı deyil.
Nə vaxt seçməli: sürətli, etibarlı və az tuning tələb edən güclü baseline lazım olanda. Gradient boosting ilə fərq: random forest tree-ləri müstəqil qurub ortalayır, boosting isə ardıcıl qurub hər tree ilə əvvəlki səhvləri düzəldir.
Diqqət: impurity-əsaslı feature importance çoxlu unikal dəyəri olan feature-lərə meyllidir; permutation importance daha etibarlıdır.
Əlaqəli terminlər: Decision tree, Gradient boosting, Overfitting, Feature
Recall
Həqiqi positive nümunələrin nə qədərini model-in tuta bildiyi; false negative-lər, yəni buraxılmış hallar baha başa gələndə əsas metric.
Recall sualı belədir: həqiqi positive-lərin neçə faizini tapdıq? Düsturu: true positive / (true positive + false negative). Datada 50 fraud əməliyyatı var və model onlardan 40-nı tutubsa, recall 0.8-dir.
Recall buraxılmış halların dəyəri yüksək olanda önə çıxır:
- xərçəng skrininqi: xəstəliyi görməmək əlavə müayinədən qat-qat bahadır;
- fraud və təhlükəsizlik: buraxılan hücum birbaşa itkidir;
- sənəd axtarışı (e-discovery): vacib sənədi tapmamaq hüquqi riskdir.
Recall-u süni şəkildə 100%-ə çatdırmaq asandır: hər şeyi positive adlandırın. Buna görə recall həmişə precision ilə birlikdə oxunur. Threshold-u aşağı salmaq recall-u artırır, amma precision-ı azaldır, yəni daha çox yalançı alert yaranır.
Praktik qeydlər:
- Recall-u yalnız ümumi rəqəm kimi yox, slice-lar üzrə də yoxlayın. Ümumi recall 90% ola bilər, amma bir ölkədə və ya cihaz tipində 50%.
- Label-lar gec gəlirsə (fraud həftələr sonra təsdiqlənir), production-da recall-u ölçmək çətindir; buraxılan halların bir hissəsi heç vaxt aşkarlanmır.
- Biznes çox vaxt məhdudiyyət şəklində düşünür: "precision ən azı 30% olmaq şərtilə maksimal recall". Threshold-u məhz belə hədəfə görə seçin.
Recall ROC curve-də true positive rate kimi də görünür.
Əlaqəli terminlər: Precision, Classification, Label, Calibration
Regularization
Model-in mürəkkəbliyini cəzalandıraraq və ya məhdudlaşdıraraq overfitting-in qarşısını alan və generalization-ı yaxşılaşdıran texnikalar toplusu.
Regularization model-ə "datanı izah et, amma həddindən artıq mürəkkəbləşmə" deyir. Ən klassik forma loss function-a weight-lərin böyüklüyünə görə cəza əlavə etməkdir: model həm səhvi, həm də özünün mürəkkəbliyini azaltmalı olur.
Əsas növləri:
- L2 (ridge, weight decay). Weight-lərin kvadratlarının cəmini cəzalandırır. Weight-ləri kiçildir, amma sıfıra endirmir; korrelyasiyalı feature-lər arasında təsiri bölüşdürür.
- L1 (lasso). Weight-lərin mütləq qiymətlərini cəzalandırır. Bir çox weight-i dəqiq sıfıra endirir, yəni eyni zamanda feature selection edir.
- Dropout. Neural network-də training zamanı təsadüfi neyronları söndürür ki, network tək bir yola güvənməsin.
- Early stopping. Validation loss artmağa başlayanda training-i dayandırmaq.
- Struktur məhdudiyyətləri. Tree-lər üçün max depth, minimum leaf ölçüsü; boosting-də kiçik learning rate.
- Data augmentation. Training nümunələrinin dəyişdirilmiş variantlarını əlavə etmək.
Regularization gücü bir hyperparameter-dir və validation set və ya cross-validation ilə seçilir. Çox zəif olsa overfitting qalır, çox güclü olsa underfitting yaranır.
Praktik qeyd: L1/L2 cəzası weight-lərin böyüklüyünə əsaslanır, ona görə feature-lər əvvəlcədən scale edilməlidir; əks halda böyük vahidli feature-lər haqsız yerə az, kiçik vahidlilər isə çox cəzalandırılır.
Əlaqəli terminlər: Overfitting, Underfitting, Hyperparameter, Parameter, Generalization
Rollback
Yeni versiya problem yaradanda sistemi tez və etibarlı şəkildə əvvəlki işlək versiyaya (model, kod və ya konfiqurasiya) qaytarmaq.
Rollback problem aşkarlananda əvvəlki, işlədiyi bilinən vəziyyətə qayıtmaqdır. Model-lər üçün bu, xüsusilə vacibdir, çünki onlar səssiz sınır: yeni model exception atmır, sadəcə pis qərarlar verir və bu, bəzən saatlar və ya günlər sonra üzə çıxır.
Rollback-in həqiqətən işləməsi üçün:
- Əvvəlki artifact saxlanılmalıdır. Hər model data versiyası, kod commit-i, hyperparameter-lər və metric-lərlə birlikdə versiyalaşdırılır və bir əmrlə yenidən deploy edilə bilir.
- Feature-lər uyğun qalmalıdır. Yeni model üçün feature pipeline dəyişibsə, köhnə model köhnə feature-ləri gözləyir. Rollback model ilə feature kodunu birlikdə qaytarmalıdır.
- Test edilməlidir. Heç vaxt sınanmamış rollback prosedurunun ehtiyac anında işləyəcəyinə arxayın olmaq olmaz.
- Avtomatlaşdırılmalıdır. Gecə saat 3-də əl ilə addım-addım prosedur səhvə açıqdır.
Nümunə: retraining pipeline pis data günündən sonra yeni model deploy edir və tövsiyələrin klik nisbəti 30% düşür. Prediction distribution alert-i işə düşür, on-call mühəndis bir əmrlə əvvəlki versiyaya qayıdır, sonra səbəbi sakit şəraitdə araşdırır.
Batch scoring rollback-i ən asan olan pattern-dir: əvvəlki proqnoz cədvəlini geri qaytarmaq kifayətdir. Canary və shadow mode isə rollback-ə ehtiyacı azaldır.
Əlaqəli terminlər: Canary, Shadow mode, Drift, Deployment, Release
Shadow mode
Yeni model-in real production trafikini alıb proqnozlarını log etdiyi, amma heç bir qərara təsir etmədiyi deployment rejimi.
Shadow mode-da yeni model cari model ilə yanaşı işləyir: hər request hər ikisinə gedir, amma istifadəçiyə yalnız cari model-in cavabı qaytarılır. Yeni model-in proqnozları sadəcə log edilir. Beləliklə, onu real trafikdə, real data ilə, istifadəçilərə heç bir risk yaratmadan yoxlamaq olur.
Shadow mode nəyi üzə çıxarır:
- Training/serving skew. Offline-da əla işləyən model production feature-ləri ilə fərqli davranırsa, bu, burada görünür.
- Prediction distribution. Yeni model köhnədən nə qədər fərqli qərar verir? Fərqlər harada cəmlənir?
- Əməliyyat göstəriciləri. Real yük altında latency, yaddaş, error rate.
- Kənar hallar. Offline test set-də olmayan input-lar.
Nümunə: yeni fraud model-i bir həftə shadow mode-da işləyir. Məlum olur ki, o, köhnə model ilə 97% hallarda razılaşır, amma bir ödəniş provayderindən gələn əməliyyatların 40%-ni flag edir. Araşdırma göstərir ki, həmin provayder üçün bir feature serving-də həmişə null gəlir.
Məhdudiyyətləri: shadow mode biznes təsirini ölçmür, çünki model-in qərarları heç kimə göstərilmir. Recommendation kimi sistemlərdə istifadəçinin reaksiyasını görmək üçün sonra canary və A/B test lazımdır. Həmçinin hər request-də iki model işlədiyi üçün inference xərci artır.
Tipik ardıcıllıq: shadow mode, sonra canary, sonra A/B test və tam rollout.
Əlaqəli terminlər: Canary, A/B test, Training/serving skew, Rollback
Supervised learning
Hər nümunəsi düzgün cavabla (label ilə) gələn data üzərində input-dan output-a funksiya öyrənən machine learning növü.
Supervised learning machine learning-in ən geniş yayılmış və kommersiya baxımından ən faydalı formasıdır. Sizin input-larınız və onlara uyğun düzgün output-larınız (label-lar) var; alqoritm onların arasındakı funksiyanı axtarır ki, yeni input üçün output-u proqnozlaşdıra bilsin.
İki əsas növü:
- Classification. Output kateqoriyadır: spam/spam deyil, hansı məhsul kateqoriyası.
- Regression. Output ədəddir: qiymət, tələb, çatdırılma müddəti.
Digər paradiqmalarla fərq:
- Unsupervised learning-də label yoxdur; məqsəd datada struktur tapmaqdır (clustering, anomaly detection).
- Reinforcement learning-də agent mühitdə hərəkət edir və reward əsasında policy öyrənir.
Tipik alqoritmlər: linear və logistic regression, decision tree-lər, random forest, gradient boosting, k-nearest neighbours, support vector machine-lər, neural network-lər.
Praktikada əsas çətinlik alqoritm deyil, datadır:
- label-lar bahalıdır, gecikir və ya noisy-dir;
- label-ın tərifi biznes məqsədini düzgün əks etdirməlidir;
- feature-lər prediction anında əlçatan olmalıdır;
- evaluation deployment şəraitini təqlid etməlidir.
Nümunə: keçmiş kredit müraciətləri və onların qaytarılıb-qaytarılmaması (label) üzərində model train edilir və yeni müraciətlər üçün default ehtimalını proqnozlaşdırır.
Language model-lərin pretraining-i də texniki baxımdan supervised-dir: label mətndəki növbəti token-dir və o, datanın özündən götürülür.
Əlaqəli terminlər: Label, Classification, Feature, Training set, Pretraining
Target encoding
Categorical feature-in hər kateqoriyasını həmin kateqoriya üçün label-ın ortası ilə əvəz edən encoding; güclüdür, amma leakage tələsidir.
Target encoding yüksək cardinality-li kateqoriyalar (poçt indeksi, mağaza ID, şəhər) üçün nəzərdə tutulub. One-hot encoding minlərlə sütun yaradardı; target encoding isə hər kateqoriyanı bir ədədlə, həmin kateqoriyadakı nümunələrin orta label dəyəri ilə əvəz edir. Məsələn, "bu poçt indeksində churn nisbəti 0.12-dir".
Niyə güclüdür: tək sütun kateqoriya ilə target arasındakı əlaqəni birbaşa ötürür və tree-lər də, linear model-lər də onu asan istifadə edir.
Niyə təhlükəlidir: nümunənin öz label-ı onun feature-inin hesablanmasına daxil olur. Kateqoriyada cəmi bir-iki nümunə varsa, feature demək olar ki, label-ın özüdür. Model bunu əzbərləyir, validation-da əla görünür, production-da isə uğursuz olur. Bu, klassik target leakage-dir.
Düzgün tətbiq:
- Out-of-fold hesablama. Training datasını fold-lara bölün; hər fold üçün ortalamaları yalnız digər fold-lar üzərində hesablayın.
- Smoothing. Az nümunəli kateqoriyaların ortasını ümumi ortaya doğru çəkin.
- Yalnız training data. Validation və test üçün encoding training set-dən hesablanmış ortalamalarla aparılır.
- Yeni kateqoriyalar. Production-da görünən yeni dəyərlər üçün ümumi orta istifadə edin.
- Zaman. Temporal data-da yalnız prediction anından əvvəlki label-ları istifadə edin.
Naive və out-of-fold versiyaları validation-da müqayisə etsəniz, leakage-in təsirini aydın görəcəksiniz.
Əlaqəli terminlər: Leakage, Feature engineering, Cross-validation, Embedding
Test set
Model-in yekun keyfiyyətini qiymətləndirmək üçün sonda yalnız bir dəfə istifadə olunan, training və model seçimində iştirak etməyən data hissəsi.
Test set dürüst evaluation-ın son müdafiə xəttidir. O, model-in görmədiyi data üzərində generalization-ın qərəzsiz qiymətini verir, amma yalnız bir şərtlə: ona heç bir qərar qəbul edərkən baxılmayıbsa.
Tipik bölgü: training ~70%, validation ~15%, test ~15%. Validation set model-ləri müqayisə etmək və hyperparameter-ləri tune etmək üçündür; test set isə lap sonda, yekun rəqəmi bildirmək üçün.
Test set-i yanğınsöndürən kimi düşünün: ona yalnız bir dəfə müraciət edirsiniz. Nəticəyə baxıb model-i düzəldirsinizsə və yenidən yoxlayırsınızsa, test set ikinci validation set-ə çevrilir və yekun rəqəm nikbin olur. Hər "sadəcə bir yoxlama da" məlumat sızdırır.
Test set-i düzgün qurmaq:
- Dünya necə bölünürsə, elə bölün. Model gələcəyi proqnozlaşdıracaqsa, test set zamana görə ən son dövr olmalıdır.
- Group-based split. Eyni istifadəçinin və ya pasiyentin sətirləri yalnız bir tərəfdə olmalıdır.
- Yeni region və ya məhsul üçün model qurursunuzsa, test set də onları təmsil etməlidir.
Yönləndirici sual: "deployment anında nə yeni olacaq?" Test set eyni mənada yeni olmalıdır.
Statistik dürüstlük: 2000 nümunəlik test set-də 0.3%-lik fərq noise-dur. Confidence interval-ları bootstrap ilə hesablayın. Test score baseline-dan çox yüksəkdirsə, əvvəlcə leakage axtarın.
Əlaqəli terminlər: Training set, Validation set, Cross-validation, Leakage, Generalization
Training set
Model-in parameter-lərini fit etmək üçün istifadə olunan data hissəsi; model-in öyrəndiyi bütün nümunələr buradan gəlir.
Training set model-in birbaşa öyrəndiyi datadır: optimizer loss-u məhz bu nümunələr üzərində azaldır. Tipik olaraq bütün datanın təxminən 70%-ni təşkil edir; qalan hissə validation və test set-lər üçün ayrılır.
Training set üzərindəki nəticə model-in nə qədər yaxşı əzbərlədiyini göstərir, generalization barədə isə heç nə demir. Buna görə model-i heç vaxt training data üzərində qiymətləndirməyin. Bununla belə, training error faydalı diaqnostikadır: o yüksəkdirsə, underfitting var; training error aşağı, validation error yüksəkdirsə, overfitting.
Keyfiyyətli training set-in xüsusiyyətləri:
- Təmsilçilik. Production-da model-in qarşılaşacağı halları əhatə edir; yalnız bir ölkədən və ya mövsümdən olan data başqa şəraitdə pis işləyəcək.
- Düzgün label-lar. Səhv label-lar model-ə səhv öyrədir.
- Point-in-time düzgünlük. Hər nümunənin feature-ləri yalnız həmin anda məlum olan məlumatdan hesablanıb.
- Versiyalaşdırma. Model-in dəqiq hansı sətirlərlə train edildiyini bilmək üçün snapshot və ya hash saxlanılır.
Preprocessing addımları (scaler, imputer, target encoder) yalnız training set üzərində fit edilməli və sonra validation və test-ə tətbiq olunmalıdır. Əks halda preprocessing leakage yaranır.
Daha çox training data adətən ən etibarlı yaxşılaşmadır, amma yalnız data keyfiyyətli və model-in istifadə şəraitinə uyğun olduqda.
Əlaqəli terminlər: Validation set, Test set, Label, Leakage, Overfitting
Training/serving skew
Feature-lərin training zamanı və production-da inference zamanı fərqli hesablanması nəticəsində model-in səssizcə zəifləməsi.
Training/serving skew production model-lərinin ən geniş yayılmış və ən çətin aşkarlanan problemlərindən biridir. Training zamanı feature-lər batch rejimində, tarixi data üzərində, çox vaxt SQL və ya notebook kodu ilə hesablanır. Serving zamanı isə həmin feature-lər real-time, hər request üçün, başqa dildə və başqa komanda tərəfindən yazılmış kodla hesablanır. İki implementasiya arasındakı ən kiçik fərq model-in gördüyü input-u dəyişir.
Tipik günahkarlar:
- kitabxana upgrade-i tokenization-ı və ya mətn emalını dəyişir;
- batch job UTC istifadə edir, API isə yerli vaxt;
- null training-də sıfır, serving-də isə "skip" kimi emal olunur;
- tarixçə aggregate-i inference-də cari event-i əhatə edir, training-də isə yox;
- kateqoriyaların lüğəti fərqli versiyadadır.
Bu problemin xüsusiyyəti səssizliyidir: heç bir error yoxdur, model sadəcə bir qədər pis proqnoz verir.
Çarələr:
- Kodu paylaşın. Training üçün feature-i hesablayan eyni funksiya serving üçün də işləsin.
- Feature store. Feature-ləri bir dəfə təyin edib hər iki yola eyni dəyəri verir.
- Serving-də hesablanmış feature-ləri log edin və sonrakı training-də məhz onlardan istifadə edin.
- Shadow mode və müqayisə. Eyni nümunə üçün offline və online feature dəyərlərini müqayisə edin, fərqə alert qoyun.
Əlaqəli terminlər: Feature store, Inference, Shadow mode, Drift, Feature
Underfitting
Model-in datadakı real pattern-i tutmaq üçün həddindən artıq sadə olması: həm training, həm də test error yüksək olur.
Underfitting overfitting-in əksidir: model öyrənilməli olanı belə öyrənə bilmir. Onu tanımaq asandır: training set üzərindəki nəticə də zəifdir. Model training datasını izah edə bilmirsə, yeni data üzərində də yaxşı işləməyəcək.
Tipik səbəblər:
- Az capacity. Qeyri-xətti əlaqəni linear model ilə tutmağa çalışmaq; çox dayaz tree.
- Zəif feature-lər. Lazımi məlumat ya datada yoxdur, ya da model-in görə biləcəyi formaya salınmayıb. Məsələn, timestamp-dan həftənin günü çıxarılmayıb və model həftəlik mövsümiliyi görmür.
- Həddindən artıq regularization. Weight-lər çox güclü cəzalandırılıb.
- Yarımçıq training. Neural network kifayət qədər train edilməyib və ya learning rate uyğun deyil.
Çarələri:
- daha yaxşı feature-lər (adətən ən effektiv yol);
- daha çox capacity: daha dərin tree, gradient boosting, daha böyük network;
- regularization-ı zəiflətmək;
- daha uzun training və ya learning rate-i tənzimləmək.
Nümunə: mənzil qiymətlərini yalnız otaq sayı ilə linear model-lə proqnozlaşdırmaq. Training error də, test error də yüksəkdir. Sahə, rayon və mərtəbə əlavə ediləndən sonra hər ikisi düşür.
Diqqət: underfitting-də daha çox data adətən kömək etmir; model onsuz da mövcud datadan istifadə edə bilmir. Daha çox data overfitting-in çarəsidir, underfitting-in yox. Diaqnozu training və validation error-larını yan-yana qoyaraq qoyun.
Əlaqəli terminlər: Overfitting, Generalization, Regularization, Feature engineering
Validation set
Model-ləri müqayisə etmək, hyperparameter-ləri tune etmək və training-i nə vaxt dayandırmağı seçmək üçün istifadə olunan ayrıca data hissəsi.
Validation set model qurulması zamanı qərar qəbul etmək üçün istifadə olunan datadır. Model onun üzərində train edilmir, amma siz ona baxaraq seçim edirsiniz: hansı alqoritm, hansı hyperparameter-lər, hansı feature-lər, training nə vaxt dayansın (early stopping), classification threshold nə olsun.
Tipik bölgü: training ~70%, validation ~15%, test ~15%. Kiçik dataset-lərdə tək validation split əvəzinə cross-validation daha etibarlı nəticə verir.
Niyə ayrıca test set də lazımdır? Çünki validation set-ə baxaraq onlarla qərar verdikdə, model dolayı yolla ona uyğunlaşır. Yüz hyperparameter kombinasiyasından validation-da ən yaxşısını seçmək bir az da şans deməkdir, ona görə validation score yekun keyfiyyəti bir qədər şişirdir. Test set bu nikbinliyi düzəldir.
Düzgün istifadə:
- validation set training set ilə eyni mənbədən, amma deployment şəraitini təqlid edən şəkildə bölünür (zaman sırası olan datada training-dən sonrakı dövr);
- preprocessing statistikaları (scaling, imputation, target encoding) validation datası daxil edilmədən hesablanır;
- calibration kimi əlavə model-lər də validation datası üzərində fit edilir, training-də yox.
Xəbərdarlıq əlaməti: validation score yüksəlir, amma production metric-i dəyişmir. Bu, adətən leakage, validation set-ə overfit və ya distribution shift deməkdir.
Əlaqəli terminlər: Training set, Test set, Cross-validation, Hyperparameter, Leakage