計算機實現的隨機數生成通常為偽隨機數生成器,為了使得具備隨機性的**最終的結果可復現,需要設定相同的種子值;
np.random
.randn(…) ⇒
rng = np.random
.randomstate(123)
rng.randn(…)
從均勻分布[low,high)中取樣
numpy.random
.uniform(low=0.0, high=1.0, size=none)
#在[1,5)中進行取樣,生成2行3列的矩陣
>>>import numpy as np
>>>print(np.random.uniform(1, 5, (2, 3)))
[[ 3.86929057 1.6650755 4.21656753]
[ 3.64720615 4.42138963 2.78659527]]
在[0,1)均勻分布中取樣
>>>import numpy as np
>>>print(np.random.rand(1, 5)
[[ 0.85000923 0.65510205 0.44457559 0.0549795 0.66601253]]
隨機數生成器(保證每次初始化的結果一樣)
>>>import numpy as np
>>>rdm=np.random.randomstate(1)
>>>print(rdm.rand(2,3))
[[ 4.17022005e-01 7.20324493e-01 1.14374817e-04]
[ 3.02332573e-01 1.46755891e-01 9.23385948e-02]]
tensorflow有一類在在tensor的某一維度上求值的函式
1. 求最大值
2.求平均值tf.reduce_max(input_tensor, reduction_indices=none, keep_dims=false, name=none)
input_tensor
:待求的值
reduction_indices
:在哪一維上求解
tf.reduce_mean(input_tensor, reduction_indices=none, keep_dims=false, name=none)
import tensorflow as tf
x = tf.constant([[1, 2], [3, 4]],dtype=tf.float32)
with tf.session() as sess:
print('x:\n',sess.run(x))
print('第1維方向均值:\n', sess.run(tf.reduce_mean(x, 0)))
print('第2維方向均值:\n',sess.run(tf.reduce_mean(x, 1)))
結果:
x:
[[ 1. 2.]
[ 3. 4.]]
第1維方向均值:
[ 2.
3.]第2維方向均值:
[ 1.5
3.5]
示例
效果tf.reduce_mean(x)==> 2.5
如果不指定第二個引數,那麼就在所有的元素中取平均值
tf.reduce_mean(x, 0) ==> [2., 3.]
指定第二個引數為0,則第一維的元素取平均值,即每一列求平均值
tf.reduce_mean(x, 1) ==> [1.5, 3.5]
指定第二個引數為1,則第二維的元素取平均值,即每一行求平均值
Tensorflow之基礎函式解析1
1.tf.argmax tf.argmax就是返回最大的那個數值所在的下標,axis 0 按列比較 axis 1 按行比較 2.tf.equal tf.equal a,b 是對比這兩個矩陣或者向量的相等的元素,如果是相等的那就返回true,反之返回false,返回的值的矩陣維度和a是一樣的 3.tf...
tensorflow基礎(構建線性回歸函式)
今天學習了tensorflow構建回歸曲線的知識,其中利用了梯度下降法來提高機器學習建立回歸曲線的正確率。在學習中自己按照其寫的 為 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt 隨機生成一千個點...
tensorflow框架基礎之優化 二
當神經網路得到的是乙個過擬合模型時,這個模型基本是沒什麼應用價值的,因為它的泛化效能非常不好 泛化即是,機器學習模型學習到的概念在它處於學習的過程中時模型沒有遇見過的樣本時候的表現,簡單理解為 能力 對一些 異常 資料過分的估計,而忽視了問題的整體規律。為避免過擬合,常採用的方式是新增正則化項,正則...