<Regularization>
- Regularization이란?
모델이 새로운 데이터를 접하더라도 좋은 예측 결과를 유지하도록 만드는 것.
즉, overfitting을 해결하는 것이다.
overfitting이란 학습에 사용된 training 데이터에 지나치게 모델이 지나치게 적합되는 것으로,
새로운 데이터에 대한 일반적 성능을 저하시킨다. (high variance)
linear regression과 logistic regression 두 경우 모두 발생할 수 있으며, 각 경우를 시각화한 그림은 다음과 같다.
반대로 underfitting 또한 존재한다 (high bias). underffiting이 일반적 성능을 향상시키는 것은 아니다.
- Overfitting을 해결하는 방법
위 슬라이드처럼 1. 불필요한 feature를 줄이거나, 2. regularization 기법을 사용하면 된다.
방법 1의 경우 유의미한 데이터를 버리게 될 수도 있고, 임의로 feature를 선택하기 어려울 수 있다.
(후에 selection 알고리즘을 다룬다고 한다.)
방법 2 regularization은 parameter의 magnitude를 줄인다고 나와있는데,
이는 해당 특성이 모델의 결과값에 미치는 영향을 줄이는 것을 의미한다.
( 해당 특서에 대한 parameter 값이 작아지면 영향이 당연히 줄어든다. )
- Regularization, Cost Function
regularization을 설명한 슬라이드는 다음과 같다.
cost function에 파라미터를 포함시켜서 원하는 파라미터를 penalize 하는 방식으로 regularization을 구현하는 것을 확인할 수 있다.
cost function에서 파라미터 앞에 붙은 숫자 1000은 위 예시에서 임의로 붙인 숫자로, 일반적인 식에서는 람다로 표현한다. 일반적인 식은 다음과 같다.
앞서 사용했던 cost function에 각 파라미터의 값을 추가하여 regularization을 구현한다.
보통 intercept를 제외한 모든 파라미터에 대해 하는 것이 일반적이다.
람다가 클수록 각 파라미터는 작아질 것이고,
반대로 람다가 작다면 파라미터의 크기가 cost function에 미치는 영향이 작기 때문에 regularization이 잘 이뤄지지 않을 수 있다.
즉, fit-well 하는 것과 parameter를 줄이는 것(regularization) 는 trade-off 관계이며, 람다를 적절하게 설정해줘야 한다.
- Linear Regression Optimize (Gradient Discent, Normal Equation)
regularization을 고려하여 새로 정의된 cost function에서 최적 parameter를 찾는 과정도 동일하다.
(1) Gradient Discent
기본 알고리즘에서 cost function을 미분한 값만 변경하여 적용하면 된다.
그 결과 위와 같은 식으로 정리되고, 편미분 또한 어렵지 않게 할 수 있다.(생략)
주의할 점은 intercept parameter, j = 0인 경우는 regularization을 적용하지 않는다는 점이다.
(2) Normal Equation
결과적으로 Noraml Equation 수식은 다음처럼 바뀐다.
기존의 Normal Equation이 각 파라미터에 대해 편미분한 값이 0이 되는 값을 찾는 것과 동일한 것처럼,
위 식도 같은 과정으로 유도된다고 한다.(생략)
참고로, m < n인 경우 $ X^{T}X $가 singular 하지만, 위 식을 적용하면 invertible 하다고 한다.(증명 생략)
즉, pinv가 아닌 inv만 제공하는 라이브러리 만으로도 적용할 수 있다.
- Regularized Logistic Regression
Logistic Regression도 regularization이 필요하다.
기본적인 원리는 동일하고, 수식만 logistic regressionn에 맞춰 적용하면 된다.
cost function
마찬가지로 기존 식에 파라미터의 값이 더해진다.
Gradient Discent
위의 cost function을 편미분한 식만 달라진다. 편미분 과정 또한 어렵지 않다.(생략)
마찬가지로 j=0인 경우는 regularization을 수행하지 않는다.
'머신러닝 > Machine Learning(Ng)' 카테고리의 다른 글
[5주차] Neural Network - 2 (0) | 2021.08.14 |
---|---|
[4주차] Neural Network (0) | 2021.08.11 |
[3주차- 1] Classification, Logistic Regression (0) | 2021.08.10 |
[2주차] 다변수 선형 회귀, Normal Equation (0) | 2021.08.07 |
[1주차] 머신러닝이란, model and cost function, (linear algebra) (0) | 2021.08.06 |