-
머신러닝: Image Feature를 이용한 Classification? Neural Network란?머신러닝 2020. 10. 7. 20:59
< Image Features를 이용한 classification >
다음과 같은 class들이 있다고 했을때 어떻게 분류할까?
일반적으로 Linear classify를 많이 이용한다.
하지만 위와 같이 배치된 class들을 linear로 구분할 수 없기 때문에
더 높은 차원으로 transformation해서 linear classification한다.
저번포스팅에서는 image pixel을 이용하여 classification 했었다면
이번에는 Image feature를 이용한다.
Image feature란?
- 이미지안의 직선, edge등의 정보를 말한다.
Image의 feature을 값을 인풋으로 이용해서
더 높은 차원으로 옮기고 linear classify한다.
- 자주 사용되는 Image Feature들
※ color histogram
histrogram의 각 값들이 하나의 feature가 되고
w와 곱해서 classification할 수 있다.
※ Hog(Histotram of Oriented gradient) ★
gradient들의 방향을 이용하여 이를 히스토그램으로 바꾼다.
※ Bag of Words
랜덤으로 patches를 추출하여 "codebook"로 변환하여 W를 training시킨다.
< Neural networks>
여러가지 데이터를 학습시켜 좋은 결과를 얻기 위해 하나의 layer보다는
하나 이상의 layer를 많이 사용한다.
( 여러개의 layer가 연결된것을 딥러닝이라 한다 )
여러개의 layer를 거치면 low level의 information이
high level의 information으로 바뀔 수 있다.
두개의 layer로 구성된 경우를 자세히 살펴보면
하나의 image feature를 첫번째 layer를 통해 100종류의 class로 나누고
나누어진 100종류의 클래스를 마지막으로 10종류로 나누어
가장 큰 값을 가진 클래스가 해당 클래스가 된다.
일반적으로 layer수가 많아질수록 image classification이 더 잘 된다.
그런데 위 식을 보면 왜 f = W2W1x 라 안하고 max를 사용하여 표현했을까?
여기서 max는 firing하여 필요한 부분만을 사용하기 위함이다.
이를 Activation Function이라 한다.
다음과 같은 activation function이 있다.
(가장 기본이 되는 activation function이 ReLU라고 한다)
반응형'머신러닝' 카테고리의 다른 글