Cara klasik analisis komponen utama '(PCA) adalah untuk melakukannya pada input data matriks yang kolom memiliki rata-rata nol (maka PCA dapat "memaksimalkan varians"). Ini dapat dicapai dengan mudah dengan memusatkan kolom. Namun, ketika matriks input jarang, matriks tengah sekarang akan lebih jarang, dan - jika matriks sangat besar - dengan demikian tidak akan masuk ke dalam memori lagi. Apakah ada solusi algoritmik untuk masalah penyimpanan?
10
Jawaban:
Ya itu mungkin.
Jika matriks data tidak sesuai dengan RAM, itu belum akhir dunia: ada algoritma yang efisien yang dapat bekerja dengan data yang disimpan di hard drive. Lihat misalnya PCA acak seperti yang dijelaskan dalam Halko et al., 2010, Suatu algoritma untuk analisis komponen utama dari kumpulan data besar .
Dalam Bagian 6.2 penulis menyebutkan bahwa mereka mencoba algoritme mereka pada 400k kali 100k matriks data dan itu
Perhatikan bahwa ini adalah di masa lalu dari hard drive magnetik; hari ini ada solid state drive yang jauh lebih cepat, jadi saya kira algoritma yang sama akan bekerja jauh lebih cepat.
Lihat juga utas lama ini untuk diskusi lebih lanjut tentang PCA acak: Algoritma PCA terbaik untuk sejumlah besar fitur (> 10K)? dan ulasan besar 2011 ini oleh Halko et al .: Menemukan Struktur dengan Keacakan: Algoritma Probabilistik untuk Membangun Dekomposisi Matriks Perkiraan .
sumber