TensorFlow學習3:創(chuàng)建一個簡單的神經(jīng)網(wǎng)絡

輔助知識:

深度學習算法更適合未標記數(shù)據(jù)状知,更適合強特征提然辔濉(深度框架),也更適合于模式識別(圖像饥悴、文本坦喘、音頻)

機器學習系統(tǒng)由三個主要部分組成,包括:

  • 模型:用來預測或識別的系統(tǒng)西设。
  • 參數(shù):模型做決定所使用的信號或因素瓣铣。
  • 學習器:這個系統(tǒng)通過檢查預測和實際輸出的差異來調整參數(shù),再對模型進行調整贷揽。

示例過程:

1棠笑,你想確認如果學生要在考試中取得好成績,最優(yōu)的學習時間會是多少禽绪。
2蓖救,輸入假設,即學習 5 個小時就可以取得好成績丐一。
3,系統(tǒng)根據(jù)假設生成模型淹冰。
4库车,輸入實際信息,即每個學生的學習時間和考試成績樱拴。
5柠衍,系統(tǒng)根據(jù)這些數(shù)據(jù)(訓練集)進行學習調整。
6晶乔,重復4-5步珍坊,直到接近真實。

神經(jīng)網(wǎng)絡的實現(xiàn)過程

1正罢,準備數(shù)據(jù)集阵漏,提取特征作為輸入喂給神經(jīng)網(wǎng)絡(Neural Network,NN)
2,搭建 NN 結構履怯,從輸入到輸出(先搭建計算圖再用會話執(zhí)行)(NN前向傳播算法 ———— 計算輸出)
3回还,大量特征數(shù)據(jù)喂給 NN ,迭代優(yōu)化 NN 參數(shù)( NN 反向傳播算法 ———— 優(yōu)化參數(shù)訓練模型)
4叹洲,使用訓練好的模型預測和分類

運行過程:

神經(jīng)網(wǎng)絡計算過程

代碼示例1

#coding:utf-8
import tensorflow as tf

#定義輸入和參數(shù)
x=tf.placeholder(tf.float32,shape=(None,2))
w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))

#定義向前傳播過程
a=tf.matmul(x,w1)
y=tf.matmul(a,w2)

#用會話計算結果
with tf.Session() as sess:
    init_op=tf.initialize_all_variables()
    sess.run(init_op)
    print "y is:\n",sess.run(y,feed_dict={x:[[0.7,0.5],[0.2,0.3],[0.3,0.4],[0.4,0.5]]})

知識點

1柠硕,反向傳播:訓練模型參數(shù),在所有參數(shù)上用梯度下降运提,使NN模型在訓練數(shù)據(jù)上的損失函數(shù)最小蝗柔。
2,損失函數(shù)(loss):計算得到的預測值y與已知答案y_的差距民泵。
3癣丧,均方誤差MSE:求前向傳播計算結果與已知答案之差的平方再求平均。
4洪灯,學習率:決定每次參數(shù)更新的幅度坎缭。

示例代碼2

#coding:utf-8
import tensorflow as tf
import numpy as np
BATCH_SIZE=8
seed=23455

#基于seed產(chǎn)生隨機數(shù)
rng=np.random.RandomState(seed)
#隨機數(shù)返回32行2列的矩陣 表示32組 體積和重量 作為輸入數(shù)據(jù)集
X=rng.rand(32,2)
#從X這個32行2列的矩陣中 取出一行 判斷如果和小于1 給Y賦值1 如果和不小于1 給Y賦值0
#作為輸入數(shù)據(jù)集的標簽(正確答案)
Y=[[int(x0+x1<1)] for (x0,x1) in X]
print "X:\n",X
print "Y:\n",Y


#定義神經(jīng)網(wǎng)絡的輸入 參數(shù)和輸出,定義前向傳播過程签钩。
x=tf.placeholder(tf.float32,shape=(None,2))
y_=tf.placeholder(tf.float32,shape=(None,1))

w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))

#定義向前傳播過程
a=tf.matmul(x,w1)
y=tf.matmul(a,w2)

#定義損失函數(shù)及反向傳播方法
loss=tf.reduce_mean(tf.square(y-y_))
train_step=tf.train.GradientDescentOptimizer(0.001).minimize(loss)
#train_step=tf.train.MoentumOptimizer(0.001).minimize(loss)
#train_step=tf.train.AdamOptimizer(0.001).minimize(loss)

#生成會話掏呼,訓練STEPS輪
with tf.Session() as sess:
    init_op=tf.initialize_all_variables()
    sess.run(init_op)
    #輸出目前(未經(jīng)訓練)的參數(shù)取值
    print "w1:\n",sess.run(w1)
    print "w2:\n",sess.run(w2)
    print "\n"

    #訓練模型
    STEPS=3000
    for i in range(STEPS):
        start=(i*BATCH_SIZE)%32
        end=start+BATCH_SIZE
        sess.run(train_step,feed_dict={x: X[start:end],y_: Y[start:end]})
        if(i%500)==0:
            total_loss=sess.run(loss,feed_dict={x:X,y_:Y})
            print("After %d training step(s),loss on all data is %g"%(i,total_loss))
    #輸出訓練后的參數(shù)取值
    print "\n"
    print "w1:\n",sess.run(w1)
    print "w2:\n",sess.run(w2)

參考: 機器學習是如何運作的?谷歌來告訴你
參考: 為什么會有深度學習铅檩?如何看待憎夷?
參考: 人工智能實踐:Tensorflow筆記

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市昧旨,隨后出現(xiàn)的幾起案子拾给,更是在濱河造成了極大的恐慌,老刑警劉巖兔沃,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒋得,死亡現(xiàn)場離奇詭異,居然都是意外死亡乒疏,警方通過查閱死者的電腦和手機额衙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怕吴,“玉大人窍侧,你說我怎么就攤上這事∽粒” “怎么了伟件?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長议经。 經(jīng)常有香客問我斧账,道長谴返,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任其骄,我火速辦了婚禮亏镰,結果婚禮上,老公的妹妹穿的比我還像新娘拯爽。我一直安慰自己索抓,他們只是感情好,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布毯炮。 她就那樣靜靜地躺著逼肯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪桃煎。 梳的紋絲不亂的頭發(fā)上篮幢,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音为迈,去河邊找鬼三椿。 笑死,一個胖子當著我的面吹牛葫辐,可吹牛的內容都是我干的搜锰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼耿战,長吁一口氣:“原來是場噩夢啊……” “哼蛋叼!你這毒婦竟也來了?” 一聲冷哼從身側響起剂陡,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤狈涮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鸭栖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歌馍,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年晕鹊,在試婚紗的時候發(fā)現(xiàn)自己被綠了松却。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡捏题,死狀恐怖玻褪,靈堂內的尸體忽然破棺而出肉渴,到底是詐尸還是另有隱情公荧,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布同规,位于F島的核電站循狰,受9級特大地震影響窟社,放射性物質發(fā)生泄漏。R本人自食惡果不足惜绪钥,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一灿里、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧程腹,春花似錦匣吊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至见转,卻和暖如春命雀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背斩箫。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工吏砂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乘客。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓狐血,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寨典。 傳聞我的和親對象是個殘疾皇子氛雪,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內容