티스토리 뷰

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

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함