Gradient Descent(2)
-
[텐서플로우로 시작하는 딥러닝 기초] Lab 03: Linear Regression and How to minimize cost 를 TensorFlow 로 구현하기
저번 시간에 우리의 가설 함수는 H(x) = Wx. 원점을 지나는 함수로 simplified 하기로 했다. 아직은 Gradient descent를 배우는 단계이기 때문에. 그리고 Cost함수는 아래와 같다. 이 Cost 함수를 파이썬으로 구현해보자. (텐서플로우 없는 그냥 파이썬) import numpy as np #data 설정 X = np.array([1,2,3]) Y = np.array([1,2,3]) #cost 함수 정의 def cost_func(W, X, Y): c = 0 for i in range(len(X)): c += (W * X[i] - Y[i]) ** 2 #가설과 실제 데이터 차의 제곱의 합을 return c / len(X) #평균내주기 for feed_W in np.linspace(-..
2020.08.09 -
[텐서플로우로 시작하는 딥러닝 기초] Lec 03: Linear Regression and How to minimize cost
간략화 하기 위해 H(x)에서 b를 생략하여 H(x) = Wx 라고 하고 이에 따라 Cost 함수도 간략해진다. 이 Cost 함수가 어떻게 생겨먹었는지 살펴보자. 아! 당연히 cost(W)는 W에 대한 이차함수일 것이다. 우리는 이 cost가 최소가 되는 W를 구하는 것이 목표이다. 오! cost(W)를 W로 미분하였을 때 0이 되는 값(꼭지점)의 W값이겠구나! (위 함수에서는 1) 이러한 방식의 알고리즘이 Gradient descent algorithm (경사하강법)이다. 그럼 Gradient descent algorithm이 작동하는 방법을 보자. Initial Weight에서 기울기를 구한 뒤, 그 기울기 값을 W에 곱한 값을 W에서 빼준다. 이를 계속해서 반복하는데 그럼 W값은 꼭지점으로 이동할 ..
2020.08.05