hmk run dev
Tensorflow 가설 정의, 손실함수 정의, 최적화 정의 본문
모든 머신러닝 모델은 다음의 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 |