Implementasi saat ini dari algoritma Proyeksi Acak mengurangi dimensi sampel data dengan memetakannya dari hingga menggunakan matriks proyeksi matriks yang entri-entrinya dari distribusi yang sesuai (misalnya dari ):
Secara mudah, ada bukti teoritis yang menunjukkan bahwa pemetaan ini kira-kira mempertahankan jarak berpasangan.
Namun, baru-baru ini saya menemukan catatan ini di mana penulis mengklaim bahwa pemetaan dengan matriks acak ini bukan proyeksi dalam arti aljabar linear yang ketat dari kata tersebut (halaman 6). Dari penjelasan yang diberikan di sana, ini karena kolom tidak sepenuhnya ortogonal ketika entri dipilih secara independen dari . Oleh karena itu, versi RP sebelumnya di mana ortogonalitas kolom ditegakkan dapat dianggap sebagai proyeksi.
Dapatkah Anda memberikan penjelasan yang lebih terperinci tentang (1) apa definisi proyeksi dalam arti yang ketat ini dan (2) mengapa RP tidak proyeksi di bawah definisi ini ?.
Jawaban:
Apa definisi proyeksi dalam arti (aljabar linier) yang ketat ini?
Untuk proyeksi orthogonal atau proyeksi vektor, Anda memilikinya
Mengapa RP bukan proyeksi di bawah definisi ini?
Michael Mahoney menulis dalam catatan kuliah Anda bahwa itu tergantung pada bagaimana RP dibangun , apakah RP adalah proyeksi dalam arti aljabar linier tradisional. Ini dia lakukan di poin ketiga dan keempat:
Jadi Anda bisa melakukan, pada prinsipnya, proyeksi acak dengan konstruksi berbeda yang terbatas pada matriks ortogonal (walaupun tidak diperlukan). Lihat misalnya karya aslinya:
Entri wikipedia menjelaskan proyeksi acak dengan cara ini (hal yang sama disebutkan dalam catatan kuliah di halaman 10 dan 11)
Tetapi Anda biasanya tidak mendapatkan ortogonalitas ini ketika Anda mengambil semua entri matriks dalam variabel acak dan bebas matriks dengan distribusi normal (seperti Whuber disebutkan dalam komentarnya dengan konsekuensi yang sangat sederhana "jika kolom selalu ortogonal, entri mereka dapat tidak mandiri ").
Matriks dan produk dalam kasus kolom ortonormal, dapat dilihat sebagai proyeksi karena berkaitan dengan matriks proyeksi . Ini agak sama dengan melihat regresi kuadrat terkecil biasa sebagai proyeksi. Produk bukan proyeksi tetapi memberi Anda koordinat dalam vektor basis yang berbeda. Proyeksi 'nyata' adalah , dan matriks proyeksi adalah .R P=RTR b=RTx x′=Rb=RTRx RTR
Matriks proyeksi perlu menjadi operator identitas pada subruang yang merupakan kisaran proyeksi (lihat properti yang disebutkan pada halaman wikipedia). Atau dengan kata lain ia perlu memiliki nilai eigen 1 dan 0, sehingga subruang yang menjadi matriks identitasnya adalah rentang vektor eigen yang terkait dengan nilai eigen 1. Dengan entri matriks acak, Anda tidak akan mendapatkan properti ini. Ini adalah poin kedua dalam catatan kuliahP=RTR U
Jadi proyeksi acak dengan konstruksi yang berbeda, seperti menggunakan entri acak dalam matriks, tidak persis sama dengan proyeksi ortogonal. Tetapi ini lebih sederhana secara komputasional dan, menurut Michael Mahoney, ini "cukup baik."
sumber
Itu benar: "proyeksi acak" secara tegas bukan proyeksi.
Proyeksi didefinisikan secara jelas objek matematika: https://en.wikipedia.org/wiki/Projection_(linear_algebra) - itu adalah operator idempotentent linear, yaitu operator linear sehingga . Menerapkan proyeksi dua kali sama dengan menerapkannya hanya sekali karena setelah suatu titik diproyeksikan pada subruang, ia harus tetap di sana jika diproyeksikan lagi. Tidak ada tentang ortogonalitas dalam definisi ini; sebenarnya, suatu proyeksi bisa miring (lihat Wikipedia).P P2=P
Perhatikan bahwa hanya matriks persegi yang dapat mewakili "proyeksi" dalam pengertian ini. "Proyeksi acak" menggunakan matriks acak dengan , sehingga tidak mungkin berupa proyeksi dalam arti definisi di atas.d×k R k≪d
Sekalipun Anda membuat kolom ortonormal (mis. Dengan menerapkan proses Gram-Schmidt), argumen ini akan tetap berlaku. Seseorang baru-baru ini menanyakan pertanyaan ini tentang PCA: Apa yang sebenarnya harus disebut "matriks proyeksi" dalam konteks PCA? - a matrix dari vektor eigen ortonormal secara tegas bukan proyeksi juga.R dd×k U
sumber
Saya pikir kuncinya di sini adalah untuk mempertimbangkan ruang kolom dari RP matriks sebagai subruang yang kita lakukan proyeksi. Secara umum, terlepas dari apakah kolom adalah ortogonal, seseorang dapat memproyeksikan sampel ke ruang kolom menggunakan persamaan berikut [1]:d×k R R x∈Rd R
Jika seperti dalam versi yang lebih lama atau RP kolom matriks dibatasi menjadi ortonormal, maka , dan oleh karena itu proyeksi ke ruang kolom menjadi:R RTR=I∈Rk×k x R
dan menjadi matriks proyeksi , karena itu persegi dan .RRT∈Rd×d ( R R T ) 2 = R R T R R T = R R T(RRT)2=RRTRRT=RRT
Mungkin klaim bahwa versi yang lebih tua dari Proyeksi Acak (jika kolom adalah ortonormal) sebenarnya adalah sebuah proyeksi yang merujuk pada fakta bahwa dalam hal itu penyematan ke dan rekonstruksi posterior kembali ke dari sampel diberikan oleh memang merupakan proyeksi ke ruang kolom , dan adalah matriks proyeksi .R R k R d x ∈ R d x R R T R R R TRk Rd x∈Rd xRRT R RRT
Saya akan berterima kasih jika Anda dapat mengkonfirmasi / memperbaiki alasan saya di sini.
Referensi:
[1] http://www.dankalman.net/AUhome/classes/classesS17/linalg/projections.pdf
sumber
Jika Anda menggunakan pembalikan tanda acak yang dapat dihitung ulang atau permutasi sebelum transformasi Fast Walsh Hadamard, proyeksi acaknya adalah orthogonal.
sumber