기계 학습은 정확하게 예측하는 모델을 만드는 데 중점을 두고 있습니다. 평가 지표는 모델의 효율성을 측정하는 방법을 제공하므로 성능 결과에 따라 알고리즘을 개선하거나 전환할 수도 있습니다.
"가능성"이라는 개념은 이러한 많은 지표의 핵심입니다. 이는 모델의 예측이 관찰된 데이터와 얼마나 잘 일치하는지 측정합니다. 따라서 모델 훈련 및 평가에서 중추적인 역할을 합니다.
예를 들어, 가능성이 높은 모델은 관측된 데이터가 주어진 모델의 가정 하에서 더 가능성이 높다는 것을 암시합니다.
TensorFlow 및 PyTorch와 같은 기술 도구는 특히 분류 또는 시퀀스 예측과 같은 작업에서 가능성 기반 측정항목을 사용하는 경우가 많습니다. 이러한 측정항목에 맞춰진 기능과 라이브러리를 갖춘 이러한 도구를 사용하면 모델 평가 작업을 쉽게 접근할 수 있고 매우 효율적으로 수행할 수 있습니다.
가능성과 관련 측정항목을 이해하는 것은 기계 학습 분야의 누구에게나 중요합니다. 이를 통해 모델 평가 및 개선을 위한 기반을 형성할 수 있습니다.
아래에서는 세 가지 주요 평가 지표를 자세히 살펴보고 머신러닝에서 이들이 어떻게 작동하고 서로 관련되는지 살펴보겠습니다.
교차엔트로피는 두 가지 확률 세트 간의 차이를 평가하며, 종종 실제 데이터 패턴을 모델의 예측 결과와 병치합니다. 수학적으로, 이산 분포 p
와 q
에 대해 교차엔트로피 H(p, q)
다음과 같이 지정됩니다.
H(p, q) = -\sum p(x) \log(q(x))
여기서 \( p(x) \)는 사건 x
발생할 실제 확률이고, q(x)
는 모델에 따른 동일한 사건의 추정 확률입니다.
주로 분류 문제, 특히 출력이 여러 클래스에 속할 수 있는 시나리오에 적용됩니다. 이는 모델의 예측이 실제 결과와 얼마나 떨어져 있는지에 대한 명확한 측정값을 제공하기 때문에 사용됩니다. 교차엔트로피가 낮을수록 모델의 예측이 실제 값과 더 잘 일치합니다.
교차엔트로피와 관련된 계산을 처리하기 위해 여러 소프트웨어 라이브러리가 장착되어 있습니다. 특히:
tf.nn.softmax_cross_entropy_with_logits
와 같은 기능을 제공합니다.
torch.nn.CrossEntropyLoss
와 같은 기능으로 유사한 기능을 제공합니다.
log_loss
함수를 사용하여 교차 엔트로피와 밀접한 관련이 있는 로그 손실을 계산하는 유틸리티도 제공합니다. 로그 손실(logarithmic loss)의 약자인 로그로스(Logloss)는 잘못된 분류에 페널티를 적용하여 분류기의 정확성을 측정합니다. 실제 레이블이 y
이고 예측 확률이 p
인 이진 분류의 경우 로그 손실은 다음과 같이 계산됩니다.
L(y, p) = -y \log(p) - (1 - y) \log(1 - p)
기본적으로 로그손실은 실제 레이블과 이진 분류 문제에 대한 예측 간의 교차엔트로피입니다. 다중 클래스 분류로 확장되면 logloss는 각 클래스의 교차엔트로피 값을 합산하여 두 측정항목을 밀접하게 연관시킵니다.
주로 이진 및 다중 클래스 분류 문제에 사용됩니다. 그 강점은 예측이 실제 레이블에서 얼마나 벗어나는지를 기반으로 예측의 불확실성을 정량화하는 능력에 있습니다.
완벽한 모델의 로그 손실은 0이지만 실제로는 값이 이보다 큰 경향이 있습니다.
다양한 소프트웨어 라이브러리를 사용하면 로그 손실을 계산할 수 있습니다.
Scikit-learn . 널리 사용되는 기계 학습 라이브러리인 scikit-learn은 이진 및 다중 클래스 분류 시나리오 모두에 적합한 log_loss
함수를 제공합니다.
TensorFlow와 PyTorch. 이러한 프레임워크는 주로 신경망과 딥러닝에 중점을 두지만 분류 작업에 교차엔트로피 손실 함수를 사용할 때 본질적으로 로그손실을 계산합니다.
LightGBM 및 XGBoost. 표 형식 데이터 경쟁에서 높은 성능으로 알려진 이러한 그래디언트 부스팅 프레임워크에는 분류 문제에서 모델 성능을 평가할 때 특히 유용한 로그 손실을 계산하는 기능도 포함되어 있습니다.
이는 확률 분포 또는 확률 모델이 표본을 얼마나 잘 예측하는지를 측정한 것입니다.
주어진:
Perplexity(P) = 2^{H(P)}
여기서 H(P)
는 분포 P
의 교차엔트로피이며, 당황함은 모델이 각 결정 지점에서 가지고 있다고 생각하는 가중 평균 선택 수를 효과적으로 나타냅니다.
교차엔트로피의 맥락에서 교차엔트로피 값이 높을수록 복잡성이 높아지며, 이는 모델의 예측이 더 불확실하다는 것을 나타냅니다.
Perplexity의 가장 주목할만한 응용 분야는 모델이 단어 시퀀스를 얼마나 잘 예측하는지 측정하는 언어 모델입니다. 복잡성이 낮은 모델은 더 적은 평균 분기 요인을 의미하거나 더 간단하게 말하면 시퀀스의 다음 단어에 대해 더 확실하므로 우수한 것으로 간주됩니다.
언어 모델 외에도 당혹스러움은 시퀀스나 분포에 대한 예측 품질이 중요한 다른 확률 모델에서도 관련 측정항목이 될 수 있습니다.
여러 도구와 플랫폼이 난해함의 계산과 해석을 지원합니다.
NLTK . Natural Language Toolkit은 확률적 언어 모델을 구축하기 위한 유틸리티를 제공하고 이러한 모델을 평가하기 위한 복잡성을 계산합니다.
TensorFlow와 PyTorch. 딥 러닝 기반 언어 모델의 경우 이 두 프레임워크는 교차엔트로피를 계산하는 기능을 제공하며, 이는 위의 공식을 사용하여 Perplexity로 변환될 수 있습니다.
젠심 . 주제 모델링으로 잘 알려진 Gensim에는 복잡성을 계산하는 방법도 포함되어 있으며, 특히 생성된 주제의 일관성을 평가할 때 유용합니다.
교차엔트로피, 로그손실 및 혼란은 모두 정보 이론 및 확률 모델링에 뿌리를 둔 측정항목입니다. 주요 목적은 분류 또는 확률 분포 추정을 위해 예측의 품질을 평가하는 것입니다. 높은 수준에서:
보편적인 측정법인 교차엔트로피는 특정 확률 분포에 근접하거나 일치시키는 것이 목표인 문제에 매우 적합합니다. 다중 클래스 분류 작업에서 빛을 발합니다. 예를 들어 각 이미지가 여러 범주 중 하나에 속할 수 있는 이미지 분류 또는 증상을 기반으로 환자가 가질 수 있는 질병 유형을 예측하는 것이 포함됩니다.
분류에 맞게 설계된 로그 손실은 이진 및 다중 클래스 문제에 대한 측정 기준이 되어 확실하고 잘못된 예측에 큰 페널티를 줍니다. 그 강점은 정확한 확률론적 예측에 대한 민감도에 있습니다.
예를 들어 스팸 감지(스팸 여부), 고객 이탈 예측(이탈 여부) 또는 특정 거래가 사기인지 예측 등이 있습니다.
마지막으로 언어 모델링에 주로 사용되는 Perplexity는 모델이 시퀀스를 얼마나 잘 예측하는지 평가합니다. 값이 낮을수록 모델의 순차적 예측이 더 확실하다는 것을 나타냅니다. 모델이 시퀀스의 다음 단어나 구문을 예측하는 텍스트 생성 작업, 기계 번역 또는 음성 인식에 사용할 수 있습니다.
세 가지 측정항목 모두 확률 모델 평가를 다루지만 작업의 성격(분포 일치, 분류 또는 시퀀스 예측)에 따라 적용 가능성이 달라집니다.
숙련된 기계 학습 전문가는 모델 성능에 대한 가장 유익한 평가를 보장하기 위해 작업에 가장 적합한 측정항목을 선택합니다.
교차엔트로피, 로그손실, 혼란과 같은 평가 측정항목의 미묘한 차이를 인식하면 머신러닝 프로젝트에서 정보에 입각한 의사결정에 직접적인 영향을 미칩니다. 고유한 특징과 용도를 지닌 이러한 각 지표는 예측 모델의 정확성과 신뢰성에 큰 영향을 미칩니다.
ML에서 TensorFlow, Scikit-learn, NLTK와 같은 플랫폼을 사용하면 측정항목 계산이 더 쉬워지고 모델 평가가 향상됩니다. 최상의 결과를 얻으려면 선택한 측정항목이 프로젝트 목표와 일치하는지 항상 확인하세요.
물론, 잘 알려진 도구를 익숙하게 적용하는 것은 쉽지만, 결국에는 이를 진정으로 이해하는 것이 더 유익할 수 있습니다. 계속 학습하고 직면한 각 작업에 적합한 측정항목을 선택하세요.