6-5 Data for machine learning 본문
머신러닝에서 데이터가 가지는 중요한 특징에 대해 알아본다.
For breakfast I ate _ eggs.라는 문장에서 빈칸에 들어갈 단어 중 적절한 단어를 분류해야 한다. 4 개의 알고리즘으로 실험했을 때 모두 다 데이터 셋이 많으면 많을 수록 성능이 향상되는 모습을 보여주었다.
Large data set이 성능 향상에 도움이 된다는 이론적인 해석을 위해 feature x가 y를 예측하기 위해 충분한 정보를 담고 있다고 가정해보자.
For breakfast I ate _ eggs.라는 문장에서 빈칸 주위에 여러 단어들이 feature가 되며 이를 보고 to, two, too 중 어떤 단어가 들어가야 하는지 선택할 수 있다.
이와 상반된 예시로 집값을 예측해야 하는 문제에서 고려할 수 있는 feature가 오직 size밖에 없다면 feature가 y를 예측하기 위한 충분한 정보를 담고있지 못하므로 집 값을 제대로 예측할 수 없다. 후자의 경우 데이터가 아무리 많더라도 집 값을 예측하는데 도움이 되지 않는다. 따라서 일반적으로 Large data가 성능 향상에 도움이 된다는 의견을 수용하기 위해선 feature x가 y를 예측하기 위해 충분한 정보를 담고 있어야 한다.
어떤 문제를 풀 때 feature x가 y를 예측하기 위해 충분한 정보를 담고있는지 아닌지 판단하는 방법은 인간이 같은 문제를 풀어보는 것이다. 우리는 앞서 주어진 2가지 예시에서 빈칸에 들어갈 단어를 고르는 문제를 정확히 풀 수 있다. 이러한 경우 feature x가 충분한 정보를 담고 있다고 할 수 있다. 그러나 집 값을 예측하는 문제에서 오직 size만 가지고 예측해야 한다면 우리도 제대로 예측할 수 없다. 따라서 이러한 경우 feature x가 충분한 정보를 담고 있다고 할 수 없다.
Feature가 충분한 정보를 담고 있다고 가정할 때, 파라미터가 많은 학습 알고리즘을 사용하면(high variance이므로 low bias) Train error가 줄어들 것이다. 이러한 경우 overfit 문제가 발생할 수 있다고 했는데 이 때 많은 data set을 사용하여 학습한다면 overfit을 줄일 수 있으므로 train cost와 test cost의 차이가 점점 줄어들 것이다. 따라서 학습 알고리즘이 점점 low variance가 된다.
즉 feature x가 y를 예측하기 위해 충분한 정보를 담고 있고, 파라미터가 많은 모델을 사용하고, large data set으로 학습하면 test error가 매우 작은 좋은 모델이 만들어질 것이다.
'ML & DL > Coursera-ML' 카테고리의 다른 글
7-2 Kernels (0) | 2019.02.07 |
---|---|
7-1 Large Margin Classification (0) | 2019.01.31 |
6-4 Error Metrics for Skewed Classes (0) | 2019.01.29 |
6-3 Building a Spam Classifier (0) | 2019.01.29 |
6-2 Bias vs Variance (0) | 2019.01.28 |