티스토리 뷰
image classify
(1) find edge -> find corner 방법
super brittle, 새 카테고리면 처음부터 다시 시작해야 하는 단점
(2) data driven approach
collect a dataset of images and labels
use Machine Learning to train classifier
evaluate classifier on new image
compare image
(1) L1 distance (Manhattan) : d(l1, l2) = 모든 p에 대해 (l1의 같은 위치의 점 p - l2의 같은 위치의 점 p) 값의 절댓값
(2) L2 distance (Uclidean) : d(l1, l2) = 모든 p에 대해 (l1의 같은 위치의 점 p - l2의 같은 위치의 점 p) 값의 제곱의 루트 값
kNN에서 train에 소요되는 시간은 O(1)인데, test에 소요되는 시간은 O(n)이다.
test에 시간이 오래 걸리고 train에 시간이 적게 걸리는 것은 괜찮지만 반대의 상황은 괜찮지 않음. 그 결과 Deep Learning에선 kNN을 사용하지 않는다. (덧붙여, L1, L2 등의 distance metric이 유용하지 않음.)
kNN에서 k가 홀수일 때 tie(중립 부분)가 생길 가능성이 적다.
L2는 L1과 달리 회전해도 값의 변화가 없음. L1은 sparse 한 모델에 사용한다.
Hyper parameter의 세팅 (distance metric or K)
(1) k=1일 때 train set에는 perfect fit이 된다. (나쁨)
(2) train, test로 data를 나누어 test에서 잘 되는 것을 선택. 이렇게 하면 실제로는 성능이 어떨지 모르기 때문에 (나쁨)
(3) train, val, test로 나누어 val을 통해 Hyper parameter를 정하고 test로 test 한다. (나쁘지 않음)
(4) cross validation을 이용하여 train data를 fold로 나누고 각 fold를 validation set으로 삼아서 result를 구한 뒤 평균을 낸다. (나쁘지 않음)
작은 dataset에는 cross validation을 이용하지만 큰 set에는 불가능하다. (computationally expensive 해서 Deep Learning엔 사용하지 않는다.)
curse of dimensionality : 차원을 늘리면 공간은 차원의 exponential 하게 증가한다. 이때 이 모든 공간을 dense 하게 채워야 한다.
parametic approach : linear classifier.
f(x, W) = Wx
x : input image
W : weight or parameter
'학교공부 > Deep Learning' 카테고리의 다른 글
[Deep Learning] cs231n 4강 내용 정리 (1) (0) | 2017.10.15 |
---|---|
[Deep Learning] cs231n 3강 내용 정리 (1) (1) | 2017.10.14 |
[Deep Learning] CS231n "1X1 Convolution" 이란? (0) | 2017.10.10 |
[Deep Learning] cs231n 2강 내용 정리 (1) (0) | 2017.09.26 |
[Deep Learning] CS231n 과제, Azure의 가상 Ubuntu로 진행하기. (2) | 2017.09.26 |