[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/Data & AI

머신러닝 기초수학2 - 미분

inu 2020. 6. 9. 20:45
반응형

머신러닝의 시작

  • 머신 러닝의 시작은 함수만들기이다.
  • 그래프의 점들을 하나로 표현할 수 있는 함수를 찾는다. (ex. y = ax + b)
  • 보통 머신러닝에서는 기울기와 절편 등의 변수를 세타(θ1, θ2, ...)로 표현한다.
  • 이러한 기울기와 절편의 값을 과거의 관측을 기반으로 조절해가면서 미래 예측에 가장 정확한 값을 찾아가는 것이다.

목적함수

  • 모든 점을 다 지나는 그래프가 있다면 좋겠지만 이는 현실적으로 불가능하므로, 모든 점에서 생기는 오차가 가능한 작아지도록 하는 함수를 찾는 것이 우리의 목표이다. 이러한 오차의 합을 계산하는 함수를 목적함수라고 한다.
  • 목적함수는 각 케이스의 예측치(앞서 결정한 함수이용)와 실제값의 차의 제곱을 모두 더하고, 거기에 1/2을 곱해준 것이다. 여기서 '1/2'은 결과로 나온 식을 간단하게 만들기 위한 상수이다. 이런 상수를 그냥 곱해줘도 되는 이유는 상수를 곱해줘도 그래프의 모양이 조금 바뀔뿐, 최솟값 탐색에는 큰 영향이 없기 때문이다.
  • 이러한 목적함수를 최대한 작게 만드는 것이 최적화문제이다.

경사하강법

  • 경사하강법 : 목적함수의 값을 최소화하기 위해 경사를 내려가듯 최소값을 찾는 기법
  • 기존 값 x를 [x - (학습률)*(목적함수의 도함수에 x값 대입)]으로 새로 정의한다.
  • 학습률은 양의 정수로, 최솟값 도달까지의 갱신 횟수를 조절한다. 학습률이 너무 크면 최솟값에 도달하지 못하는 경우가 발생하고 너무 작으면 수렴하는 속도가 지연될 수 있다. 따라서 이를 잘 조절해주어야 한다. 이러한 현상은 머신러닝의 실험적 성향을 잘 보여준다.
  • 이렇게 해서 x값을 최솟값에 가깝도록 조절한다.
  • 지금까지 목적함수를 찾고 어떻게 해당 값을 최소로 하는 매개변수를 찾는지 알아보았다. 하지만 앞서 살펴본 예시에서도 매개변수는 2개이다. 실제 머신러닝에서는 더 많은 변수가 들어간다. 이런 상황에선 단순한 미분을 사용하기 어려워진다. 이 때는 '편미분'을 활용해야 한다. (다음장학습)
반응형

'🛠 기타 > Data & AI' 카테고리의 다른 글

[파이썬] Numpy Fancy Indexing  (0) 2020.07.09
[파이썬] Numpy 기초  (0) 2020.07.08
딥러닝 기초  (0) 2020.06.13
머신러닝 기초수학1 - 통계학  (0) 2020.06.03
머신러닝의 분류  (0) 2020.06.02