본문 바로가기

Learning

(12)
F1 score 분류 모델을 만들어 성능을 평가해야할 때, 어떠한 모델이 더 성능이 좋은지를 판단하려면 기준이 되는 지표가 필요합니다. 이러한 지표 중 대표적인 것이 F1 score(F-measure)입니다. F1 score를 계산하기 위해서는 precision, recall, accuracy에 대한 개념을 알아야 합니다. 우선 다음과 같이 A,B,C,D가 있다고 합니다. 각각은 실험을 진행했을 때 결과의 True/False에 따라 나뉘어 집니다. A : 실제 정답이 True & 실험 결과 True (TT) B : 실제 정답이 True & 실험 결과 False (TF) C : 실제 정답이 False & 실험 결과 True (FT) D : 실제 정답이 False & 실험 결과 False (FF) precision 실험 결..
mAP IoU (Intersection over Union) Ground Truth 영역과 Prediction 영역이 있을 때, 아래와 같이 정의한다. (두 영역의 교집합) / (두 영역의 합집합) precision-recall curve (PR curve) threshold 조절에 따른 precision과 recall 값의 변화를 표현한 그래프. AP (Average Precision) 여러 알고리즘의 성능을 정량적으로 비교하기 위해 사용하는 값. threshold에 따라 precision과 recall은 변하게 되는데, threshold와 상관 없이 둘 다 좋으면 이 모델의 성능이 좋다는 것을 의미한다. 주로 컴퓨터 비전의 object detection의 성능 평가에 사용한다. IoU가 0.5 이상이면 물체..
평가지표 a. Macro & micro average macro average 클래스 별 f1 score에 가중치를 주지 않습니다. 클래스의 크기에 상관 없이 모든 클래스를 같은 비중으로 다룹니다. (학교의 각 반 성적) micro average 모든 클래스의 FP, FN, TP, TN의 총 수를 센 후 precision, recall, f1 score를 수치로 계산합니다. 전체적인 성능을 나타냅니다. (전체 학생들의 성적) 각 샘플을 똑같이 간주한다면 micro average, 각 클래스를 동일한 비중으로 고려하면 macro average 사 03. Edit distance 두 문자열의 유사도를 판단합니다. 문자열 A를 B로 바꾸기 위해 필요한 연산의 최소 횟수를 계산합니다. 비교할 두 문자가 같으면 : cos..
Regularization : L1, L2 regularization 본문을 읽기 전에 regularization글을 읽고 오시면 좋습니다. L1, L2 norm이란 무엇인가? Norm에 대해 알아보자 norm이란 벡터의 크기(길이)를 측정하는 방법입니다. 쉽게 말해, 두 벡터 사이의 거리를 측정하는 방법입니다. 여기에서 p는 Norm 의 차수를 말합니다. `p=1`일 경우 L1 norm을, `p=2`일 경우 L2 norm을 뜻합니다. 간단하게 L1, L2냐에 따라 항이 1차항인지, 2차항인지 나뉜다고 생각하시면 됩니다. 위의 식에서 n은 해당 벡터의 원소 수를 일컫습니다. L1 norm (p=1) L1 norm은 벡터 p, q 의 각 원소들의 차이의 절대값의 합입니다. 예를 들어 vector `p = (3,1,-3)`이고 `q = (5,0,7)`일 때, p, q의 L1 ..
Batch Normalization Batch Normalization paper: https://arxiv.org/abs/1502.03167 repo: https://github.com/shuuki4/Batch-Normalization Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167. 01. Batch Normalization? 배치 정규화. 미니배치 단위로 데이터 분포를 정규화하여 각 층의 활성화를 적당히 퍼트리도록 강제한다. Covariate Shift를 막기 위한 방법 Covariate Shift 학..
Dropout Dropout [[Overfitting]]의 해결책 중 하나. Dropout은 탈락, 낙오라는 뜻을 가지고 있다. Dropout은 2012년 발표된 일종의 regularization 방법이다. 2015년 발표된 Batch normalization의 부수적인 효과 중 하나가 regularization이기 때문에 Dropout을 쓰지 않기도 한다. 1. Dropout? 1-1. Dropout이란 전체 weight를 계산에 참여시키는 것이 아니라 layer에 포함된 weight 중에서 일부만 참여시킨다 즉, 학습 시 뉴런을 임의로 삭제하여 학습하는 방법 훈련 시에는 임의의 비율(dropout ratio) 만큼 뉴런을 삭제한다. 삭제된 뉴런의 값은 순전파/역전파하지 않는다 시험 시에는 모든 뉴런의 값을 흘린다...
Regularization 1. Regularization 1-1. Regularization의 정의 모델이 [[overfitting]]되지 않도록 일반성을 띄게 해 주는 기법. 1-2. Regularization의 목적 모델이 overfitting되는 것을 방지해서, 새로운 데이터에 대해서도 모델이 잘 작동하도록 하기 위해 Regularization을 사용한다. feature를 버리지 않고 모두 사용하면서 overfitting을 방지한다. local noise가 학습에 큰 영향을 미치지 않게 하여, outlier(특이점)의 영향을 적게 받도록 한다. 1-3. Regularization의 목표 우리가 기대하는 일반성을 띈 모델은, 가운데에 있는 2차함수 모양으로 생긴 함수이다. 왼쪽의 모델은, 함수의 차수가 너무 적어서 모델이 너..
Hyperparameter Hyperparameter Hyperparameter(하이퍼파라미터)는 각 층의 뉴런수를 비롯하여 모델의 구조를 정하는 변수, 배치 크기, 학습률, 가중치 감소 등 모델 학습에 사용되는 여러가지 값이다. Hyperparameter 튜닝을 위한 데이터 분리 훈련 데이터 (Train data): 파라미터(매개변수) 학습에 사용 검증 데이터 (Validation data): Hyperparameter 성능을 평가하는 데이터 시험 데이터 (Test data): 모델망의 범용 성능을 평가하는 데이터 Hyperparameter 최적화 방법 Hyperparameter 범위를 점점 줄려가면서 최적의 hyperparameter 값을 찾아내는 방법 아래 방법으로 수행이 가능하다. 정해진 범위 내에서 랜덤하게 Hyperpa..