tensorflow學習筆記(三)——神經網路的優化過程

2020-08-13 12:34:25

函數引入

# 條件語句爲真時返回A,條件爲假時返回B
tf.where(條件語句,A,B)

# 範例
import tensorflow as tf
a = tf.constant([1,2,3,1,2])
b = tf.constant([2,4,5,7,1])
c = tf.where(tf.greater(a,b),1,-1)
print(c)
# 返回一個[0,1)之間的亂數。不傳維度參數,返回一個標量
np.random.RandomState.rand(維度)

# 範例
import numpy as np
RS = np.random.RandomState(seed=1)
a = RS.rand()
b = RS.rand(2,3)
print(a)
print(b)

在这里插入图片描述

# 兩個陣列縱向疊加
np.vstack(陣列1,陣列2)

# 範例
a1 = np.array([1,2,3])
a2 = np.array([4,5,6])
merge = np.vstack((a1,a2))
print(merge)

在这里插入图片描述

# 生成多維陣列,每一維採用「起始值:終止值:步長」
np.mgrid[1,2,...,第n維]

# 將變數的維度進行展開,變爲一維陣列
變數.ravel()

# 使其中的陣列進行配對
np.c[陣列1,陣列2,...,陣列n]

# 範例
x,y = np.mgrid[2:5:1,2:10:2]
res = np.c_[x.ravel(),y.ravel()]
print(res)

在这里插入图片描述

啓用函數

傳送門

損失函數

均方誤差

公式:
在这里插入图片描述

其中:
n:數據個數
y:真實值
y _:預測值

loss_mes = tf.reduce_mean(tf.square(y,y_))
# tf.reduce_mean:累加求平均
# tf.square:兩數之差的平方

交叉熵損失函數

公式:
在这里插入图片描述

tf.losses.categorical_crossentropy(預測值,準確值)

softmax與交叉熵結合

tf.nn.softmax_cross_entropy_with_logits(預測值,準確值)