**
## 神經網路的框架
也就是乙個 1輸入端,(自帶比照) 2.傳播層,也就是引數傳播 3.輸出層 沒了 這只是個工具。
**以下是手寫數字的訓練
```
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
shujuji = input_data.read_data_sets(r"d:\超算\手寫數字的資料集合\mnist_data", one_hot=true)
data_len = 100
data_n = shujuji.train.num_examples // data_len
x = tf.placeholder(tf.float32, [none, 784])
y = tf.placeholder(tf.float32, [none, 10])
w1 = tf.variable(tf.random.normal([784,500]))
pian1 = tf.variable(tf.zeros([500]))
result1 = tf.nn.sigmoid(tf.matmul(x,w1)+pian1)
w2 = tf.variable(tf.random.normal([500,500]))
pian2 = tf.variable(tf.zeros([500]))
result2 = tf.nn.sigmoid(tf.matmul(result1,w2)+pian2)
w3 = tf.variable(tf.random.normal([500,500]))
pian3 = tf.variable(tf.zeros([500]))
result3 = tf.nn.sigmoid(tf.matmul(result2,w3)+pian3)
w4 = tf.variable(tf.random.normal([500,500]))
pian4 = tf.variable(tf.zeros([500]))
result4 = tf.nn.sigmoid(tf.matmul(result3,w4)+pian4)
w = tf.variable(tf.zeros([500, 10]))
pian = tf.variable(tf.zeros([10]))
result = tf.nn.softmax(tf.matmul(result4, w) + pian)
init = tf.global_variables_initializer()
train = tf.train.
gradientdescentoptimizer(0.01).minimize(tf.reduce_mean(tf.square(result - y)))
acc = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(y, 1), tf.argmax(result, 1)), tf.float32))
with tf.session() as sess:
sess.run(init)
for _ in range(100000):
for __ in range(data_n):
shuju, lable = shujuji.train.next_batch(data_len)
sess.run(train, feed_dict=)
if _ % 1 == 0:
print("i:", _,sess.run(acc, feed_dict=))
```
手寫數字識別 實戰 KNN演算法識別手寫數字
鄰近演算法,或者說k最近鄰 knn,k nearestneighbor 分類演算法是資料探勘分類技術中最簡單的方法之一。所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。下面是我學習knn演算法的思維導圖 其中距離的定義,各個距離的公式為 歐氏距離 n維空間的距...
KNN演算法識別手寫數字
前言 從現在開始博主要開始學習機器學習了,歡迎有共同興趣的人一起學習。廢話不多說了,開始上 一 將資料集csv檔案匯入到python中,並將csv格式轉為list格式 def dataset 讀取訓練集檔案路徑 path trains1.csv os.path.abspath machinelear...
KNN演算法識別手寫數字識別集
呼叫sklearn中knn演算法庫,資料級為matlab檔案,使用matplot讀取,並進行一維化處理 from scipy.io import loadmat as load import matplotlib.pyplot as plt from sklearn.neighbors import...