토글 한번에 열기 : ctrl + alt + t
자주 등장하는 영어단어들
•
회귀에선 KFold
분류에선 StratifiedKFold 를 쓴다
•
정형데이터 (주로 ML) : csv파일에 담을 수 있는 행과 열이 있는 데이터
비정형데이터( 주로 DL): 텍스트,오디오,이미지,영상과 같은 데이터
•
Bootstrap Sampling(부트스트랩 샘플링): 중복을 허용한 샘플링
•
시계열 데이터 종류
◦
Univariate : 단변량 시계열 데이터. 예) 주식 차트, 전력 수요
◦
Multivariate : 다변량 시계열 데이터. 예) 공정 센서 데이터
로지스틱 회귀의 종류
1) 이항 로지스틱 회귀 (Binary Logistic Regression) - 2가지 결과만으로 분류 ex) Yes/No
2) 다항 로지스틱 회귀 (Multinomial Logistic Regression) - Softmax 함수를 이용한 다항 분류
3) 순서형 로지스틱 회귀 (Ordinal Logistic Regression) - 순서가 있는 3개 이상의 분류
ex) 영화 순위나 등급 1~5등급
•
logit: softmax의 input 값
•
이중분류에서 손실함수: Binary CrossEntropy
다중분류에서 손실함수
1) Categorical CrossEntropy (y_true 가 일반 정수)
각 sample이 여러 개의 class에 속할 수 있거나 label이 soft probablities일 때 사용
2) Sparse Categorical CrossEntropy (y_true가 one-hot vector)
각 sample이 오직 하나의 class에 속할 때 사용
•
넘파이 array를 one-hot 인코딩하는 법
ohe_labels = to_categorical(labels)
•
데이터프레임을 one-hot 인코딩하는 법
pd.get_dummies(df)
•
maxpooling을 해도 채널은 항상 똑같음
•
[Conv2D → BatchNormalization → Activation → MaxPooling2D] 여러번하고
→ Flatten →Dropout → Dense → Dropout → Dense → output
•
XGBoost : 회귀, 분류 모두 지원함
•
[가중치 초기값 방법] 0~1 사이값들로 초기화
Xavier 초기화: Sigmoid 나 Tanh 사용할때
He 초기화: ReLU를 사용할때
•
train_test_split(stratify=000) : 쪼갤 때 지정한 feature 000의 비율을 유지한다.
•
cv2.imread('파일명') 하면 넘파이 array로 변환
•
df.values 하면 넘파이 array로 변환됨
•
정밀도(Precision): positive로 예측한것만 볼 떄 그중 몇개가 맞았는지
재현율(Recall): 실제 정답들중에서 몇 개를 positive로 예측햇는지
•
주요 데이터셋:
Pascal VOC : 20개 클라스 (이미지 하나당 annotation XML파일 1개씩)
COCO : 80개 클라스 ( 딱 하나의 json annotation 파일)
•
수행시간:
YOLO,SSD(빠름) << RetinaNet << Faster RCNN(느림)
•
Backbone: VGG, ResNet, DarkNet
Neck: FPN
Head: Faster R-CNN , YOLO , RetinaNet 등등
•
Blob: 동일한 방식으로 전처리된 동일한 너비, 높이 및 채널 수를 가진 하나 이상의 이미지
cv2.dnn.blobFromImage - 이미지에서 4차원 Blob을 만들고 선택적으로 크기를 조정하고 중앙에서 이미지를 자르고 평균값을 빼는 등의 작업을 수행 (출력은 4차원 tensor이다. NCHW)
•
NMS(Non-Maximum Suppression) : 한 객체에 대해 가장 신뢰도가 높은 하나의 bbox만 남기고 나머지bbox들 없애는 후처리과정
•
Subword Tokenizer: 하나의 단어를 여러 서브워드로 분리해서 단어를 인코딩 및 임베딩하겠다는 의도를 가진 전처리 작업 → OOV(Out-Of-Vocabulary) 문제를 해결해준다. 대표적으로 BPE가 있다.