본문 바로가기

[COURSERA] Machine Learning Stanford Uni

[week6] Evaluating a Learning Algoritm

* gut feeling 직감

 

Deciding What to try Next

 

1. 예측을 했다~ 결과가 거지 같다~ 어떻게 할까~

 

2. 1) 트레인 수를 늘린다. 2) 피쳐를 덜 사용한다. 3) 추가적인 피쳐를 사용한다. 4) 폴리노미얼한 피쳐를 더한다. 5) 러닝 레이트를 감소 시키거나 증가시킨다.

 

3. 보통 사람들은 트레인 데이터를 더 모으거나, 피쳐를 더 모으거나, 아니면  직감에 의존해서 여러가지 파라미터를 수정한다. 

 

 

1. 그러지 말라! 감에 의존하지 말라! 진단을 해라!

 

2. 진단을 통해 알고리즘으로 부터의 통찰을 얻을 수 있고, 어떤 파라미터를 조정해야 하는지에 대한 정보를 얻을 수 있다. 

 

3. 진단은 시간이 들 수 있으나, 감에 의존한 시간 보다는 훨씬 좋다.

 

 

Evaluating Hypothesis

 

1. 가설은 트레이닝 샘플에 대해서는 낮은 에러를 가질 수 있지만, 부정확할 수 있다. 왜냐하면 그것이 오버피팅 되어 있을 수 있기 대문이다. 즉, 가설을 평가하기 위해서는 테스트 셈플이 필요하다는 것이다. 

 

2. 간단하다. 트레인 셈플로 비용함수가 최소가 되는 가설을 찾고, 그 가설을 이용해 테스트에 대한 비용함수를 계산하는 것이다.

 

3. 선형회귀의 경우, 비용함수를 그대로 사용할 수 있고, 로지스틱 회귀의 경우 테스트의 y값과 예측값이 틀린 곳을 1로 배정한 후, 그 값을 모두 더한 뒤, 총 테스트 수로 나누어 주면 된다.

 

Evaluating a Learning Algoritms

 

1.트레인 셋에 잘 맞는 다고 좋은 가설이 아니다. 오버피팅 된 것일 수 있기 때문에, 어찌 되었는 트레인의 에러는 테스트와 베일데이션 세보다 낮을 수밖에 없다.

 

2. 먼저 가능한 모델을 상정하고, 어떤 모델이 가장 좋은 모델인지 확인하기 위해, 각 모델의 베일데이션셋에 대한 에러 값을 조사한다. 그후, 그 모델을 이용하여 테스트 셋에 대한 에러 값을 확인한다.

 

3. 일반적으로 트레인 60%, 베리데이션 20%, 테스트 20%이다.