서론
머신러닝(Machine Learning) Evaluation metric 기초에 대해 알아봅시다. 머신러닝의 평가 지표(Evaluation metric)는 머신러닝 모델의 성능을 측정하고, 이를 바탕으로 모델을 최적화하는 데 중요한 역할을 합니다. 이러한 평가 지표 없이는 우리는 모델이 얼마나 잘 작동하는지, 어떤 문제가 있는지, 어떻게 개선할 수 있는지를 알 수 없습니다.
이해를 돕기 위해, 모델의 성능을 "측정"하는 것을 여행의 목표지점을 찾는 것에 비유할 수 있습니다. 여행자는 목표지점에 도달하기 위해 지도를 필요로 합니다. 이 지도 없이는 그들은 어디로 가야 하는지, 얼마나 멀리 떨어져 있는지, 어떤 방향으로 나아가야 하는지 알 수 없습니다. 비슷한 방식으로, 머신러닝 모델 역시 "지도"인 평가 지표가 필요합니다. 머신러닝의 평가 지표는 모델의 성능을 정량적으로 측정하고, 이를 통해 모델이 어떤 문제를 가지고 있는지 파악하고, 이를 바탕으로 개선 방향을 설정하는 데 사용됩니다.
이러한 평가 지표의 필요성은 초기 인공지능 연구부터 인식되어 왔습니다. 1950년대에 인공지능(AI) 연구가 시작되었을 때, 연구자들은 기계가 인간처럼 사고하고 학습할 수 있을지에 대해 탐구하였습니다. 이를 위해, 그들은 기계가 얼마나 "인간처럼" 작동하는지를 측정하는 방법을 찾아야 했습니다. 이런 고민 속에서 평가 지표 개념이 탄생하였고, 이후 머신러닝 분야가 발전함에 따라 다양한 평가 지표들이 개발되었습니다. 이처럼, 머신러닝의 평가 지표는 모델의 성능을 측정하고 개선하는 데 필수적인 도구입니다. 이는 우리가 머신러닝 모델을 통해 복잡한 문제를 해결하고자 할 때, 그 성공을 측정하고 평가하는 기준을 제공하며, 이를 통해 모델의 성능을 향상시키는 방향으로 발전할 수 있게 합니다.
기초 개념
TP(True Positive), TN(True Negative), FP(False Positive), FN(False Negative)는 분류 모델의 성능을 평가하는 데 중요한 개념입니다. 이들은 모델의 예측 결과와 실제 값이 어떻게 일치하거나 불일치하는지를 구체적으로 나타내며, 이를 통해 모델의 성능을 다양한 관점에서 평가할 수 있습니다.
예를 들어, 모델이 Positive 클래스를 정확히 예측한 비율은 TP와 FP를 이용하여 정밀도(Precision)를 계산하고, 모델이 Negative 클래스를 정확히 예측한 비율은 TN과 FN을 이용하여 특이도(Specificity)를 계산합니다. 또한, 이들은 머신러닝 모델의 성능을 향상시키는 데 중요한 통찰을 제공합니다. FP가 높다면 모델이 너무 많은 샘플을 Positive로 잘못 분류하고 있다는 신호이므로, 이를 줄이기 위한 조치를 취해야 합니다. 따라서 TP, TN, FP, FN는 머신러닝 모델의 성능을 정량적으로 평가하고, 모델의 문제점을 파악하고, 개선 방향을 설정하는 데 필요한 핵심 도구입니다.
정리하자면,
1. TP(True Positive): 실제 값과 예측 값이 모두 Positive인 경우입니다.
2. FP(False Positive): 실제 값은 Negative이지만, 모델이 Positive로 잘못 예측한 경우입니다.
3. TN(True Negative): 실제 값과 예측 값이 모두 Negative인 경우입니다.
4. FN(False Negative): 실제 값은 Positive이지만, 모델이 Negative로 잘못 예측한 경우입니다.
해당 개념을 통해 각 모델들의 평가지표(정확도, 정밀도, 재현율, F1 Score)를 표현할 수 있습니다.
평가지표
평가지표로는 대표적으로 정확도, 정밀도, 재현율, F1 Score 등이 있습니다. 평가 지표가 주로 사용되는 상황을 설명하겠습니다.
1. 정확도(Accuracy): 데이터셋의 클래스 분포가 균등하고, False Positive와 False Negative의 비용이 비슷할 때 사용됩니다. 즉, 모든 오분류가 동일하게 중요한 경우에 적합한 지표입니다. 식으로 설명하면 모델이 올바르게 예측한 샘플(TP와 TN)의 비율입니다.
Accuracy = (TP + TN) / (TP + FP + TN + FN)
2. 정밀도(Precision): False Positive의 비용이 False Negative보다 클 때 사용합니다. 즉, Positive로 잘못 예측하는 것이 큰 문제를 일으킬 때 사용합니다. 예를 들어, 스팸 메일 필터링에서 실제 정상 메일을 스팸으로 분류하는 것(False Positive)은 중요한 메일을 놓칠 수 있으므로 이런 경우에 Precision을 사용합니다. 식으로 설명하면 Positive로 예측한 샘플 중 실제로 Positive인 샘플의 비율입니다.
Precision = TP / (TP + FP)
3. 재현율(Recall): False Negative의 비용이 False Positive보다 클 때 사용합니다. 즉, 실제 Positive를 Negative로 잘못 예측하는 것이 큰 문제를 일으킬 때 사용합니다. 예를 들어, 암 진단에서 실제 암 환자를 정상으로 판단하는 것(False Negative)은 치명적이므로 이런 경우에 Recall을 사용합니다. 식으로 설명하면 실제 Positive인 샘플 중 모델이 Positive로 예측한 샘플의 비율입니다.
Recall = TP / (TP + FN)
4. F1 Score: Precision과 Recall 둘 다 중요하거나, 데이터셋의 클래스 분포가 불균형할 때 사용합니다. 즉, Positive와 Negative의 비율이 크게 차이 나는 경우나, False Positive와 False Negative 모두 큰 문제를 일으킬 수 있는 경우에 사용합니다. 각 평가 지표는 특정 상황에서 모델의 성능을 가장 잘 표현할 수 있으므로, 문제의 특성과 목표에 따라 적절한 지표를 선택하는 것이 중요합니다. 식으로 설명하면정밀도와 재현율의 조화 평균입니다. 이는 두 지표 사이의 균형을 나타내며, 특히 불균형한 데이터셋을 다룰 때 유용합니다.
F1 = 2 * (Precision * Recall) / (Precision + Recall)
이렇게 각 평가 지표는 모델의 성능을 다른 관점에서 평가하며, 이를 통해 모델의 장단점을 파악하고 개선할 수 있습니다.
결론
머신러닝(Machine Learning) Evaluation metric 기초에 대해 알아보았습니다. 머신러닝 모델의 평가 지표는 모델의 성능을 정량적으로 측정하고, 개선 방향을 설정하는 데 꼭 필요한 요소입니다. 정확도, 정밀도, 재현율, F1 점수 등 다양한 평가 지표가 있으며, 이들은 각각 다른 관점에서 모델의 성능을 평가합니다. 이를 통해 모델이 잘 작동하는 부분과 개선이 필요한 부분을 파악할 수 있습니다. 만약 평가 지표가 없다면, 모델의 성능을 객관적으로 판단하거나 비교하는 것이 불가능해집니다.
특히, 머신러닝은 반복적인 실험과 개선을 통해 모델을 향상시키는 과정이기 때문에, 이런 평가 지표 없이는 어떤 변화가 모델의 성능을 향상시키는지, 또는 저하시키는지를 알 수 없습니다. 따라서 평가 지표는 머신러닝 모델 개발 및 최적화 과정에서 핵심적인 역할을 합니다. 결국, 평가 지표는 머신러닝 모델의 성능을 측정하고 모델 간 비교를 가능하게 하며, 모델의 개선 방향을 제시하는 중요한 도구입니다. 따라서 특정 문제에 가장 적합한 평가 지표를 선택하고 이를 통해 모델을 평가하는 것이 머신러닝에서 중요한 작업 중 하나입니다.
'데이터 사이언스 > 기초' 카테고리의 다른 글
머신러닝(Machine Learning) 데이터 인코딩(Encoding) 기초 (50) | 2023.12.05 |
---|---|
머신러닝Machine Learning 알고리즘 라이브러리 싸이킷런scikit-learn (69) | 2023.12.01 |
머신러닝(Machine Learning) Loss function 기초 (21) | 2023.11.24 |
머신러닝(Machine Learning) 학습(Training) 기초 (62) | 2023.11.23 |
머신러닝(Machine Learning) 데이터 분할(Data Split) 기초 (50) | 2023.11.22 |