Considere um problema de regressão OLS padrão : Eu tenho matrizes e \ X e quero encontrar \ B para minimizar L = \ | \ Y- \ X \ B \ | ^ 2. A solução é dada por \ hat \ B = \ argmin_ \ B \ {L \} = (\ X ^ \ top \ X) ^ + \ X ^ \ top \ Y.
Também posso apresentar um problema "inverso": dado e , localize que produziria , ou seja, minimizaria . Em palavras, eu tenho a matriz de resposta e o vetor de coeficiente e quero encontrar a matriz preditora que produziria coeficientes próximos a . Obviamente, esse também é um problema de regressão do OLS com a solução
Atualização de esclarecimentos: Como @ GeoMatt22 explicou em sua resposta, se é um vetor (ou seja, se houver apenas uma variável de resposta), então esse será o primeiro, e o problema inverso será maciçamente indeterminado. No meu caso, é realmente uma matriz (ou seja, existem muitas variáveis de resposta, é uma regressão multivariada ). Então é , é e é .
Estou interessado em resolver um problema "reverso" para regressão de crista. Nomeadamente, minha função de perda agora é
O problema "reverso" é encontrar
Novamente, eu tenho uma matriz de resposta e um vetor de coeficiente e quero encontrar uma matriz preditiva que produza coeficientes próximos a .
Na verdade, existem duas formulações relacionadas:
- Encontre dado e e .
- Encontre e dados e .
Algum deles tem uma solução direta?
Aqui está um breve trecho do Matlab para ilustrar o problema:
% 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(:)))
Esse código gera zero se mu=0
não for o contrário.
fonte
Respostas:
Agora que a pergunta convergiu para uma formulação mais precisa do problema de interesse, encontrei uma solução para o caso 1 (parâmetro conhecido da crista). Isso também deve ajudar no caso 2 (não exatamente uma solução analítica, mas uma fórmula simples e algumas restrições).
(A derivação é um pouco demorada, portanto, TL, DR: existe um código Matlab em funcionamento no final.)
Caso sub-determinado ("OLS")
O problema de encaminhamento é que , e . X∈ R n × p B∈ R p x q Y∈ R n × q
Com base na pergunta actualizado, vamos assumir , então é sob determinadas dada e . Como no questão, vamos supor que o "padrão" (mínimo -norm) solução onde é a pseudo-inversa de .B X Y L 2 B = X + Y X + Xn < p < q B X Y eu2
A partir do valor singular decomposição ( SVD ) de , dado por * o pseudoinverse pode ser calculado como ** (* As primeiras expressões usam o SVD completo, enquanto as segundas expressões usam o SVD reduzido. ** Por uma questão de simplicidade, presumo que tenha uma classificação completa, ou seja, existe.)X = U S V T = U S 0 V T 0 X + = V S + U T = V 0 S - 1 0 U T X S - 1 0X
Portanto, o problema de encaminhamento tem a solução Para referência futura, observe que , em que é o vetor de valores singulares.S 0 = d i a g ( σ 0 ) σ 0 > 0
No problema inverso, que são dados e . Sabemos que veio do processo acima, mas não sabemos . A tarefa é determinar o apropriado .B B X XY B B X X
Como observado na pergunta actualizado, neste caso, pode recuperar utilizando essencialmente a mesma abordagem, isto é, agora usando o pseudoinverse de .X 0 = Y B + BX
Caso sobredeterminado (estimador de Ridge)
No caso "OLS", o problema sub-determinado foi resolvido escolhendo a solução de norma mínima , ou seja, nossa solução "única" foi implicitamente regularizada .
Em vez de escolher a solução de norma mínima , aqui apresentamos um parâmetro para controlar "quão pequena" a norma deve ser, ou seja, usamos regressão de crista .ω
Nesse caso, temos uma série de problemas avançados para , , dados por Coletando os diferentes vetores do lado esquerdo e direito em nesta coleção de os problemas podem ser reduzidos para o seguinte problema "OLS" onde introduzimos as matrizes aumentadas k = 1 , ... , q min β ‖ X β - y k ‖ 2 + ω 2 ‖ β ‖ 2 B ω = [ β 1 , ... , β k ]βk k = 1 , ... , q
Nesse caso sobredeterminado, a solução ainda é dada pelo pseudo-inverso mas o pseudo-inverso agora é alterado, resultando em * onde a nova matriz "espectro de singularidade" possui diagonal (inversa) ** (* O cálculo um tanto envolvido necessário para derivar isso foi omitido por uma questão de brevidade. É semelhante à exposição aqui para o caso . ** Aqui as entradas do vetor é expresso em termos do vetor , onde todas as operações são iniciantes.)
Agora, nesse problema, ainda podemos recuperar formalmente uma "solução base" como mas essa não é mais uma solução verdadeira.
No entanto, a analogia ainda se mantém em que essa "solução" possui SVD com os valores singulares dados acima.
Portanto, podemos derivar uma equação quadrática relacionando os valores singulares desejados aos valores singulares recuperáveis e o parâmetro de regularização . A solução é entãoσ0 0 σ2ω ω
A demonstração do Matlab abaixo (testada on-line via Octave ) mostra que esse método de solução parece funcionar tanto na prática quanto na teoria. A última linha mostra que todos os valores singulares de estão na reconstrução , mas ainda não descobri completamente qual raiz usar ( = vs. ). Para , será sempre a raiz . Isso geralmente é consistente com as "pequenas" , enquanto que para "grande" da raiz parece assumir. (A demonstração abaixo está atualmente definida como "grande".X σ¯± Δ σ + - ω = 0 + ω ω -
sgn
Não posso dizer quão robusta é essa solução, pois os problemas inversos geralmente são mal colocados e as soluções analíticas podem ser muito frágeis. Contudo, experimentos superficiais poluindo com ruído gaussiano (isto é, para que ele tenha uma classificação completa vs. uma classificação reduzida ) parecem indicar que o método é razoavelmente bem comportado.B p n
Quanto ao problema 2 (isto é, desconhecido), o acima fornece pelo menos um limite superior em . Para que o discriminante quadrático seja não negativo, precisamos terω ω
Para a ambiguidade do sinal da raiz quadrática, o seguinte trecho de código mostra que, independentemente do sinal, qualquer fornecerá a mesma solução cume direta , mesmo quando diferente de .X^ B σ0 0 S V D [X]
fonte
pinv
não é uma coisa boa, você concorda?