< 머신 러닝 >
머신러닝을 배우는 이유는?
1. 데이터사이언티스트, 머신러닝엔지니어와 협업할 수 있는 백엔드 엔지니어가 된다.
2. 머신러닝 모델을 백엔드와 연동하고 배포하는 과정을 통해 AI 서비스가 어떻게 구현되는지 앎
< 머신러닝 학습 목표 >
1. 다른 사람이 학습시킨모델을 사용해 서비스에 적용가능.
2. 모델의 다양한 출력값을 이요해 서비스에 적용가능.
3. 모델이 어떻게 학습되는지를 이해해 모델을 학습하고 서비스에 적용가능.
4. 'numpy', 'pandas'의 개념을 이해하고 적용가능.
5. 컴퓨터가 어떻게 이미지를 인식하는지 이해하고 적용가능.
< 선형 회귀 >
H(x) = Wx + b (가설)
ex) 커피 잔 수 대비 시험점수 도출할때 가설만든다.
우리는 정확한 시험 점수를 예측하기 위해 우리가 만든 임의의 직선(가설)과 점(정답)의 거리가 가까워지도록 해야한다. (=mean squared error)
Cost=N1∑i=1N(H(xi)−yi)2 (손실 함수)
- 우리가 하는 일은 여기서 끝이고 기계는 우리가 정의한 손실 함수를 보고 우리의 가설에 맞출 수 있도록 열심히 계산하는 일을 한다.
< 경사 하강법 >
- 손실 함수를 최소화시키는 방법.
- 한칸씩 전진하는 단위 < Learning rate >
- 만약 Learning rate가 지나치게 크다면? 우리가 찾으려는 최소값을 지나치고 검은 점은 계속 진동하다가 최악의 경우에는 발산하게 될 수도 있다. 이런 상황을 < Overshooting >이라고 부른다.
- 우리의 목표는 이 손실 함수의 최소점인 < Global cost minimum >을 찾는 것.
- 스텝(Learning rate)를 잘못 설정할 경우 Local cost minimum에 빠질 가능성이 높다. 우리는 최대한 Global minimum을 찾기 위해 좋은 가설과 좋은 손실 함수를 만들어서 기계가 잘 학습할 수 있도록 만들어야하고 그것이 바로 머신러닝 엔지니어의 핵심 역할!