지표는 무엇이 효과가 있는지, 무엇이 그렇지 않은지, 그리고 그 이유를 이해하는 데 도움이 됩니다. 다른 제품과 마찬가지로, 머신러닝의 성능을 측정하여 머신러닝 모델의 효율성을 측정할 수 있습니다.
MLOps의 중요한 부분인 머신러닝 성능 지표는 머신러닝 모델의 정확성을 평가하여 데이터 사이언티스트와 머신러닝 실무자가 모델이 얼마나 잘 작동하고 있는지, 원하는 목표를 충족하는지 이해하는 데 사용됩니다.
이 문서에서는 머신러닝 성과 지표의 유형과 정확도, ROC 곡선 및 F1 점수와 같은 주요 머신러닝 성과 지표 개념에 대해 설명합니다.
머신러닝 성능 지표가 중요한 이유는 무엇일까요?
머신러닝 성능 지표는 다음과 같은 머신러닝의 다양한 중요한 측면을 지원합니다.
모델 선택
성능 지표는 다양한 모델을 비교하고 특정 작업 또는 데이터 세트에 가장 적합한 모델을 선택하는 데 도움이 됩니다. 예를 들어, 모델이 오탐을 최소화해야 하는 경우 정밀도는 평가를 위한 중요한 지표가 됩니다.
모델 튜닝
메트릭은 하이퍼파라미터 튜닝 및 최적화 프로세스를 안내하여 모델 성능을 향상시킵니다. 하이퍼파라미터의 변화가 정확도, 정밀도 또는 리콜과 같은 메트릭에 어떤 영향을 미치는지 분석함으로써 실무자는 모델을 미세 조정하여 더 나은 결과를 얻을 수 있습니다.
비즈니스 영향
성능 지표는 머신러닝 모델이 해결해야 할 비즈니스 목표와 직접적으로 연관되어 있습니다. 예를 들어, 의료 분야에서는 높은 회상율(위음성 최소화)을 가진 모델이 높은 정밀도를 가진 모델보다 더 효과적일 수 있습니다.
모델 드리프트
구축 후 성능 지표를 모니터링하면 모델 성능 저하 또는 \"드리프트\"를 감지하는 데 도움이 됩니다. 이는 실제 애플리케이션에서 머신러닝 시스템의 안정성과 효과를 유지하는 데 매우 중요합니다.
머신러닝 성능 지표의 유형
머신러닝 성능 지표에는 다양한 유형이 있으며, 각각 머신러닝 모델의 성능에 중요한 각도를 제공합니다.
정확성
정확도는 가장 간단한 메트릭입니다. 이는 데이터 세트의 총 인스턴스에 대해 올바르게 예측된 인스턴스의 비율입니다. 정확도는 모든 클래스가 동일하게 중요한 균형잡힌 데이터 세트에 유용합니다.
정밀성
Precision은 검색된 인스턴스 중 관련 인스턴스의 일부에 중점을 둡니다. 분류자가 음성인 검체를 양성으로 표시하지 않는 기능입니다. 정밀성은 의료 진단이나 사기 탐지 등 오탐 비용이 높을 때 매우 중요합니다.
회상(민감성)
회상은 분류자가 데이터 세트 내에서 모든 관련 사례를 찾을 수 있는 능력을 측정합니다. 모든 양성 샘플을 찾는 것은 분류자의 역량입니다. 회상은 오탐보다 긍정적인 사례(오탐)를 놓치는 것이 더 중요할 때 중요합니다. 예를 들어, 암 감지의 경우, 오경보를 의미하더라도 실제 모든 사례를 파악하는 것이 중요합니다.
F1 점수
F1 점수는 정밀도와 회상에 대한 고조파 평균으로, 위양성과 위음성을 모두 고려한 균형잡힌 척도를 제공합니다. 이는 불균형한 데이터 세트를 처리할 때 특히 유용합니다. 정밀도와 회상 간의 균형을 맞추고자 할 때, 그리고 균등하지 않은 클래스 분포가 있거나 위양성 및 위음성의 가중치가 유사한 경우 F1 점수를 사용합니다.
ROC 곡선 및 AUC
수신기 작동 특성(ROC) 곡선은 서로 다른 임계값에 대한 위양성률에 대한 실제 양수율(회상)을 표시합니다. ROC 곡선하 면적(AUC)은 모든 임계값에 걸친 성능의 총 측정치를 제공합니다. ROC 곡선과 AUC는 다양한 결정 임계값에서 참 양성과 거짓 양성 사이의 균형을 이해하기 위한 이진 분류 작업에 특히 유용합니다. AUC는 불균형 및 임계값 선택에 유용합니다.
특이성
특이성은 분류자가 음수로 올바르게 식별한 실제 음수 사례의 비율을 측정합니다. 이는 진정한 부정적 결과에 집중함으로써 회상(민감도)을 보완합니다. 오경보로 인해 불필요한 치료나 비용이 발생할 수 있는 질병 스크리닝 검사와 같이 음성 사례를 정확하게 식별하는 것이 중요한 시나리오에서는 특이성이 중요합니다.
평균 절대 오차(MAE) 및 루트 평균 제곱 오차(RMSE)
이러한 메트릭은 일반적으로 회귀 작업에 사용되며 예측 값과 실제 값 간의 평균 오차 크기를 측정합니다. MAE 및 RMSE는 주택 가격 또는 판매 예측 예측과 같이 절대적인 오류 규모가 중요한 회귀 문제에 적합합니다.
이러한 지표를 이해하고 특정 문제 영역 및 비즈니스 요구 사항에 따라 적절한 지표를 선택하는 것은 효과적이고 신뢰할 수 있는 머신러닝 모델을 개발하는 데 매우 중요합니다. 각 메트릭은 모델 성능의 다양한 측면에 대한 고유한 통찰력을 제공하여, 실무자가 모델 개발, 평가 및 배포 중에 정보에 입각한 결정을 내릴 수 있도록 합니다.
각 지표에 대해 자세히 알아보겠습니다.
정확성
정확도는 머신러닝 모델의 전반적인 정확성을 평가하는 데 사용되는 성능 지표입니다. 데이터 세트의 총 인스턴스 수에 대해 올바르게 예측된 인스턴스의 비율을 측정합니다. 다시 말해, 정확도는 모델이 모든 예측에서 얼마나 자주 정확한 예측을 하는지 정량화합니다.
수학적으로 정확도는 다음과 같이 계산됩니다.
정확도 = 정확한 예측 수/총 예측 수 ×100%
정확성이 어떻게 작동하는지 보여주는 예는 다음과 같습니다.
이메일이 스팸인지 아닌지를 예측하는 바이너리 분류 문제가 있다고 가정해 봅시다. 퓨어스토리지는 100개의 이메일 데이터 세트를 보유하고 있으며, 이 중 80개는 스팸이 아니며 20개는 스팸입니다. 머신러닝 모델을 트레이닝한 후, 스팸이 아닌 이메일 80개 중 70개, 스팸 이메일 20개 중 15개를 올바르게 분류합니다.
정확도=70+15/100 ×100%=85%
따라서 이 경우, 모델의 정확도는 85%로, 이메일 100개 중 85개를 올바르게 분류했음을 나타냅니다.
정확도는 모든 클래스가 똑같이 중요하고 데이터 세트에 클래스 불균형이 없는 시나리오에서 모델 성능을 평가하는 데 적합한 메트릭입니다.
활용 사례
정확성이 적합한 시나리오는 다음과 같습니다.
- 이메일 스팸 분류: 이메일이 스팸인지 여부 결정
- 감정 분석 : 고객 리뷰를 긍정적, 부정적 또는 중립적으로 분류
- 이미지 분류: 고양이, 개 또는 자동차와 같은 이미지의 물체 식별
- 질병 진단 : 의학적 검사 결과에 기반하여 환자에게 특정 질병이 있는지 여부 예측
제한 사항
정확도는 다음과 같이 단독 성능 지표로 사용될 때 몇 가지 한계와 고려 사항이 있습니다.
클래스 불균형: 클래스의 불균형이 발생하면 정확성이 오해의 소지가 있습니다. 즉, 클래스가 다른 클래스보다 훨씬 더 빈번합니다. 예를 들어, 95% 음의 예와 5%의 양의 예가 있는 데이터 세트에서 음의 값을 항상 예측하는 모델은 95%의 정확도를 달성하지만, 긍정적인 사례를 식별하는 데는 유용하지 않습니다.
불균등한 비용: 일부 애플리케이션에서는 한 클래스를 잘못 분류하면 다른 클래스를 잘못 분류하는 것보다 더 심각한 결과를 초래할 수 있습니다. 예를 들어, 의학적 진단에서 위음성(질병 누락)은 위양성(질병을 잘못 진단)보다 더 중요할 수 있습니다. 정확도는 이러한 유형의 오류를 구분하지 않습니다.
예측 신뢰도를 고려하지 않음: 정확도는 모델이 예측에 얼마나 확신하는지에 관계없이 모든 예측을 동일하게 처리합니다. 정확한 예측에는 매우 확신이 있지만 잘못된 예측에는 덜 확신이 있는 모델은 전반적으로 성능이 좋지 않더라도 여전히 높은 정확도를 가질 수 있습니다.
다양한 그룹에서 모델 성능을 캡처하지 않습니다. 정확도는 모델이 데이터 세트 내의 특정 하위 그룹 또는 클래스에서 얼마나 잘 실행되는지 보여주지 않습니다. 이는 모든 클래스를 동등하게 다루며, 다른 클래스의 실제 중요성을 반영하지 않을 수 있습니다.
이러한 한계를 해결하려면 정밀도, 리콜, F1 점수, AUC-ROC(수신자 작동 특성 곡선하 면적) 및 문제 영역의 특정 특성과 비즈니스 요구 사항에 기반한 혼동 매트릭스 분석과 같은 추가 성능 지표를 고려해야 합니다. 이러한 지표는 정확성만으로는 제공할 수 없는 머신러닝 모델의 성능에 대한 미묘한 통찰력을 제공합니다.
정밀성 및 회상
정밀성 및 리콜은 머신러닝 모델의 효과, 특히 바이너리 분류 작업의 효과를 평가하는 데 사용되는 두 가지 중요한 성능 지표입니다.
정밀성은 모델이 예측한 양의 정확도를 측정합니다. 이는 모델이 예측한 총 양의 수에 대한 진정한 양의 예측의 비율입니다.
정밀성=진정한 긍정/진정한 긍정+거짓 긍정
모델이 얼마나 많은 인스턴스를 긍정적으로 예측했는지 알려주기 때문에 정밀도는 중요합니다. 높은 정밀도는 모델이 오탐이 적다는 것을 나타내며, 이는 오탐을 방지하는 것이 좋다는 것을 의미합니다.
Recall=진정한 긍정성/진정한 긍정성+거짓 음수
모델이 얼마나 많은 양의 긍정적인 사례를 포착할 수 있는지 알려주기 때문에 회상은 중요합니다. 고회상은 모델이 대부분의 긍정적인 사례를 효과적으로 식별하여 오탐을 최소화할 수 있음을 나타냅니다.
정밀성 및 리콜 간 보상
일반적으로 정밀도와 리콜 사이에는 균형이 있습니다. 정밀도를 높이면 리콜이 감소하는 경우가 많으며, 그 반대의 경우도 마찬가지입니다. 모델의 결정 임계값을 조정하면 실제 양수 및 위양성/음성 수에 영향을 미치기 때문에 이러한 절충이 발생합니다.
고정밀, 낮은 리콜: 이 모델은 인스턴스를 긍정적으로 표시하는 데 있어 신중하고 보수적입니다. 오탐을 피하기 위해 신중을 기해야 하지만, 일부 실제 오탐을 놓쳐 리콜이 낮아질 수 있습니다.
높은 리콜, 낮은 정밀도: 이 모델은 인스턴스를 포지티브로 라벨링하여 대부분의 실제 포지티브를 캡처할 뿐만 아니라 더 많은 오탐을 생성하여 정밀도를 낮춥니다.
활용 사례
정밀도와 리콜은 특히 다음 분야에서 유용한 지표입니다.
의학적 진단: 의학적 진단에서 회상(민감도)은 종종 정밀도보다 더 중요합니다. 일부 위양성(예: 질병이 있는 것으로 표시된 건강한 환자)을 의미하더라도 모든 양성 사례(예: 질병이 있는 환자)를 정확하게 식별하는 것이 중요합니다. 긍정적인 사례를 놓치면 심각한 결과를 초래할 수 있습니다.
사기 탐지: 사기 감지에서는 잘못된 경보(긍정 오류)가 사용자에게 불편을 줄 수 있기 때문에 정밀도가 일반적으로 더 중요합니다. 실제 사기 사례(회수에 영향을 미침)가 발생했는지 확인하면서 오경보를 최소화할 수 있도록 높은 정밀도를 확보하는 것이 좋습니다.
정보 검색: 검색 엔진이나 추천 시스템에서는 일부 관련 없는 항목(낮은 정밀도)을 포함하더라도 관련 결과나 추천이 누락되지 않도록 리콜을 우선시합니다.
F1 점수
F1 점수는 정밀성과 리콜을 단일 값으로 결합한 성능 지표로, 인스턴스를 올바르게 분류할 수 있는 머신러닝 모델의 능력에 대한 균형 잡힌 평가를 제공합니다. 정밀도와 리콜이 모두 똑같이 중요하고, 이들 간의 균형을 잡아야 하는 상황에서 특히 유용합니다.
F1 점수는 다음과 같이 정밀도의 고조파 평균을 사용하여 계산됩니다.
F1 점수=2 × 정밀도 x 회상/정밀도+회상
F1 점수는 0~1점이며, 1점은 가능한 최상의 점수이다. 정밀도와 리콜이 모두 최고 수준에 있을 때 최대 값에 도달하며, 이는 오탐과 오탐을 모두 최소화하는 균형 잡힌 모델을 나타냅니다.
F1 점수의 장점
F1 점수 사용의 장점은 다음과 같습니다:
균형 평가: F1 점수는 정밀도와 리콜을 모두 고려하여 모델 성능에 대한 균형 잡힌 평가를 제공합니다. 이는 의학적 진단이나 이상 탐지와 같이 위양성과 위음성이 모두 동일하게 중요한 시나리오에서 특히 유용합니다.
단일 메트릭: F1 스코어는 정밀도와 리콜을 별도로 평가하는 대신, 이들을 단일 값으로 결합해 다양한 모델이나 튜닝 매개변수를 쉽게 비교할 수 있도록 합니다.
불균형에 민감: F1 점수는 위양성과 위음성을 모두 고려하기 때문에 클래스 불균형에 민감합니다. 이는 한 클래스가 다른 클래스보다 훨씬 유리한 모델을 처벌합니다.
F1 점수 해석
F1 점수 결과를 해석하려면 정밀도와 리콜 간의 균형을 이해해야 합니다.
다음은 몇 가지 시나리오와 해석입니다.
높은 F1 점수: 높은 F1 점수는 모델이 정밀도와 회상 간의 균형을 잘 이루었음을 나타냅니다. 이는 모델이 오탐(고정밀)을 최소화하고 대부분의 긍정적인 인스턴스(고회상)를 캡처하는 데 효과적임을 의미합니다.
낮은 F1 점수: 낮은 F1 점수는 정밀도와 회상 간의 불균형을 시사한다. 이는 모델이 한 클래스에 편향되어 많은 오탐(낮은 정밀도) 또는 많은 오탐(낮은 회상)으로 이어질 때 발생할 수 있습니다.
모델 비교 : 다양한 모델을 비교하거나 하이퍼파라미터를 튜닝할 때, 특히 정밀도와 회상이 똑같이 중요한 시나리오에서 F1 점수가 가장 높은 모델을 선택하는 것이 좋습니다.
예시
스팸 이메일 분류 모델을 살펴보겠습니다.
모델 A의 정밀도가 0.85이고 리콜이 0.80으로, F1 점수가 0.85라고 가정해 봅시다.
반면, 모델 B의 정밀도는 0.75이고 회상은 0.90으로, F1 점수는 0.818입니다.
모델 B는 리콜이 높지만 정밀도가 낮을수록 모델 A에 비해 F1 점수가 약간 낮아집니다. 이는 모델 A가 애플리케이션의 특정 요구 사항에 따라 정밀도와 리콜 측면에서 균형이 잘 잡힐 수 있음을 의미합니다.
ROC 곡선 및 AUC
앞서 설명한 바와 같이, ROC 곡선과 AUC는 이진 분류 문제에 사용되어 머신러닝 모델의 예측 성능을 평가하며, 특히 클래스 분포가 불균형한 시나리오에 사용됩니다.
ROC 곡선
ROC 곡선은 회상 또는 민감도라고도 하는 참 양수율(TPR)과 서로 다른 임계값에 걸친 분류 모델의 위 양수율(FPR) 간의 균형을 그래프로 표현한 것입니다. TPR은 모델에 의해 양성으로 올바르게 식별된 실제 양성 인스턴스의 비율을 측정하는 반면, FPR은 양성으로 잘못 분류된 실제 음성 인스턴스의 비율을 측정합니다.
ROC 곡선은 다양한 임계값 설정에서 FPR(x축)에 대한 TPR(y축)을 플롯팅하여 생성됩니다. 곡선의 각 점은 서로 다른 임계값을 나타내며, 곡선은 분류 임계값이 변경될 때 모델의 성능이 어떻게 변하는지 보여줍니다.
트레이드 오프 시각화
ROC 곡선은 모델의 결정 임계값이 다르기 때문에 민감도(회상)와 특이성(1 - FPR) 간의 균형을 시각화합니다. 고감도(TPR) 모델은 FPR이 더 높은 경향이 있으며, 그 반대의 경우도 마찬가지입니다. 곡선은 가능한 모든 임계값에 걸쳐 모델의 성능을 보여주며, 분석가는 진정한 포지티브와 오포지티브 사이에서 수용하고자 하는 트레이드 오프를 기반으로 특정 요구 사항에 가장 적합한 임계값을 선택할 수 있습니다.
AUC
AUC는 ROC 곡선을 기반으로 분류 모델의 전반적인 성능을 정량화하는 스칼라 값입니다. 특히, 가능한 모든 임계값 설정에서 양수와 음수 클래스를 구분하는 모델의 능력을 나타내는 ROC 곡선하 면적을 측정합니다.
AUC는 다음을 통해 머신러닝 모델의 전반적인 성능을 평가하는 데 도움이 됩니다.
성능 비교: AUC 값이 높을수록 모델의 차별 능력이 더 높다는 것을 의미하며, 이는 다양한 임계값에 걸쳐 긍정적 사례와 부정적 사례를 효과적으로 구별할 수 있음을 의미합니다. 다양한 모델을 쉽게 비교할 수 있으며, AUC 값이 높을수록 전반적인 성능이 향상됩니다.
수업 불균형에 대한 완건성: AUC는 정확도, 정밀도 및 리콜과 같은 지표에 비해 클래스 불균형의 영향을 덜 받습니다. 가능한 모든 임계값에 걸쳐 모델의 성능을 고려하여 클래스 분산이 왜곡된 불균형한 데이터 세트에 적합합니다.
임계값에 구애받지 않는 평가: AUC는 특정 분류 임계값을 지정하지 않고 모델의 성능을 평가하며, 선택한 운영 지점에 관계없이 모델의 차별성에 대한 보다 포괄적인 평가를 제공합니다.
결론
머신러닝 성능 지표는 모델의 정확도, 정밀도, 리콜, F1 점수 및 ROC 곡선 등에 대한 정량적 측정을 제공하여 다양한 머신러닝 모델을 평가하고 비교하는 데 도움이 됩니다. 데이터 사이언티스트와 머신러닝 실무자는 모델 개발, 최적화 및 배포와 관련된 다양한 작업과 도전을 헤쳐나가기 때문에 이러한 지표를 이해하는 것이 매우 중요합니다.
간단히 말해, 머신러닝 성능 지표는 모델의 강점과 약점에 대한 심층적인 인사이트를 제공하여, 모델 선택, 하이퍼파라미터 튜닝 및 시간에 따른 모델 성능 모니터링에 대해 정보에 입각한 결정을 내릴 수 있도록 합니다. 정밀도와 리콜이 가장 중요한 분류 작업을 처리하든, MAE와 RMSE가 중요한 회귀 문제를 처리하든, ROC 곡선과 AUC의 혜택을 받는 이진 분류 시나리오를 처리하든, 성능 지표를 적절히 사용하면 머신러닝 솔루션의 견고성과 안정성을 향상시켜 궁극적으로 더 나은 결과와 긍정적인 비즈니스 영향을 가져올 수 있습니다.
즉, 머신러닝 모델을 최대한 활용한다는 것은 완벽하게 준비된 AI 인프라로 데이터 스토리지를 미래에 대비할 수 있다는 것을 의미합니다. 퓨어스토리지가 모델 트레이닝 및 추론을 가속화하고, 운영 효율성을 극대화하며, 비용을 절감하는 방법을 알아보세요.