ETC/머신러닝, 딥러닝 실습

2-6. Linear Regression cost함수 최소화 구현(by TensorFlow)

개발자킹콩 2020. 10. 29. 02:23

모두를 위한 머신러닝 / 딥러닝 : hunkim.github.io/ml/

 

 

 


 

Graph -> import matplotlib.pyplot

 

우선 우리는 이 cost라는 놈이 어떻게 생긴지 보자!!

 

 

run을하기 위해 Session을 만들어 주고 초기화 과정을 거치도록 한다.

● W의 경우 -3~5까지 0.1크기로 작게 움직이겠다는 의미를 나타낸다.

● 두 개의 list에 append하여 plt.plot()의 인자로 전달하면 각 list는 x,y축을 기준으로 그래프를 형성한다.

● plt.show()로 그래프를 출력한다.

 

 

 

 


Gradient descent

 

 

알파는 learning_rate를 의미하고 작은 값을 사용한다.

다른 것은 수식 그대로 계산하는데 마지막 W값의 교체는 tensor안에 존재하는 assign을 이용하여 할당한다. 

 


구현하게 되면 다음과 같다.

 

 

 

여기까지는 동일하다. 

 

 

수동으로 Minimize cost를 만드는  것이다.

gradient는 미분값을 계산한 것이다.!!!!

W를 descent로 update를 시켜주는 것이다.

 

 

 

이제 update를 tensorflow를 통해서 실행시킨다.

 

 

 


 

위에서 수동으로 Minimize를 하는 과정에서 미분을 하고 각각의 연산작업이 필요하나,

tensorflow에서는 이를 제공한다. 우리는 이 train을 실행만 하면 된다.

 

 

 

이제 처음값을 5.0으로 주어 코드를 실행해보자

 

 

 

처음 W가 5.0일때의 계산이다.

 

 

 

 


 

 

 

 

 

 

여기서 gradient의 값은 설정되는 것이지만 gvs로 받아와서 적절히 수정 후 대입이 가능하다.

 

 

 

 

 

 

이상!! 오늘도 감코!!