> 이 글은 스탠퍼드대학교 Andrew Ng 교수님의 강의를 수강한 것을 토대로 작성한 글입니다
Overfitting(과적합)
linear regression(선형 회귀)
Training set에서 parameter θ를 학습하여 J(θ)의 Training error를 최소화 ( 보유 Data의 70% 사용 )
테스트 오차 계산
logistic regression(로지스틱 회귀)
Training set에서 parameter θ를 학습하여 J(θ)의 Training error를 최소화 ( 보유 Data의 70% 사용 )
테스트 오차 계산
오분류율
hθ(x) >= 0.5 and y = 0
hθ(x) < 0.5 and y = 1
-> err (hθ(x0, y) = 1
즉, 1일 가능성이 더 높았지만 실제로는 0
0일 가능성이 높았지만 실제로는 1
Model Selection 문제 = 다항식의 차수, 정규화 파라미터의 값 또는 피처를 값을 어떻게 설정해야 할지에 대한 문제
각 차수에 대한 가설함수를 설정하고 훈련을 시킨 후 적절한 차수 결정
문제를 해결하기 위해 Train/Validation/Test Sets으로 나눠 계산
(비율 - 60%, 20%, 20%)
아래와 같은 수식으로 표현 가능
Cross Validation이 추가되었으므로
Underfit - High bias / Overfit - High Variance
Bias vs Variance
d가 높아질수록
training set의 cost function값은 계속 작아짐
validation set의 cost function값은 작아지다가 어느 순간부터 다시 증가함
따라서
Jtrain과 Jvalidation의 값이 모두 큰 경우 - Underfitting
Jtrain의 값은 작지만 Jvalidation의 값이 큰 경우 - Overfitting
Bias와 Variance를 구분하는 방법
Cross Validation error와 Training error의 그래프는 대부분 위와 같으므로, Cross Validation error와 Training error의 그래프를 그려 문제를 찾고 적절한 차수를 찾기
적절한 lambda값을 구하는 방법
적절한 lambda값을 판단하는 방법
Training error -> lambda값이 클 수록 커짐
Cross Validation error -> lambda값이 클수록 작아지다가 일정한 부분에서 커짐
임의의 lambda를 기준으로, 왼쪽 - Overfitting / 오른쪽 - Underfitting
Cross Validation error 大 and Training error 大 -> Underfitting
Cross Validation error 大 and Training error 小 -> Overfitting
두 그래프가 거의 일치하는 부분 or 두 그래프의 에러가 가장 낮은 부분 -> 가장 적절한 lambda값
High bias
Training error : 자료가 많아질수록 빠르게 증가하다 일정한 수준에 도달하면 fitting 할 수 있는 한계가 발생하여 일정해짐
Cross Validation error : 자료가 많아질수록 빠르게 감소하다 일정한 수준에 도달하면 fitting 할 수 있는 한계가 발생하여 일정해짐
-> 자료를 늘려도 에러가 줄어들지 않음
High Variance
Training error : 자료가 많아질수록 천천히 증가
Cross Validation error : 자료가 많아질수록 천천히 감소
-> 자료를 늘리면 에러가 줄어듦
가설을 예측한 것에서 오류가 발생한 경우 해결 방법
Neural Network에 적용
EX) 스팸 분류
왼쪽 : 스팸메일 O / 오른쪽 : 스팸메일 X
스팸메일 -> 의도적으로 단어의 철자를 제대로 사용하지 않음
스팸메일 분류 시스템을 설계
정확성은 향상시키고 error는 줄이는 방법