본문 바로가기

카테고리 없음

Model Selction(K-fold CV,Overfitting,Traing, CV Error)

오차율을 줄이는 방법은?

데이터만 많으면 해결이 될까?

알고리즘의 정확도를 올바르게 측정하는 방법











  • 회귀모델의 다항식의 차수를 점차 늘려가면서 분석해본 그래프
  • 각각의 모델들이 잘설명하고 있는지 에러함수를 표시 - 많아질수록 결과가 산으로 간다.
  • 차수가 가장적은게 에러가 가장 적을 것이라 판단...할 것.

  1. 학습모델에 비해서 데이터가 작으니, 데이터 내 노이즈까지 학습해버리는(피팅해버리는) 현상 -> 오버피팅
  2. K-fold Cross Validation.
  3. 트레이닝 에러와 테스트데이터 값을 본다.



위에 빨간선은 CV, 어느 순간부터 오버피팅

차수를 높이면 높일수록 학습에 쓰였던 데이터에 대해서는 오차가 줄어들고 있다,

극단적으로는 N-1까지 트레이닝 데이터로도 쓴다.(Leave one out CV)


차원의 저주



  • 학습 모델에 비해서 데이터의 개수가 적어서, 데이터에 내재된 노이즈까지 학습하게 되는 현상이다.
  •  학습했던 데이터 (Training data)에 대해서가 아니라, 학습하지 않았던 데이터 (Test data)에 대해서 얼마나 잘 예측하는지를 평가해야 한다.
  •  K-fold Cross Validation 혹은 Leave-One Out Cross Validation (LOOCV) 기법 등으로 Overfitting 문제를 해결할 수 있다


  • 입력 데이터가 고차원 (High-dimensional) 데이터일 경우, 통상적으로 쓰이는 거리 등의 기하학적 개념은 잘 동작하지 않을 수 있다.
  •  d-차원 (d-dimensional) 입력 데이터 (Input Data)가 들어올 경우, M-차원 다항 (Order-M Polynomial) 모델에서 학습해야 할 파라미터의 개수는 O(d^M) 이다.
  • 회귀 모델 (Regression Model)의 경우, 다항식의 차수가 높아질수록 모델의 표현력이 증가한다.