Dengan matriks data katakanlah pengamatan 1000000 100 fitur, apakah ada cara cepat untuk membangun perkiraan tridiagonal
?
Maka kita dapat faktor ,
semua 0 kecuali dan , dan melakukan hubungan dekorasi cepat (memutihkan) dengan memecahkan
. (Dengan "cepat" Maksudku .)
(Ditambahkan, mencoba mengklarifikasi): Saya mencari pemutih yang cepat dan kotor yang lebih cepat daripada full tetapi lebih baik daripada diagonal. Katakanlah adalah titik data fitur , mis. 1000000 100, dengan fitur 0-mean.
1) membangun , faktor Cholesky sebagai , pecahkan untuk memutihkan baru . Ini kuadratik dalam jumlah fitur.
2) diagonal: mengabaikan korelasi silang sepenuhnya.
Orang bisa mendapatkan matriks tridiagonal dari hanya dengan -zeroing semua entri di luar tridiagonal, atau tidak mengakumulasinya di tempat pertama. Dan di sini saya mulai tenggelam: harus ada perkiraan yang lebih baik, mungkin hierarkis, blok diagonal → tridiagonal?
(Ditambahkan 11 Mei): Biarkan saya membagi pertanyaan menjadi dua:
1) apakah ada perkiraan cepat ?
Tidak (whuber), seseorang harus melihat semua {N \ pilih 2} pasangan (atau memiliki struktur, atau sampel).
2) diberikan , seberapa cepat dapat satu memutihkan baru s?
Nah, memfaktorkan , segitiga bawah, satu kali, lalu menyelesaikan
cukup cepat; scipy.linalg.solve_triangular, misalnya, menggunakan Lapack.
Saya mencari whiten () yang lebih cepat, masih mencari.