真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用tensorflow做線性回歸

本篇文章給大家分享的是有關(guān)如何用tensorflow做線性回歸,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計(jì),全網(wǎng)整合營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗(yàn)。我們擅長傾聽企業(yè)需求,挖掘用戶對(duì)產(chǎn)品需求服務(wù)價(jià)值,為企業(yè)制作有用的創(chuàng)意設(shè)計(jì)體驗(yàn)。核心團(tuán)隊(duì)擁有超過十載以上行業(yè)經(jīng)驗(yàn),涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)香港機(jī)房服務(wù)器托管、重慶App定制開發(fā)、手機(jī)移動(dòng)建站、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)整合營銷。

01

Tensorflow做線性回歸

前面實(shí)現(xiàn)過最小二乘法的線性回歸算法,梯度下降求解過程,詳見文章:

機(jī)器學(xué)習(xí)之線性回歸:算法兌現(xiàn)為python代碼

那么,借助tensorflow如何實(shí)現(xiàn)最小二乘法的線性回歸呢?基本的思路,首先生成擬合的數(shù)據(jù)集,然后構(gòu)建線性回歸的Graph,最后在Session中迭代train器,得到擬合的參數(shù)w和b,畫出擬合曲線。

1.1 生成擬合的數(shù)據(jù)集,數(shù)據(jù)集只含有一個(gè)特征,注意誤差項(xiàng)需要滿足高斯分布,其分布的代碼如下,首先導(dǎo)入3個(gè)庫,

import numpy as np

import tensorflow as tf

import matplotlib.pyplot as plt

#數(shù)據(jù)點(diǎn)100個(gè)

num_points = 100

vectors_set = []

for i in range(num_points):

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

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

    vectors_set.append([x1,y1])

 #特征x   

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

#標(biāo)簽值y

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

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

plt.show()

產(chǎn)生的數(shù)據(jù)分布如下所示:

如何用tensorflow做線性回歸

1.2 構(gòu)建線性回歸的Graph

w = tf.Variable(tf.random_uniform([1],-1.,1.),name='myw')

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

#經(jīng)過計(jì)算得出預(yù)估值

y = w * x_data + b

#以預(yù)估值y和實(shí)際值y_data之間的均方差作為損失

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

#采用梯度下降法來優(yōu)化參數(shù)

optimizer = tf.train.GradientDescentOptimizer(0.5)

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

1.3 在Session中運(yùn)行構(gòu)建好的Graph

#global_variables_initializer初始化Variable等變量

sess = tf.Session()

init = tf.global_variables_initializer()

sess.run(init)

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

#迭代20次train

for step in range(20):

    sess.run(train)

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

#寫入磁盤,提供tensorboard在瀏覽器中展示用

writer = tf.summary.FileWriter("./mytmp",sess.graph)

打印下w和b,損失值的變化情況,可以看到損失值從0.24降到0.0008.

如何用tensorflow做線性回歸

1.4繪制擬合曲線

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

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

plt.show()

如何用tensorflow做線性回歸

02

Tensorboard展示Graph

關(guān)于如何在tensorboard中展示構(gòu)建好的Graph,請參考文章,不再贅述,直接分析tensorflow繪制的graph.

TensorFlow筆記|Get Started

得到的Graph界面如下所示:

如何用tensorflow做線性回歸

Main Graph視圖放大版,數(shù)據(jù)從底部是如何經(jīng)過Operators,流動(dòng)到頂部的,大家可以順一下。

如何用tensorflow做線性回歸


以上就是如何用tensorflow做線性回歸,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文標(biāo)題:如何用tensorflow做線性回歸
URL鏈接:http://weahome.cn/article/jdhshj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部