Մեքենայական ուսուցում

Բարի գալուստ Դասական մեքենայական ուսուցման ներածական դասընթաց։ Այս դասընթացը նախատեսված է բոլորովին սկսնակների համար, ովքեր ունեն Python-ի հետ աշխատելու փորձ։ Մեքենայական ուսուցման որևէ տեխնիկայի կամ գրադարանի իմացություն չի պահանջվում։

Այստեղ ներկայացված ալգորիթմների մեծամասնության համար անհրաժեշտ կլինեն միայն Python-ի ներդրված տվյալների տիպերը (օրինակ՝ list, dict և այլն) և ֆունկցիաները։ Բոլոր տեխնիկաները կուսուցանվեն գործնական խնդիրների և առաջադրանքների միջոցով։

Գործիքներ
  • Numpy

  • Pandas

  • Matplotlib

  • Scikit learn

Գնահատման չափանիշներ
  • Accuracy

  • F1,

  • AUC

  • Precision, Recall → Ճիշտ/Սխալ - Դրական/Բացասական

  • Sensitivity VS Specificity (զգայունություն ընդդեմ յուրահատկության)

  • Confusion Matrix (Սխալների մատրից)

Հասկացություններ
  • Underfitting/overfitting (թերուսուցում/գերուսուցում) ⇒ bias VS variance (շեղում ընդդեմ դիսպերսիայի)

  • Նախնականացման տեխնիկաներ

  • Հիպերպարամետրերի կարգաբերում

  • Օպտիմիզատորներ (Gradient descent, GD with momentum, RMSProp, Adam)

  • Ռեգուլյարիզացիա (L1, L2 նորմեր, dropout, early stopping)

  • Նորմալիզացում

  • Cross-Validation (խաչաձև վալիդացում)

Բաժիններ

Կանխատեսող ալգորիթմների ներածություն
  • Դասակարգման համար մեծամասնության դասի/հաճախականության բազային մոդել (baseline)

  • Ռեգրեսիայի համար միջինի/միջնարժեքի բազային մոդել (baseline)

  • Հատկանիշների նախագծման (feature engineering) հիմունքներ

  • Թվային ձևափոխություններ

KNN
  • KNN դասակարգում

  • Հեռավորության/նմանության չափանիշներ (L1 և L2 հեռավորություններ)

  • Բազմաչափ դեպքեր

  • Կշռված KNN

  • KNN ռեգրեսիա

Տվյալների մշակում
  • Min-Max Scaling (երբ տարբեր հատկանիշներն ունեն տարբեր մեծություններ)

  • Standardization / Normalization (ստանդարտացում / նորմալիզացում)

  • One-Hot Encoding

  • Feature Engineering (հատկանիշների նախագծում)

K-Means կլաստերավորում
  • Supervised (վերահսկվող) և unsupervised (չվերահսկվող) ուսուցում

  • Նախնականացում՝ բազմակի վերագործարկումներ

  • Արտանետումների (outliers) մշակում

Գնահատում
  • Train set (ուսուցման բազմություն) և Test set (թեստավորման բազմություն)

  • Validation Accuracy (վալիդացման ճշգրտություն)

  • Cross-Validation (խաչաձև վալիդացում)

  • Underfitting/overfitting (թերուսուցում/գերուսուցում)

  • Հիպերպարամետրերի կարգաբերում՝ լավագույն k-ի ընտրություն

Գծային ռեգրեսիա
  • Պարզ դեպք

  • Բազմագործոն ռեգրեսիա

Լոգիստիկ ռեգրեսիա
  • Դասակարգման խնդիրներ

  • Դասերի անհավասարակշռություն → ուղղում կորստի ֆունկցիայի (loss function) միջոցով (կարելի է նաև խոսել under/over-sampling-ի մասին)

  • Lasso, Ridge: L1, L2 ռեգուլյարիզացիա

ML աշխատանքային հոսքեր և տվյալների արտահոսք (data leakage)
  • Train/validation/test բաժանումներ և cross-validation

  • Stratified (շերտավորված) և group (խմբային) բաժանումներ

  • Արտահոսքի (leakage) հետ կապված խնդիրներ

  • Վերարտադրելիություն

Որոշումների ծառով (decision tree) դասակարգում
  • Վիզուալ ինտուիցիա

  • Gini index (Ջինիի ինդեքս)

  • Էնտրոպիա

  • Ծառը կրճատելու (pruning) էվրիստիկաներ

Naive Bayes (Միամիտ Բայես)
  • Բայեսի թեորեմ

  • Bag of words (բառերի պարկ)

  • Սպամի հայտնաբերում

Բազմանդամային ռեգրեսիա
  • Կապը գծային ռեգրեսիայի հետ

  • Աստիճանի ընտրություն

  • Ռեգուլյարիզացիա բազմանդամային ռեգրեսիայի համար

Պատահական անտառ (Random forest)
  • Կապը որոշումների ծառերի հետ

  • Գնահատողների (estimators) քանակի ընտրություն

Հենարանային վեկտորների մեթոդ (Support Vector Machines - SVM)
  • Հենարանային վեկտորներ

  • Cross Validation SVM-ի համար

Մոդելների անսամբլ
  • Boosting և Bagging

  • Random Forests-ը որպես մոդելների անսամբլ

Չափողականության նվազեցում
  • Չափողականության անեծք

  • PCA (Գլխավոր կոմպոնենտների մեթոդ)

Ամփոփում փոքր նախագծերով
  • Սեփական տվյալների բազմություններ (datasets)

  • Ռեսուրսներ