machine learning basics pt.4
Machine Learning basics pt.4
comparison of Lasso and Ridge
Lasso |
Ridge |
---|---|
모델링을 하다보면 규제항0이 되는 값들이 존재함 | 아무리 모델링을 해도 규제항이 0에 가까워지지 않음 |
$\displaystyle 기울기(G) = 오차’ + C$ | $\displaystyle 기울기(G) = ( 오차’ + \vert w \vert )$ |
$\displaystyle W_{t} - a(오차’ + C)$ | $\displaystyle W_{t} - a( 오차’ + \vert w \vert )$ |
피처가 많은 경우 (= weight가 많은 경우)에 강하게 규제를 걸어야할 때 피처선택을 위해 사용 |
Linear Classfication Model
- classification: 확률/비확률적 모형 & 선형/비선형적 모형
확률적으로 분류한다
=분류 경계선을 기준으로 데이터 확률값으로 예측한다.
- Logistic (= 확률적 예측한다) Regression (= 선형적 모형)
- 예측값 = 확률값
- 0과 1로 구성된 데이터 값들을 가지고 집단을 구분짓는 경계선(=> wx = 0)을 찾아 특정 카테고리 값을 예측하는 기법.
- hypothesis: $\displaystyle \begin{equation} \frac{1}{(1+e^{-wx})}\end{equation}$
- cost: 절댓값의 오차는 로지스틱 회귀분석에서 의미가 없다. (아무리 최적화를 위해 cost가 낮아지는 방향으로 가중치를 업데이트해도 cost값이 낮기 때문에 학습이 잘 되지 않기 때문.) 그래서 로그함수를 cost 함수로 이용함.
Local Minimum problem
- local minimum이 많은 데이터의 경우 학습이 잘 안되어 underfit이 발생할 확률이 높다. 그래서 복잡한 모델인 경우 underfit에 취약한 경우이므로vanishing gradient(기울기 소실) 문제를 만날 수 있다. (cost값을 미분해서 weight값을 업데이트 해나가기 때문임.)
- Adam optimizer와 같은 모델들을 이를 해결하기 위한 방법으로 발전했다.
- 다중 분류의 경우는 소프트맥스 함수를 이용해 해결하고 경계선을 기준으로 확률적으로 예측한 값들을 각각 계산한 뒤 최종적으로 큰 확률값을 갖는 카테고리의 값으로 예측함.
- SVM (Support Vector Machine)
- Linear SVM의 경우, 비확률적 선형 모형
- 로지스틱의 선형 경계선 (wx = 0)은 그대로 이용하면서 hypothesis의 함수를 다른 즉, 비확률적 선형 모형으로 구해야함.
- hypothesis: $\begin{cases}
1 & \quad (x \geq 0)\\\\
0 & \quad (x < 0)
\end{cases}$ - 데이터가 경계선과 인접할수록 overfitting의 우려가 있기 때문에 데이터와의 거리를 최대한 확보하면서 경계선을 그리는 것이 좋다.
- 마진 최대화하며 학습
- cost = C (오차허용률) x 오차 + 마진의 역수항 (1 / 마진 = 규제항 x (1/2))
- 라쏘 규제항을 이용하는 경우: $\displaystyle \begin{equation} 오차 + \cfrac{1}{\cfrac{2}{\sum |w|}} \end{equation} \\\\ = 오차 + \frac{1}{2} \times \sum |w|$
- 오차허용률: 허용률 값이 크면 오차 허용을 안하기 때문에 오차값은 작아지고 마진의 역수값이 커지게 되는데 마진은 작은 값을 갖게 되기 때문에 overfitting이 발생할 수 있다. 그래서 오차가 커지더라도 오차허용률 값을 줄여서 오차허용을 어느 정도 해주는 것이 좋음.