nathan_H

Evaluation 본문

Big Data/ML

Evaluation

nathan_H 2019. 4. 5. 10:57

다양한 방법으로 ML모델을 만들었다면

그 모델을 평가하는 방법에 대해 

알아보고자 한다.

 

들어가기 전에

이 내용은 순천향대학교 정영섭 교수님의

수업 및 수업자료가 많이 들어가 있다는 점을 참고 바란다.

 

평가를 위한 데이터 분배

 

* Trian/ Test

* Trian/Validation/ Test

* k-fold cross-Validation

 

 

 

우선 평가에 있어 데이터는 항상

학습용 데이터, 테스트용 데이터로 나눠서서 평가를 진행한다.

 

 

그 중에서 k-fold cross- Validation에 대해 잠깐 알아볼까 한다.

 

k-fold cross Validation.

 

 

k-fold cross Validation은 위에 그림처럼 

1. 훈련 데이터를 부분 집합으로 나눈다

2. 순차적으로 폴드를 테스트 세트로 하고 나머지 폰드 모델을 훈련시킨다.

3. 테스트 폴드를 바꾸어 가며 모든 폴드가 사용될때까지 반복.

 

위 과정을 모든 데이터를 부분 집합으로 훈련 데이터로 만들어

모두 테스트 해보며 모델을 평가하는 방법이다.

 

즉 데이터 분포에 있어 문제성을 해결해주고 

      분포를 여러 개로 나눠서 실험을 하는 경우 하기 때문에

       셔플링할 필요도 없고 정확도가 높아지고 결과의 신뢰성이 생기는 

강력한 장점이 있다.

 

Bias, Variance

모델을 평가할때 

Bias, Variance을 고려해 

모델이 Overfitting이 되었는지

underfitting이 되었는지 파악하는 것이 중요하다.

 

출처 - https://www.quora.com/Can-cross-validation-reveal-overfitting-Is-it-true-or-false
@ tomrobertshaw.net

Overfitting(High Variance)

Overfitting이란 말 그대로 너무 잘 맞아 떨어 진다는 것이다.

잘 맞아 떨어지면 좋지 않은갈? 라고 의문을 가질 수 있다.

하지만 Overfitting은 반대로 Train data에 있어서는 

너무 잘 맞지만 오히려 Test data에 있어서는 정확도가 떨어지게 된다는 것이다.

위 그림을 보면 알 수 있다

 오른쪽처럼 모델처럼 overfitting 이 될 경우 

저렇게 될 경우 Test Data의 빨간 점이 모델 안쪽에 포함될 가능성이 크기 때문에 

실전에서 정확도가 떨어지게 된다.

 

Underfitting(High bias)

Underfitting 은 그냥 단어의 뜻대로 너무 학습을 시키지 않아

정확도가 떨어진다는 것이다 위 그림 왼쪽 모델을 보면 알수 있다.

 

 

정리하자면 Train data test data와 많이 떨어진다

-> overfitting 트레이닝 오버가 되었다.

-> overfitting - 모델이 오버해서 복잡해졌다!!(High Variance)

-> 모델 보다 너무 단순해져 버렸다! –underfitting(High bias)

 

학습 알고리즘

모델을 만들때 학습을 하는 목적은

임의의 주어진 모델의 'parameter'들의 값을 주어진 데이터에 

맞게 업데이트를 하는 것이다.

 

parameter최적화 하는 것이다.

기계학습의 학습 == parameter 최적화.

 

이 말은 결국 Target function의 값을 최적화하는 

parameter의 값을 찾아야 한다는 것이다.

 

 

*용어 정리

Loss function : data instance에 대한 prediction penalty 정의

Cost function : Loss 보다 일반화된 개념으로, 전체 데이터에 대한 loss 합에 정규화를 term 포함.

Object function : 가장 일반화된 용어로 , 학습을 통해 '최적화' 할려는 모든 종루의 함수

 

Loss is a part of cost which is a type of objective.

 

'Big Data > ML' 카테고리의 다른 글

Bayesian network.  (0) 2019.04.10
Decision Tree  (0) 2019.04.10
MLE, MAP  (0) 2019.04.09
PCA SVD, Linear Discriminant Analysis  (0) 2019.04.08
Machine Learning - Feature 와 Model.  (0) 2019.04.05
Comments