CS231n Lecture2 정리

CS231n Lecture2 정리

Lecture2 : Image Classification pipeline

Image Classifier의 기본적인 구조, 그리고 가장 간단한 kNN (K-Nearest Neighbors) 에 대하여 설명한다.

Image Classifier

Input: 이미지, Output: 그 이미지의 label (분류)

1
2
3
def classify_image(image):
# codes
return class_label

Train, Predict의 큰 틀을 가짐

Nearest Neighbor

Train: 저장만 함
Predict: 가장 유사한(거리가 가까운) 이미지의 label을 출력

K-Nearest Neighbors

가장 가까운 근처 K개의 점 중 다수의 label을 선정
outlier들을 배제할 수 있다.

Distance Metric

  • L1(Manhattan) distance

    • $d_1(I_1, I_2) = \sum_{p} |I_1^p-I_2^p|$
    • 같은 거리의 점들이 마름모 형태
  • L2(Euclidean) distance

    • $d_2(I_1, I_2) = \sqrt{\sum_{p}(I_1^p-I_2^p)^2}$
    • 같은 거리의 점들이 원 형태

Hyperparameters

  • 정의: Train 되지 않고 내가 직접 정하는 parameters (set rather than learn)
  • 대부분 problem-dependent 하여, 직접 다 돌려보고 선택하는 경우가 많음.

Setting Hyperparameters

  • IDEA: Data를 train, val, test로 랜덤하게 나누어, train에서 모델 학습, val에서 hyperparameter 설정, test에서 최종 검정을 한다.
  • Cross-Validation: data를 여러 fold 들로 나누어, 각 fold를 validation으로 사용해 보고 결과를 평균낸다. Small Dataset들에선 유리하지만, 딥러닝은 보통 그렇지 않으므로 자주 쓰이지는 않음.

Image1: Cross-Validation

Author

Yeonsang Shin

Posted on

2022-07-10

Updated on

2022-12-19

Licensed under

Comments