회귀란?
기계학습이 지도학습, 비지도학습, 강화학습으로 나뉘는데,
여기서 지도학습에 속하는 방식이 회귀와 분류.
회귀는 목표값이 단 하나, 분류는 목표값 수가 클래스 개수만큼.
따라서 데이터를 가장 잘 설명하는 "선"을 찾아,
입력값에 따른 예측값을 반환해야 함.
but 이 예측이 완벽할 수는 없기에,
주어진 데이터들을 이용해 그나마 예측값과 결과값의 차이가 제일 적은 파라미터 선택하게 됨.
보통 이러한 파라미터를 찾을 때에는 경사하강법을 이용한다.
단순 선형 회귀
가장 기본적 형태, y = b0+b1x 형태.
이 x값은 1개.
다중 선형 회귀
단순 선형 회귀에서 x값은 하나인데,
x값, 즉 feature을 여러개로 하고 싶다면?
각 x(feature)에 맞는 파라미터를 찾아야 함.
주의할 점은, 만약 각 feature간 상관관계가 높다면 결과의 신뢰성을 잃을 수 있음.
다항 회귀
다중 선형회귀에서 예측이 잘 안 되거나, 데이터들 사이 관계가 비선형 관계라면 다항회귀 사용
다중 선형 회귀와 다른 점은, 다중선형회귀는 일차식, 얘는 feature의 2,3차.. 가 있는 다항식
즉, 원래 feature를 전처리하여 새로운 변수로 만들어 추가시킴.
결과적으로 feature_1^2 -> feature_new_1 이런 식으로 만드는 것이기에, 다중회귀와 동일한 원리.
주의할 점은, 차수를 너무 높인다면 그 feature에만 과도하게 맞춰지는 과적합 발생 가능.
과적합 방지
Cross Validation이나 Regularization을 사용하는데,
Cross Validation은 train set/validation set/test set 으로 나누어 성능을 평가하는 법,
Regularization은 모델의 복잡성을 줄여 일반화된 모델로 바꾸는 법. ex) Lasso, Ridge(패널티를 추가함)
K-Fold Cross Validation
train set을 k개로 나누어 k-1개는 train, 1개는 validation set으로 이용하고,
validation set의 인덱스를 바꾸어 k번 적용.
릿지, 라쏘, 엘라스틱넷 회귀
Lasso 회귀 : Loss function에 L1 정규화 항 추가.
단점 - 너무 많은 파라미터를 0으로 만들어 정확성 떨어질 가능성, 정보 손실 가능성
Ridge 회귀 : L2 정규화 항 추가.
단점 - 파라미터를 0에 가깝게 만들기 때문에 모델이 여전히 복잡할 가능성
ElasticNet 회귀 : L1 정규화와 L2 정규화 항을 적용할 비율을 조정해 모델 구현
회귀 알고리즘 평가 지표
RSS(오차제곱합), MSE(평균제곱오차), MAE(평균절대오차),
MAPE, R^2(결정계수, 특이하게 1에 가까워야 모델 성능 높음)
'AI > 기계학습' 카테고리의 다른 글
퍼셉트론 (0) | 2024.05.20 |
---|---|
머신러닝과 딥러닝의 차이 (0) | 2024.05.20 |
회귀 알고리즘 평가 지표 RSS, MSE, MAE, R^2 (0) | 2024.05.12 |
릿지(Ridge), 라쏘(Lasso), 엘라스틱넷(ElasticNet) 회귀 (0) | 2024.05.11 |
if __name__ == '__main__': 의 의미는? (0) | 2024.05.11 |