Fəsil 02 · 4 dəq oxu

Supervised learning: əsas alqoritmlər

Supervised learning: əsas alqoritmlər

machine learning-in ən geniş yayılmış və kommersiya baxımından ən faydalı formasıdır. Input-larınız var, düzgün output-larınız var və onların arasında funksiya tapmaq istəyirsiniz. Output kateqoriya olduqda bu , ədəd olduqda isə regression adlanır.

Bu fəsil edilmiş model-lərin böyük əksəriyyətini təşkil edən alqoritmləri əhatə edir. Hər biri üçün məqsəd eynidir: hansı formada funksiya öyrənə bildiyini, harada sındığını və nə vaxt ona müraciət etməli olduğunuzu anlamaq.

Linear və logistic regression

Linear regression çəkili cəmini fit edir: y = w₁x₁ + w₂x₂ + … + b. Logistic regression eyni çəkili cəmi götürüb sigmoid-dən keçirir və üçün ehtimal verir.

  • Öyrənir: düz xətlər (hyperplane-lər). arasındakı interaction-ları əl ilə əlavə etmək lazımdır.
  • Güclü tərəfləri: sürətli, sabit, interpretable. elə izahın özüdür. Çox az data ilə işləyir. Baseline kimi üstələmək çətindir.
  • Zəif tərəfləri: olmadan qeyri-xətti strukturu tuta bilmir.
  • Nə vaxt müraciət etməli: interpretable model lazımdırsa, nümunələriniz azdırsa və ya daha mürəkkəb bir şeyə keçməzdən əvvəl baseline lazımdırsa.

sayı artdıqca ( L1 / L2 penalty) vacib olur. L1 dəqiq sıfıra endirir və eyni zamanda selection rolunu oynayır.

Decision tree-lər

Tree barədə ardıcıl hə/yox sualları verir (age > 40?, country == DE?) və hər leaf-də çoxluq təşkil edən proqnozlaşdırır.

  • Öyrənir: space-də oxlara paralel düzbucaqlılar.
  • Güclü tərəfləri: scaling tələb etmir, qarışıq tipli data ilə işləyir, interaction-ları təbii şəkildə tutur, kiçik olduqda insan tərəfindən oxuna bilir.
  • Zəif tərəfləri: tək tree ciddi şəkildə edir və qeyri-sabitdir: datadakı kiçik dəyişiklik tamamilə fərqli tree verə bilər.
  • Nə vaxt müraciət etməli: bir səhifəyə çap edib tənzimləyici orqana göstərə biləcəyiniz model lazım olduqda.

Tree ensemble-ları: random forest və gradient boosting

Tək tree-lərin qeyri-sabitliyi çoxlu tree birləşdiriləndə üstünlüyə çevrilir.

datanın və təsadüfi subset-ləri üzərində yüzlərlə tree train edir, sonra nəticələri ortalayır. Variance düşür; model robust olur və onu pis konfiqurasiya etmək demək olar ki, mümkün deyil.

tree-lər (, , ) tree-ləri ardıcıl train edir: hər yeni tree o ana qədərki ensemble-ın səhvlərini düzəldir. Tabular data üzərində, bu sətirlər yazılan vaxt, onlar ən güclü ümumi təyinatlı metoddur və structured data yarışlarının əksəriyyətini qazanır.

  • Güclü tərəfləri: tabular datada state-of-the-art, missing value-larla işləyir, importance verir.
  • Zəif tərəfləri: əhəmiyyətli bir neçə var (learning rate, depth, tree-lərin sayı) və nəzarətsiz qalsa, edir. Tək tree-dən daha az interpretable-dır; izah üçün SHAP value-larından istifadə edin.
  • Nə vaxt müraciət etməli: data tabular-dırsa və ağlabatan səylə ən yaxşı accuracy istəyirsinizsə. Biznes məsələlərinin əksəriyyəti məhz belədir.

k-nearest neighbours

Input-a ən yaxın k training nümunəsini tapıb səsvermə ilə proqnoz verin. Training addımı yoxdur.

  • Güclü tərəfləri: son dərəcə sadədir, funksiyanın forması barədə heç bir fərziyyə tələb etmir.
  • Zəif tərəfləri: böyük data üzərində yavaşdır, scaling-ə və əhəmiyyətsiz həssasdır, yüksək dimension-larda keyfiyyəti düşür.
  • Nə vaxt müraciət etməli: tez bir sanity check lazım olduqda və ya "oxşar nümunə" anlayışı elə məhz istədiyiniz şey olduqda (recommendation, deduplication).

Support vector machine-lər

Sinifləri ən geniş margin ilə ayıran hyperplane-i tapın; kernel trick ilə bunu qeyri-xəttiliyi tutmaq üçün gizli yüksəkölçülü space-də edin.

  • Güclü tərəfləri: çoxlu olan kiçik və orta ölçülü dataset-lərdə güclüdür, nəzəri cəhətdən yaxşı öyrənilib.
  • Zəif tərəfləri: təxminən 100 min nümunədən yuxarı pis scale edir, kernel və seçimləri əziyyətlidir.
  • Nə vaxt müraciət etməli: az nümunə ilə text və ya boosted tree yüksəkölçülü sparse data üzərində zəif nəticə verdikdə.

Neural network-lər

Aralarında qeyri-xətti activation-lar olan çəkili cəmlər layer-lərindən ibarətdir. Kifayət qədər layer və data olduqda demək olar ki, istənilən funksiyanı approximate edə bilirlər; buna görə də şəkil, səs, mətn və xam, yüksəkölçülü input-u olan hər şeydə hakim mövqedədirlər.

  • Güclü tərəfləri: xam datadan öz özləri öyrənir. Perception məsələlərində və sequence-lərdə rəqibsizdir.
  • Zəif tərəfləri: dataya ac, compute-a ac, çoxlu tənzimləmə düyməsi var, debug etmək çətindir. Kiçik tabular datada adətən pis nəticə verir.
  • Nə vaxt müraciət etməli: input şəkil, səs, sənəd və ya sequence olduqda, yaxud milyonlarla nümunəniz və GPU-nuz olduqda.

Qərar cədvəli

Data necə görünürBununla başlayınSonra bunu sınayın
Cədvəl, < 10 min sətirLogistic/linear regression
Cədvəl, > 10 min sətirTune edilmiş , stacking
Mətn, az nümunəTF-IDF üzərində logistic regression edilmiş
Şəkil / səs CNN və ya , edilmişDaha böyük model
Hər proqnozu izah etmək lazımdırLogistic regression və ya dayaz tree + SHAP

Əsl dərs

Alqoritm nadir hallarda darboğaz olur. Yaxşı qurulmuş set ilə logistic regression xam sütunlar üzərində müntəzəm olaraq üstələyir. Əvvəlcə datanı və evaluation-ı düzgün qurun (Fəsil 3 və 4), alqoritm seçiminə vaxtı ondan sonra ayırın.

Tapşırıqlar

  1. Eyni tabular dataset üzərində logistic regression və train edin. Daha yaxşı model sizi maraqlandıran metric-i əslində nə qədər yaxşılaşdırır?
  2. Eyni datanın iki təsadüfi 90%-lik sample-ı üzərində tək iki dəfə train edin. Tree-ləri müqayisə edin.
  3. Növbəti məsələniz üçün notebook açmazdan əvvəl onun qərar cədvəlinin hansı sətrinə düşdüyünü yazın.