TensorFlow梯度下降優化


梯度下降優化是資料科學中的一個重要概念。考慮下面顯示的步驟,以了解梯度下降優化的實現 -

第1步

包括必要的模組和宣告xy變數,我們將通過它來定義梯度下降優化。

import tensorflow as tf

x = tf.Variable(2, name = 'x', dtype = tf.float32)
log_x = tf.log(x)
log_x_squared = tf.square(log_x)

optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(log_x_squared)

第2步

初始化必要的變數並呼叫優化器來定義和呼叫相應的函式。

init = tf.initialize_all_variables()

def optimize():
   with tf.Session() as session:
      session.run(init)
      print("starting at", "x:", session.run(x), "log(x)^2:", session.run(log_x_squared))

      for step in range(10):
         session.run(train)
         print("step", step, "x:", session.run(x), "log(x)^2:", session.run(log_x_squared))
optimize()

上面的程式碼行生成一個輸出,如下面的螢幕截圖所示 -

TensorFlow梯度下降優化輸出結果

可以看到必要的時期和疊代的計算如上面輸出中所示。