TensorFlow學(xué)習(xí)01-SoftmaxRegression識別手寫數(shù)字

SoftmaxRegression識別手寫數(shù)字

整個神經(jīng)網(wǎng)絡(luò)的流程:

定義算法公式,也就是神經(jīng)網(wǎng)絡(luò)的forward時的計算

定義loss庶香,選定優(yōu)化器,并指定優(yōu)化器優(yōu)化loss

迭代地對數(shù)據(jù)進(jìn)行訓(xùn)練

在測試集或驗證集上對準(zhǔn)確率進(jìn)行評測

Logistic回歸的回顧(二分類)

在Logistic回歸中比較重要的有兩個公式,一個是階躍函數(shù):

階躍函數(shù)

另一個是對應(yīng)的損失函數(shù)

損失函數(shù)

最終号杏,Logistic回歸需要求出的是2個概率:

Logistic回歸求出的2個概率

Softmax Regression 求k個概率(多分類):機(jī)器學(xué)習(xí)中把某類的特征,然后將特征轉(zhuǎn)化為判定某一類的概率。

tf.InteractiveSession()會將這個Session注冊為默認(rèn)的session盾致。

placeholder()輸入數(shù)據(jù)的地方主经,第一個參數(shù)是數(shù)據(jù)類型,第二個是shape數(shù)據(jù)的尺寸[None, 784]庭惜,None代表不限條數(shù)的輸入罩驻,784維的向量

為w,b創(chuàng)建Variable對象护赊,在模型迭代訓(xùn)練中是持久化的惠遏,而tensor一旦被用掉就會消失。

tensorflow最好的地方不是定義公式骏啰,而是將forward和backward的內(nèi)容自動實現(xiàn)节吮,只要接下來定義好loss,訓(xùn)練的時候會自動求導(dǎo)并進(jìn)行梯度下降器一,完成對Softmax Regression模型參數(shù)的自動學(xué)習(xí)课锌。

需要定義一個loss function來描述模型對問題的分類精度。Loss越小祈秕,與真實偏差越小渺贤,訓(xùn)練的目的就是減小loss。

對于多分類请毛,通常使用cross-entropy(交叉熵)最為loss function志鞍。

cross-entropy(交叉熵)

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

tf.reduce_sum()求和,tf.reduce_mean()求平均值

每個被定義的公式只是個節(jié)點(diǎn)方仿,只有調(diào)用run()方法的時候才會啟動

代碼:

mnistSoftmaxRegression.py

import tensorflow as tf

from tensorflow.examples.tutorials.mnist import input_data

# one_hot是10維的向量

mnist = input_data.read_data_sets("MNIST-data/", one_hot=True)

# 查看一下數(shù)據(jù)集的情況

# print(mnist.train.image.shape, mnist.train.labels.shape)

# print(mnist.test.image.shape, mnist.test.labels.shape)

# print(mnist.validation.image.shape, mnist.validation.labels.shape)

sess = tf.InteractiveSession()

x = tf.placeholder(tf.float32, [None, 784])

W = tf.Variable(tf.zeros([784, 10]))

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

y = tf.nn.softmax(tf.matmul(x, W) + b)

# 定義cross-entropy

y_ = tf.placeholder(tf.float32, [None,10])

# 用一個placeholder 輸入真實的label固棚,y_ * tf.log(y)就是計算yi*log(yi)

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

# 然后定義一個隨機(jī)梯度下降算法SGD(Stochastic Dradient Desent)

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

# 全局參數(shù)初始化

tf.global_variables_initializer().run()

for i in range(10000):

batch_xs, batch_ys = mnist.train.next_batch(100)

train_step.run({x: batch_xs, y_:batch_ys})

if i % 1000 == 0:

print(i)

# 對模型的準(zhǔn)確率進(jìn)行驗證tf.argmax(y, 1)預(yù)測的最大值,和樣本的真實數(shù)字比較

correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))

# 用tf.cast將correct_prediction輸出的bool值轉(zhuǎn)換為float32

accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

#

print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仙蚜,一起剝皮案震驚了整個濱河市此洲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌委粉,老刑警劉巖呜师,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贾节,居然都是意外死亡汁汗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門栗涂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來知牌,“玉大人,你說我怎么就攤上這事斤程〗谴纾” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袭厂。 經(jīng)常有香客問我墨吓,道長,這世上最難降的妖魔是什么纹磺? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任帖烘,我火速辦了婚禮,結(jié)果婚禮上橄杨,老公的妹妹穿的比我還像新娘秘症。我一直安慰自己,他們只是感情好式矫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布乡摹。 她就那樣靜靜地躺著,像睡著了一般采转。 火紅的嫁衣襯著肌膚如雪聪廉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天故慈,我揣著相機(jī)與錄音板熊,去河邊找鬼。 笑死察绷,一個胖子當(dāng)著我的面吹牛干签,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拆撼,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼容劳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闸度?” 一聲冷哼從身側(cè)響起竭贩,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莺禁,沒想到半個月后留量,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡睁宰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年肪获,在試婚紗的時候發(fā)現(xiàn)自己被綠了寝凌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柒傻。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖较木,靈堂內(nèi)的尸體忽然破棺而出红符,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布预侯,位于F島的核電站致开,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏萎馅。R本人自食惡果不足惜双戳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糜芳。 院中可真熱鬧飒货,春花似錦、人聲如沸峭竣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽皆撩。三九已至扣墩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扛吞,已是汗流浹背呻惕。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喻粹,地道東北人蟆融。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像守呜,于是被迫代替她去往敵國和親型酥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容