티스토리 뷰

Linear Functions  (선형분류기)

선형분류기에는 Linear Regression, Binary Classification, Softmax Classification 세 가지가 있다. 선형분류기를 기반으로 기본적인 인공신경망을 이해할 수 있다. 그리고 이 인공신경망이 진화한 것이 딥러닝 구조이다. 선형분류기를 먼저 학습하는 이유는, 이론들이 점점 진화하면서 조금씩 발전하여 만들어졌기 때문에 근본적인 구조를 이해하면 Neural Network를 더 잘 이해할 수 있기 때문이다.

 

아래의 순서로 선형분류기를 학습하며 정리할 것이며, 이번 글에서는 Linear Regression의 기본적인 구조에 대해 기술한다.

1) Linear Regression (선형회귀분석)

2) Binary Classification (이진분류기)

3) Softmax Classification (다중분류기)

 

 

Linear Regression (선형회귀분석)

Linear model

 

 

y = ax + b 또는 f(x) = ax + b와 같은 수식인데, H와 W를 사용하는 이유는 인공신경망에 사용하게 될 때 필요한 용어이기 때문이다. H는 통계학에서 가설을 뜻하는 Hypothesis이고, 기울기를 뜻하는 a는 W로 표현하며 Weight(가중치)이다. W를 대문자로 표시하는 이유는 x가 여러 개가 될 때, 가중치들을 한번에 나타내는 경우가 생기기 때문이다. 여기에서, 가장 좋은 모델을 위한 W와 b 값을 찾아야 한다.

 

위와 같이 세 가지 값이 있을 때, 가장 좋은 H(x)는 무엇일까?

 

주어진 값(검정색 점)과의 차이가 가장 작을 때의 H(x)가 가장 좋은 식이라고 할 수 있다(실제 값과 가장 가까운 식을 만들 수 있기 때문에).  이를 수식으로 나타내면 아래와 같다.

 

 

Cost Function (또는 Loss Function)

 

(m: The number of training data)

 

모델 값 H(x^i)와 실제 값 y^i의 차이를 구할 때, 어느 값이 먼저 오느냐는 중요하지 않고 두 값의 차이(거리, 오차)가 중요하다. 또한, H(x^i)가 y^i의 위에 있을 수도 있고 아래에 있을 수도 있다. 그러므로, 마이너스 부호가 나오는 경우가 있기 때문에 제곱을 해서 부호를 없애준다. (절대값을 씌우면 추후 편미분을 하지 못하기 때문에 제곱을 해준다.) 이렇게 모든 값의 차이를 제곱해서 평균을 내주는 것이 손실함수(Cost Function)이다.

 

Cost 값이 커질수록 손실이 커지는 것이며 정확도가 낮아진다. 정확도를 잃어버렸다고 해서 Loss  Function이라고도 한다. 즉, Cost 값이 작아질 수록 좋은 것이다.

 

 

Cost Function (Loss Function) 최소화

Cost값을 최소화하는 W와 b값을 구하기 위해 Gradient Descent Method(경사하강법)을 사용한다. H(x^i)를 Wx^i + b로 치환하면 아래와 같은 수식을 만들 수 있다.

 

 

가장 작은 Cost값을 찾아야 한다. 위 그래프에서 2차 함수의 기울기가 0이 되는 지점(극소값)을 찾는 것이다. 편미분을 해서 기울기(Gradient)를 구하는 작업을 하면 된다.

 

 

(α: Learning rate)

 

Cost 함수를 편미분 해주면 기울기를 구할 수 있다. 위 수식에서 편미분한 값((∂/∂W)Cost(W))이 0이 되면 W에 수렴하게 된다. 

 

 

정리하면, 최소자승법(값의 차이를 제곱)으로 Cost Function을 만들고, Cost Function의 W와 b값을 구하기 위해서 Gradient Descent Method(경사하강법)을 사용한다는 내용이다.

 

 

 

 


 

댓글
최근에 올라온 글
페이지 이동 안내

보던 글 목록 : 브라우저 뒤로 가기 메인 화면 : 좌측 상단 아이콘
🍍 The GOAL: AI expert에 가까워지는 중

🍍 I am becoming AI expert who can develop cool things by coding.