homebody's blog

[Python][TensorFlow] 04. 선형회귀와 비용을 최소화 하는 방법 본문

Python/TensorFlow

[Python][TensorFlow] 04. 선형회귀와 비용을 최소화 하는 방법

homebody 2019. 6. 19. 23:01

TensorFlow(Linear Regression and How to minimize cost)

How to minimize cost?

  • cost function을 그래프로 그려보면 2차 함수 그래프 처럼 나온다.

  • 여기서 최소값을 찾으면 된다.

  • Gradient descent algorithm(경사하강법, 경사하강알고리즘)

    • 경사를 따라 내려가면서 최저점을 찾도록 설계된 알고리즘

    • Cost가 최소화가 되는 W, b를 찾는다.

    • 변수가 1개나 2개일 때 뿐만 아니라 여러 개일 때도 사용가능하다.

    • 동작 방식

      1. 추정을 통해서 W, b를 정한다. 랜덤도 가능

      2. W, b값을 줄어들 수 있도록 조금씩 수정한다.

      3. W, b 값을 지속적으로 업데이트할 때 기울기값을 구해서 cost가 최소화 되는 방향으로 업데이트

      4. 이 과정을 최소점에 도달했다고 판단될 때까지 반복한다.

    • Formal definition

    - 알파값은 여기서 learning rate라고 불린다.

    - 알파값에 따라 W값이 변화하는 정도가 달라진다.

    • 경사하강법은 3차원 그래프에서 local minimum이 여러 개 존재할 때 시작 위치에 따라서 최소값이 달라질 수 있으므로 항상 전체의 최소값에 도달한다고는 보장할 수 없다.
Comments