最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用tensorflow構(gòu)建線性回歸模型的示例代碼

 更新時(shí)間:2018年03月05日 09:10:20   作者:freedom098  
本篇文章主要介紹了用tensorflow構(gòu)建線性回歸模型的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

用tensorflow構(gòu)建簡(jiǎn)單的線性回歸模型是tensorflow的一個(gè)基礎(chǔ)樣例,但是原有的樣例存在一些問(wèn)題,我在實(shí)際調(diào)試的過(guò)程中做了一點(diǎn)自己的改進(jìn),并且有一些體會(huì)。

首先總結(jié)一下tf構(gòu)建模型的總體套路

1、先定義模型的整體圖結(jié)構(gòu),未知的部分,比如輸入就用placeholder來(lái)代替。

2、再定義最后與目標(biāo)的誤差函數(shù)。

3、最后選擇優(yōu)化方法。

另外幾個(gè)值得注意的地方是:

1、tensorflow構(gòu)建模型第一步是先用代碼搭建圖模型,此時(shí)圖模型是靜止的,是不產(chǎn)生任何運(yùn)算結(jié)果的,必須使用Session來(lái)驅(qū)動(dòng)。

2、第二步根據(jù)問(wèn)題的不同要求構(gòu)建不同的誤差函數(shù),這個(gè)函數(shù)就是要求優(yōu)化的函數(shù)。

3、調(diào)用合適的優(yōu)化器優(yōu)化誤差函數(shù),注意,此時(shí)反向傳播調(diào)整參數(shù)的過(guò)程隱藏在了圖模型當(dāng)中,并沒(méi)有顯式顯現(xiàn)出來(lái)。

4、tensorflow的中文意思是張量流動(dòng),也就是說(shuō)有兩個(gè)意思,一個(gè)是參與運(yùn)算的不僅僅是標(biāo)量或是矩陣,甚至可以是具有很高維度的張量,第二個(gè)意思是這些數(shù)據(jù)在圖模型中流動(dòng),不停地更新。

5、session的run函數(shù)中,按照傳入的操作向上查找,凡是操作中涉及的無(wú)論是變量、常量都要參與運(yùn)算,占位符則要在run過(guò)程中以字典形式傳入。

以上時(shí)tensorflow的一點(diǎn)認(rèn)識(shí),下面是關(guān)于梯度下降的一點(diǎn)新認(rèn)識(shí)。

1、梯度下降法分為批量梯度下降和隨機(jī)梯度下降法,第一種是所有數(shù)據(jù)都參與運(yùn)算后,計(jì)算誤差函數(shù),根據(jù)此誤差函數(shù)來(lái)更新模型參數(shù),實(shí)際調(diào)試發(fā)現(xiàn),如果定義誤差函數(shù)為平方誤差函數(shù),這個(gè)值很快就會(huì)飛掉,原因是,批量平方誤差都加起來(lái)可能會(huì)很大,如果此時(shí)學(xué)習(xí)率比較高,那么調(diào)整就會(huì)過(guò),造成模型參數(shù)向一個(gè)方向大幅調(diào)整,造成最終結(jié)果發(fā)散。所以這個(gè)時(shí)候要降低學(xué)習(xí)率,讓參數(shù)變化不要太快。

2、隨機(jī)梯度下降法,每次用一個(gè)數(shù)據(jù)計(jì)算誤差函數(shù),然后更新模型參數(shù),這個(gè)方法有可能會(huì)造成結(jié)果出現(xiàn)震蕩,而且麻煩的是由于要一個(gè)個(gè)取出數(shù)據(jù)參與運(yùn)算,而不是像批量計(jì)算那樣采用了廣播或者向量化乘法的機(jī)制,收斂會(huì)慢一些。但是速度要比使用批量梯度下降要快,原因是不需要每次計(jì)算全部數(shù)據(jù)的梯度了。比較折中的辦法是mini-batch,也就是每次選用一小部分?jǐn)?shù)據(jù)做梯度下降,目前這也是最為常用的方法了。

3、epoch概念:所有樣本集過(guò)完一輪,就是一個(gè)epoch,很明顯,如果是嚴(yán)格的隨機(jī)梯度下降法,一個(gè)epoch內(nèi)更新了樣本個(gè)數(shù)這么多次參數(shù),而批量法只更新了一次。

以上是我個(gè)人的一點(diǎn)認(rèn)識(shí),希望大家看到有不對(duì)的地方及時(shí)批評(píng)指針,不勝感激!

#encoding=utf-8 
__author__ = 'freedom' 
import tensorflow as tf 
import numpy as np 
 
def createData(dataNum,w,b,sigma): 
 train_x = np.arange(dataNum) 
 train_y = w*train_x+b+np.random.randn()*sigma 
 #print train_x 
 #print train_y 
 return train_x,train_y 
 
def linerRegression(train_x,train_y,epoch=100000,rate = 0.000001): 
 train_x = np.array(train_x) 
 train_y = np.array(train_y) 
 n = train_x.shape[0] 
 x = tf.placeholder("float") 
 y = tf.placeholder("float") 
 w = tf.Variable(tf.random_normal([1])) # 生成隨機(jī)權(quán)重 
 b = tf.Variable(tf.random_normal([1])) 
 
 pred = tf.add(tf.mul(x,w),b) 
 loss = tf.reduce_sum(tf.pow(pred-y,2)) 
 optimizer = tf.train.GradientDescentOptimizer(rate).minimize(loss) 
 init = tf.initialize_all_variables() 
 
 sess = tf.Session() 
 sess.run(init) 
 print 'w start is ',sess.run(w) 
 print 'b start is ',sess.run(b) 
 for index in range(epoch): 
  #for tx,ty in zip(train_x,train_y): 
   #sess.run(optimizer,{x:tx,y:ty}) 
  sess.run(optimizer,{x:train_x,y:train_y}) 
  # print 'w is ',sess.run(w) 
  # print 'b is ',sess.run(b) 
  # print 'pred is ',sess.run(pred,{x:train_x}) 
  # print 'loss is ',sess.run(loss,{x:train_x,y:train_y}) 
  #print '------------------' 
 print 'loss is ',sess.run(loss,{x:train_x,y:train_y}) 
 w = sess.run(w) 
 b = sess.run(b) 
 return w,b 
 
def predictionTest(test_x,test_y,w,b): 
 W = tf.placeholder(tf.float32) 
 B = tf.placeholder(tf.float32) 
 X = tf.placeholder(tf.float32) 
 Y = tf.placeholder(tf.float32) 
 n = test_x.shape[0] 
 pred = tf.add(tf.mul(X,W),B) 
 loss = tf.reduce_mean(tf.pow(pred-Y,2)) 
 sess = tf.Session() 
 loss = sess.run(loss,{X:test_x,Y:test_y,W:w,B:b}) 
 return loss 
 
if __name__ == "__main__": 
 train_x,train_y = createData(50,2.0,7.0,1.0) 
 test_x,test_y = createData(20,2.0,7.0,1.0) 
 w,b = linerRegression(train_x,train_y) 
 print 'weights',w 
 print 'bias',b 
 loss = predictionTest(test_x,test_y,w,b) 
 print loss 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用python實(shí)現(xiàn)一個(gè)文件搜索工具

    用python實(shí)現(xiàn)一個(gè)文件搜索工具

    大家好,本篇文章主要講的是用python實(shí)現(xiàn)一個(gè)搜索工具,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • python解釋器安裝教程的方法步驟

    python解釋器安裝教程的方法步驟

    這篇文章主要介紹了python解釋器安裝教程的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python實(shí)現(xiàn)圖數(shù)據(jù)處理的完整指南

    Python實(shí)現(xiàn)圖數(shù)據(jù)處理的完整指南

    圖是一種非常重要的數(shù)據(jù)結(jié)構(gòu),在Python中,我們可以使用鄰接矩陣來(lái)表示圖,這篇文章主要為大家介紹了Python實(shí)現(xiàn)圖數(shù)據(jù)處理的相關(guān)知識(shí),需要的可以參考下
    2024-04-04
  • Python操作Jira庫(kù)常用方法解析

    Python操作Jira庫(kù)常用方法解析

    這篇文章主要介紹了Python操作Jira庫(kù)常用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python實(shí)現(xiàn)PID算法及測(cè)試的例子

    python實(shí)現(xiàn)PID算法及測(cè)試的例子

    今天小編就為大家分享一篇python實(shí)現(xiàn)PID算法及測(cè)試的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Django靜態(tài)資源URL STATIC_ROOT的配置方法

    Django靜態(tài)資源URL STATIC_ROOT的配置方法

    這篇文章主要介紹了Django靜態(tài)資源URL STATIC_ROOT的配置方法,本文給出配置方法和兩種使用方法,需要的朋友可以參考下
    2014-11-11
  • python調(diào)用百度REST API實(shí)現(xiàn)語(yǔ)音識(shí)別

    python調(diào)用百度REST API實(shí)現(xiàn)語(yǔ)音識(shí)別

    這篇文章主要為大家詳細(xì)介紹了python調(diào)用百度REST API實(shí)現(xiàn)語(yǔ)音識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python實(shí)現(xiàn)求兩個(gè)字符串的最長(zhǎng)公共子串方法

    python實(shí)現(xiàn)求兩個(gè)字符串的最長(zhǎng)公共子串方法

    今天小編就為大家分享一篇python實(shí)現(xiàn)求兩個(gè)字符串的最長(zhǎng)公共子串方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解

    python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解

    今天小編就為大家分享一篇python實(shí)現(xiàn)差分隱私Laplace機(jī)制詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白

    python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量轉(zhuǎn)換圖片為黑白,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06

最新評(píng)論

凤翔县| 婺源县| 罗城| 固始县| 肥城市| 台南市| 宜良县| 榆中县| 柘城县| 和政县| 怀远县| 阿鲁科尔沁旗| 木兰县| 辽阳县| 洛川县| 土默特左旗| 桂阳县| 南溪县| 马鞍山市| 通州市| 民勤县| 遂宁市| 厦门市| 柯坪县| 泰顺县| 德江县| 河间市| 柯坪县| 阿拉善左旗| 新闻| 云浮市| 涡阳县| 凯里市| 山东| 南安市| 青州市| 和平县| 资中县| 铜川市| 武清区| 迁西县|