Linear Regression
널리 사용되는 대표적인 회귀 알고리즘
선형 회귀는 종속변수 y와 하나 이상의 독립변수 x와의 선형 상관관계를 모델링하는 기법이다.
독립변수 x가 1개 = 단순 선형 회귀
x가 2개 이상 = 다중 선형 회귀
ML의 가장 큰 목적은 실제 데이터 바탕으로 모델 생성해
만약 다른 입력 값을 넣었을 때 발생할 아웃풋을 예측하는 것
가장 직관적이고 간단한 모델은 선
하지만 데이터들을 놓고 선을 긋는것은 완전 정확하지 않고
실제 데이터와 약간의 차이 발생한다. 일종의 오차라고 하는데
선형회귀에서 발생하는 오차, 손실 (Loss)이라고 한다.
손실이 +3, -1 이렇게 될 수 있지만 엄밀히 말하자면
선과 실제 데이터 사이에 얼마나 오차가 있는지 구하려면
양수, 음수 관계 없이 동일하게 반영되도록 모든 손실에 제곱을 해주는게 좋다
이런 방식으로 손실을 구하는 걸 평균 제곱 오차(mean squared error, MSE) 라고 한다.
손실 구할 때 가장 널리 쓰이는 방식
MSE 말고도 그냥 절대값으로만 바로 평균을 구하는 MAE, MSE,MAE를 절충한 후버손실 등.. 여러가지 방법이 있다.
손실을 최소화 하기 위한 방법은
경사하강법(Gradient Descent) 이 있다.
ML에서 사용하는 모형 매우 복잡하기 때문에
선형 회귀 분석에서도 최적의 기울기와 절편을 구할 수 있는 마땅한 방법이 없다.
Loss를 함수로 나타내면 아래로 불룩한 형태의 함수 모양을 가진다.
그래서 일단 파라미터를 임의로 정한 다음 조금씩 변화시켜가며 손실을 점점 줄여가는 방법으로 최적의 파라미터를 찾아간다.
이 방법이 경사하강법이다.
선형 회귀 분석을 수행하며 기울기와 절편을 계속 변경해가며 최적의 값 찾고 언제까지 해야 할지 정한다.
계속 파라미터를 조정하다보면 어느정도 최적의 값으로 수렴하게 된다.
만약 100번을 반복하고 30이라는 값에서 더이상 올라가지 않는다면
30에 수렴하는 걸 알 수 있다.
그리고 학습률이라는 걸 정해줄 필요가 있다.
학습률은 너무 크면 파라미터를 듬성듬성 조정하고 최적의 값을 찾지 못한다. 그렇다고 너무 작게 설정하면 최적의 값으로 수렴할 때 까지 시간이 오래 걸린다.
모델을 학습시킬 때는 최적의 학습률 찾는게 중요하다.
효율적으로 파라미터를 조정하고, 최적의 값을 찾아 수렴할 수 있도록!
ML에는 독립변수 x에 곱해지는 W 값을 가중치(weight)
상수항에 해당하는 b를 편향(bias) 라고 부른다.
따라서 단순 선형 회귀 모델 훈련하는 것은 적절한 W와 b값 찾는 것
그래프의 형태는 직선으로 나타난다.
여러 독립변수에 의해 영향을 받을 경우이다.
만약 2개의 독립변수면 그래프는 평면으로 나타날 것이다.
Ridge 회귀분석은 선형회귀분석의 과대적합 문제를 해소하기 위해
L2 규제를 적용하는 방식을 사용
과대적합이란?
ML 모델 학슴할 때 학습 데이터셋에 지나치게 최적화 해 발생하는 문제
모델을 지나치게 복잡하게 학습해 학습 데이터셋에서는 모델 성능 높게 나타나지만 정작 새로운 데이터 주어졌을 때
정확한 예측/분류 수행 못한다.
과대적합(overfitting) 해결하는 방법
계수 자체가 크면 페널티를 주는 수식을 추가 한 것이 Ridge 회귀이다.
Ridge 회귀 이해하려면 정규화를 알아야한다.
https://www.youtube.com/watch?v=pJCcGK5omhE
지도학습
Regression(회귀)
Linear(선형), Ridge(릿지), Lasso(라쏘) 회귀등이 대표적
Classification (분류)
kNN(최근접이웃), Naive Bayes(나이브베이즈), SVM(Support Vector Machine)이 대표적이다
Decision Tree(결정트리)
Random forest(랜덤포레스트)
출처
https://rebro.kr/184
https://hleecaster.com/ml-linear-regression-concept/
https://rk1993.tistory.com/entry/Ridge-regression%EC%99%80-Lasso-regression-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0