목적함수 (objective function)
목적함수는 최소값을 찾는 최적화 문제에서 사용하는 함수다. 비용함수(cost function) 혹은 손실함수(loss function)로 불리기도 한다.
머신러닝의 핵심은 “과거의 관측을 기반으로 새로운 샘플의 결과값을 예측”하는 것이다.
이러한 결과값을 예측하기 위해서는 최적화를 할 필요가 있다.
최적화: 모델의 예측값과 실제값의 오차를 줄이는 작업
최적화를 하기 위해서는 임의의 함수를 만들어 결과값을 뽑고, 해당 값과 예측 결과값의 차이를 0으로 만들어야 한다.
즉, 함수를 y = ax + b라고 가정 할 때, 적합한 a(기울기)와 b(절편)의 값, 즉 파라미터(parameter)를 찾아야한다. (a나 b 대신 𝛉를 사용할 수 있음)
목표: 출력값과 모든 데이터 사이의 오차의 합이 가능한 작아지는 함수를 만드는 것.
경사하강법 (gradient descent)
목적함수의 값을 최소화하기 위해 경사를 내려가듯 최소값을 찾는 방법
함수의 최소값을 찾기 위해 미분을 사용해야한다. 이때 미분으로 얻어지는 도함수의 부호 반대 방향으로 목적함수를 옮기게 되면 최소값으로 향하게된다.
도함수: 미분한 값
이러한 과정을 식으로 옮기면 아래 식과 같이 나타낼 수 있다.
이때 학습률이 너무 크면 발산이 일어나고, 낮으면 시간이 오래걸린다.
발산: 최소값에서 멀어지는 현상
- 최적화 문제에는 매개변수의 개수만큼 변수가 있다.
- 이에 목적함수는 다변수 함수 형태를 띄게 된다.
- 이를 계산하기 위해서는 편미분을 사용해야한다.
편미분: 미분할 변수를 제외한 나머지 변수는 상수취급을 하는 미분
편미분을 이용하면 매개변수가 많아져도 다항식 회귀식을 간단하게 작성할 수 있다.
다항식 회귀: 매개변수의 개수에 맞춰 다항식의 차수를 늘린 함수를 사용