-
머신러닝: 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라고 한다)
출처입니다! 반응형'머신러닝' 카테고리의 다른 글