728x90
regularization

regularization

  • Overfitting : regression 식의 feature 개수가 너무 많아지면, 학습 데이터에 대한 정확도는 높아지지만 새로운 데이터에 대한 정확도는 오히려 낮아지는 현상
    • feature 수를 줄이거나, regularization을 통해 완화
    • feature 수를 줄일 경우 보존할 feature를 선택해야 하는 문제가 존재 ( model selection algorithm )

  • regularization
    • 모든 feature의 영향을 보존
    • parameter를 최소화하여 각 feature의 영향을 경감
  • cost function J(θ)=12m(Hθ(xi)yi)2+λ2mθi2J(\theta)=\frac{1}{2m}\sum(H_\theta(x^i)-y^i)^2+\frac{\lambda}{2m}\sum\theta_i^2
    • λ\lambda : regularization parameter
    • λ\lambda가 커질수록 underfitting, 작아질수록 overfitting
    • 이처럼 학습이 아닌 실험적으로 찾아야 하는 값을 hyper-parameter라고 함
  • normal eq. : θ=(XTX+λL)1XTy\theta = (X^TX+\lambda L)^{-1}X^Ty

Model Evaluation

  • Training / Test set : 데이터 중 일부는 학습에, 일부는 검증에 사용
  • holdout validation : 데이터를 training / validation / test로 분리하여 학습
    • validation 데이터를 통해 모델을 최적화
    • 해당 모델을 test 데이터를 통해 학습 정도를 판별
  • Bias vs Variance
    • Variance가 높을수록 모델의 degree, complexity가 높아짐
    • Bias가 높을수록 제대로 학습되지 않은 상태
  • 오차에 대해
    • 모델 degree가 높을수록 train set의 cost는 감소하나, valid set은 감소하다가 일정 이상부터 오히려 증가
    • 큰 train / valid cost = Bias가 높다, underfitting
    • 큰 valid cost / 작은 train cost = Variance가 높다, overfitting
  • 정규화 parameter λ\lambda에 대해
    • λ\lambda가 커질수록 train cost는 증가하고, valid 코스트는 감소하다 증가한다
    • valid cost가 크고, train cost가 작으면 variance가 큰 상태
    • train/valid cost가 모두 크면 bias가 큰 상태

  • K-fold cross validation
    • 데이터를 K개로 분할
    • 이중 1개를 validation으로 선정하고, 나머지를 training set으로 선정
    • 모든 subset에 대해 돌아가며 학습 : subset 크기가 클 수록 train cost는 증가하고, valid cost는 감소
  • learning curve
    • Bias가 높은 경우 : 일정 error 이하로는 학습되지 않음
    • 최적화된 경우 : 낮은 error로 학습되나 충분한 반복 필요
    • overfitting된 경우 : 최적 반복 지점에서 학습을 중단하지 않으면 valid cost가 역으로 높아질 수 있음

  • Overfitting의 대처법
    • training set의 크기를 증가
    • feature 개수를 감소
    • regularization parameter를 증가
    • iteration 감소
  • Underfitting 대처법
    • feature 개수 증가, 모델 degree 증가
    • regularization parameter 감소
    • iteration 증가
728x90

+ Recent posts