-
선형회귀의 비용함수, 경사하강법, 학습률머신러닝 배우기 2023. 12. 5. 03:50
머신러닝에서의 학습이란, 실제 정답과 예측값 사이의 오차(Loss, Cost, Error)를 줄여나가는 최적화 과정을 의미합니다. 오늘은 가장 기본적인 모델인 선형회귀에 대해 알아보겠습니다.
▶︎ 선형회귀란?
→ 종속변수 y와 독립변수 x 사이의 선형 관계를 모델링하는 회귀 분석 기법.
→ 여기서 "선형"이라는 것은 독립 변수(특성)와 종속 변수(목표 변수) 사이의 관계가 선형적이라는 것을 나타냅니다.
→ 일반적인 선형회귀 형태 : y = a₁x₁ + a₂x₂ + a₃x₃ + ・・・ + b
▶︎ 선형회귀의 목적
→ x와 y의 관계를 가장 잘 설명하는 가중치를 찾는 것.
→ 이 관계를 통해 새로운 x 데이터들을 가지고 최대한 정확하게 y를 예측
▶︎ 가중치 찾는 방법은?
→ cost function(예측값과 실제값의 차이를 기반으로 모델의 성능을 판단하기 위한 함수)을 최소화하는 방향으로 모델을 학습
→ cost function = loss function = error function
→ cost function를 "평가 지표"라고 이해하면 더 좋을 것 같다. 보통 목적을 최소화하는 목적함수를 cost function라고 하는데 목적을 평가지표라고 생각하면 이해하기 좋다.
▶︎ cost function 종류
→ 로지스틱 회귀에서는 크로스 엔트로피 손실 함수, 신경망 모델에서는 평균 제곱 오차나 크로스 엔트로피 손실 함수 주로 사용
→ 선형회귀에서 cost function으로는 MSE, MAE, MAPE, RMSE 등이 있다.
→ 선형회귀에서는 보통 cost function 으로 MSE를 많이 사용하고, MSE를 최소화하기 위해서 보통 경사하강법을 이용한다
▶︎ 경사하강법이란?
→ 비용 함수의 기울기(경사)를 활용하여 최소점을 찾아가는 과정
→ 방식 : 처음 세타를 임의로 설정하고, 그 위치에서 cost function의 기울기(편미분값)를 계산하고, 기울기의 반대 방향으로 일정 크기의 단계(학습률, learning rate)를 이동하여 최적의 지점을 찾아가는 방식.
- learning rate 크게 했을 때 : 경사 하강법이 빠르게 수렴할 수 있지만, 진동 또는 발산할 수 있다.
- learning rate 작게 했을 때 : 수렴이 느리게 일어나서 시간이 오래걸린다.
- learning rate 설정법 : 0.1, 0.01, 0.001 로 먼저 해보고 괜찮은 학습률을 가지고 일정 상수를 곱해서 보정하기
→ 예) x 축은 세타(변수), y축은 MSE 값. 세타에 대한 MSE의 값을 구했을 때, 기울기를 활용하여 세타값을 업데이트하면서 MSE의 global minimum을 찾아가기
'머신러닝 배우기' 카테고리의 다른 글
[머신러닝] 분류 모델 성능 평가 방법 (2) ROC Curve, AUC (1) 2023.12.05 [머신러닝] 분류 모델 성능 평가 방법 (1) Confusion Matrix (2) 2023.12.05 [머신러닝] Cross-validation으로 과적합 피하기 (K-Fold CV) (1) 2023.12.05 [머신러닝] 쉽게 설명하는 머신러닝 (1) 2023.12.04 데이터 분석하는데 선형대수를 왜 공부해야해? 에 대한 답변 (1) 2023.12.04