본문 바로가기

분류 전체보기

정밀도(Precision)과 재현율(Recall)(Feat. mAP, AP, 검출 성능 척도) [컴퓨터 비전과 딥러닝] P 376 中 검출(Detection) 분야에서는 mAP라는 성능 척도를 사용하는데, 이 성능 척도를 계산하기 위해서는 정밀도(Precision)과 재현율(Recall) 계산이 필요하다. 그러나 정밀도(Precision)과 재현율(Recall)에 대한 개념이 헷갈려 이와 같이 블로그에 정리를 해두려고 한다. 결론부터 말을 하면, 정밀도(Precision)은 모델[이] "Positive"라고 예측한 것이 얼마나 정확한 것인지를 계산한 것. (정밀도 = TP/TP+FP) 재현율(Recall)은 실제로 "Positive"인 것들을 얼마나 모델이 잘 맞췄는 지를 계산한 것. 다시 말해, 모델이 얼마나 많은 "예"를 놓치지 않고 찾아냈는지를 나타냅니다. (재현율 = TP/TP+FN) 정밀.. 더보기
미세 분류(Fine-Grained Classification)(Feat. 부류 내 변화[=Intra-Class Variation], 부류 간 변화[=Between-Class Variation]) [컴퓨터 비전과 딥러닝] p 373 中 컴퓨터 비전 분야에서 사례 분류(Instance Classification)은 딥러닝의 컨보루션 신경망이 탄생을 하면서, 정확도 99%를 달 성하며 이제는 완전히 해결되었다. 범주 분류(Categorical Classification)에 대해서는 미세 분류(Fine-Grained Classification) 문제가 어려운 난제로 남아 있 다. 부류 내 변화가 크고, 부류 간 변화가 적은 데이터 셋을 분류하는 문제가 미세 분류(Fine-Grained Classification) 문제이다. 이러한 경우 상대적으로 낮은 정확도를 이루게 된다. ( p 373의 그림 9 -11에 부류 내 변화(Intra-Class Variation)과 부류 간 변화(Between-Class.. 더보기
사례 분류(Instance Classification) VS 범주 분류(Categorical Classification)(Feat. [컴퓨터 비전과 딥러닝] P 363 컴퓨터 비전의 인식(Recognition)의 한 분야인 분류는 사례 분류(Instance Classification)와 범주 분류(Categorical Classification)으로 크게 나뉜다. 사례 분류(Instance Classification)과 범주 분류(Categorical Classification)의 개념이 너무 헷갈려 다음과 같이 블로그에 정 리를한다. 결론부터 말을 하면, 사례 분류(Instance Classification)과 범주 분류(Categorical Classification)의 결정적 차이는 해당 Object의 분류 범위의 크기에 있다. 사례 분류(Instance Classification)은 특정한 물체를 알아내는 것. 범주 분류(Categorical Classifica.. 더보기
주요 데이터 셋 사이트(Feat. data sets, 클라우드 소싱, Mechanical Turk ) - 유명한 데이터 셋 -(컴퓨터 비전과 딥러닝 p 366) 1. Papers with Code 사이트 -> 딥러닝 관련 논문과 소스 코드, 데이터 셋을 제공. 강점으로는 데이터 셋별로 SOTA 성능의 역사적 추세를 그래프고 제시하여 현재 기술 수준을 가늠할 수가 있다. 2. 위키피디아(list of datasets for machine learning research) -> 여섯 그룹으로 구분돼 있고 그룹마다 수십 개의 데이터 셋을 소개한다. 3. tensorflow(http://www.tensorflow.org/datasets.org/datasets/catalog/overview) -> Image, Image classification, Object detection 데이터 셋으로 구분돼 있다. 4. .. 더보기
Class imbalance(클래스 불균형) 상황에서의 Cross-Entropy(GE)의 문제점(Feat. Focal Loss Function, 부류 불균형,focusing parameter, Easy Native, Hard Positive) (아래의 글을 읽기 전에 Object [Detection]에 대한 정확한 의미를 짚어 가자. 1.Object Detction : 여러 Object들을 Bounding Box를 통해 Localization(위치를 찾고)하고, Classification(어떤 물체인지 분류)하는 작업 2. 배경 BBox(Easy - Negative) : 배경에 대한 BBox의 갯수가 압도적으로 많으므로, Detector에 의해 검출되기는 Easy하지만, 출력의 결과는 [오류](=Negative)이다. 3. 객체 BBox(Hard - Negative) : 객체에 대한 BBox는 개수가 매우 적으므로 Dectector에 의해 검출되기 어렵렵고, 출력의 결과는 [정상](=Positive)이다. -> BBox와 같은 Example들.. 더보기
MSE의 Weight Update의 불공정성(Feat. 분류 문제, Cross-Entropy,softmax,로그우도(Log Likelihood)) (아래의 글을 읽기 전에, MSE랑 Cross-Entropy 설명 시, Activation Function을 모두 Sigmoid 함수로 가정하여 설명을 하고 있다) MSE(Mean Square Error) 정답 레이블이 INDEX=[0,1] 중 0인 상황에서 예측값(o)이 각각 [0.7503(idx=0), 0.9971(idx=1)] 나온 두 경우를 생각해보자. (위에서도 언급했듯이, sigmoid 함수를 가정하여 설명하고 있으므로, idx=0과 idx=1은 동시에 나오는 값이 아니다.) (참고로, sigmoid 함수는 Binary Classification 등에서 주로 사용된다) 후자(0.9971)가 조금 더 큰 에러가 발생했으므로, 더 큰 그레디언트 값을 이용하여 가중치(weight)를 갱신시켜 주어야.. 더보기
Hyper Paramater Tuning(Feat. 모델 최적화) Parameter(매개변수) vs Hyper Parameter(하이퍼 매개변수) Parameter (파라미터, 매개변수) Parameter는 모델 내부에서 결정되는 변수, 데이터를 통해서 산출이 가능한 값이며 학습 시 얻어지는 값이다. 모델 내부에서 데이터를 통해 구해진다. 예측을 수행할 때, 모델에 의해 요구되어지는 값 측정되거나 데이터로부터 학습되어진다. 학습된 모델의 일부로 저장되어진다. ex. 인공신경망에서의 가중치 계수(weight coefficient), SVM(서포트 벡터 머신)에서의 서포트 벡터, 선형회귀나 로지스틱회귀분석에서의 결정계수, 편향(bias) Hyperparameter (하이퍼파라미터, 초매개변수) Hyperparameter는 주로 알고리즘 사용자가 경험에 의해 직접 세팅하는 .. 더보기
plt.ylim(), plt.legend(), plt.plot(Feat. Matplotlib) 우선 plt.plot()에 대해서 이해를 하고 가자. plt.plot() 함수는 Matplotlib 라이브러리를 사용하여 그래프를 그릴 때 사용하는 함수입니다. 이 함수는 주어진 데이터를 그래프로 시각화하는 데 사용됩니다. (주로 선 그래프를 그릴 때 사용되지만 다양한 스타일의 그래프를 그릴 수 있습니다.) plt.plot() 함수의 기본적인 사용법은 다음과 같습니다 plt.plot(x,y,'format') ( format -> ex) 'r'[점으로 그래프 표시], 'r--'[점선으로 그래프 표시]) 여기서 x는 x 축에 대한 데이터, y는 y 축에 대한 데이터이고, 'format'은 그래프의 스타일을 지정하는 문자열입니다. 예를 들어, 'r--'는 빨간색 점선을 의미합니다. plt.plot() 함수를 .. 더보기