표면을 볼록하게 만드는 오류는 무엇입니까? 그것은 Covarinace Matrix 또는 Hessian에 의해 결정됩니까?


17

나는 현재 회귀 에 대한 최소 제곱 (및 기타) 추정에 대해 배우고 있으며, 일부 적응 알고리즘 문헌에서 읽은 내용에서 종종 "... 그리고 오류 표면이 볼록하기 때문에 ..."라는 문구가 나타납니다. 왜 볼록한 지에 대한 깊이는 어디에서 찾을 수 없습니다.

그렇다면 정확히 볼록 하게 만드는 것은 무엇 입니까?

비용 함수를 사용하여 자체 적응 형 알고리즘을 설계하고 싶기 때문에 반복되는 누락이 약간 성가신 것으로 나타 났지만 비용 함수가 볼록한 오류 표면을 생성하는지 여부를 알 수없는 경우 글로벌 최소값이 없기 때문에 그라디언트 디센트와 같은 것을 적용하는 데 너무 멀어집니다. 창의력을 발휘하고 싶을 수도 있습니다. 예를 들어 최소 제곱을 내 오류 기준으로 사용하고 싶지 않을 수도 있습니다.

더 깊이 파고 들고 (그리고 나의 질문은 여기에서 시작됩니다), 당신이 볼록한 오류 표면을 가지고 있는지 알 수 있으려면, Hessian 행렬 이 양의 반 정밀도 인지 확인해야합니다 . 대칭 수학의 경우이 테스트는 간단합니다. Hessian 행렬의 모든 고유 값이 음수가 아닌지 확인하십시오. (행렬이 대칭이 아닌 경우 Gramian 덕분에 행렬을 자체 조옮김에 추가하고 동일한 고유 값 테스트를 수행하여 대칭으로 만들 수 있지만 여기서는 중요하지 않습니다).

헤 시안 행렬이란 무엇입니까? Hessian 행렬은 비용 함수 부분의 가능한 모든 조합을 체계화합니다. 몇 개의 부분이 있습니까? 피처 벡터의 피처 수만큼. 부분을 ​​계산하는 방법? 원래 비용 함수에서 부분 파생 상품을 '수동으로'가져옵니다.

이것이 바로 내가 한 일입니다. 나는 행렬 로 표시된 x 데이터 행렬을 가지고 있다고 가정합니다 . 여기서, 은 예제 수를 나타내고 은 예제 당 기능 수를 나타냅니다. (이것은 또한 부분의 수입니다). 센서에서 시간 샘플과 공간 샘플을 가지고 있다고 말할 수 있지만 물리적 응용은 여기서 중요하지 않습니다.n X m n m nmnXmnmn

또한, 우리는 또한 크기 x 의 벡터 집니다 . (이것은 'label'벡터이거나 모든 행에 해당하는 'answer'입니다 ). 간단히 하기 위해이 특정 예에서는 라고 가정했습니다 . 2 개의 '예'와 2 개의 '특징'.m 1 X m = n = 2ym1Xm=n=2

이제 여기에 가장 적합한 '선'또는 다항식을 확인하려고한다고 가정하십시오. 즉, 비용 함수가 다음과 같이 다항식 계수 벡터 에 대해 입력 데이터 기능을 투영합니다 .θ

J(θ)=12mi=1m[θ0x0[i]+θ1x1[i]y[i]]2

이제 첫 번째 부분 미분 wrt (feature 0) 다음과 같습니다.θ0

δJ(θ)δθ0=1mi=1m[θ0x0[i]+θ1x1[i]y[i]]x0[i]

δJ(θ)δθ0=1mi=1m[θ0x02[i]+θ1x1[i]x0[i]y[i]x0[i]]

이제 두 번째 부분을 모두 계산하겠습니다.

δ2J(θ)δθ02=1mi=1mx02[i]

δ2J(θ)δθ0θ1=1mi=1mx0[i]x1[i]

δ2J(θ)δθ1θ0=1mi=1mx1[i]x0[i]

δ2J(θ)δθ12=1mi=1mx12[i]

우리는 헤 시안이 다음에 지나지 않는다는 것을 알고 있습니다 :

H(J(θ))=[δ2J(θ)δθ02δ2J(θ)δθ0θ1δ2J(θ)δθ1θ0δ2J(θ)δθ12]

H(J(θ))=[1mi=1mx02[i]1mi=1mx0[i]x1[i]1mi=1mx1[i]x0[i]1mi=1mx12[i]]

이제 데이터 매트릭스 를 어떻게 구성했는지에 따라 (내 '기능'은 열로, 예제는 행으로 이동합니다) Hessian 다음과 같습니다.X

H(J(θ))=XTX=Σ

... 샘플 공분산 행렬에 불과합니다 !

따라서 어떻게 해석해야할지 잘 모르겠습니다. 또는 내가 어떻게 일반화해야하는지 잘 모르겠습니다. 그러나 나는 말할 수 있다고 생각합니다.

  • 항상 참 :

    • Hessian 행렬은 항상 오류 / 비용 표면이 볼록한지 여부를 제어합니다.
    • Hessian 행렬이 pos-semi-def 인 경우 볼록합니다 (그리고 최적의 솔루션으로 수렴하기 위해 기울기 강하와 같은 알고리즘을 행복하게 사용할 수 있음).
  • LSE에만 해당 :

    • LSE 비용 기준에 대한 헤 시안 행렬은 원래 공분산 행렬에 지나지 않습니다. (!).
    • 나에게 이것은 LSE 기준을 사용하면 데이터 자체 에 볼록면이 있는지 여부를 결정 한다는 것을 의미합니다 . ... 그러면 공분산 행렬의 고유 벡터가 어떻게 든 비용 표면을 '형성'할 수있는 능력이 있다는 것을 의미합니까? 이것이 항상 사실입니까? 아니면 LSE 기준에 맞습니까? 오류 표면의 볼록성이 데이터에 의존해야한다는 것은 나와 함께 앉아 있지 않습니다.

따라서 원래 질문의 맥락에서 다시 말하면 (선택한 일부 비용 함수를 기준으로) 오류 서핑이 볼록한지 여부를 어떻게 결정합니까? 이 결정은 데이터 또는 헤 시안을 기반으로합니까?

감사

TLDR : 비용 함수 및 / 또는 데이터 세트가 볼록 또는 비 볼록 오류 표면을 생성하는지 여부를 결정 하는 방법은 정확하고 실제적 입니까?

답변:


7

단일 차원에서 선형 최소 사각형을 생각할 수 있습니다. 비용 함수는 같은 것입니다 2 . 1 차 도함수 (행렬식)는 다음 인 2 따라서 선형, . 두 번째 미분 (Hessian)은 2- 상수입니다.a22aa2

이차 미분은 양수이므로 볼록한 비용 함수를 처리합니다. 이것은 다변량 미적분학에서 양의 정한 Hessian 행렬과 동일합니다.

두 변수 ( , θ 2 ) 만 처리하므로 Hessian은 특히 간단합니다.θ1θ2

그러나 실제로는 많은 변수가 관련되어 있기 때문에 Hessian을 빌드하고 검사하는 것은 비현실적입니다.

가장 효율적인 방법은 최소 제곱 문제에서 Jacobian 행렬 에서 직접 작업하는 것입니다 .제이

제이엑스=

는 랭크 부족, 단수 또는 거의 단수 일 수 있습니다. 이러한 경우에, 비용 함수의 2 차 표면은 거의 평평하고 및 / 또는 어느 방향으로 강하게 뻗어있다. 또한 행렬은 이론적으로 해결할 수 있지만 솔루션은 수치 적으로 불안정하다는 것을 알 수 있습니다. 이러한 경우를 처리하기 위해사전 조건 조정방법을사용할 수 있습니다.제이

일부 알고리즘은 간단하게 JCholesky 분해 를 실행합니다 . 알고리즘이 실패하면 J 는 단수 (또는 잘못된) 임을 의미합니다 .제이제이

숫자 적으로 더 안정적이지만 비용이 많이 드는 것은 QR 분해 이며, 가 규칙적인 경우에만 존재합니다 .제이

마지막으로, 최첨단 방법은 가장 비싸고 모든 행렬에 대해 수행 할 수있는 SVD (Singular Value Decomposition) 이며, 숫자 순위를 나타내며 순위가 부족한 경우를 개별적으로 처리 할 수 ​​있습니다.제이

이 주제를 자세히 다루는 선형 및 비선형 최소 제곱 솔루션에 대한 기사를 작성했습니다.

Math.NET을 사용한 선형 및 비선형 최소 제곱

최소 제곱 (매개 변수 / 데이터 포인트의 공분산, 전제 조건, 스케일링, 직교 거리 회귀-총 최소 제곱, 최소 제곱 추정기의 정밀도 및 정확성 결정 등)과 관련된 고급 주제를 다루는 훌륭한 책에 대한 참조도 있습니다. ).

오픈 소스 인 기사에 대한 샘플 프로젝트를 만들었습니다.

LeastSquaresDemo-이진

LeastSquaresDemo-소스 (C #)


θθ

2) 예, 일반적으로 의미합니다. 선형 최소 제곱에서 전체 오차 표면은 일정한 Hessian을 갖습니다. 이차의 두 번째 파생을 취하는 것은 일정하며, Hessian도 마찬가지입니다. 3) 데이터 매트릭스의 컨디셔닝에 따라 다릅니다. Hessian이 spd 인 경우 단일 폐쇄 솔루션이 있으며 오류 표면이 모든 방향으로 볼록합니다. 그렇지 않으면 데이터 매트릭스가 불량이거나 단일입니다. 필자는 데이터 매트릭스의 특이 값을 검사하거나 Cholesky 분해가 있는지 확인하기 위해 Hessian을 사용해 본 적이 없습니다. 두 가지 방법 모두 솔루션이 있는지 알려줍니다.
Libor

엑스θ엑스θ

Mohammad : 1) 나는 샘플 프로젝트 작업을 포함하여 Least-Squares (일부 오류가있을 수 있지만 아직 공식적으로 발표하지는 않았 음)에 대한 기사에 대한 답변을 다시 작성하고 링크를 추가했습니다. 나는 그것이 당신이 문제를 더 깊이 이해하는 데 도움이되기를 바랍니다 ... 2) 선형 최소 사각형에서 Hessian은 일정하며 데이터 포인트에만 의존합니다. 일반적으로 모델 매개 변수에도 의존하지만 비선형 최소 제곱의 경우에만 해당됩니다.
Libor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.