1. 請簡要介紹下tensorflow的計算圖
Tensorflow是一個通過計算圖的形式來表述計算的編程系統,計算圖也叫數據流圖,可以把計算圖看做是一種有向圖,Tensorflow中的每一個節點都是計算圖上的一個Tensor, 也就是張量,而節點之間的邊描述了計算之間的依賴關係(定義時)和數學操作(運算時)。如下圖表示:
a=x*y; b=a+z; c=tf.reduce_sum(b);
2. 在k-means或kNN,我們常用歐氏距離來計算最近的鄰居之間的距離,有時也用曼哈頓距離,請對比下這兩種距離的差別。
歐氏距離,最常見的兩點之間或多點之間的距離表示法,又稱之爲歐幾里得度量,它定義於歐幾里得空間中,如點 和 之間的距離爲:
歐氏距離雖然很有用,但也有明顯的缺點。它將樣品的不同屬性(即各指標或各變量量綱)之間的差別等同看待,這一點有時不能滿足實際要求。例如,在教育研究中,經常遇到對人的分析和判別,個體的不同屬性對於區分個體有着不同的重要性。因此,歐氏距離適用於向量各分量的度量標準統一的情況。
如圖所示,曼哈頓距離,在歐幾里得空間的固定直角座標系上兩點所形成的線段對軸產生的投影的距離總和。例如在平面上,座標的點與座標的點的曼哈頓距離爲: