自由度と入力行列を指定してリッジ回帰の正則化パラメーターを計算する方法は?


11

A を独立変数の行列とし、Bを対応する従属値のn × 1行列とします。リッジ回帰では、パラメータ定義λを:だからβは= (A T A + λ I )- 1 A T B。ここで、[usv] = svd(A)およびd i = i t h 's'の対角エントリとしましょう。自由度を定義します(df)= ∑ n i = 1(d i)2ん×pん×1λβ=(あTあ+λ私)−1あTBd私=私th。リッジ回帰は低分散成分の係数を縮小するため、パラメーターλは自由度を制御します。したがって、正規回帰の場合であるλ=0の場合、df = nであり、すべての独立変数が考慮されます。私が直面している問題は、「df」と行列「s」を指定して、λの値を見つけることです。私は上記の方程式を整理し直そうとしましたが、閉じた形の解決策を得ていませんでした。役立つポインタを提供してください。Σ私=1ん(d私)2(d私)2+λλλ=0λ


さて、これに答える時間は必要です(おそらく他の人があなたを助ける方が早いでしょう)が、ほとんどの洞察はstat.lsa.umich.edu/~kshedden/Courses/Stat600/Notes/から取られるかもしれません…そして、定義のは何ですか私はどういうわけかλを見逃しているので、自由度。kλ
— Dmitrij Celov 2011年

@Dmitrij:返信のThnx、質問を更新し、「k」を置き換えましたλ
— Amit

こんにちはアミット、正則化パラメーターを計算する前にどのように自由度を知ることができますか?
— Baz

回答:


9

Newton-Raphson / Fisher-scoring / Taylor-seriesアルゴリズムがこれに適しています。

あなたのために解決する方程式有するH (λ )= P Σ iは= 1 、D 2 、Iをλ 誘導体と ∂H

h(λ)=Σ私=1pd私2d私2+λ−df=0
次その後、取得: H(λ)≈H(λ(0))+(λ-λ(0))∂時間
∂h∂λ=−Σ私=1pd私2(d私2+λ)2
h(λ)≈h(λ(0))+(λ−λ(0))∂h∂λ|λ=λ(0)=0

以下のために再配置あなたが得る: λ = λ (0 ) - [ ∂ 時間λ

λ=λ(0)−[∂h∂λ|λ=λ(0)]−1h(λ(0))
d私2=1λ(0)=p−dfdf

λ(j+1)=λ(j)+[Σ私=1pd私2(d私2+λ(j))2]−1[Σ私=1pd私2d私2+λ(j)−df]

λλ


d私2=1

λ(0)λ(0)=0

(+1)とにかく私は同じ数値解を与えるでしょう。
— Dmitrij Celov 2011年

6

以下は、probabilityislogicによって証明された式に基づく小さなMatlabコードです。

function [lamda] = calculate_labda(Xnormalised,df)
    [n,p] = size(Xnormalised);   

    %Finding SVD of data
    [u s v]=svd(Xnormalised);
    Di=diag(s);
    Dsq=Di.^2;

    %Newton-rapson method to solve for lamda
    lamdaPrev=(p-df)/df;
    lamdaCur=Inf;%random large value
    diff=lamdaCur-lamdaPrev;   
    threshold=eps(class(XstdArray));    
    while (diff>threshold)          
        numerator=(sum(Dsq ./ (Dsq+lamdaPrev))-df);        
        denominator=sum(Dsq./((Dsq+lamdaPrev).^2));        
        lamdaCur=lamdaPrev+(numerator/denominator);        
        diff=lamdaCur-lamdaPrev;        
        lamdaPrev=lamdaCur;        
    end
    lamda=lamdaCur;
end

2
チームに行く!
— 確率

試みられた編集者は、while条件はであるべきだと主張していますwhile ( abs(diff)>threshold )。
— gung-モニカの

while( abs(diff) > threshold )−1001e−16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.