چگونه k را انتخاب کنیم، که به آن تعداد اجزای اصلی نیز گفته میشود؟
یکی از راه های انتخاب k استفاده از فرمول زیر است:
با توجه به خطای average squared projection: $\frac{1}{m} \sum _{i = 1} ^ m || x ^{(i)} - x ^{(i)} _ {approx} || ^ 2 $
همچنین با توجه به تنوع کل داده ها: $\frac{1}{m} \sum _{i = 1} ^ m || x ^{(i)} || $
k راه طوری انتخاب کنید که کوچکترین مقدار باشد: $$ \frac{\frac{1}{m} \sum _{i = 1} ^ m || x ^{(i)} - x ^{(i)} _ {approx} || ^ 2 } {\frac{1}{m} \sum _{i = 1} ^ m || x ^{(i)} ||} \leq 0.01 $$
به عبارت دیگر، خطای squared projection تقسیم بر کل تغییر باید کمتر از یک درصد باشد، به طوری که 99٪ از واریانس حفظ شود.
این روش در واقع به طرز وحشتناکی ناکارآمد خواهد بود. در اوکتاو ما از svd استفاده خواهیم کرد:
[U,S,V] = svd(Sigma)
که به ما یک ماتریس S میدهد، در واقع میتوانیم 99٪ از واریانس حفظ شده را با استفاده از ماتریس S به شرح زیر بررسی کنیم:
$$ \frac{ \sum _ {i = 1} ^ k S_{ii} }{\sum _ {i = 1} ^ n S_{ii}} \geq 0.99 $$