분류 전체보기 87

Weighted Cross Entropy

클래스 불균형이 심한 경우에서 분류 문제를 풀 때 Cross Entropy로 최적화 한다면, weight 인자에 클래스별 가중치를 전달하여 데이터 비율에 맞게 학습되는 정도를 조정해서 좀 더 균형잡힌 학습을 할 수 있다. CrossEntropyLoss — PyTorch 1.8.1 documentation Shortcuts pytorch.org 실제 사용 방법은 아래와 같이 (7개 클래스 가정) 학습 데이터 별 통계를 이용해 weights을 구하고, CrossEntropyLoss의 첫째 인자로 전달해주면 된다. 빈도수가 높을 수록 특정 클래스의 weight은 작아지게 된다. nSamples = [887, 6130, 480, 317, 972, 101, 128] normedWeights = [1 - (x / ..

비지도 학습 (Gaussian Mixture)

Density Estimation / Clustering / Anomaly Detection에 활용될 수 있는 Gaussian Mixture가 무엇인지 대략 살펴 보려 한다. Gaussian Mixture 인스턴스(데이터)들이 파라미터가 알려지지 않은 몇 개의 가우시안 분포의 믹스쳐로 부터 생성이 되었다고 가정하는 확률 모델이다. 가정이 그렇기 때문에, 인스턴스(데이터) x가 주어지면 인스턴스 기반으로 가우시안 분포의 파라미터 등을 거꾸로 추정하고, 새로운 데이터가 확률적으로 어떤 가우시안 분포(클러스터)에 속하는지 여부를 알 수 있게 된다. 하나의 분포(multivariate gaussian distribution)로 부터 생성된 인스턴스들은 하나의 클러스터를 이루며, 모양에 제한은 없으나 보통은 타원..

DL&ML/concept 2021.03.15

비지도 학습 (Clustering ; K-means, DBSCAN, *Semi-supervised Learning, Active Learning)

(hands-on machine learning with scikit-learn, keras&tensorflow의 unsupervised learning techniques 챕터 정리) 대표적인 클러스터링 방법과 그 활용 방법에 대해서 정리. Semi-supervised Learning의 동작 방식에 대해서도 정리. 활용 분야 Customer Segmentation ; 웹사이트 상에서 유저의 행동을 기반으로 클러스터링 적용, 고객 분석 및 추천 시스템에 응용 Data Analysis Dimensionality Reduction ; 클러스터링 후, 특정 아이템의 각 k개의 클러스터와의 affinity를 측정, k-dim 피쳐로 표현 Anomaly Detection (Outlier Detection) ; 모..

DL&ML/concept 2021.03.14

확률 관련 개념 (Random Variable, Covariance Matrix, Multivariate Gaussian)

Gaussian Mixture를 공부 하다가, 랜덤 벡터에 대한 가우시안 분포에서 왜 공분산이 따라 다니는지 이해가 안가서 한 번 정리 해봄... 결과적으론 랜덤 벡터에 대한 가우시안 분포의 결합확률밀도 함수에 공분산이 일부분으로 포함되어 있었다. Random Variable Random process (동전 뒤집기, 주사위 굴리기, ...) Outcomes -> Number 랜덤 프로세스의 결과를 숫자에 매핑하는 것 (quantifying) X = { 1 if 동전 앞면, 0 if 동전 뒷면 } Y = Sum of upward face after rolling 7 dice 이렇게 어떤 결과에 대해 수치화가 가능해지는 순간 P(Y 0 인 경우 오른쪽으로 기울어진 타원 상관계수가 < 0 인 경우 왼쪽으로 ..

DL&ML/concept 2021.03.13

Measure (Precision, Recall, F1-score, ROC, AUC)

기본적으로 알고 있어야 될 performance measure 들... 1. Precision Positive라고 예측한 것 중 True Positive 비율 2. Recall (Sensitivity ; True Positvie Rate) 실제로 Positive인 것 중 True Positive 비율 threshold 값 변화에 따른 precision/recall curve를 그려서 둘의 변화를 동시에 살펴볼 수도 있다. 3. F1-score Precision & Recall의 조화 평균 2*p*r/(p+r) * 조화 평균을 씀으로써 작은 값에 좀 더 weight을 줄 수 있다! 일반적으로 precision & recall 사이에는 trade-off 관계가 존재함. 문제 상황에 따라서 어떤 지표에 무게를..

DL&ML/concept 2021.03.11

Under/overfit, Validation, Regularization, Dropout, Normalization, Ensemble etc.

당부의 말 비판적인 시각으로 받아들이시오... 틀린 것이 있을 수 있으니... 1) Underfitting vs. Overfitting Polynomial regression 문제를 생각해볼 때, x -> y를 매핑함에 있어서 degree(차수)에 따라서 모델의 complexity/flexibility가 결정이 된다. degree가 높아 모델이 최대한 많은 데이터 포인트를 설명이 가능할 때 -> Overfit degree가 낮아 모델이 적은 수의 데이터 포인트 만을 설명할 수 있을 땐 -> Underfit model capacity ; 파라미터의 개수가 증가할 수록 capacity도 증가 -> capacity가 높을 수록 복잡한 표현을 배울 수 있지만, 데이터를 외워버릴 가능서도 존재 여기서 모델의 ge..

DL&ML/concept 2021.03.10

Cross Entropy, KL-Divergence

두 확률 분포 사이의 다름의 정도를 측정하는 방법에 대해 정리해 본다. Cross Entropy Cross Entropy를 이해하기 앞서서 information에 대해서 정의해야 한다. information(정보량)은 uncertainty(불확실성)을 나타내는 지표이며, 확률에 -log를 취한 것이다. 확률이 낮으면 값이 커지고, 높을 수록 값이 작아짐. information에 대한 기대값(평균)이 바로 Entropy이며, 분포의 평균적인 불확실성을 표현하는 값이다. Entropy가 높다면, 분포가 flat한 것이고 (어떤 지점에서든 헷갈리니까 ; 확률이 비슷비슷) 낮다면, 분포가 sharp한 것이다. (확률이 대부분 낮고, 특정 포인트가 높음 ; 확실하니까) 그러면, Cross Entropy란 뭐냐, ..

DL&ML/concept 2021.03.10