비용 함수가 왜 제곱 오차를 사용합니까?


73

방금 기계 학습을 시작했으며 지금까지 하나의 변수에 대한 선형 회귀를 다루었습니다.

나는 가설이 있다는 것을 배웠다.

hθ(x)=θ0+θ1x

매개 변수 θ 1에 대한 올바른 값을 찾기 위해 계산 된 결과와 테스트 데이터의 실제 결과 간의 차이를 최소화하려고합니다. 그래서 우리는 빼기θ0θ1

hθ(x(i))y(i)

1 에서 m 까지의 모든 대해 . 따라서이 차이에 대한 합을 계산 한 다음이 합에 1 을 곱하여 평균을 계산합니다.i1m . 여태까지는 그런대로 잘됐다. 결과는 다음과 같습니다.1m

1mi=1mhθ(x(i))y(i)

그러나 이것은 제안 된 것이 아닙니다. 대신에 과정은 차이의 제곱 값을 취하고 1 을 곱하는 것이 좋습니다. . 따라서 공식은 다음과 같습니다.12m

12mi=1m(hθ(x(i))y(i))2

왜 그런 겁니까? 여기에서 square 함수를 왜 사용하고 왜 1 을 곱합니까? 대신112m ?1m




그것은 Bregman의 발산이기 때문에
Andrew

답변:


41

손실 함수는 θ1 을 유한 값으로 설정하고 θ0 에서 설정하기 때문에 작동하지 않습니다 .

r ( x , y ) = 1 이라고합시다r(x,y)=1mi=1mhθ(x(i))yh

r

Θ|θ0|<10

왜 우리는 제곱 손실을 사용합니까?

h(x)yu=v0uv

|uv|(uv)2nn12

그렇다면 왜 제곱 손실이 이것보다 낫습니까? 이것은 FrequentistBayesian 추론 의 연결과 관련된 깊은 질문 입니다. 간단히 말해, 제곱 오차는 가우스 잡음 과 관련이 있습니다.

h(x)yθ h yθR=h(X)YyN(μ,σ)

가우스 분포에는 평균 두 매개 변수가 있습니다.μ=E[R]=1mihθ(X(i))Y(i))σ2=E[R2]=1mi(hθ(X(i))Y(i)))2

  • μh(x)=h(x)μμ=E[R]=0

  • σσ2=1mi(hθ(X(i))Y(i)))2

μ

후속 질문 :

  • 1|xμ|(xμ)21

    • 1
  • hθH

12

mθ

  • 그라디언트에 대한 표현은 더 예쁘게됩니다.12

    • 코드 나 알고리즘을 작성할 때 일반적으로 그래디언트에 더 관심이 있으므로 간결하게 유지하는 데 도움이됩니다. 그래디언트의 표준을 확인하여 진행 상황을 확인할 수 있습니다. 손실 함수 자체는 최종 답변의 유효성 검사에만 사용되므로 코드에서 생략되는 경우가 있습니다.
  • mm

    • 나는 점의 적은 수의 코드를 테스트하고 그것을 잘 작동하지만, 전체 데이터 집합을 테스트 할 때이 정밀도의 손실이 때로는 이상 / 아래 - 흐름, 즉 당신의 그라데이션이된다 : 전에이 문제로 실행했습니다 nan또는 inf. 이를 피하려면 wrt 수의 데이터 포인트를 정규화하십시오.
  • mλm


"미분을 취하면 2가 제곱 항에서 2를 취소하기 때문에 표현이 더 예쁘다"고 말했습니다. 그러나 왜 우리는 그 파생물을 가져오고 싶습니까?
DrGeneral

우리는 일반적으로 그라디언트 디센트를 사용하여 손실을 최적화합니다. 나는이 질문의 맥락에서 분명해야하기 때문에 이것을 언급하지 않았습니다.
Harsh

1
가혹한, 나의 naivete를 용서하십시오, 그러나 왜 정사각형 대신 절대 값을 사용하지 않습니까?
Alexander Suraphel

1
절대 오류도 작동 할 수 있지만이 경우 평균 대신 예상 중앙값으로 회귀됩니다. 작은 숫자 목록을
취하고

@AlexanderSuraphel 답변이 늦어 져 죄송합니다. :) 답변을 위해 위의 섹션을 추가했습니다
Harsh

25

1/2 계수는 단지 편의를위한 것입니다. 실제로 최적화되는 함수 인 미분을 더 멋지게 만듭니다. 1 / m이 더 기본적입니다. 평균 제곱 오차에 관심이 있음을 나타냅니다 . 이를 통해 샘플 크기를 변경할 때 공정한 비교를 수행하고 오버플로를 방지 할 수 있습니다. 소위 "stochastic"옵티마이 저는 데이터 세트의 서브 세트 (m '<m)를 사용합니다. 정규화 기 (목적 함수에 대한 추가 용어)를 도입 할 때 1 / m 계수를 사용하면 샘플 크기에 상관없이 정규화기에 대해 동일한 계수를 사용할 수 있습니다.

단순히 차이가 아닌 제곱의 이유에 대한 질문 : 과소 평가와 비슷하게 과소 평가를 받고 싶지 않습니까? 제곱은 오차 부호의 영향을 제거합니다. 절대 값 (L1 표준)을 사용하는 것도 마찬가지이지만 그 파생어는 원점에서 정의되지 않으므로 더 정교하게 사용해야합니다. L1 규범은 그 용도가 있으므로 염두에 두어야하며 교사가이를 커버 할 것인지 물어보십시오.


4
L2LpL2

6

손실 함수의 오차 측정 값은 '통계 거리'입니다. 유클리드 공간에서 두 벡터 사이의 거리에 대한 대중적이고 예비적인 이해와 달리. '통계 거리'를 사용하여 추정 모델과 최적 모델 간의 '비 유사성'을 유클리드 공간에 매핑하려고합니다.

이 '통계적 거리'의 공식화에 관한 제한적인 규칙은 없지만, 선택이 적절하다면 최적화 동안이 '거리'의 점진적인 감소는 점진적으로 개선 된 모델 추정으로 해석됩니다. 결과적으로 '통계 거리'또는 오류 측정의 선택은 기본 데이터 분포와 관련이 있습니다.

실제로, 여러 종류의 통계 분포에 대해 잘 정의 된 거리 / 오류 측정 값이 몇 가지 있습니다. 데이터의 분포에 따라 오차 측정을 선택하는 것이 좋습니다. 가우시안 분포는 어디에나 존재하기 때문에 결과적으로 관련 거리 측정치 인 L2-norm이 가장 인기있는 오차 측정치입니다. 그러나 이것은 규칙이 아니며 '효율적인'* 최적화 구현이 L2-norm과 다른 오류 측정을 채택 할 실제 데이터가 있습니다.

Bregman 분기 의 집합을 고려하십시오 . 이 발산 측정의 표준 표현은 L2-norm (제곱 오차)입니다. 또한 상대 엔트로피 (Kullback-Liebler divergence), 일반화 된 유클리드 거리 (Mahalanobis metric) 및 Itakura-Saito 기능이 포함됩니다. 이 백서에서 기능적 Bregman 분기 및 베이지안 분포 추정에 대한 자세한 내용을 볼 수 있습니다 .

테이크 아웃 : L2-norm에는 흥미로운 속성 집합이있어 오류 측정에 인기있는 선택입니다 (여기 다른 답변은이 질문의 범위에 충분한 것 중 일부를 언급했습니다). 대부분의 시간. 그럼에도 불구하고 데이터 분배에 필요한 경우 선택할 수있는 대체 오류 측정이 있으며 선택은 최적화 루틴의 공식화에 따라 크게 달라집니다.

* '적절한'오차 측정은 손실 함수가 볼록하게 만들어 최적화에 도움이되는데, 이는 손실 함수가 볼록하지 않아 악명 높은 어려운 다른 오차 측정과 달리 매우 유용합니다.


5

다른 사람이 만든 요점 외에도 제곱 오차를 사용하면 더 큰 오차가 더 커집니다 (제곱 할 때 1/2에 비해 3/2는 어떻게됩니까?).

소수 오류를 이동시키는 알고리즘을 가지고있어, 큰 오차를 큰 오차 나 오 분류로 남겨두고 큰 오차를 남겨 두는 경우, 0에 가깝게 남겨두면 정확한 분류 또는 추정치와지면 진실의 차이가 매우 작을 수 있습니다. 알고리즘.

제곱 오차를 사용하면 오차를 예측 조정을위한 암시 적 중요도 가중치로 사용합니다.


자의적인 오류는 무엇입니까
jeza

3

공식에서 관측 된 데이터와 근사값의 평균 편차를 얻으려고합니다.

근사값의 평균값이 관측 된 데이터의 평균값과 비슷하거나 같으면 (바람직하고 많은 근사값 체계에서 발생하는 경우가 많음) 양수 오류는 음수로 보상되므로 공식 결과는 0이거나 무시할 수 있습니다. 오류. 이것은 각각의 관측 된 샘플에서 근사치가 훌륭하다는 결론으로 ​​이어질 수도 있지만 그렇지 않을 수도 있습니다. 그렇기 때문에 각 표본에서 오차의 제곱을 사용하고 합산합니다 (각 오차를 양수로 설정).

물론 L2-norm 대신 L1-norm (각 샘플에서 절대 값의 절대 값)이나 다른 많은 값을 사용할 수 있었기 때문에 이것은 가능한 해결책 일뿐입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.