Өнөөгийн машин сургалтын алгоритмууд нь том хэмжээний өгөгдөлд суурилан загварчлагдаж, янз бүрийн хэрэглээний талбарт өргөн ашиглагдаж байна. Гэсэн хэдий ч бодит амьдрал дээр өгөгдөл ихэвчлэн тэнцвэргүй (imbalanced) байдаг нь загварын гүйцэтгэлийг муутгаж, цөөн тооны (minority) ангиллын өгөгдлийг үл тоомсорлох хандлагыг бий болгодог. Энэхүү нийтлэлд бид өгөгдлийн тэнцвэржилтийн хэрэгцээ, ач холбогдлыг тайлбарлаж, түгээмэл хэрэглэгддэг аргачлал болох SMOTE-ийг дэлгэрэнгүй авч үзнэ.
Өгөгдлийн тэнцвэргүй байдал гэж юу вэ?
Өгөгдлийн тэнцвэргүй байдал (class imbalance) нь машин сургалтын болон статистик загварчлалд тулгардаг нийтлэг асуудлуудын нэг юм. Энэ нь ангилал хийх буюу classification даалгаварт, тухайн өгөгдөлд багтаж буй анги бүрийн жишээний тоо ихээхэн ялгаатай байгаагаар илэрдэг. Тухайлбал, хоёр ангит ангиллын асуудалд нэг ангид хамаарах өгөгдөл нийт өгөгдлийн 90–99% байхад, нөгөө ангид ердөө 1–10% байж болно. Энэхүү хэт тэнцвэргүй байдал нь загварын сургалт, үнэлгээ, хэрэглээний үр дүнд сөргөөр нөлөөлнө.
Жишээ 1: Эрүүл мэндийн өгөгдөл
Хорт хавдрын оношлогооны даалгаварт 95% нь эрүүл хүмүүсийн өгөгдөл, 5% нь өвчтэй хүмүүсийн өгөгдөл байж болно. Ийм нөхцөлд загвар 95% нарийвчлал (accuracy) үзүүлж болох ч энэ нь буруу сэтгэл ханамж төрүүлж, өвчтэй хүмүүсийг оношлоход олон алдаа гаргах магадлал өндөр.
Жишээ 2: Залилах илрүүлэлт (Fraud Detection)
Санхүүгийн салбарт залилах гүйлгээнүүд нь нийт гүйлгээний 0.1–1% орчим л эзэлдэг. Хэрэв загвар зүгээр л “бүгд зүй ёсны гүйлгээ” гэж таамагладаг бол өндөр нарийвчлалтай мэт харагдавч жинхэнэ залилах гүйлгээг илрүүлж чадахгүй.
Өгөгдлийн тэнцвэргүй байдлын төрлүүд
Төрөл | Тайлбар |
---|---|
Binary imbalance | Хоёр ангит өгөгдөлд анги хоорондын жишээний ялгаа их байх |
Multiclass imbalance | Олон ангит өгөгдөлд зарим анги хэт цөөн жишээтэй байх |
Within-class imbalance | Нэг ангид доторх жишээнүүдийн дэд бүлгүүдийн хуваарилалт жигд бус байх |
Сөрөг үр дагавар
- Буруу нарийвчлалд тулгуурласан дүгнэлт: Accuracy зэрэг ерөнхий үзүүлэлтүүд бодит гүйцэтгэлийг илтгэхгүй.
- Minority ангийг үл тоомсорлох: Жишээ нь, өвчтэй хүнийг “эрүүл” гэж оношлох нь асар ноцтой үр дагавартай.
- Bias буюу ялгаварлан гадуурхалт: Зарим ангийн өгөгдөл багасах тусам загвар түүнийг таних чадваргүй болдог.
- Underfitting/Overfitting эрсдэл: Minority class-ийн өгөгдлийг хангалттай суралцахгүй, эсвэл давтах үед хэт мэдрэг болох магадлалтай.
Тэнцвэргүй өгөгдөлтэй ажиллахад хүндрэлтэй үзүүлэлтүүд
- Recall (True Positive Rate): Minority ангид анхаарлаа хандуулах хэрэгтэй.
- Precision-Recall curve: ROC curve-аас илүү бодит дүгнэлт өгч чадна.
- F1-score: Precision ба Recall-ийн тэнцвэртэй нийлбэрийг харуулна.
Өгөгдлийн тэнцвэржилтийн зорилго
- Minority ангиллыг илүү төлөөлөхүйц болгох буюу ихэсгэх
- Загварын гүйцэтгэлийг сайжруулах (Recall, F1-score гэх мэт хэмжигдэхүүнээр)
- Загварын ерөнхийлөлтийг нэмэгдүүлэх
Тэнцвэржүүлэх аргачлалууд
Аргачлал | Тайлбар |
---|---|
Undersampling | Majority class-ийг багасгах замаар тэнцвэржүүлэлт хийх |
Oversampling | Minority class-ийг нэмэгдүүлэх (давтах эсвэл synthetic өгөгдөл үүсгэх) |
Hybrid methods | Хоёуланг хослуулах |
Algorithm-level methods | Loss function болон decision threshold өөрчлөх |
SMOTE аргачлал
SMOTE гэж юу вэ?
Synthetic Minority Over-sampling Technique (SMOTE) нь 2002 онд Chawla et al. нарын боловсруулсан oversampling арга бөгөөд minority class-д synthetic (хиймэл) жишээ үүсгэх замаар өгөгдлийг тэнцвэржүүлдэг.
Ажиллах зарчим
- Minor class-ийн өгөгдлөөс k-nearest neighbors ашиглан хөршүүдийг тодорхойлно.
- Санамсаргүй хөршийг сонгоно.
- Сонгосон өгөгдөл болон хөршийн хоорондын шугамын дагуу interpolation хийж шинэ synthetic өгөгдөл үүсгэнэ.

Зүүн талын зурагт Class 0 (цэнхэр) болон Class 1 (шар) хоёрын хуваарилалт маш тэнцвэргүй байна.
Баруун талд SMOTE хэрэгжүүлсний дараа Class 1 synthetic өгөгдлөөр нөхөгдөж, хоёр ангилал илүү тэнцвэртэй болсон байна. Synthetic буюу хиймэл өгөгдлийг үүсгэснээрээ бид илүү
SMOTE-ийн давуу болон сул тал
Давуу тал | Сул тал |
---|---|
Давтагдалгүй synthetic өгөгдөл үүсгэдэг | Noisy өгөгдлийг synthetic хэлбэрт оруулах эрсдэлтэй |
Загварын гүйцэтгэлийг сайжруулдаг | High-dimensional өгөгдөлд үр дүн муутай байж болзошгүй |
Өгөгдлийн төлөөллийг бодитой хадгалдаг | Outlier буюу хэт ялгаатай өгөгдөлтэй ажиллахад эмзэг |
Synthetic өгөгдлийн давуу тал нь хиймэл өгөгдлийг ашиглан тодорхой орчинг дуурайлган турших, эсвэл түгээмэл бус тохиолдлууд, дуу чимээтэй (noisy) өгөгдөл дээр туршилт хийх боломжтой. Энэ нь загвар тестлэх, алгоритм оношлох үйл ажиллагааг хялбаршуулдаг. Мөн эрүүл мэнд, санхүү зэрэг хэрэглэгчийн эмзэг өгөгдөл дээр ажилдаг салбаруудад хиймэл өгөгдөл ашигласнаар бодит мэдээллийг задруулахгүйгээр өгөгдлийн орчинг дуурайлган бий болгож болно.
Дүгнэлт
Өгөгдлийн тэнцвэргүй байдал нь машин сургалтын гүйцэтгэлд сөргөөр нөлөөлдөг тул тохирох тэнцвэржүүлэх аргачлалыг ашиглах нь чухал. SMOTE бол хамгийн түгээмэл хэрэглэгддэг oversampling арга бөгөөд өгөгдлийн төлөөллийг synthetic хэлбэрээр тэнцвэржүүлэх боломжийг олгодог. Дараагийн дугаарт бид SMOTE-ийн сайжруулсан хувилбарууд (Borderline-SMOTE, SMOTETomek гэх мэт)-ыг авч үзнэ.