02. 어떻게 Machine Learning을?

2019. 9. 1. 19:49Tech :Deep Learning

01.Machine Learning이란? 에서 설명한 "주어진 데이터를 가장 잘 설명할 수 있는 방법"을 어떻게 하는 것일까?

먼저 "데이터를 가장 잘 설명"한다는 것은 주어진 데이터와 오류를 최소화하는 함수를 찾는 다는 것으로 이해할 수 있다.여기서 또 오류란? 주어진 좌표와 함수와의 거리를 계산한다고 생각할 수 있는데 거리를 y-f(x)의 제곱으로 계산한다 했을 때, 아래와 같이 계산될 수 있다. 

데이터는 주어진 고정된 스칼라값이 될테니, 함수 모양을 결정하는 파라미터는 w가 될 것이다. 그럼 이러한 Error를 최소화하는 w를 찾으면, 주어진 데이터와 오류를 최소화하는 함수를 찾게 된다.

즉, "주어진 데이터를 가장 잘 설명하는 함수를 찾아라"라는 문제는 아래 문제로 변환될 수 있다. ( 아래는 Error 계산 시 MSE 방법을 사용했을 때이다. 이 Error 함수를 Loss 함수라고도 하며 다르게 정의될 수 있다. )

그럼 이제 어떻게? E를 w 들에 대해 편미분을 하고 0으로 만드는 w를 찾으면 되겠다. (극점을 찾는 방법 -> 기울기가 0이 되는 점 -> 기울기계산은 편미분을 하면! ) 

예를 들어, 아래와 같은 Data가 주어졌다고 할 때,

STEP 1) 여러 종류의 Approximator 중 하나를 선택할텐데 그 중 직선을 선택한다고 했을 때  아래와 같이 표현된다.

STEP 2 ) f가 주어진 데이터에 가장 잘 부합하도록 w를 잘 조정한다.

위 계산을 통해 주어진 데이터에 가장 잘 부합하는 직선은 바로 아래와 같이 되는 것이다.

결국, Machine Learning이란 아래의 문제를 해결하는 것이라고 볼 수 있다.