"설문 데이터 기반 패널 응답 예측" 에서의 분류성능지표

설문조사|2024. 11. 27. 19:30

Accuracy (정확도)

정확도는 모델이 얼마나 정확하게 예측했는지를 측정하는 지표입니다.

예를 들어, 설문 데이터에서 패널의 취향을 예측한다고 가정해봅시다.

한 질문에서 패널 10명 중 9명의 취향을 올바르게 예측하고,

1명의 취향을 잘못 예측했다면 모델의 정확도는 90%가 됩니다.

정확도는 클래스(카테고리)가 동일한 분포를 가질 때 유용한 지표입니다.

예를 들어, 설문 응답 데이터에서 모든 카테고리의 응답 비율이 균등하다면 정확도는 적합한 평가 지표가 됩니다.


Imbalanced data example (데이터 불균형 사례)

설문 데이터에서 특정 응답이 다른 응답에 비해 현저히 많은 경우를 생각해 봅시다.

예를 들어, 응답자의 99%가 "집에서 휴식을 취하는 것을 선호한다"고 답했고,나머지 1%만 "야외에서 활동하는 것을 선호한다"고 답했다고 가정합시다.

이런 경우, 어떤 패널이 "야외 활동"을 선호하는지 예측하는 모델을 만들려고 한다면, 모델이 잘못 학습할 가능성이 높습니다.

만약 모델이 모든 응답을 "집에서 휴식"으로 예측한다면, 명백히 잘못된 모델이겠지만 정확도는 99%로 높게 나타날 것입니다. 이는 모델이 실제로는 전혀 유의미하지 않음에도 불구하고, 정확도를 평가 지표로 사용했기 때문입니다.

결론적으로, 데이터가 불균형할 때 정확도는 좋은 평가 지표가 아닙니다.


Solving imbalanced data through metrics (데이터 불균형 문제 해결하기)

데이터 불균형 문제를 해결하는 한 가지 방법은 F1 Score를 사용하는 것입니다. F1 Score는 단순히 예측이 틀린 개수만 보는 것이 아니라, 틀린 유형까지 고려하여 모델을 평가합니다. F1 Score를 계산하기 위해서는 **Precision (정밀도)**와 Recall (재현율) 개념이 필요합니다.


Precision and Recall: foundations of the F1 Score

Precision (정밀도): F1 Score의 첫 번째 구성 요소

Precision은 "모델이 True라고 예측한 것 중 실제로 True인 비율"을 나타냅니다.

  • 설문 예시: 모델이 "패널이 특정 질문에서 '야외 활동'을 선호한다고 예측"한 경우, 그 중 실제로 "야외 활동"을 선호하는 비율입니다.

정확하지 않은 모델은 많은 응답을 Positive로 예측할 것입니다(예: 많은 패널이 야외 활동을 선호한다고 예측). 하지만 이러한 예측 중 많은 부분이 Noise(잘못된 Positive 예측)로 포함될 것입니다.

Precision이 높은 모델은 "pure(순수)"한 Positive를 예측합니다. 예를 들어, "야외 활동"을 선호한다고 예측한 패널은 실제로 모두 "야외 활동"을 선호한다는 의미입니다.


Recall (재현율): F1 Score의 두 번째 구성 요소

Recall은 "실제로 True인 것 중에서 모델이 True라고 예측한 비율"을 나타냅니다.

  • 설문 예시: "실제로 '야외 활동'을 선호하는 패널" 중 모델이 "야외 활동"을 올바르게 찾아낸 비율입니다.

Recall이 높은 모델은 전체 데이터에서 Positive 케이스(야외 활동 선호 패널)를 놓치지 않고 잘 예측합니다.


Precision vs Recall

Precision과 Recall의 차이를 이해하기 위해, 설문 데이터를 다음과 같이 비유해봅시다:

  • 설문 데이터를 통해 "특정 취미를 가진 사람들을 찾아내야 한다"고 가정해봅시다.
  • Precision은 "모델이 찾은 응답(취미를 가진 사람들)이 얼마나 정확한지"를 측정합니다.
  • Recall은 "모델이 전체 응답 데이터에서 필요한 정보를 얼마나 잘 찾아냈는지"를 측정합니다.

예를 들어, 모델이 설문 데이터를 기반으로 응답자가 골프를 좋아한다고 예측했다고 가정해봅시다:

  • Precision이 높은 모델은 "골프를 좋아한다고 예측된 응답"이 모두 실제로 골프를 좋아하는 응답이라는 것을 보장합니다.
  • Recall이 높은 모델은 "전체 골프를 좋아하는 응답자"를 가능한 한 많이 찾아내는 데 집중합니다.

Precision-Recall Trade-Off

이상적으로는 모델이 Positive를 모두 제대로 분류하고, Positive만 정확히 분류하면 됩니다. 하지만 Precision과 Recall은 종종 상충 관계(trade-off)를 가지며, 두 지표를 동시에 높이기는 어렵습니다.

  • Precision이 높은 모델은 Recall이 낮아질 가능성이 있습니다. (Noise를 줄이기 위해 Positive를 덜 예측)
  • Recall이 높은 모델은 Precision이 낮아질 가능성이 있습니다. (많은 Positive를 찾기 위해 Noise가 증가)

The F1 Score: combining Precision and Recall

F1 Score는 Precision과 Recall의 조화평균(Harmonic Mean)으로, 두 지표의 균형을 측정합니다. 공식은 아래와 같습니다:

F1=2⋅Precision⋅RecallPrecision+RecallF1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}

  • 왜 조화평균을 사용할까?
    • Precision과 Recall 중 더 작은 값에 큰 영향을 받게 하기 위해 사용합니다.
    • 예를 들어:
      • Precision = 0.9, Recall = 0.1 → F1 Score = 0.18
      • Precision = 0.6, Recall = 0.4 → F1 Score = 0.48

Conclusion (결론)

결론적으로, F1 Score는 Precision과 Recall이 모두 높을 때 높은 값을 가지며, 0.0 ~ 1.0 사이의 값을 가집니다(예: 0.87).

설문 데이터를 기반으로 패널의 선호도를 예측할 때, 데이터가 불균형한 경우(예: 특정 카테고리에 응답이 치우친 경우) **정확도(Accuracy)**만으로는 모델의 성능을 제대로 평가하기 어렵습니다. 이때 F1 Score를 사용하면 모델의 성능을 더욱 공정하게 평가할 수 있습니다.

예를 들어:

  • 설문 데이터에서 응답자 99%가 "집에서 휴식을 선호"하고, 1%만 "야외 활동을 선호"한다고 가정.
  • 모든 패널을 "집에서 휴식을 선호"한다고 예측하는 모델의 정확도는 99%로 높게 보일 수 있습니다.
  • 하지만 F1 Score로 평가하면 Recall이나 Precision이 0에 가까워져, 모델이 실제로는 나쁜 성능을 가진 것을 알 수 있습니다.

따라서, 데이터가 불균형한 설문 데이터에서는 F1 Score와 같은 메트릭을 사용하여 공정하게 모델을 평가해야 합니다.

 

댓글()

한국어 잘하는 Llama

Yellow /JOB|2024. 6. 5. 11:58
서울과기대 슈퍼컴퓨팅 센터의 지원으로 100GB가넘는 한국어로 모델전체를 풀튜닝한 한국어 강화 이중언어 모델입니다!
한국어 잘하는 모델 찾고 있지 않으셨나요?
 - 한국어 최초! 무려 3만개가 넘는 한국어 어휘확장
 - Llama3대비 대략 25% 더 긴 길이의 한국어 Context 처리가능
 - 한국어-영어 Pararell Corpus를 활용한 한국어-영어 지식연결 (사전학습)
 - 한국어 문화, 언어를 고려해 언어학자가 제작한 데이터를 활용한 미세조정
 - 강화학습
이 모든게 한꺼번에 적용되고 상업적 이용이 가능한 Bllossom을 이용해 여러분 만의 모델을 만들어보세욥!
무려 Colab 무료 GPU로 학습이 가능합니다. 혹은 양자화 모델로 CPU에올려보세요 [양자화모델](https://huggingface.co/MLP-KTLim/llama-3-Korean-Bllossom-8B-4bit)

1. Bllossom-8B는 서울과기대, 테디썸, 연세대 언어자원 연구실의 언어학자와 협업해 만든 실용주의기반 언어모델입니다! 앞으로 지속적인 업데이트를 통해 관리하겠습니다 많이 활용해주세요 🙂
2. 초 강력한 Advanced-Bllossom 8B, 70B모델, 시각-언어모델을 보유하고 있습니다! (궁금하신분은 개별 연락주세요!!)
3. Bllossom은 NAACL2024, LREC-COLING2024 (구두) 발표로 채택되었습니다.
4. 좋은 언어모델 계속 업데이트 하겠습니다!! 한국어 강화를위해 공동 연구하실분(특히논문) 언제든 환영합니다!! 
   특히 소량의 GPU라도 대여 가능한팀은 언제든 연락주세요! 만들고 싶은거 도와드려요.

https://colab.research.google.com/drive/1fBOzUVZ6NRKk_ugeoTbAOokWKqSN47IG?usp=sharing

'Yellow > JOB' 카테고리의 다른 글

Apache_PHP_MySQL  (0) 2023.05.12
사용자 확인_리눅스  (0) 2023.05.12
블록체인  (0) 2023.03.15
오늘의 구인(2017.01.06)  (0) 2018.01.06

댓글()

인기유투버 진자림 님의 라이브 방송(12월 3일)

카테고리 없음|2023. 11. 30. 15:35

12월3일 밤10시, 인기유투버 진자림님의 아젠다북 홍보 방송이 트위치에서 라이브됩니다.

MZ세대의 아이콘 진자림님은 깜찍한외모와 개념유투버로서 항상 밝고 쾌활한 방송을 하며, MZ세대를 중심으로 유투브 67만, 트위치 32만의 구독자를 보유하고 있습니다.


[진자림 유투브 채널 공지]
https://www.youtube.com/@jinjalim/community

[진자림님 트위치 채널]
https://www.twitch.tv/jinjalim

댓글()