Pertimbangkan masalah regresi OLS standar: Saya memiliki matriks dan dan saya ingin mencari untuk meminimalkan
Saya juga dapat menimbulkan masalah "terbalik": mengingat dan , cari yang akan menghasilkan , yaitu akan meminimalkan . Dengan kata lain, saya memiliki matriks respons dan vektor koefisien dan saya ingin menemukan matriks prediktor yang akan menghasilkan koefisien yang mendekati . Ini, tentu saja, juga merupakan masalah regresi OLS dengan solusi
Pembaruan klarifikasi: Seperti yang dijelaskan oleh @ GeoMatt22 dalam jawabannya, jika adalah vektor (yaitu jika hanya ada satu variabel respons), maka akan menjadi peringkat satu, dan masalah kebalikannya secara besar-besaran belum ditentukan. Dalam kasus saya, sebenarnya adalah sebuah matriks (yaitu ada banyak variabel respon, ini adalah regresi multivariat ). Jadi adalah , adalah dan adalah .
Saya tertarik untuk memecahkan masalah "terbalik" untuk regresi ridge. Yaitu, fungsi kerugian saya sekarang adalah
Masalah "kebalikan" adalah menemukan
Sekali lagi, saya memiliki matriks respons dan vektor koefisien dan saya ingin menemukan matriks prediktor yang akan menghasilkan koefisien yang mendekati .
Sebenarnya ada dua formulasi terkait:
- Temukan diberikan dan dan .
- Temukan dan diberikan dan . μ Yβ*
Apakah keduanya memiliki solusi langsung?
Berikut adalah kutipan singkat Matlab untuk menggambarkan masalah:
% generate some data
n = 10; % number of samples
p = 20; % number of predictors
q = 30; % number of responses
Y = rand(n,q);
X = rand(n,p);
mu = 0;
I = eye(p);
% solve the forward problem: find beta given y,X,mu
betahat = pinv(X'*X + mu*I) * X'*Y;
% backward problem: find X given y,beta,mu
% this formula works correctly only when mu=0
Xhat = Y*betahat'*pinv(betahat*betahat');
% verify if Xhat indeed yields betahat
betahathat = pinv(Xhat'*Xhat + mu*I)*Xhat'*Y;
max(abs(betahathat(:) - betahat(:)))
Kode ini menghasilkan nol jika mu=0
tetapi tidak sebaliknya.
sumber
Jawaban:
Sekarang pertanyaannya telah menyatu pada rumusan masalah bunga yang lebih tepat, saya telah menemukan solusi untuk kasus 1 (parameter ridge dikenal). Ini juga harus membantu untuk kasus 2 (bukan solusi analitis tepat, tetapi formula sederhana dan beberapa kendala).
(Derivasinya agak panjang, jadi TL, DR: ada kode Matlab yang berfungsi di akhir.)
Kasus yang Tidak Ditentukan ("OLS")
Masalah ke depan adalah mana X ∈ R n × p , B ∈ R p ×
Berdasarkan pertanyaan diperbarui, kami akan menganggap , sehingga B berada di bawah ditentukan diberikan X dan Y . Seperti dalam pertanyaan, kita akan mengasumsikan solusi "default" (minimum L 2 -norm) B = X + Y di mana X + adalah pseudoinverse dari Xn<p<q B X Y L2
Dari dekomposisi nilai singular ( SVD ) , diberikan oleh * X = U S V T = U S 0 V T 0 pseudoinverse dapat dihitung sebagai ** X + = V S + U T = V 0 S - 1 0 U T (* Ekspresi pertama menggunakan SVD lengkap, sedangkan ekspresi kedua menggunakan SVD tereduksi. ** Untuk kesederhanaan saya menganggap X memiliki peringkat penuh, yaitu S - 1 0 ada.)X
Jadi masalah ke depan memiliki solusi Untuk referensi di masa mendatang, saya perhatikan bahwa S 0 = d i a g (
Dalam masalah terbalik, kita diberi dan BY B . Kita tahu bahwa berasal dari proses di atas, tapi kita tidak tahu X . Tugasnya adalah menentukan X yang sesuai .B X X
Seperti dicatat dalam pertanyaan yang diperbarui, dalam hal ini kita dapat memulihkan menggunakan dasarnya pendekatan yang sama, yaitu XX
sekarang menggunakan pseudoinverse dari B .
Over-ditentukan Case (Penaksir Ridge)
Dalam kasus "OLS", masalah yang belum ditentukan diselesaikan dengan memilih solusi norma minimum , yaitu solusi "unik" kami diatur secara implisit .
Daripada memilih solusi norma minimum , di sini kami memperkenalkan parameter untuk mengontrol "seberapa kecil" norma tersebut, yaitu kami menggunakan regresi ridge .ω
Dalam hal ini, kami memiliki serangkaian masalah ke depan untuk , k = 1 , ... , q , yang diberikan oleh min β ‖ X β - y k ‖ 2 + ω 2 ‖ β ‖ 2 Mengumpulkan kiri dan kanan yang berbeda vektor sisi tangan ke B ω = [ β 1 , … , β k ]βk k=1,…,q
Dalam kasus yang ditentukan berlebihan ini, solusinya masih diberikan oleh pseudo-invers tetapi pseudo-invers sekarang berubah, menghasilkan * B ω = ( V 0 S - 2 ω U T ) Y di mana matriks "singularitas spektrum" yang baru memiliki (terbalik) diagonal ** σ 2 ω = σ 2 0
Sekarang dalam masalah ini kita masih dapat secara resmi memulihkan "solusi dasar" seperti
Namun, analoginya masih berpendapat bahwa "solusi" ini memiliki SVD dengan nilai singular σ 2 ω
sgn
sumber
pinv
bukanlah hal yang baik, apakah Anda setuju?