Learning Curves

2019. 2. 20. 12:40Artificial Intelligence

* 첨부된 자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다.





Learning Curves



이번 시간에는 머신 러닝 알고리즘이 데이터를 가지고 학습을 할 때에 얼마만큼의 에러를 발생시키는지를 알아보는

Learning Curve(학습 곡선)에 대해 알아보려고 한다.


머신 러닝 알고리즘을 적은 개수의 데이터로 훈련시키게 되면, (예를 들어 1개, 2개, 3개)

Training Set의 데이터에 대해서 알고리즘은 Error 값이 0 인 Quadratic Curve h를 예측해 낼 수 있다.

하지만 이 에러는 Training Set에만 해당되는 값이므로 Test Set이나 Cross-Validation Set의

데이터에 대해서는 굉장히 큰 오류를 일으킬 수 있다.


같은 원리로, Training Set의 크기가 점점 커지게 되면,  Training Set에 대한 Quadratic Curve의 Error는 

점점 증가하지만, 일정 크기를 넘어서면 이는 평평한 지대에 이르게 된다. (plateau)
Test Set의 경우도 Traning Set의 크기가 점점 커질수록 Error가 점점 감소하다가 일정 크기를 넘어서면

특정 값으로 수렴하게 된다. (plateau)


이렇게 데이터의 개수, 정확히 말해서 Training Set의 개수가 늘어남에 따라 Error가 각각의 경우 어떤 형태로 변화하는 지를 

나타낸 그래프를 Learning Curve라고 한다. 



save image





위의 그림과 같이, 학습 곡선이 High Bias로 인해 disired performance보다 더 높은 에러를 내고 있는 경우,

데이터 수를 늘려도 Test error & Train error가 수렴하는 Error의 값이 높으므로 큰 도움이 되지 못한다.


반면 아래의 그림과 같이, 학습 곡선이 , High Variance로 인해 문제가 생기는 경우

데이터 수를 늘리게 되면 학습 곡선에서 보이는 것과 같이 적당한 Error값으로 수렴하게 된다. 

따라서 무작정 데이터 수를 늘린다고 알고리즘이 개선되는 것이 아니며, 이를 확인할 수 있도록 도와주는것이 

Learning Curve, 학습 곡선의 역할이다.



save image





반응형

'Artificial Intelligence' 카테고리의 다른 글

Saliency Map  (3) 2020.03.15
Anomaly Detection  (0) 2019.02.21
Dimensionality Reduction - Data Compression & PCA  (0) 2019.02.16
UnSupervised Learning - K means Algorithm  (0) 2019.02.16
Spam Classifier - implementation with Octave  (0) 2019.02.14