[CS231n] Linear Classification

ai_lim·2022년 1월 23일
0

CS231n

목록 보기
2/12
post-thumbnail

CS231n 2강


Linear Classification 은 Neural Network를 구성하는 가장 기본적인 요소이다.
Neural Network가 모형이라면, 모형을 이루고 있는 레고 블럭 하나하나가 Linear Classification이다.

Parametric Approach

parametric approach vs non-parametric approach

  • non-parametric approach의 예시:모든 데이터를 저장하는 KNN(k-nearest neighbors) 알고리즘
  • Parametric Approach는 모든 데이터를 저장하는 것이 아니라 파라미터값만 저장한다고 보면된다.

Parametric model의 가장 단순한 예제가 바로 Linear Classification이다.

dataset: CIFAR10

x: 입력이미지
W: 가중치, 파라미터

함수 f에 훈련데이터의 요약된 정보(W) 와 함께 입력 이미지(x)를 준다면 10개의 클래스에 해당하는 스코어를 출력한다. 이때, 고양이 클래스의 스코어가 높다면 고양이일 확률이 큰 것으로 볼 수 있다. 딥러닝이란 함수 f(x,W)를 잘 설계하는 것을 말한다.

Algebraic Viewpoint

입력이미지 (32,32,3) 을 (3072,1) 로 하나의 열벡터로 만들고 결과값으로 10개의 클래스의 스코어가 나와야하므로 W는 (10,3072)가 되어야한다. 이때, 하나의 열벡터로 만드는 것을 flatten이라 말할 수 있다. b는 bias로 데이터와 무관하게 특정 클래스의 우선권을 부여하는 상수이다. 주로 데이터셋이 unbalance 할 때 사용한다.

<Algebraic Viewpoint 예제> (2,2)의 입력이미지, 3개의 클래스

입력이미지를 (2,2) 에서 (4,1) 하나의 열벡터로 바꾸고
클래스 3개에 대한 스코어가 출력되야하니 W는 (3,4)의 차원을 가져야한다.
최종 출력을 보니 고양이 스코어가 제일 낮다. W가 잘못 선정이된듯하다.
W를 잘 선정하는 방법은 다음에 배울 것이다.

Visual Viewpoint


입력이미지를 flatten 안시키고 그대로 사용하고 W도 같은 차원으로 만든후 각각을 곱해서 bias를 더한값을 스코어로 출력하는 것이다.
이때, W 각각을 시각화시키면( CIFAR10 10개의 클래스 스코어를 출력한다고 가정)

클래스 당 하나의 템플릿이 나오는데, 템플릿 매칭을 통해 결과를 얻는 방식이다. 만약 자동차가 파란색이라면 자동차로 분류를 못할 수 있다.

Geometric Viewpoint

x와 W 벡터를 내적시킨후 b를 더한 값의 지점이 스코어가 된다.
선형 방정식의 위쪽에 있다면 car 클래스로 볼 수있고 아래쪽에 있다면 car 클래스로 볼 수 없다는 관점이다.


여러개의 클래스를 함께 생각할 수 있다.

선형분류를 적용하기 힘든 케이스


어떠한 직선을 그어도 분류가 되지 않는다. 이런 케이스들은 선형 분류를 적용하기 힘들다.

0개의 댓글