Generalize 일반화 능력
- Supervised 기계 학습 알고리즘은 존재하는 예제에서 존재하지 않는 예제로 일반화 할 수 있어야 한다.
- 모델의 일반화 능력을 시뮬레이션하기 위해 일반적으로 교육 세트에 대해 교육을 받고 테스트한다.
- Training data 와 Test Data 세트는 동일한 기본 확률 분포에서 나온다는 가정이 있다.
Training Data VS Test Data
- 데이터들은 Training, Dev (development, validation), Test set 들로 나뉘어 진다.
- Training set: 모델을 교육하는데 사용
- Dev set: 후보 모델과 모델 매개 변수를 평가하고 가장 좋은 것을 선택할때 사용
- Test set: 알고리즘이 미세 조정된 후에 모델을 테스트하는 데만 사용
Cross Validation 교차 검증이란?
- 교차 검증을 통해 보다 신뢰할 수 있는 모델 성능 추정치를 얻을 수 있다
- K-fold Cross Validation: 데이터를 k 개의 fold 들로 나누고, 하나는 Dev set, 나머지 하나는 교육에 사용
- Leave-1-out Cross Validation: 각 데이터 포인트를 Dev/Validation Set 로 사용하여 반복되고 나머지 데이터 세트틑 교육 세트이다.
- 데이터가 충분하지 않을 때 유용하다,
- 각 교육 예제는 교육 및 검증 입력의 역할을 할 수 있다.
클래스 불균형이 성능 지표에 미치는 영향
- 예제
- 클래스 A 의 인스터스 수가 많고 (예: 95%), 클래스 B 의 인스턴스 수가 매우 적은 데이터 세트(예: 5%) 가 있다고 가정하자.
- Classifier 는 모든 경우의 다수 계층을 예측하는 법을 배운다.
- 100 개의 샘플, 95 개의 클래스 A, 5 개는 B 클래스로 가정한다.
- Classifier 는 모든 샘플에 대해 클래스 A 를 예측하고 95% 의 정확도 결과를 얻는다.
- Classifier 의 성능이 좋아 보이지만 실제로는 클래스 B 를 예측하지는 못한다.
- 암에 걸린 환자들의 기록인 Class B 는 무엇인가?
Binary Classification 을 위한 Confusion Matrix
- 이진 분류 문제를 가정하고 한 클래스를 Positive, P, 다른 클래스를 Negative, N 이라고한다.
- 이진 분류를 위한 Confusion Matrix 는 다음과 같이 구성된다.
- Class A 를 Positive, 그리고 Class B 를 Negative 라고 하자.
- Actual 데이터는 True, False 로, Predicted 데이터는 Negative, Positive 로 표시하여 개수를 센다.
- TP = 4 Ground Truth (Target) Label 이 A 이며, Predicted Label 이 A 인것은 4 개이다.
- TN = 2
- FP = 3
- 개수를 모두 정리하면 아래와 같다.
- Accuracy
- Classification Error = 1 - Accuracy (Range: 0 - 1)
- Classification Error
Precision 이란?
- Positive 로 분류된 사례들 중 실제로 긍정적이라고 분류된 사례의 개수
- Precision 식
- FP 즉, 잘못된 긍정의 수를 줄이면 정밀도가 향상된다.
- 예시: 사용자 대면 어플리케이션에서 사용자는 잘못된 권장 사항, 열악한 검색 결과 등에 대한 인내심이 매우 낮기 때문에 정밀도가 매우 중요하다.
Recall 이란?
- Classifier 가 Positive 로 올바르게 식별하는 Positive 인스턴스의 분수는 True Positive Rate 이거나 Recall 이라 한다.
- Recall 식
- Recall 은 FN 을 줄여서 향상시킨다.
- 예제: 건강 응용 프로그램에서 리콜은 Precision 보다 중요하다, 환자가 암에 걸렸다는 것을 정확하게 식별하는 Classifier 의 능력은 높은 전체 Accuracy 혹은 Precision 를 갖는 것보다 중요하다.
- Recall 은 또한 Sensitivity 혹은 감지의 Probability 이라고도 한다.
Precision 과 Recall Trade off
- FP 를 줄이면 FN 이 증가하는 경향이 있기 때문에 Precision 을 증가 시키려면 Recall 을 감소시켜야하는 경우가 많다.
- 인스턴스의 레이블을 Positive 로 지정하는 것에 대해 더 보수적이므로 FP 를 줄일 수 있다.
- 즉, 인스턴스의 레이블을 Negative 로 지정하는 것이 더 자유롭다.
- 또는, 암 검출을 개선하고 싶은 경우, Recall 을 개선하려는 경우에 조금이라도 의심스러운 것이 느껴질때 Positive 라고 결정할 수 있다.
F1 Score
- F1 score 는 Precision 과 Recall 을 하나의 숫자로 조합한 것이다.
- F1 은 Precision 혹은 Recall 이 올라갈때 상승한다.
F-Score
- 더 일반적인 F-Score 가 있다.
- Precison 을 더 무겁게 측정하려면 Beta < 1 를 사용한다.
- FP 는 F-score 에 FN 보다 영향을 더 많이 기친다.
- FP 를 개선시키면 F-score 가 더 개선된다.
- Recall 을 더 무겁게 측정하려면 Beta > 1 를 사용한다.
- FN 은 FP 보다 F-score 에 더 많은 영향을 끼친다.
- FN 을 개선시키면 F-score 가 개선된다.
- Precison 을 더 무겁게 측정하려면 Beta < 1 를 사용한다.
Multi-class Confusion Matrix
색 별로 Multi-class Confusion 메트릭스를 완성시키면 아래와 같다.
Red | 4 | 0 | 0 | 0 |
Blue | 2 | 2 | 1 | 0 |
Green | 0 | 2 | 3 | 1 |
Yellow | 0 | 0 | 0 | 4 |
Red | Blue | Green | Yellow |
Macro VS Micro 평균 Intuition
- Micro-Average 정확도는 이 예제에서 95% 이다.
- (클래스에 관계없이 정확한 예측의 일부).
- B 등급의 Accuracy 는 0% 이고 A 등급의 Accuracy 는 100% 이다.
- (클래스에 관계없이 정확한 예측의 일부).
- Macro-Average Accuracy 는 서로 다른 클래스의 정확도 평균이다.
- 예: (0% (Class B) + 100% (Class A)) / 2 = 50%
- Macro VS Micro Averageing 은 Precision 및 Recall 과 같은 다른 메트릭과 Binary 및 다중 클래스 분류에 모두 적용된다.
Multi-Class Classification 이란?
- 다중 클래스 분류는 객체를 2 개 이상의 클래스로 분류하는 것이다.
- 각 클래스를 Positive 로 보고 그에 대해 다른 모든 클래스는 Negative (Macro Average) 로 간주하여 TN, FN, FP, TP 를 계산한다.
Macro Average 란?
- 각 클래스에 대해 메트릭을 계산한 다음, 결과 메트릭을 함께 평균화하여 데이터 세트의 전체 메트릭에 도달한다.
- 예: Precision, Recall, 등.
- 각 클래스는 데이터에 있는 해당 클래스의 샘플 수에 관계없이 분류기 성능 측정에 동일한 영향을 미친다.
Micro Average 란?
- 모든 샘플이 함께 고려된다.
- 인스턴스 수가 많은 클래스는 분류자에 더 높은 영향을 미칩니다.
Statistical Significance Testing 이란?
- 두 모델의 성능을 비교할 때 성능 차이가 실제로 두 모델 중 하나가 다른 모델보다 우수하다는 것을 나타내는지 여부를 확인하려고 한다.
- 예를 들어 1% 더 나은 f1-score 는 모델 A 가 모델 B 보다 낫다는 것을 나타내거나, Test set/Experimental 설정의 인공물이다.
- 통계적 가설 테스트를 사용하여 성능에서 어떤 차이가 중요한지 확인한다.
- 평가 메트릭 M 을 사용하여 테스트 세트 x 에서 모델 A 와 B 사이의 성능 (델타) 차이가 주어졌다.
- Null Hypothesis, A 가 B 보다 낫지 않다고 가정한다.
- Alternative Hypothesis, 만약 우리가 부정할 수 있다면 A 가 B 보다 낫다는 주장을 뒷 받침하는 것이 참일 것이다.
- 접근법
- 모든 검정 집합에 대한 추정치 (X 는 검정 집합에 대한 랜덤 변수), 귀무 가설이 참일 가능성이 얼마나 되는가?
- 특히 P-value 는 귀무 가설이 참 (A 가 B 보다 낫지 않음) 이라고 가정할 때 관측한 성능 차이 (또는 더 큰 차이) 를 볼 확률이다.
- p-Value
- 즉, 귀무 가설하에 성능 또는 그 이상의 차이를 관찰할 가능성이 얼마나 되는가?
- p-Value 값이 작다는 것은 귀무 가설에서 관측한 차이가 매우 적다는 것을 의미하며, 귀무 가설을 기각할 수 있다는 것을 의미한다.
- 따라서 대립 가설 - 모순에 의한 증명
- 일반적으로 통계적 유의성을 나타내기 위해 0.01 또는 0.05 의 p-value 임계값을 사용한다.
통계적 유의성 계산 Computing Statistical Significance
- 통계학에서 통계적 유의성 (T-test) 을 결정하기 위한 여러 테스트가 있지만, 그러한 테스트는 데이터의 통계적 특성에 대한 이론적 가정을 한다.
- 대신, NLP 에서 우리는 경험적 테스트를 사용한다.
- 우리는 여러 테스트 세트를 만들고 그것들을 기반으로 p-value 값을 계산한다.
- 예시: Paired Bootstrap Test
- Paired - 두 모델에 대해 동일한 테스트 세트를 사용한다.
- Bootstrapping - 더 큰 데이터 세트에서 더 작은 샘플 (이 경우 가상 테스트 세트) 을 대량 생성하는 데 사용되는 대체 샘플을 포함한 샘플링이다.
- 가정: 각 부트스트랩 샘플은 전체 모집단 (데이터 포인트) 를 나타낸다.
- 치환을 사용한 샘플링 - D 에서 랜덤하게 고른 데이터 + 동일한 데이터 포인트에서 여러밴 선탁가능
- 대체 없이 원본과 크기가 같거나 작은 데이터 세트만 생성할 수 있는 반면, 대체와 함께 샘플링하면 모든 크기의 데이터 세트를 생성할 수 있다.
- 많은 수의 테스트 세트 X(i) 를 만든다.
- p-value 를 사용하여 A 가 B 를 예상보다 많이 이기는 경우 ( Null Hypothesis 에 따른 기대값은 0 이거나 0 에 가깝다 ) 를 계산 할 수 있다.
- 그러나 Null Hypothesis 는 표본의 기대 값이 0 이라고 가정한다.
- 하지만 부트스트랩 샘플의 기대값은 Delta(X), 0 이 아니라 (샘플의 수가 매우 많으면 0 이 될 것이다), 대신 A 가 B 를 예상보다 많이 이기고 기대 값은 Delta(x) 이다.
- 그래서 다음과 같이 된다.
- 예시: 10,000 개의 검정과 0.01 의 p-value 분계점이 주어지면 47 개의 검정에서 (Delta(x^(i) >= Delta(x) + 0)) p-value 분계점인 0.01 보다 낮은 0.0047 의 p-value 값이 된다는 것을 발견했다 (Delta(X^(i)) > Delta(x) + Delta(x)).
Objectionable Results From Classification
- Representational Harm
- Negative 고정관념을 역속시키는 분류 알고리즘(예: 아프리카계 미국인이 누군가에 의해 생성된 텍스트와 Negative 한 감정을 연관)
- Toxicity Detection
- 소수자 신분, 시각장애인 또는 동성애자를 언급할 때 텍스트를 독성으로 분류하는 Classification
- 원인
- ML 알고리즘은 입력 데이터의 편향을 복제하고 종종 증폭한다.
- Labeling 하는 인간은 편파적일 수 있다.
- Solution
- 범용 솔루션은 없다.
- 서로 다른 그룹의 사람들에게 데이터 특성과 사전 처리 및 모델 성능을 추적하는 모델 카드를 만드는 것이 중요하다.
'AI Master Degree > Natural Language Processing' 카테고리의 다른 글
Word2Vec 이란? (0) | 2022.10.10 |
---|---|
Logistic Regression 이란? (0) | 2022.10.10 |
Semantic Vector Embeddings 의미 벡터 임베딩이란? (0) | 2022.10.09 |
WORD AND DOCUMENT EMBEDDINGS 단어와 문서 임베딩이란? (0) | 2022.10.09 |
Naive Bayes & Classification 이란? (1) | 2022.10.08 |