이 글은 shorturl.at/floO4 와 여러 reference의 내용을 번역, 정리한 글이며 가장 기초적인 개념을 담은 글입니다. 오역, 틀린 내용은 댓글로 부탁드립니다. 내용은 의역하여 정리 하였습니다.

목적함수 손실함수 비용함수 차이

우리가 최소화 최대화 하고 싶어하는 함수를 목적함수라고 한다. 최소화 시킨 함수를 비용함수 (cost function), 손실 함수 (loss function), 또는 오류 함수 (error function)라고 부를 수 있다. 비용함수는 최적화 문제에 쓰이고 손실함수는 파라미터 측정에 더 많이 쓰인다는 차이가 있다.
비용함수가 전체 트레이닝 셋에 걸쳐있을때 오류함수와 손실함수는 하나의 트레이닝에 쓰인다 - 손실함수는 파라미터 측정에 쓰이니까 당연히 한 트레이닝만 영향을 미친다. 손실함수는 objective function의 종류라 볼 수 있다. objective function은 만약 사각형을 가장크게 만들고 싶다고 가정할때 사각형의 넓이같은 것을 의미한다.

Loss function

데이터 포인트에 정의되는 펑션. 예측과 라벨링에 쓰이고 페널티 측정가능.

  • square loss l(f(xi|θ),yi)=(f(xi|θ)−yi)2, used in linear Regression
  • hinge loss l(f(xi|θ),yi)=max(0,1−f(xi|θ)yi), used in SVM
  • 0/1 loss l(f(xi|θ),yi)=1⟺f(xi|θ)≠yi, used in theoretical analysis and definition of accuracy

[5] 분류 오류가 있는지 알아볼려면 sign(f(x))이 y가 아닌 시간에대한 분수를 구하면 되는데 이는 결국 둘을 곱했을때 음수가 되는 경우를 말해서 sign(f(x))*y<0 라고 표현할 수 있고, yf(x) < 0와 yf(x)>0를 나눠서 재 분류하게되면 이게 바로 마진에 대한 분류가 되고 yf(x)<0 대해 페널티를 주는것도 가능해진다. 이때 1,0로만 페널티를 주는것도 가능하지만 다른 로스펑션들을 대입해 convex 하게 표현 할 수도 있음.

Cost function

비용함수는 더 일반적이다. 어떤 모델의 페널티의 복잡성을 줄이는것(regularization*)과 트레이닝 셋에 전반적인 손실 함수의 총합이 될수도 있다.
좀 더 자세히 설명하면 예측값과 실제값의 차이가 줄어들수록 더 우리는 많은 값들을 예측할 가능성이 늘어나는데 이 코스트 펑션은 그 차이를 표현하니까 코스트 펑션이 줄어들수록 더 정확한 예측이 가능하다. underfit은 트레이닝이 부족할때 나타난다. underfit은 high bias, high variance의 결과를 가져오는 경우가 많다. low bias, high variance인 overfit이 되어도 문제인데, 트레이닝 셋에만 맞는 값들이 예측되어 bias는 낮지만 실제 미래에 있을 값들이나 새로운 값들에는 맞지 않을 수 있기 때문에 주의해야한다. low bias, low variance인 코스트 펑션을 찾는것이 중요하다.
에러함수에서 fit이 너무 되면 추가적으로 페널티를 줘서 overfitting도 막아주고 하는 함수를 튜닝하는 테크닉이라 생각하면 좋을 것 같다.

  • Mean Squared Error MSE(θ)=1N∑Ni=1(f(xi|θ)−yi)2
  • SVM cost function SVM(θ)=∥θ∥2+C∑Ni=1ξi (there are additional constraints connecting ξi with C and with training set)
  • regularization in machine learning? 계수의 제약이나 계수의 규약 혹은 계수가 0으로 줄어드는 회귀의 형식같은것이다. 다른말로는 오버피팅의 위험성을 줄여주고 모델의 너무 자유롭거나(flexible) 복잡한(overfit/complex) 성격을 줄여주는 테크닉이다. Complexity라고도 혼용되어 쓰여진다.

Objective function

트레이닝중에 최적화하는 함수의 가장 일반적인 용어. maximum likelihood* 에서 트레이닝 셋을 생성하는 확률이 잘 정의된 objective function이라 볼 수 있다. 그러나 이는 비용함수나 손실함수와는 다르다. 하지만, 동등한 비용함수를 정의 할 수 있다.

  • MLE is a type of objective function (which you maximize)
  • Divergence between classes can be an objective function but it is barely a cost function, unless you define something artificial, like 1-Divergence, and name it a cost
  • maximum likelihood? 평균과 분포같은 population 파라미터의 통계적 계산 방식. 샘플데이터가 이런 파라미터 값들이 관찰된 데이터를 최대로 얻도록 선택한다.

Error function

손실함수의 그레디언트를 계산해서 뉴런의 가중치를 조절하는 radient descent optimization algorithm를 쓰는 과정에서 나오는 Backpropagation이나 automatic differentiation가 키워드. 오류 함수는 에러의 역 프로파간다라 불린다. 에러가 아웃풋과 분포된 네트워크 뒤쪽의 전체적인 분포에서 계산되기 때문이다.

  • 백 프로파게이션은 에러의 프로파게이션이 뒤로 가는것이고 뉴럴네트워크의 지도학습의 알고리즘으로 gradient descent와 쓰인다. 이 방식은 뉴럴 네트워크의 가중치에 따른 오류함수의 그레디언트를 계산한다.

Reference:
[1] http://primo.ai/index.php?title=Objective_vs._Cost_vs._Loss_vs._Error_Function#:~:text=%22The%20function%20we%20want%20to,function%20%2D%20these%20terms%20are%20synonymous.
[2] https://brilliant.org/wiki/backpropagation/#:~:text=Backpropagation%2C%20short%20for%20%22backward%20propagation,to%20the%20neural%20network's%20weights.
[3] https://www.merriam-webster.com/dictionary/maximum%20likelihood
[4] https://towardsdatascience.com/regularization-in-machine-learning-76441ddcf99a
[5] https://www.youtube.com/watch?v=r-vYJqcFxBI

0개의 댓글