Saya sedang mengerjakan beberapa teknik pengelompokan, di mana untuk kluster vektor d-dimensi yang diberikan, saya mengasumsikan distribusi normal multivariat dan menghitung sampel vektor rata-rata d-dimensi dan matriks kovarian sampel.
Kemudian ketika mencoba untuk memutuskan apakah baru, tak terlihat, d-dimensi vektor milik klaster ini saya memeriksa jarak melalui ukuran ini:
Yang mengharuskan saya untuk menghitung kebalikan dari kovarian matriks σ X . Tetapi mengingat beberapa sampel saya tidak dapat menjamin bahwa matriks kovarians akan dapat dibalik, apa yang harus saya lakukan jika tidak?
Terima kasih
Jawaban:
Jika dimensi sampel Anda kurang dari dimensi ruang vektor, matriks singular dapat muncul. Jika Anda memiliki sampel kurang dari (ketika d adalah dimensi Anda), situasi ini bahkan akan muncul: k + 1 rentang sampel paling banyakd+ 1 d k + 1 hyperplane dimensi. Dengan sampel sekecil itu, Anda jelas tidak dapat menghitung varians dalam ruang ortogonal.d
Inilah sebabnya mengapa itu umum untuk tidak menggunakan PCA literal, melainkan melakukan dekomposisi nilai singular , yang dapat digunakan untuk menghitung pseudoinverse dari matriks. Jika matriks tidak dapat dibalik, pseudoinverse akan menjadi kebalikannya.
Namun, jika Anda melihat matriks yang tidak dapat dibalik, kemungkinan jarak Anda dari cluster tidak akan berarti jika vektor berada di luar hyperplane yang diwakili cluster, karena Anda tidak tahu varians dalam ruang ortogonal (Anda dapat memikirkan varians ini sebagai 0!) SVD dapat menghitung pseudoinverse, tetapi "varians" akan tetap tidak ditentukan oleh data Anda.
Selanjutnya, tergantung pada bagaimana Anda menghitung matriks kovarians, Anda mungkin mengalami masalah numerik karena pembatalan bencana. Solusi paling sederhana adalah dengan selalu memusatkan data terlebih dahulu, untuk mendapatkan rata-rata nol.
sumber