CS231. Linear Regression, Linear Classifier

포도·2021년 8월 28일
0

1. Introduction

CNN에 관한 블로그에서 activation map의 계산이 어떻게 되는지 간단히 살펴봤다. filter의 parameter들과 이미지의 pixel값들의 dot product(내적)을 한 후 bias를 더해준 하나의 값이 activation map에 기록된다고 배웠다. 이러한 계산법은 linear classifier를 연상하게 한다. 여기서는 이야기 할 주제는 다음과 같다.

  • Linear regression
  • Linear classifier

2. Linear Regression (선형회귀분석)

회귀분석중에 가장 기초적이고 널리 쓰이는것이 선형회귀이다. 말 그대로 선으로 되어 있는 예측모델이다. x 값으로(독립변수) y값을(종속변수) 예측할수 있는 모델이다. 이 수식은 중학교때 다 배운내용이다.

y = ax + b

x값은 입력값
y는 output
a,b는 parameter
b는 bias

독립변수 x의 갯수에 따라서

1개: 단순선형회귀 (simple linear regression) - 위의 그림)
여러개: 다중선형회귀 (multiple linear regression) - e.g., y = b+ a1x1 + a2x2

머신러닝에서는 다음과 같이 표기된다.

H = W(weight)*x + b (bias)

x 값은 입력값로 주어질 것이고 우리의 일은 output(H)을 정확히 예측하는 W와 b를 구하는 것이다.

CNN에서 activation map의 계산은 W가 여러개이므로 다중선형회귀계산이다.

3. Linear Classifier

선형회귀계산이 어떻게 이루어지는지 dot product는 어떻게 작용하는것인지 아주 간단한 예를 통해 살펴보자.

예를들어, 입력이미지가 4x4이고 흑백이미지이다. 3개의 필터가 있다. 필터는 각 각 고양이, 개, 보트를 판별해낸다. 첫번째 고양이 필터의 값을 가로로 펴보고 입력이미지의 값을 세로로 나열하였다.

고양이필터 W = 0.2, -0.5, 0.1, 2
입력이미지 pixels = 56, 231, 24, 2
bias = 1.1
dot product = (0.2*56) + (-0.5*231) + (0.1*24) + (2*2) + 1.1 = -96.8

모델은 가장 높은 점수가 나온대로 입력 이미지를 분류한다. 강아지 필터의 점수가 가장 높으므로 입력 이미지를 강아지로 분류할 것이다. 그러므로 이 모델은 좋은 모델이 아니고, 아직 학습이 더 필요하고 W와 b를 조율해야 하겠다.

만약에 입력 이미지의 크기가 32x32x3 인 컬러사진이라고 하고, 분류 카테고리가 10개가 있다고 한다면 W의 개수는 (10*3072)가 될 것이고 최종 output 스코어는 10개가 될 것이다. 모델은 입력 이미지를 통과시켰을때 10개중 가장 점수가 높은 카테고리를 선택할 것이다.

CNN 블로그에서 neural network는 선형함수와 비선형 함수로 이루어져 있다고 얘기했다.

다음 블로그 글에서는 비선형 함수에 대해서 이야기 해 보자.

profile
문과로 한평생 살다가 현재 펜실베니아 주립대 (University of Pennsylvania) 에서 Computer and Information Technology 공부하고 있습니다.

0개의 댓글