簡單分類模型,之後會加隱藏層

2021-09-27 10:18:24 字數 2176 閱讀 5494

附乙個**

import tensorflow as tf

from tensorflow.examples.tutorials.mnist import input_data

#載入資料集

mnist = input_data.read_data_sets(

"mnist_data"

,one_hot=

true

)#每個批次的大小

batch_size =

100#可修改

#計算一共有多少個批次

n_batch = mnist.train.num_examples // batch_size

#定義兩個placeholder

x = tf.placeholder(tf.float32,

[none

,784])

#可加隱藏層

y = tf.placeholder(tf.float32,

[none,10

])#建立乙個簡單的神經網路

w = tf.variable(tf.zeros(

[784,10

]))#可修改初始化函式w = tf.variable(tf.truncated_normal([784,2000],stddev=0.1))

b = tf.variable(tf.zeros([10

]))prediction = tf.nn.softmax(tf.matmul(x,w)

+ b)

#prediction = tf.nn.softmax(tf.matmul(x,w) + b)

#prediction = tf.nn.softplus(tf.matmul(x,w) + b)

#prediction = tf.nn.sigmoid(tf.matmul(x,w) + b)

#prediction = tf.nn.elu(tf.matmul(x,w) + b)

#prediction = tf.nn.relu(tf.matmul(x,w) + b)

#定義乙個二次代價函式

# loss = tf.reduce_mean(tf.square(y-prediction))#改換交叉熵

#交叉熵代價函式

loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=prediction)

)#不求平均值難收斂

#使用梯度下降法

train_step = tf.train.gradientdescentoptimizer(

0.2)

.minimize(loss)

#可改學習率

#初始化變數

init = tf.global_variables_initializer(

)#結果存放在乙個bool型列表中

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

,tf.argmax(prediction,1)

)#argmax()返回一維張量中最大的值所在的位置

#求準確率

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

)with tf.session(

)as sess:

sess.run(init)

for epoch in

range(21

):#可修改迭代次數

for batch in

range

(n_batch)

: batch_xs,batch_ys = mnist.train.next_batch(batch_size)

sess.run(train_step,feed_dict=

)

acc = sess.run(accuracy,feed_dict=

)print

("iter "

+str

(epoch)

+",testing accurary "

+str

(acc)

)#記住整型不可直接print加上str()轉換

在這裡插入**片

簡單的分類模型

分類模型是文字分類的核心技術,大體上文字分類模型可以分為兩種 基於規則的文字分類和基於統計的文字分類。在基於規則的分類技術中首先需要根據某種假設 建立起可用於分類的規則,該規則包括了文字的表示方法,類別的表示方法,文字與類別的對映方式等等,之後通過訓練過程來完成規則的完善和調整,訓練後則可 以使用該...

分類模型和回歸模型

分類 概念 對於分類問題,監督學習從資料中學習乙個分類模型或者分類決策函式,稱為分類器。分類器對新的輸入 其屬於哪一類別,稱為分類。優化過程 找到最優決策面 輸出 離散值,如0 1,yes no 評價指標 一般是精確率,即給定測試資料集,分類器能正確分類的樣本數佔總樣本數的比。模型損失函式 交叉熵損...

話題模型分類

topic model 是一種應用十分廣泛的產生式模型 generative model 在ir,nlp,ml都有廣泛的應用,本文將對目前已有的topic model進行分類總結,然後選擇幾個代表性的topic model進行較為詳細的介紹,從而理解topic model 的思想,以及怎麼應用。to...