Dalam kursus pembelajaran mesin, saya belajar bahwa salah satu penggunaan umum PCA ( Principal Component Analysis ) adalah untuk mempercepat algoritma pembelajaran mesin lainnya. Misalnya, bayangkan Anda sedang melatih model regresi logistik. Jika Anda memiliki set pelatihan untuk saya dari 1 ke n dan ternyata dimensi vektor x Anda sangat besar (katakanlah dimensi), Anda dapat menggunakan PCA untuk mendapatkan dimensi yang lebih kecil (katakanlah dimensi k) vektor fitur z. Kemudian Anda dapat melatih model regresi logistik Anda pada set pelatihan ( z ( i ) , y ( i ) untuk saya dari 1 hingga n. Pelatihan model ini akan lebih cepat karena vektor fitur Anda memiliki dimensi lebih sedikit.
Namun, saya tidak mengerti mengapa Anda tidak bisa hanya mengurangi dimensi vektor fitur Anda menjadi dimensi k hanya dengan memilih k fitur Anda secara acak dan menghilangkan sisanya.
Zektor adalah kombinasi linear dari vektor fitur Anda. Karena vektor z terbatas pada permukaan k-dimensi, Anda dapat menulis nilai-nilai fitur yang dihilangkan ak sebagai fungsi linear dari nilai-nilai fitur k yang tersisa, dan dengan demikian semua z dapat dibentuk oleh kombinasi linear dari fitur k Anda. Jadi bukankah model yang dilatih pada set pelatihan dengan fitur yang dihilangkan memiliki kekuatan yang sama dengan model yang dilatih pada set pelatihan yang dimensinya dikurangi oleh PCA? Apakah itu hanya tergantung pada jenis model dan apakah itu bergantung pada semacam kombinasi linear?
sumber
Jawaban:
sumber
PCA mengurangi fitur sambil mempertahankan varians / informasi dalam data asli. Ini membantu dengan mengaktifkan komputasi tanpa kehilangan kemiripan data dengan kenyataan.
sumber
Solusi PCA
Pertama, waspadalah saat menggunakan PCA untuk tujuan ini. Seperti yang saya tulis dalam menanggapi pertanyaan terkait, PCA tidak selalu mengarah pada pemilihan fitur yang informatif untuk regresi yang ingin Anda lakukan (lihat juga Jolliffe 1982 ).
Solusi yang diusulkan OP
reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.
dimension of your vector x is very large
Solusi yang disarankan
sumber