회귀 문제는 출력값이 실수인 함수를 찾는 지도 학습 문제임. 주행거리에 따른 중고 자동차의 판매 가격 데이터가 있다고 하면 학습 데이터에 없는 주행거리에 대한 판매 가격을 알고 싶다면 어떻게 할까.. 회귀는 이러한 문제를 해결하기 위해 학습 데이터를 가장 잘 근사(approximation)하는 함수를 찾고, 이 함수를 이용하여 주어진 입력에 대한 예측값을 결정한다.

회귀함수로는 일차식, 다항식, 가우스 함수의 선형 결합식 등 여러 형태를 사용할 수 있다. 어던 함수를 사용하는가에 따라 목적함수에 대한 오차를 줄일 수 있는 정도가 결정된다. 고차함수와 같이 복잡도가 높은 함수를 사용할 때 학습 데이터에 오차를 줄일 수 있다. 적당한 복잡도의 함수를 사용하여 회귀를 하는것이 좋음.

 

 

[모델 복잡도와 적합정도]

 

위 그림은 함수 모델의 복잡도에 따른 학습데이터에 적합 정도를 보여주고 있다. 첫번째 그림은 상수값이 상수로 되어 있는 경우로 점으로 표현된 학습 데이터를 맞출수 없는 상황으로, 함수 모델이 너무 단순해서 부적합이 되는 경우임. 두번째 그림은 오차는 있으나 비교적 학습데이터를 잘 근사하는 경우하 볼 수 있으며 정적합 이라고도 한다. 세번째 그림은 복잡도가 높은 고차원함수를 사용하여 학습데이터에 대한 오차를 포함되었다면, 실제 데이터에 대해서는 오히려 좋지 못한 예측을 할 수도 있다. 즉, 복잡도가 너무 높은 함수 모델을 사용해서 부적합하게 학습한 상황이다.

모델 복잡도를 높이지 않으면서 오차를 줄이는 회귀 모델을 찾기 위해 목적 함수에 오차 항과 모델 복잡도 항을 갖는 다음과 같은 목적 함수를 사용하기도 한다.

 

목적함수 = (오차 항) + t( 모델 복잡도 항)

 

여기에서 오차 항은 차이의 제곱 합 이나 차이의 절대값 합  이 될 수 있고, t 는 오차항과 모델 복잡도 항의 상대적인 중요도를 결정하는 가중치이다. 이 목적함수에서 모델 복잡도 항이 벌점으로 작용한다.

모델 복잡도가 올라가면 오차를 줄일 수 있지만, 모델 복잡도항이 벌점으로 작용을 하기 때문에, 적당한 복잡도의 회귀함수가 선택될 수 있다.

회귀 기법중 binary classification 문제에 대해 적용되는 로지스틱 회귀가 있다. 학습데이터는 물론 입력과 출력의 조합으로 구성되고 출력은 0과 1로 나타난다. 이때 함수  모델 f(x)는 다음과 같이 로지스틱 함수(logistic function)가 사용된다

 

위 식에서 지수함수의 지수는 파라미터 와 입력 x의 선형결함을 표현한 것이다

출력값이 1에 가까우면 입력 데이터 x를 부류 1로, 0에 가까우면 부류 0 으로 판단한다. 그래프는 생략하겠다.

로지스틱 회귀함수를 학습할때 다음 목적 함수 가 최소가 되도록 하는 모델의 파라미터 는 gradient descent method를 사용한다

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts