[Study] Machine Learning — Regression
𝖱𝖾𝗀𝗋𝖾𝗌𝗌𝗂𝗈𝗇
- Classification의 예측 결과 값 = Class or Label
- Regresion의 예측 결과 값 = 실수
𝖫𝗂𝗇𝖾𝖺𝗋 𝖱𝖾𝗀𝗋𝖾𝗌𝗌𝗂𝗈𝗇
= Linear Model 표현
- Sum of Squared Error를 최소화하기 위해, 미분하여 얻은 Parameter 수식
𝖱𝗂𝖽𝗀𝖾, 𝖫𝖺𝗌𝗌𝗈 𝖱𝖾𝗀𝗋𝖾𝗌𝗌𝗂𝗈𝗇
- Ridge Regression : Linear Regression에서 얻어지는 Parameter가 너무 커지지 않도록, L2 norm으로 제한
> Overfitting 막아줌
> 위 Cost 함수에 대하여 편미분을 통해 최적의 값 찾기
- Lasso Regression : L1 norm 제한
> 미분 불가능 — 여러 기법 적용하여 최적화
> Feature selection 효과 가짐 0 — 결과값 생성에 중요하지 않은 것은 weight 값을 0에 가깝게 감소시킴
𝖫𝗂𝗇𝖾𝖺𝗋 𝖢𝗅𝖺𝗌𝗌𝗂𝖿𝗂𝖼𝖺𝗍𝗂𝗈𝗇 (𝖫𝗈𝗀𝗂𝗌𝗍𝗂𝖼 𝖱𝖾𝗀𝗋𝖾𝗌𝗌𝗂𝗈𝗇)
= 방법은 Regression, 선형 합에 대해 특별한 함수 f를 채택함으로써 Classification으로 적용
- 선형 합 = ax + by + c
- 선형 합에 대해 임의의 함수 적용하여 ‘확률값’ 생성
> Logistic Function을 적용하면 0 ~ 1 결과값 (확률 형태)
왜 Logistic Fuction을 썼을까 ?
- 함수 f(x)의 결과값은 ‘확률’형태, x 값은 모든 숫자가 가능하도록 전환
- 4개의 점에 대해 Classification
- 붉은 점에 대해서는 f(ax + by + c) 값이 1에 가깝도록 수식 정의
- 녹색 점에 대해서는 f(ax + by + c) 값이 0에 가깝도록 수식 정의
> 최적화 문제로 변환하여 문제 풀기
- 붉은 점인 경우 P의 최대값인 1, 녹색 점의 경우 1-P가 최대값이 되게 하기
( 붉은 점, 녹색 점 모두 최대화 문제로 바뀜 (최소화 문제로도 바꿀 수 있음))
- 최대화 수식
- Log 씌우기 : Underflow 방지, 계산 쉬워짐(덧셈)
- 부호 바꾸기 : 최소값 찾는 문제로 바꿔, Cost Function이 됨
- Parameter 최적화
- Gradient Descent(경사 하강법) : Cost Function을 각 Parameter에 대해 편미분하여, 각 Parameter를 그 값만큼 Update
- Logistic Regression Model > Classification
Label 개수가 3개 이상일 때는 ?
- 다항 로지스틱 회귀
ex) 3개인 경우
ex) k개인 경우
- Linear Classification vs Linear Regression
- 둘 다 선형 결합에 의해 데이터를 Modeling
- 전자 : 0~1 사이의 확률값으로 결과값 생성, threshold 값을 적용함으로써 ‘분류’ 문제 해결
- 후자 : 0~1 바깥의 값들이 나올 수 있음, ‘분류’ 문제 부적합 (적용할 수 있는 방법 있긴 함)