분석 야 코비안을 사용할 수있는 경우


19

합계 제곱 잔차를 최소화하는 일부 모델 매개 변수를 계산하고 있으며 오류가 가우시안이라고 가정합니다. 내 모델은 분석적 미분을 생성하므로 옵티마이 저는 유한 차분을 사용할 필요가 없습니다. 피팅이 완료되면 피팅 된 파라미터의 표준 오차를 계산하려고합니다.

일반적으로이 상황에서 오류 함수의 Hessian은 다음과 같이 공분산 행렬과 관련이 있습니다. 여기서 는 잔차의 분산입니다.σ 2

σ2H1=C
σ2

오차의 분석적 미분이 이용 가능하지 않은 경우, 일반적으로 헤 시안을 계산하는 것은 실용적이지 않으므로 는 좋은 근사치로 간주됩니다.JTJ

그러나 필자의 경우 분석 J가 있으므로 유한 차분 J로 H를 계산하는 것이 상대적으로 저렴합니다.

그래서 내 질문은 이것입니다 : 내 정확한 J를 사용하고 위의 근사를 적용하는 H를 근사하는 것이 더 정확합니까, 유한 차분 J로 H를 근사하는 것이 더 정확합니까?

답변:


12

좋은 질문. 먼저,이 근사 출처를 기억하십시오. 하자 데이터 포인트 수 이 될 모델과 모델의 매개 변수합니다. 그런 다음 비선형 최소 제곱 문제의 목적 함수는 여기서 은 잔차의 벡터입니다. 입니다. 목적 함수의 정확한 Hessian은 입니다. 따라서이 근사값의 오류는( x i , y i ) f ( ) β 1HJTJ(xi,yi)f()βrri=yif(xi,β)H=JTJ+ri2riH-JTJ=ri2ri12rTrrri=yif(xi,β)H=JTJ+ri2riHJTJ=ri2ri. 잔차 자체가 적을 때 좋은 근사치입니다. 또는 잔차의 2 차 도함수가 작은 경우. 선형 최소 제곱은 잔차의 2 차 도함수가 0 인 특수한 경우로 간주 될 수 있습니다.

유한 차분 근사는 비교적 싸다. 중앙 차이를 계산하려면 코비에게 추가로 평가해야합니다 (전방 차이가 당신에게 비용을 부담 번 내가 귀찮게하지 않을 수 있도록, 추가 평가). 중심 차이 근사값의 오차는 및 비례합니다 . 여기서 는 단계 크기입니다. 최적의 단계 크기는 . 여기서n 4 r h 2 h h ϵ 12nn4rh2h ϵhϵ13ϵ기계 정밀도입니다. 따라서 잔차의 도함수가 폭발하지 않는 한 유한 차분 근사값이 훨씬 더 좋아야한다는 것이 분명합니다. 계산은 최소한이지만 부기는 쉽지 않습니다. 야곱 인의 유한 한 차이는 각 잔차에 대해 한 줄의 헤 시안을 줄 것입니다. 그런 다음 위의 공식을 사용하여 Hessian을 다시 조립해야합니다.

그러나 세 번째 옵션이 있습니다. 솔버가 Quasi-Newton 방법 (DFP, BFGS, Bryoden 등)을 사용하는 경우, 각 반복마다 이미 Hessian과 근사합니다. 모든 반복에서 목적 함수와 그라디언트 값을 사용하므로 근사값은 상당히 좋습니다. 대부분의 솔버는 최종 Hessian 추정치 (또는 그 역)에 대한 액세스를 제공합니다. 그것이 당신을위한 옵션이라면, 나는 이것을 Hessian 추정값으로 사용할 것입니다. 이미 계산되었으며 아마도 꽤 좋은 추정치 일 것입니다.


ϵ1/3

5
hhϵ f ( x )h2f(x) hhϵ1ϵf(x)hhhϵ13

3
이것은 중심적인 차이에 대해서만 적용됩니다. 전진 차이의 경우 최적의 단계 크기는 입니다. 다른 트릭도 있습니다. 예를 들어 가 무엇인지 실제로 알고 있어야합니다 . 나는 이것이 어리석게 들린다는 것을 알고 있지만 부동 소수점 산술에서 이상한 일이 발생할 수 있습니다. 여기에 당신이 올바른 값이 있는지 확인하는 간단한 방법입니다 : . 수학적으로, 입니다. 그러나 부동 소수점으로 정확하게 표현할 수없는 값 (예 : )을 사용하는 경우에는 그렇지 않습니다. hhhactual=hdesiredh=0.0001hϵ12hhh_actual = (x + h_desired) - xhactual=hdesiredh=0.0001
Bill Woessner

아마도이 내용은 주석이 아닌 답변에 추가 될 수 있습니다. 이런 식으로 미래의 사용자는 답변에서 제기 된 주장에 직접적으로 영향을 미치는 자료를 찾기 위해 확장 된 주석 섹션을 살펴볼 필요가 없습니다.
Sycorax는 Reinstate Monica가

2
맙소사. Hessian의 Quasi-Newton 근사값은 Hessian에 대한 끔찍한 추정치이므로 공분산 행렬의 추정치가 매우 낮습니다. 알고리즘 진행을 최적으로 진행하는 데 도움이 될 수 있지만 Hessian의 추정치로는 상당히 나쁠 수 있습니다.
Mark L. Stone
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.