[ML] 데이터의 종류(학습 데이터, 학습 개발 데이터, 개발 데이터, 테스트 데이터)

gunny·2023년 6월 7일
0

ML

목록 보기
12/17

1. 데이터의 종류

  • 알고리즘에게 가용가능한 학습 데이터를 주는 측면에서,
    학습 데이터를 두 개의 군으로 나눌 수 있는데
    하나는 (1) 실제 알고리즘이 학습을 수행할 학습 데이터 군, 다른 하나는 (2) 학습 개발(traing devel) 데이터이다.

2. 데이터 분류

  • 알고리즘을 학습하는 데이터를 분류함에 따라
    (1) 학습 데이터(training data)
    (2) 학습 개발 데이터(training devel data)
    (3) 개발 데이터(devel data)
    (4) 테스트 데이터(test data)

    총 4가지로 분류 해볼 수 있다.

2-(1) 학습 데이터 (training data)

  • 이 데이터는 알고리즘이 직접 학습하게 될 데이터로,
    우리가 실질적으로 신경써야할 것과 같은 분포를 띄지 않아도 된다.

2-(2) 학습 개발 데이터 (training devel data)

  • 이 데이터는 학습 데이터와 같은 분포를 띄고 있다.
  • 보통 학습 데이터보다 작은데, 이 데이터는 알고리즘의 학습 진척을 평가하고 추적하기에 충분한 형태를 가지면 된다.

2-(3) 개발 데이터(devel data)

  • 이 데이터는 테스트 데이터와 같은 분포를 띄는데, 궁극적으로 신경써야할 데이터의 분포이다.

2-(4) 테스트 데이터(test data)

  • 이 데이터는 개발 데이터와 같은 분포를 띈다.

3. 데이터 평가

  • 위 4개의 데이터를 통해서 다음 항목들을 평가하는데,

    [1] 학습 데이터에 의해서 측정할 수 있는 학습 오류
    [2] 학습 데이터에 의해서 학습데이터에서 추출한 새로운 데이터를 일반화할 수 있는 알고리즘의 성능
    [3] 개발/테스트 데이터에서 측정할 수 있는 알고리즘의 성능

    4. 학습 데이터에서 개발 데이터의 일반화

  • 만약 학습 데이터와 개발/테스트 데이터의 분포가 다른 상태에서 머신러닝을 적용한다고 가정할 때, 알고리즘은 생각보다 잘 동작하지 않을 것이다.
    그 이유는 개발/테스트 오류가 많이 발생해서 일 것이고 이러한 가능성은

    (1) 학습 데이터 분포 상의 high (avoidance) bias의 발생으로 학습 데이터 상에서 잘 동작하지 않음
    (2) 학습 데이터 상에서는 잘 동작하지만, 학습 데이터와 같은 분포에서 나온 미지의 데이터는 일반화가 되지 않은 high variance 발생

    (3) 학습 데이터와 동일한 분포에서 가져온 새로운 데이터 상에서는 일반화가 잘 되지만, 개발/테스트 데이터에서 가져온 데이터에서는 일반화가 되지 않는 데이터 불일치(data mismatch)
    로, 학습 데이터가 개발/테스트 데이터와 어울리지 않기 때문에 발생함

  • 예를 들어서 Classfication task를 했을 때, 인간과 머신러닝 둘 다 task에 대해서 완벽에 가까운 성능으로 아래와 같은 성능이 나타났다고 가정할 때

    • 학습 데이터 상에서의 1% 오류
    • 학습 데이터와 같은 분포에서 가져오되, 알고리즘이 경험하지 않은 데이터 상에서의 1.5% 오류
    • 개발 데이터 상에서의 10% 오류

    라는 케이스에서는 data mismacth 문제를 결험하고 있기 때문에 개발/테스트 데이터와 좀 더 유사한 학습 데이터를 만들려고 노력 할 것이다.

참고사이트

-https://talkingaboutme.tistory.com/entry/MLY-%ED%95%99%EC%8A%B5-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%80%ED%84%B0-%EA%B0%9C%EB%B0%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B9%8C%EC%A7%80-%EC%9D%BC%EB%B0%98%ED%99%94%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글