hmk run dev

Tensorflow 가설 정의, 손실함수 정의, 최적화 정의 본문

Deep Learning

Tensorflow 가설 정의, 손실함수 정의, 최적화 정의

hmk run dev 2022. 5. 14. 12:17

모든 머신러닝 모델은 다음의 3가지 과정을 거치고 이 과정은 앞으로 배우는 모든 머신러닝 알고리즘의 기본 토대이기 때문에 꼭 제대로 숙지하고 넘어가야 한다!

 

1. 학습하고자 하는 가설을 수학적 표현식으로 나타낸다

2. 가설의 성능을 측정할 수 있는 손실 함수를 정의한다.

3. 손실 함수를 최소화할 수 있는 학습 알고리즘을 설계한다.

 

 

 

1. 가설 정의

 

위의 3가지 과정을 선형 회귀 모델에 대입해서 생각해보면 다음과 같습니다

 

- 선형 회귀 모델을 선형 함수를 이용해서 회귀를 수행하는 기법

- 선형 회귀 함수는 학습하고자 하는 가설을 아래와 같은 선형 함수 형태로 표현합니다.

 

- 이때 x와 y는 데이터로부터 주어지는 인풋 데이터, 타깃 데이터이고 W와 b는 파라미터라고 부르며 트레이닝 데이터로부터 학습을 통해 적절한 값을 찾아내야만 하는 값입니다.

 

파라미터 W, b 초기에는 랜덤 값

 

2. 손실 함수(비용 함수) 정의

 

적절한 파라미터 값을 알아내기 위해 현재 파라미터의 좋고 나쁨을 측정

가장 대표적인 손실 함수 중 하나는 평균 제곱 오차입니다.

 

예를 들어 정답이 y=[1, 10, 13, 7]이고 우리의 모델의 예측값이 y^=[10, 3, 1, 4]라고 해보면

MSE 손실 함수는 35.375라는 큰 값을 가지게 될 것입니다.

 

예를 들어 정답이 y=[1, 10, 13, 7]이고 우리의 모델의 예측값이 y^=[2, 10, 11, 6]라고 해보면

MSE 손실 함수는 1.5라는 큰 값을 가지게 될 것입니다.

 

결국 낮을수록 좋다.

 

3. 최적화 정의

 

손실 함수를 최소화하는 방향으로 파라미터들을 업데이트할 수 있는 학습 알고리즘을 설계해야 합니다.

 

- 머신러닝 모델은 보통 맨 처음에 랜덤 한 값으로 파라미터를 초기화한 후에 파라미터를 적절한 값으로 계속해서 업데이트함

 

- 이때, 파라미터를 적절한 값으로 업데이트하는 알고리즘 최적화 기법이라고 함.

대표적인 기법은 경사 하강법

 

> 손실 함수의 값이 크면 하나의 스텝에서 파라미터가 많이 업데이트됨

 

 

이 과정들을 쉽게 예를 들어보자

키와 몸무게 데이터를 기반으로 키가 어느정도면 몸무는 어느정도다 라는 프로그램을 만든가면

 

f(키) = 몸무게 

> 키는 x 몸무게는 y

'Deep Learning' 카테고리의 다른 글

딥러닝 이해하기  (0) 2022.05.15
딥러닝의 개념  (0) 2022.05.13
Comments