摘要:讓我們觀察一下這個例子中的損失函數到底長什么樣子。因此,我們可以通過梯度下降的方法求解使得損失函數達到最小值的。
機器學習基礎
線性回歸
邏輯回歸
Softmax分類
神經網絡
線性回歸 什么是回歸?
通俗地講:給定X1, X2, ..., Xn,通過模型或算法預測數值Y,即是回歸。如上圖所示。
例如,預測測試分數:
x(hours) | y(score) |
---|---|
10 | 90 |
9 | 80 |
3 | 50 |
2 | 30 |
以下面的數據闡述什么是線性回歸:
x | y |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
1.如下圖所示,我們把上述數據中的點(x, y)在坐標中描繪出來,可以發現(x,y)呈線性趨勢。
2.試圖用一條直線H(x)=wx+b去擬合坐標中的觀察值,例如圖中的3條直線。
那么,圖中的3條直線哪個能更好地擬合觀察值(x,y)呢?如下圖所示:我們可以用觀察值到直線的豎直距離的平方(H(x)-y)^2來衡量模型的擬合效果,如圖中的損失函數:cost。
讓我們觀察一下這個例子中的損失函數到底長什么樣子。如下圖所示:cost(W)為平滑可導的凸函數,在w=1處取得最小值。因此,我們可以通過梯度下降的方法求解使得損失函數達到最小值的W。
TensorFlow實現線性回歸1.添加線性節點H(x) = Wx + b
# 訓練數據集x,y x_train = [1, 2, 3] y_train = [1, 2, 3] W = tf.Variable(tf.random_normal([1]), name="weight") b = tf.Variable(tf.random_normal([1]), name="bias") # 線性假設 XW + b hypothesis = x_train * W + b
2.計算損失函數
cost = tf.reduce_mean(tf.square(hypothesis - y_train))
3.梯度下降
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01) train = optimizer.minimize(cost)
4.更新圖并獲取結果
# 開啟session會話 less = tf.Session() # 初始化全局變量 sess.run(tf.global_variables_initializer()) # 擬合直線 for step in range(2001): sess.run(train) if step % 20 == 0: print(step, sets.run(cost), sess.run(W), sets.run(b))
完整代碼:
import tensorflow as tf # 訓練數據集x,y x_train = [1, 2, 3] y_train = [1, 2, 3] W = tf.Variable(tf.random_normal([1]), name="weight") b = tf.Variable(tf.random_normal([1]), name="bias") # 線性假設 XW + b hypothesis = x_train * W + b # 損失函數 cost = tf.reduce_mean(tf.square(hypothesis - y_train)) # 梯度下降 optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01) train = optimizer.minimize(cost) # 開啟session會話 sess = tf.Session() # 初始化全局變量 sess.run(tf.global_variables_initializer()) # 擬合直線 for step in range(2001): sess.run(train) if step % 20 == 0: print(step, sess.run(cost), sess.run(W), sess.run(b))
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40968.html
摘要:圖和之間的關系圖例與各版本之間的環境依賴關系的原裝驅動并不支持,因此需要禁用掉并且重裝卡官方驅動。會有很多同學在不知道的情況下安裝了,最后導致和無法使用或者無法安裝等問題。 ...
當談到機器學習模型訓練和部署時,TensorFlow是最流行的框架之一。TensorFlow 2.0是TensorFlow的最新版本,它提供了許多新的功能和改進,使得模型訓練和部署更加容易和高效。在這篇文章中,我們將討論如何將TensorFlow 1.x代碼遷移到TensorFlow 2.0。 1. 張量(Tensors)和變量(Variables)的改變 在TensorFlow 1.x中,我...
摘要:簡介是針對移動設備和嵌入式設備的輕量化解決方案,占用空間小,低延遲。支持浮點運算和量化模型,并已針對移動平臺進行優化,可以用來創建和運行自定義模型。此外,轉換的方式有兩種,的方式和命令行方式。生成為了將模型轉為,模型需要導出。 簡介 Tensorflow Lite是針對移動設備和嵌入式設備的輕量化解決方案,占用空間小,低延遲。Tensorflow Lite在android8.1以上的設...
閱讀 1297·2021-11-22 09:34
閱讀 2161·2021-10-08 10:18
閱讀 1724·2021-09-29 09:35
閱讀 2452·2019-08-29 17:20
閱讀 2137·2019-08-29 15:36
閱讀 3398·2019-08-29 13:52
閱讀 775·2019-08-29 12:29
閱讀 1183·2019-08-28 18:10