整個流程包括以下四部分:
1、定義演算法公式,也就是神經網路的forward時的計算 y=softmax(w.tx +b)
2、定義損失函式(h(y)=-∑y_log(y)),並制定優化器(梯度下降)
3、迭代的對資料進行訓練
4、在測試集或驗證集上對準確率進行評測
import tensorflow as tf
#匯入mnist模組
from tensorflow.examples.tutorials.mnist import input_data
#讀取mnist資料
mnist = input_data.read_data_sets("g:/tensorflow/mnist_data/",one_hot=true)
# x 是乙個佔位符,代表待識別的/tensor
x = tf.placeholder(tf.float32,[none,784])
# w 是softmax模型的引數,將784維的輸入轉換為10維,模型的引數用tf.variable表示
w = tf.variable(tf.zeros([784,10]))
b = tf.variable(tf.zeros([10]))
#y表示輸出
y = tf.nn.softmax(tf.matmul(x,w) + b)
#y_表示實際標籤
y_ = tf.placeholder(tf.float32,[none,10])
#根據y和y_構造交叉熵損失
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y)))
#利用梯度下降方法針對模型w和b進行優化,0.01代表學習速率
train_step = tf.train.gradientdescentoptimizer(0.01).minimize(cross_entropy)
#建立session,只有在session中才能執行優化步驟train_step
sess = tf.interactivesession()
#初始化所有變數,分配記憶體
tf.global_variables_initializer().run()
#進行1000步梯度下降
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
#在session中執行train_step,執行時要傳入佔位符的值
sess.run(train_step, feed_dict=)
#正確的**結果,比較**值和實際值
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
#算**準確率tf.cast將correct_prediction轉換為float32(false為0,true為1),tf.reduce_mean計算陣列中的所有元素的平均值,即分類準確率
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print( "setp: ", i, "accuracy: ",sess.run(accuracy, feed_dict=))
執行結果:
...
setp: 993 accuracy: 0.9188
setp: 994 accuracy: 0.9122
setp: 995 accuracy: 0.9089
setp: 996 accuracy: 0.9196
setp: 997 accuracy: 0.9142
setp: 998 accuracy: 0.914
setp: 999 accuracy: 0.9083
SoftMax回歸詳解
損失函式 梯度下降法求引數 omega b bb 實現與 logistic 回歸的關係 重點 關係 求導的關係 重點 from sklearn import datasets import numpy as np iris datasets.load iris 載入鳶尾花資料集 x iris dat...
線性回歸與softmax回歸的區別
線性回歸是一種回歸演算法,根據當前資料去學習直線的兩個引數。可以用輸入特徵維度為2輸出為1的單層神經網路來實現。線性回歸模型適 於輸出為連續值的情景 softmax回歸,是一種分類方法,模型輸出可以是 個 像影象類別這樣的離散值。對於這樣的離散值 問題,我們可以使 諸如softmax 回歸在內的 分...
邏輯回歸 交叉熵 softmax
softmax是一種歸一化函式,用於將向量中元素的值都歸一化0 1之間,並保持其加和為1。公示表達為 根據公式和可看出,前一層的啟用值越大,經過softmax函式後的值也就越大,又因為softmax的所有輸出加和為1,因此,常利用softmax層將啟用值與概率實現對映。多元分類 multi clas...