SW/딥러닝

52. 딥러닝 : 실제 데이터를 균형잡히게 만들어야 하는 이유

얇은생각 2020. 9. 19. 07:30
반응형

52. 딥러닝 : 실제 데이터를 균형잡히게 만들어야 하는 이유

 

사전 처리를 시작하기 전에 잠시 데이터 세트 밸런싱의 중요성에 대해 이야기 하겠습니다. 두 클래스 고양이와 강아지의 사진 분류 문제에 대해 생각해 보겠습니다. 좋은 모델에서 기대하는 정확도는 어느 정도일까요?

사진의 70%를 정확하게 분류한다면 그리 나쁘지 않을 것입니다. 80%의 정확도는 좋은 반면 90%는 초보자에게 매우 좋습니다. 구글과 페이스북의 분류가 대부분의 문제에서 99.9퍼센트 정확도를 달성하는 것에 대해 말하는 것이 아닙니다. 90% 정확도는 인상적인 성과입니다.

이제 알고리즘에 무엇을 먹이든 동물 사진을 찍고 고양이만 출력하는 모델을 상상해 보세요. 항상 정답으로 고양이를 출력합니다. 좋은 모델은 그렇지 않아요. 이 기계에게 물어볼 수 있을 까요?

 

 

 

52. 딥러닝 : 실제 데이터를 균형잡히게 만들어야 하는 이유

 

원하는 기계 학습 알고리즘의 결과는 분명 아니지만, 데이터 세트에서 상상하는 일반적인 결과입니다. 사진의 90%는 고양이이고 10%는 개입니다. 똑같이 나쁜 모델이 적용되면 모든 사진을 고양이로 분류합니다. 하지만 90%는 고양이입니다. 알고리즘의 정확도는 어느 정도입니까?

그것은 90퍼센트이지만 믿을 수 없습니다. 왜 이런 문제가 발생할까요? 기계 학습 알고리즘이 손실을 최적화하려고 하기 때문에, 만약 어떤 대상이든 고양이일 경우, 좋은 결과를 얻기 위해 고양이일 가능성이 가장 높기 때문에 항상 같은 예측을 내놓는다는 것을 빠르게 깨닫습니다.

사진의 분포가 고양이 90%와 개 10%라면 정확도가 80%인 모델은 나쁜 모델입니다. 왜냐하면 고양이만 출력하는 멍청한 모델이 그것보다 더 잘 할 것이기 때문입니다. 따라서 90퍼센트 이상의 결과만이 어떤 계층의 사진을 고를 수 있는 초기 확률이 더 유리하다고 할 수 있습니다.

 

 

 

52. 딥러닝 : 실제 데이터를 균형잡히게 만들어야 하는 이유

 

그 전자 고양이의 경우 0.9점이고 개는 0.1점입니다. 사진의 50%가 고양이이고, 개는 5.0점 0.5일 때 전자는 균형입니다. 불균형한 이전 버전의 예로는 0.9와 0.1점 0.7과 0.3점 0.6점 0.4가 있습니다. 따라서 각 쌍은 논의된 문제와 동일하게 접근하여 해결할 수 있습니다.

기계 학습 알고리즘은 한 클래스가 다른 클래스보다 훨씬 일반적인 것을 빠르게 학습하고 값을 출력하는 모든 방법을 결정할 수 있습니다. 세 가지 클래스가 있는 경우 데이터 세트의 균형을 맞추는 것은 각 클래스가 데이터 세트의 약 1/3에 해당하는 데이터 세트를 선택하는 것을 의미합니다.

만약 4개의 분류 클래스가 있다면 각각 25퍼센트씩입니다. 비즈니스 사례에서는 목표를 신속하게 검토해야 합니다. 대부분의 실제 데이터는 균형잡히지 않았다라는 것을 알아야 합니다. 계속 진행하려면 데이터 세트의 균형을 반드시 맞춰야 합니다. 이 작업은 대상의 총 개수를 세고 0과 동일한 개수를 일치시키는 방식으로 수행됩니다.

반응형