경사 하강법
목표는 손실 함수를 최소화(Optimize)하는 것. 손실 함수를 최소화 하기 위해 그래프를 따라 점점 아래로 내려가는 상황.컴퓨터는 경사 하강법이라는 방법을 사용하여 점진적으로 문제를 풀어나가게 된다. 처음에 랜덤으로 한 점으로부터 시작하여, 좌우로 조금씩 그리고 한번씩 움직이면서 이전 값보다 작아지는지를 관찰하게 되는데, 한칸씩 전진하는 단위를 Learning rate라고 한다. 그래프의 최소점에 도달하게 되면 학습을 종료하게 된다.
Learning Rate
Learning rate가 작을경우
초기 위치로부터 최소점을 찾는데 많은 시간이 걸리게 된다. 즉, 학습하는데 최소값에 수렴하기 까지 많은 시간이 걸리게 된다.Learning rate가 너무 클경우
찾으려는 최소값을 지나치고 계속 진동하다가, 최악의 경우에는 발산하게 될 수도 있다. (Overshooting)즉, 머신러닝 모델이 학습을 잘하기 위해서는 적절한 Learning rate를 찾는것이 필수적이다.
실제로 손실 함수를 그릴 수 있는가?
간단한 선형 회귀 문제의 경우는 그래프를 그릴 수는 있다.
하지만 복잡한 가설을 세울 경우에는 그릴수도, 상상할 수도 없는 형태가 된다.
목표는 손실 함수의 최소점인 Global cost minimum을 찾는 것. Learning rate를 잘못 설정할 경우 Local cost minimum에 빠질 가능성이 높다. Cost가 높다는 것은 모델의 정확도가 낮다는 뜻이다.즉, 최대한 Global minimum을 찾기 위해 좋은 가설과 좋은 손실 함수를 만들어서 기계가 잘 학습할 수 있도록 만들어야하고,
그것이 바로 머신러닝 엔지니어의 핵심 역할이다.