Basic Machine/Deep Learning #3

남태우·2020년 11월 19일
0

How to minimize cost

H(x) = Wx + b

  • cost값을 가장 작게 찾을 수 있는 W, b를 우리가 가지고 있는 데이터로 구하는 것이 Linear Regression입니다.
  • 설명을 위해서 H(x) = Wx로 설명하겠습니다.

xy
11
22
33

  • W = 2, cost(W) = 4.67입니다.
  • 위의 3개의 값을 이용해서 그래프를 그려보면 아래의 그림을 얻을 수 있습니다.
  • 목표는 여기서 cost가 최소화 되는 점을 찾는 것입니다.
  • 그래프를 보게 되면 눈으로 쉽게 찾을 수 있지만, 기계적으로 찾아야 합니다.

Gradient descent algorithm

  • gradient descent algorithm을 이용합니다.
  • 경사를 따라 내려가는 알고리즘입니다.
  • 주어진 cost function을 minimize하는데 많이 사용합니다.
  • 아무 지점에서 시작을 할 수 있습니다.
  • W값을 조금 변경하면서 cost를 줄일 수 있습니다.
  • 그 경사도를 계속해서 과정을 반복하게 됩니다.
  • 어떤 지점에서 시작하던간에(예외도 존재하지만) 최저점에 도달할 수 있습니다.
  • 경사도는 수학의 미분을 이용해서 구하게 됩니다.
  • 미분을 하기 쉽게 적용하기 위해서 m값에 2를 곱합니다.
  • 공식적인 알고리즘은 현재의 W값에 𝛂을 0.1이라고 하면 cost함수를 미분한 것(기울기) 곱해서 빼주면 됩니다.

  • 여러 번 실행시키면서 W가 변화되면서, cost를 최소화하는 것을 구할 수 있습니다.
    1. gradient descent algorithm은 하나의 수식이며, 기계적으로 적용만시키면, 바로 cost function을 최소화하는 w를 구할 수 있으며, 그것이 Linear Regression의 핵심 학습 과정을 통해서 모델을 만들 수 있습니다.
    2. Cost Function을 설계하였을 때 모양이 Convex function이 되는지 확인해봐야합니다.

배운 이론을 tensorflow 실습
https://www.youtube.com/watch?v=Y0EF9VqRuEA&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=7

profile
brand-new

0개의 댓글