선형 회귀(Linear Regression)
*본 게시물은 22-1학기 연세대학교 일반대학원 딥러닝을이용한비정형데이터분석(이상엽 교수님) 수업 내용을 정리한 것입니다.
Regression 알고리즘을 쓸 때 회귀 문제에는 선형 회귀 모형을, 분류 문제에는 로지스틱 회귀 모형을 씁니다. 이처럼 알고리즘을 선택할 때에는 문제의 유형을 잘 따져보아야 합니다.
1. 선형 회귀
선형 회귀 역시 지도학습의 한 종류이며, 주로 종속변수 예측을 위한 회귀 문제에 쓰입니다.
선형 회귀 모형의 목적은 독립변수와 종속변수 간 인과관계 파악이기에, 데이터 안에는 정답(종속변수)과 힌트(독립변수) 정보가 모두 있어야 합니다. 훈련을 통해 독립변수와 종속변수를 가장 잘 설명하는 관계, 그에 상응하는 최적 파라미터를 찾게 되고, 새로운 데이터에 모형을 적용해 종속변수를 예측하게 됩니다.
1) 선형 회귀 모형의 생김새
선형 회귀는 파라미터에 대한 '선형 모델'입니다. 때문에 일차 함수와 매우 비슷하게 생겼습니다. 만일 X1, X2라는 두 독립변수를 가진 선형 회귀 모델을 만들 경우 다음과 같이 만들 수 있습니다.
이때 주의할 점은, 독립변수는 얼마든지 이차항이 되도 되나 파라미터(b0..bi)는 절대 일차항을 벗어나서는 안된다는 것입니다. 일차항을 벗어나는 순간 비선형 함수가 되어버립니다.
2) 선형 회귀 모형의 비용함수: MSE
당연하지만 선형 회귀 모형은 회귀이므로 MSE를 비용함수로 씁니다. 학습을 통해 이 비용함수의 값을 최소화하는 최적의 파라미터를 찾는 것을 배워야 합니다.
예로 경력(experience)을 통해 연봉(salary)을 예측하는 회귀 문제가 있다고 가정합니다. 학습을 위한 데이터와, 이 문제를 풀기 위한 선형 회귀 모형을 설정하겠습니다.
이 선형회귀 모형에 주어진 데이터를 대입하면 원래 라벨인 y와 비교할 수 있는 y햇이 도출됩니다. 이 둘을 사용해 MSE를 구합니다.
MSE를 구했더니, 파라미터(b0, b1)에 대한 선형 함수가 도출되었습니다. 여기에 비용함수 최소화 방법인 정규 방정식, 경사하강법을 모두 활용할 수 있습니다. 단, 파라미터가 2개이므로 파라미터 b0, b1에 대해 각각 미분을 진행해야 합니다.
3) 실제 코드
ㅇㅇ
4) regression에 대한 regularization과 Feature scaling
(1) regularization
회귀 모형에 대해서도 규제화를 적용할 수 있습니다. 규제화는 기존 비용함수에 L1/L2 penalty term을 더하여 새로운 비용함수를 만드는 방법입니다. L1 규제가 회귀에 적용되는 것을 Lasso 회귀, L2 규제가 회귀에 적용되는 것을 Ridge 회귀라 부릅니다.
(2) Feature Scaling
피쳐 스케일링은 feautre인 독립 변수들이 갖는 값의 범위를 통일시키는 방법입니다. 이는 실제로 종속변수에 대한 영향력이 별로 없는 독립 변수임에도, 분산이 크다는 이유만으로 종속변수에 대한 설명력이 커지는 것을 막는 방법으로, 모형의 일반화 가능성 정도를 크게 만듭니다.
가령 몸무게, 경력으로 연봉을 예측하는 회귀 문제가 있다고 가정합니다. 만일 몸무게를 gram으로 측정할 경우 분산이 매우 높아져 실제로는 연봉에 영향력이 거의 없는데도 연봉 예측에 큰 영향력을 행사할 뿐만 아니라 모형의 성능까지 저하시킬 수 있습니다. 때문에 피쳐 스케일링을 통해 몸무게의 영향력을 줄여야 합니다.
피쳐 스케일링에는 i) 표준화(normalization)와 ii) min-max normalization이 있습니다. 표준화는 원래 변수에서 변수들의 평균을 뺀 후 표준편차로 나누어 값을 0~1사이로 맞춰주는 방법입니다. 반면 민-맥스 표준화는 원래 변수 값에서 최소값을 뺀 후, 변수의 (최대값-최소값)으로 나누어 0~1 사이로 값을 맞추는 방법입니다.