999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TensorFlow的線性回歸模擬及Python實(shí)現(xiàn)

2018-11-17 02:35:22劉玉坤邢立國
現(xiàn)代計(jì)算機(jī) 2018年29期
關(guān)鍵詞:深度模型

劉玉坤,邢立國

(平頂山學(xué)院計(jì)算機(jī)學(xué)院(軟件學(xué)院),平頂山 467000)

0 引言

在這個(gè)人工智能的時(shí)代,作為一個(gè)有理想抱負(fù)的程序員,或者學(xué)生、愛好者,不懂深度學(xué)習(xí)這個(gè)超熱的話題,似乎已經(jīng)跟時(shí)代脫節(jié)了[1]。深度學(xué)習(xí)目前已經(jīng)成為了人工智能領(lǐng)域的突出話題。它因在“自然語言處理”、“人機(jī)博弈”、“語音識(shí)別”的卓越表現(xiàn)而聞名,甚至為人類所不及。當(dāng)今對(duì)深度學(xué)習(xí)的關(guān)注度也在不斷攀升。在諸多深度學(xué)習(xí)系統(tǒng)中,TensorFlow是一款最受歡迎學(xué)習(xí)系統(tǒng)[2]。在本文介紹了TensorFlow,描述了一個(gè)線性回歸的案例及其Python實(shí)現(xiàn)。

1 TensorFlow簡(jiǎn)介

TensorFlow是2015年11月9日谷歌推出的開源機(jī)器學(xué)習(xí)框架,TensorFlow是由Jeff Dean為首的開發(fā)團(tuán)隊(duì)由第一代深度學(xué)習(xí)系統(tǒng)DistBilief改進(jìn)而來的。但是對(duì)于大規(guī)模的神經(jīng)網(wǎng)絡(luò)訓(xùn)練要求更大的部署空間,DistBilief已力不從心,TensorFlow允許用戶通過賦值和并行執(zhí)行一個(gè)核心的模型數(shù)據(jù)流圖來輕松實(shí)現(xiàn)多種并行度。其可以由許多不同的計(jì)算設(shè)備協(xié)作來更新一套共享參數(shù)或者其他狀態(tài)。因此好多用戶已經(jīng)轉(zhuǎn)向TensorFlow。這些用戶依靠TensorFlow進(jìn)行研究和生產(chǎn),其任務(wù)多種多樣,例如在手機(jī)上運(yùn)行計(jì)算機(jī)視覺模型的推理,以及使用數(shù)百個(gè)示例記錄對(duì)數(shù)千億個(gè)參數(shù)進(jìn)行深層神經(jīng)網(wǎng)絡(luò)的大規(guī)模訓(xùn)練。TensorFlow已經(jīng)成為世界上最受歡迎的開源機(jī)器學(xué)習(xí)框架,它支持的語言有C++、Python,它具有快速、靈活并適合產(chǎn)品級(jí)大規(guī)模應(yīng)用等特點(diǎn),同時(shí)TensorFlow也支持多系統(tǒng),主要的支持系統(tǒng)有 Linux、Mac OS X、Windows等,TensorFlow讓每個(gè)開發(fā)者和研究者都能方便地使用人工智能來解決多樣化的挑戰(zhàn)[3]。

2 線性回歸

在神經(jīng)網(wǎng)絡(luò)中,分類網(wǎng)絡(luò)的最終層通常包含某種形式的邏輯回歸算法,用于將連續(xù)數(shù)據(jù)轉(zhuǎn)換為形如0和1的虛擬變量(例如,在飛行員的選拔中,根據(jù)一些學(xué)生的身高、體重和健康情況判斷他們是否合格),而真正意義上的回歸算法則用于將一組連續(xù)的輸入映射至另一組連續(xù)的輸出[3]。描述兩個(gè)變量x和y之間關(guān)系的簡(jiǎn)單線性回歸模型可以用下面的方程表示y=a+bx+e,數(shù)字a和b稱為參數(shù),e是誤差項(xiàng)。在本次討論中為了簡(jiǎn)化模型。設(shè)計(jì)線性模型如下,假設(shè)一個(gè)模型的輸入y和xi滿足一下關(guān)系,y=+b,模型的輸出為輸入的加權(quán)和。下面通過TensorFlow來實(shí)現(xiàn)一元的線性回歸模型的訓(xùn)練,通過訓(xùn)練數(shù)據(jù),推測(cè)出線性回歸函數(shù)(y=w*x+b)中w和b的值,并通過驗(yàn)證數(shù)據(jù),驗(yàn)證得到的函數(shù)是否符合預(yù)期。

3 Python實(shí)現(xiàn)

(1)模塊引入

模塊是Python中的一個(gè)重要概念,Python的程序是由一個(gè)個(gè)模塊組成的。在使用一個(gè)模塊的函數(shù)或類之前,首先要導(dǎo)入該模塊[4]。首先引入TensorFlow模塊,為了清晰了解訓(xùn)練結(jié)果,引入繪圖表,引入測(cè)試數(shù)據(jù)模塊(此模塊代碼從略)。

import tensorflow as tf matplotlib.pyplot as pyp testdata as td

(2)得到訓(xùn)練數(shù)據(jù)

通過testData來模擬第三方接口,getTrainData得到訓(xùn)練數(shù)據(jù)參數(shù):dataLength(得到數(shù)據(jù)的個(gè)數(shù)),返回值:二維數(shù)組[0]代表 x(橫坐標(biāo)),[1]代表 y(縱坐標(biāo)),getValidateData得到驗(yàn)證數(shù)據(jù)參數(shù):dataLength得到數(shù)據(jù)的個(gè)數(shù)。

trainData=td.getTrainDate(200)

practice_x=[v[0]for v in trainData]

practice_y=[v[1]for v in trainData]

(3)構(gòu)造預(yù)測(cè)的線性回歸函數(shù)y=W*x+b

W=tf.Variable(tf.random_uniform([1]))

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

y=W*practice_x+b

cost=tf.reduce_mean(tf.square(y-practice_y))

(5)參數(shù)優(yōu)化。學(xué)習(xí)率(learning_rate)可理解為每一次梯度下降的步長,一般設(shè)置學(xué)習(xí)率小于0.1,此處我們?cè)O(shè)置為0.08。當(dāng)學(xué)習(xí)率過大時(shí),可能導(dǎo)致參數(shù)在最低點(diǎn)附近來回震蕩,始終到達(dá)不了最優(yōu)點(diǎn);當(dāng)學(xué)習(xí)率過小時(shí),前期梯度下降的速度極其慢,浪費(fèi)時(shí)間。所以最優(yōu)的方法是前期學(xué)習(xí)率設(shè)置大點(diǎn),讓梯度迅速下降,隨后慢慢將學(xué)習(xí)率減小,以求達(dá)到最優(yōu)點(diǎn)[5]。深度學(xué)習(xí)常見的是對(duì)于梯度的優(yōu)化,也就是說,優(yōu)化器最后其實(shí)就是各種對(duì)于梯度下降算法的優(yōu)化。在本程序中我們使 用 了 tf.GradientDescentOptimizer(learning_rate)函數(shù)。一般在上面這個(gè)函數(shù)的后面還會(huì)加一個(gè)最小化代價(jià)函數(shù),構(gòu)成深度學(xué)習(xí)中的訓(xùn)練對(duì)象。在TensorFlow中調(diào)整假設(shè)函數(shù),使用梯度下降算法找最優(yōu)解。

optimizer=tf.train.GradientDescentOptimizer(0.08)train=optimizer.minimize(cost)

with tf.Session()as sessio∶#初始化所有變量值

init=tf.global_variables_initializer()

sessio.run(init) #初始化W和b的值

print("cost=",sessio.run(cost),"W=",sessio.run(W),"b=",sessio.run(b))

for k in range(500)∶#循環(huán)運(yùn)行

sessio.run(train)

print("cost=",sessio.run(cost),"W=",sessio.run(W),"b=",sessio.run(b))輸出 W 和 b

print("訓(xùn)練完成")

pyp.plot(practice_x,practice_y,'ro',label='train data')#構(gòu)造圖形結(jié)構(gòu)

pyp.plot(practice_x,sessio.run(y),label='tain result')

pyp.legend()

pyp.show()

4 程序運(yùn)行界面效果

該程序運(yùn)行的結(jié)果效果如圖1所示。通過圖像顯示,使用TensorFlow進(jìn)行線性回歸模擬求解很好地實(shí)現(xiàn)一次函數(shù)的參數(shù)模擬求解,并且使用該一次函數(shù)求值并且加上隨機(jī)誤差的點(diǎn)均勻地分布在直線附近。非常直觀,見圖1:

圖1 效果模擬圖

5 結(jié)語

本文首先介紹了TensorFlow,之后給出了線性回歸的基本概念并利用TensorFlow實(shí)現(xiàn)了該模型,該算法可用于解決實(shí)際工作中的一些相關(guān)問題,具有一定的實(shí)際意義。掌握深度學(xué)習(xí)需要較強(qiáng)的理論功底,用好TensorFlow又需要足夠的實(shí)踐和解析。用TensorFlow實(shí)現(xiàn)的程序則有助于讀者更好地理解和把握該Tensor-Flow的基本思想和一個(gè)模型實(shí)現(xiàn)過程。本文能夠?yàn)槿腴T級(jí)的讀者帶來一個(gè)全新的體驗(yàn)。

猜你喜歡
深度模型
一半模型
深度理解一元一次方程
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
深度觀察
深度觀察
深度觀察
深度觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
主站蜘蛛池模板: 成人午夜视频免费看欧美| 日韩欧美中文字幕在线韩免费| 国产成人综合在线观看| 免费啪啪网址| 大陆精大陆国产国语精品1024| 亚洲熟女中文字幕男人总站| 亚洲伊人天堂| 美女无遮挡免费网站| 91免费国产高清观看| 国产对白刺激真实精品91| 强奷白丝美女在线观看| 国产97色在线| 在线99视频| 播五月综合| 狠狠ⅴ日韩v欧美v天堂| 精品国产成人a在线观看| 四虎精品国产AV二区| 久久一级电影| 韩国自拍偷自拍亚洲精品| 国产极品嫩模在线观看91| 91年精品国产福利线观看久久| 久久无码高潮喷水| 精品国产91爱| 欲色天天综合网| 亚洲一级色| 欧美中文字幕在线二区| 欧美成人免费午夜全| 永久免费无码日韩视频| 久久精品嫩草研究院| 91破解版在线亚洲| 亚洲无线一二三四区男男| 精品91在线| 亚洲欧美自拍中文| 欧美中文字幕第一页线路一| 99伊人精品| a在线观看免费| www.精品国产| 国产原创演绎剧情有字幕的| 国产成人免费| 强奷白丝美女在线观看| 一级毛片免费高清视频| 午夜不卡福利| 日韩欧美网址| 国产AV无码专区亚洲精品网站| 国产综合另类小说色区色噜噜 | 天堂网亚洲系列亚洲系列| 一级片免费网站| 国产手机在线观看| 亚洲欧美综合在线观看| 亚洲婷婷在线视频| 日本人妻一区二区三区不卡影院| 免费看a级毛片| 国产第一页免费浮力影院| 午夜精品福利影院| 美女无遮挡被啪啪到高潮免费| 国产成人成人一区二区| 99视频在线免费观看| 中文字幕永久在线观看| 午夜小视频在线| 色婷婷狠狠干| 免费看美女自慰的网站| 男女精品视频| 91在线无码精品秘九色APP| 91口爆吞精国产对白第三集| 国产美女主播一级成人毛片| 毛片久久久| 激情影院内射美女| 午夜福利在线观看成人| 精品国产中文一级毛片在线看| 成人在线观看不卡| 亚洲成a人片| 99热这里只有精品国产99| 国产青榴视频在线观看网站| 亚洲综合精品香蕉久久网| 成人在线亚洲| 91探花在线观看国产最新| 国产在线自揄拍揄视频网站| 久久a级片| 九九久久精品免费观看| 在线色综合| 欧美日韩久久综合| 国产在线97|