Пусть A будет матрицей независимых переменных а B будет соответствующей матрицей зависимых значений . В конька регрессии, определим параметр так , что: . Теперь давайте [usv] = svd (A) и диагональная запись 's'. мы определяем степени свободы (df) = . Ридж-регрессия сжимает коэффициенты компонентов низкой дисперсии и, следовательно, параметр управляет степенями свободы. Так что дляλ β = ( A T A + λ I ) - 1 A T B d i = i t h ∑ n i = 1 ( d i ) 2 λλ=0λ, что имеет место в случае нормальной регрессии, df = n, и, следовательно, будут рассмотрены все независимые переменные. Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти значение учетом 'df' и матрицы 's'. Я попытался перестроить вышеприведенное уравнение, но не получил решение в закрытой форме. Пожалуйста, предоставьте любые полезные указатели.
источник
Ответы:
Для этого подходит алгоритм Ньютона-Рафсона / Фишера-Скоринга / Тейлора.
У вас есть уравнение для решения для h ( λ ) = p ∑ i = 1 d 2 iλ
с производной
∂h
реорганизуя для вы получаете: λ = λ ( 0 ) - [ ∂ hλ
источник
Вот небольшой код Matlab, основанный на формуле, доказанной вероятностью:
источник
while ( abs(diff)>threshold )
.while( abs(diff) > threshold )