Tensor flow小案例 01單變數線性回歸

2021-08-28 13:20:30 字數 1352 閱讀 2074

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

#源資料

#從1到10,分為100等分

data_x = np.linspace(1, 10, 100)

#噪音,使資料更加真實,均值為0,標準差為1.5

noise = np.random.normal(0, 1.5, data_x.shape)

#定義函式,y = -5x + 20

data_y = data_x * -5 + 20 + noise

#定義變數

#x,y作為輸入值

x = tf.placeholder(tf.float32)

y = tf.placeholder(tf.float32)

#w為權重,相當於斜率,b為偏移量

w = tf.variable(tf.zeros([1]))

b = tf.variable(tf.zeros([1]))

#y的**值,y = xw + b

y_prediction = tf.add(tf.multiply(x, w), b)

#定義損失函式

loss = tf.reduce_sum(tf.square(y - y_prediction))

#定義學習率,注意一定不要太大了,否則不會收斂

ratelearning = 0.0001

#定義訓練方法,使得loss最小化(這裡是梯度下降,還有其他更好的訓練方法,以後介紹)

train = tf.train.gradientdescentoptimizer(ratelearning).minimize(loss)

sess = tf.session()

#初始化所有變數

init = tf.global_variables_initializer()

sess.run(init)

#訓練1000次

for i in range(1000):

sess.run(train, feed_dict=)

#得到w,b

w, b = sess.run([w, b])

#畫出源資料的散點圖

plt.scatter(data_x, data_y, color = 'b')

#畫出**直線

TensorFlow機器學習小案例(五)

1 損失函式 表示用來 值與已知答案進行比較差距,在神經訓練網路時,通過不斷改變神經所有引數,使損失函式不斷減少。從而提高準確率的神經網路模型。2 學習率 進行更新引數,學習率大了,優化的引數不怎麼改變,學習率小,優化引數變化大,影響誤差。3 滑動平均 增強滑動增強模型的泛化能力。4 正則化 在損失...

使用tensorflow的乙個小案例

那 就用tensorflow來解決這個問題!一些基礎資訊 1.系統是ubuntu 16.04 lts 2.我用的是sublime text3來寫的 3.python用的是3.5 4.tensorflow用的是0.12.0 匯入依賴庫 import numpy as np 這是python的一種開源的...

tensorflow學習日記 01

命令列引數 全域性環境下編寫 import tensorflow as tf flags tf.flags flags 是乙個檔案 flags.py,用於處理命令列引數的解析g工作 logging tf.logging 呼叫flags內部的define string行數來制定解析規則 flags.d...