Jump to content

Кросс-валентчилал (Статистик)

Википедиа — Чөлөөт нэвтэрхий толь

Кросс-валентчилал (Англи: Cross-validation) буюу хөндлөн баталгаажуулалт нь статистик шинжилгээний үр дүнг бие даасан өгөгдлийн олонлог дээр хэрхэн нэгтгэгдэх (generalize) боломжтойг үнэлэхэд ашигладаг дахин түүвэрлэх (resampling) арга юм. Энэ нь ихэвчлэн загварын таамаглах чадварыг үнэлэх, мөн загвар практикт хэр зэрэг нарийвчлалтай ажиллахыг тооцоолоход ашиглагддаг.

Таамаглах бодлогод загварт ихэвчлэн "сургалтын өгөгдлийн олонлог" (training dataset) болон "тестийн өгөгдлийн олонлог" (testing dataset) өгөгддөг. Кросс-валентчилалын гол зорилго нь загварыг сургах явцад ашиглагдаагүй шинэ өгөгдөл дээрх гүйцэтгэлийг шалгах замаар **хэт тааруулалт** (overfitting) болон **сонголтын хазайлт** (selection bias) зэрэг асуудлаас зайлсхийхэд оршино.

Кросс-валентчилалын үндсэн зорилго нь:

1. Загварын таамаглалын нарийвчлалыг үнэлэх. 2. Загвар хэт тааруулалт (overfitting) хийж байгаа эсэхийг тодорхойлох. 3. Хамгийн оновчтой параметрүүдийг (hyperparameters) сонгох.

---

Кросс-валентчилалын төрлүүд

[засварлах | кодоор засварлах]

Кросс-валентчилалыг **шавхах** (exhaustive) болон **үл шавхах** (non-exhaustive) гэж хоёр ангилдаг.

Шавхах кросс-валентчилал (Exhaustive cross-validation)

[засварлах | кодоор засварлах]

Энэ арга нь өгөгдлийн олонлогийг сургалтын болон тестийн хэсэгт хуваах боломжит бүх хувилбарыг туршиж үздэг.

  • **Leave-p-out cross-validation (LpOCV):** Нийт n ажиглалтаас p тооны ажиглалтыг тестийн олонлог болгож, үлдсэн n-p ажиглалтыг сургалтад ашиглана. Энэ нь боломжит бүх C^n_p хувилбараар давтагдана.
  • **Leave-one-out cross-validation (LOOCV):** Энэ нь p=1 байх LpOCV-ийн онцгой тохиолдол юм. Нэг ажиглалтыг тестэд үлдээж, бусад бүх өгөгдлөөр загварыг сургана.

Үл шавхах кросс-валентчилал (Non-exhaustive cross-validation)

[засварлах | кодоор засварлах]

Энэ арга нь бүх хувилбарыг тооцоолохгүй бөгөөд санамсаргүй байдлаар хуваалт хийдэг.

  • **k-fold cross-validation (k-давхар кросс-валентчилал):** Хамгийн өргөн ашиглагддаг арга. Нийт өгөгдлийг ижил хэмжээтэй k тооны хэсэгт (folds) хуваана. Нэг хэсгийг нь тестэд ашиглаж, үлдсэн k-1 хэсгийг сургалтад ашиглах замаар k удаа давтана.
  • **Holdout method (Үлдээх арга):** Өгөгдлийг зөвхөн нэг удаа сургалтын болон тестийн олонлогт хуваана (жишээ нь, 70/30 харьцаатай). Энэ нь хамгийн энгийн арга боловч үр дүн нь хэрхэн хувааснаас ихээхэн хамаардаг тул тогтворгүй байх талтай.

---

Тооцоолол ба Математик томьёолол

[засварлах | кодоор засварлах]

Кросс-валентчилалын үр дүн нь ихэвчлэн k удаагийн туршилтын дундаж алдаагаар илэрхийлэгдэнэ. Хэрэв \hat{f}_i нь i-р туршилтын үр дүнд гарсан загвар, L нь алдагдлын функц (loss function) бол дундаж алдаа (Cross-validation error) нь:

Үүнд MSE (Mean Squared Error) буюу дундаж квадратын алдаа нь:


Давуу болон сул тал

[засварлах | кодоор засварлах]
Шинж чанарДавуу талСул тал
**k-fold CV**Өгөгдлийг үр ашигтай ашигладаг, алдааны үнэлгээ тогтвортой.Тооцооллын хугацаа их шаардана (загварыг k удаа сургах шаардлагатай).
**LOOCV**Хазайлт (bias) маш бага.Өндөр сарнилтай (variance) бөгөөд маш их тооцоолол шаардана.
**Holdout**Тооцоолоход маш хурдан.Хуваалтаас хамаарч үр дүн их өөрчлөгддөг (тогтворгүй).


Хэрэглээний анхаарах зүйлс

[засварлах | кодоор засварлах]

Кросс-валентчилалыг ашиглахдаа дараах зүйлсийг анхаарах шаардлагатай:

1. **Давхаргат түүвэрлэлт (Stratified CV):** Ангиллын (classification) бодлогод анги бүрийн эзлэх хувийг хэсэг бүрт ижил байлгахыг хичээдэг. 2. **Цаг хугацааны цуваа (Time Series):** Хугацаанаас хамаарсан өгөгдөлд ирээдүйн өгөгдлийг ашиглан өнгөрсөн үеийг таамаглах нь алдаатай тул "rolling window" аргыг ашиглана. 3. **Өгөгдлийн алдагдал (Data Leakage):** Тестийн өгөгдлийн мэдээлэл сургалтын шатанд ямар нэг байдлаар орохоос зайлсхийх хэрэгтэй.