TensorFlow學習日記(4) 線性回歸方程

2022-06-09 02:33:09 字數 1558 閱讀 3661

今天進行了線性回歸方程的簡單程式設計,**如下:

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

#隨機生成1000個點,圍繞在y=0.1x+0.3的直線周圍

num_points=1000

vectors_set=

for i in range(num_points):

x1=np.random.normal(0.0,0.55)

y1=x1*0.1+0.3+np.random.normal(0.0,0.03)

#生成一些樣本

x_data=[v[0] for v in vectors_set]

y_data=[v[1] for v in vectors_set]

#plt.scatter(x_data,y_data,c='r')

#plt.show()

#生成一維的w矩陣,取值是[-1,1]之間的隨機數

w=tf.variable(tf.random_uniform([1],-1.0,1.0),name='w');

#生成一維的b矩陣,初始值為0

b=tf.variable(tf.zeros([1]),name='b')

#經計算得出預估值y

y=w*x_data+b

# 以預估值y和實際值y_data之間的均方誤差作為損失

loss=tf.reduce_mean(tf.square(y-y_data),name='loss')

# 採用梯度下降法來優化引數

optimizer=tf.train.gradientdescentoptimizer(0.5)

#訓練過程就是最小化這個誤差值

train=optimizer.minimize(loss,name='train')

sess=tf.session()

init=tf.global_variables_initializer()

sess.run(init)

#列印出初始化的w和b的值

print("初始化後的w=",sess.run(w),"b=",sess.run(b),"loss=",sess.run(loss))

#執行20次的訓練

for step in range(40):

sess.run(train)

#輸出訓練好的w和b

print("w=",sess.run(w),"b=",sess.run(b),"loss=",loss)

plt.scatter(x_data,y_data,c='r')

plt.plot(x_data,sess.run(w)*x_data+sess.run(b))

plt.show()

實驗截圖:

tensorflow學習日記 01

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

學習日記(4)

終於開始軟體設計了,昨天下午弄了一下午的圖象處理,終於有點成果了,用到的主要是vc 的mfc程式設計。下面總結一下 cfiledialog filedia false,null,null,null,t 自定義檔案型別 bmp bmp null 開啟檔案對話方塊函式 loadimage api函式,這...

AI學習日記4

學習知識 4.pandas 4.1 初識pandas pandas的優勢 了解 增強圖表可讀性 便捷的資料處理能力 讀取檔案方便 封裝了matplotlib numpy的畫圖和計算 4.2 pandas資料類 1.series 對應的是一維陣列 1.建立 pd.series 列表 陣列 字典 2.屬...