Machine Learning/A·I

머신러닝 모델 프로세스

light_meal 2022. 8. 14. 18:06
728x90

머신러닝 모델 프로세스

머신러닝 모델의 핵심

머신러닝 모델을 만드는데 있어서 핵심은 “X 값이 다수 주어졌을 때 Y 값이 무엇이 나올까?에 대한 관계”를 찾는 것이다.

 

수학 공식으로의 표현

Y = f(x1, x2, x3, x4, ...) 와 같이 표현 할 수 있다.

예외 상황을 생각해보자 아래 그림의 예시와 같이 X1, X2 만으로는 Y를 정의 할 수 없을 경우는 어떻게 해야 할까?

 

이를 설명하기 위해 엡실론을 사용하고 X1과 X2의 가중치를 Wn 으로 표현하게 된다.

이를 좀 더 간단히 표현하자면 f(x)로 표현이 가능하다

f(x) = W1X1 + W2X2 + e

다음과 같이 표현하면 [정답 - 모든 값을 더한 값]은 “오차 값”이라는 것을 알 수 있으며 f(x)는 Loss Function (손실 함수)라 한다.

 

머신러닝 모델 프로세스

위와 같이 엡실론은 [정답 - 모든 값을 더한 값]인데 0이 나온다면 오차가 없기 때문에 Best 값이 되겠다.

다만 만약에 양수, 음수가 나온다면?

아래와 같이 최소제곱법 ${Y_i - (W_1{X_1}_i+W_2{X_2}_i}^2$ 을 통해

틀린 값에 대한 범위는 크게 차이가 나게 늘리고 음수에 대한 값을 양수로 바뀌게 하는 원리를 이용하여 각각의 오차 범위를 좀 더 명확하게 구해 비교할 수 있게 된다.

예시

  • 일반적인 오차 계산
    • 오차 2와 10이 있다고 가정 했을 때 10 - 2 로 범위가 8 차이가 나게 됨을 알 수 있다.
  • 최소제곱법
    • (10 x 10) - (2 x 2) = 96 이나 차이가 나게 됨을 알 수 있다.
    • (-5 x -5) - (3 x 3) = 16

 

위 이미지를 보면 f(x)를 Cost Function이라 표현했는데, 참고한 유튜브의 김성범 교수님은 이렇게 정의 하였음

Cost Function = 개별적인 오차를 구할 때

Loss Function = 다 더한 값이거나 평균을 취한 값

위와 같이 두 가지의 정의를 나누어 설명했지만 일반적으로는 크게 구별하지 않고 동일한 의미로 사용한다 하였음

 

그래서 위 수식을 사용하는 이유는?

오차를 최소화 하는 W1, W2 .... 즉 “파라미터” 의 값을 구하는 것이다.

 

위 오차를 최소화 하는 값을 구하는 모델

현재는 다음과 같은 모델이 존재한다는 것만 알아두자

 

머신러닝 모델 학습 과정

  1. 모델 결정하기
  2. 모델을 구성하는 파라미터 찾기

 

참고

김성범[ 소장 / 인공지능공학연구소 ], https://youtu.be/FGPfQgHNgOU

728x90