운동하는 공대생

[수업] 패턴인식 - Supervised learning(2) 본문

수업

[수업] 패턴인식 - Supervised learning(2)

운동하는 공대생 2023. 9. 29. 16:54
728x90
반응형

1. Linear Regression

house price를 예시로 데이터 포인트를 좌표 평면상에 표시를 한다면 linear 함수로 표현하는 게 가능하다. 

h(x) = 𝛳0 + 𝛳1X1 이렇게 1차함수로 표시가 가능하다.

=> 여기서 𝛳0, 𝛳1 이 함수 모델의 형태를 결정하는 "parameters"라고 이야기한다. 그리고 input 하는 데이터나 parameter의 표현은 벡터로 표시한다.

위에서는 input 하는 x 의 데이터의 수가 multiple 한 상화에 대한 식이다. 여기서 이 linear 함수 h(x)는 데이터 포인트의 input 값들(x1, x2, x3)과 파라미터들을 기준으로 값이 판명된다. 여기서 x0=1차원이 항상 존재하면 𝛳0의 파라미터를 bias라고도 한다.

 

목표: 데이터 포인트를 구분짓는 Linear 함수를 표현하는 방식을 알았으니 이제 그 데이터 포인트를 기준으로 Linear함수가 잘 분류하는지를 구해야 한다. 

2. Least square methods

Linear function h(x)가 기존 데이터 포인트의 타겟벨류 y 값과 비슷해지는 게 모델을 학습하는 과정인데 여기서 이런 차이를 계산하는 방식이 Least square methods이다.

=> 차이를 계산하는 방식의 함수를 "objective function"이라고 하고 수식으로는 J라고 표시한다. 이렇게 수식을 확인하면 한쌍의 데이터 (x^(i), y^(i))에 대하여 (function h𝛳() 란 파라미터를 가진 linear 함수를 말한다.) 예측값에서 타겟값을 뺀 값을 제곱하고 모든 데이터 포인트에서 그 값을 더한다. 

- 제곱의 이유: 차이값이 음수임을 방지

- 앞에 1/2 가 오는 이유: 이후 미분하여 변화량을 확인하는 부분에서 자연스럽게 사라짐

이렇게 기존 타겟값 y와 예측값이 극간을 줄이기 위한 "objective funcion"을 최소화하는 𝛳 값을 찾는 것이 이 방식의 최종 목적이다. 

 

3. Finding Minimum

어떠한 임의의 다항 함수에 대한 최솟값을 찾는다는 말이 무엇일까?

그것은 어떤 다항함수에 대한 기울기가 0인값을 이야기한다. 

어떤 다항 함수에 대하여 최고값을 찾는다는 건 "Convex" 함수의 가장 오목한 부분을 찾는 것이라 말할 수 있다. 이러한 모양의 수학적 특징을 가장 작은 부분에서의  1차 미분값이  0 이 되어야 한다. 이런 아이디어로 등장한 이론이 gradient descent 방식이다. 

 

수식으로 먼저 설명을 하자면 특정 포인트 x에서 함수를 미분하여 생기는 기울기 값을 learning rate (𝜶) 값과 곱하여 현재의 값에서 빼고 다음 값으로 지정한다. 이것을 반복하여서 x 값이 한 지정므로 수렴된다.

(여기서 x0 즉 시작점은 seed 값처럼 지정된 랜덤한 값이다)

Summary : 목적함수 Objective function의 값이 최소가 되어야 한다는 건 이존의 target 데이터와 예측한 데이터의 값을 최소화한다는 의미이다. 그래서 특정 다항함수에 대한 최솟값을 구하기 위하여 등장한 방식이 gradient descent 방식으로 미분하여 기울기가 0 인 부분을 찾아서 최소가 되는 특정 지정을 찾아낸다.

 

하지만 이런 방식의 문제점을 learning rate (𝜶) 값에 따라 local minimum 현상이 일어나기도 한다. 목적함수의 조건은 충족하지만 함수 전체로 본다면 최솟값이 아닌 경우를 말한다.

4. Stochastic gradient descent

여기서 이런 문제를 조금 해결하는 방식이 Stochastic gradient descent 방식이다. 이 방식은 데이터를 전체를 보는게 아니라 일정 batch 사이즈로 데이터를 나눠서 학습을 진행한다. 그래서 Local 한 부분을 뛰어 넘는게 가능하다.

728x90
반응형
Comments