Day_061 tsn 和 資料視覺化部分
1. 在建構TSN模型時,裡面參數有,init='pca',但這兩個方法不是應該不同嗎?想請問說為何在建構模型參數時出現
manifold.TSNE(n_components=2, random_state=0, init='pca', learning_rate=200., early_exaggeration=12.)
2.在繪圖時出現以下的函數,首先為何要多這個運算式去繪畫方格,另外X[i]為(64,),而shown_images為(1,2),為何相互之間可以計算?謝謝~
dist = np.sum((X[i] - shown_images) ** 2, 1)
回答列表
-
2019/07/01 上午 08:53陳明佑 (Ming You Chen)贊同數:0不贊同數:0留言數:0
Ans1
這邊的init, 指的是初始化方法
因為pca計算簡單快速/t-sne較複雜
因此pca可以做為一種初始化方式, 有可能可以讓t-sne收斂到更好的解
但初始化不一定哪一種最好, 所以設為可調整的參數
建議同學可以經由閱讀官網文件說明, 了解更多的解釋與內容
Ans2
只要兩者形狀相同, 就可以運算
形狀的大小, 有時並不一定能從一兩行就能看出來
例如圖片的陣列可能是4維(圖片序號 / 長 / 寬 / RGB)
這時候你指定某張圖片, 出來的結果可能剩下3維, 灰階去掉RGB, 可能剩2維
所以要看形狀還是要以.shape為主, 不要只是自己猜想而已
-
2019/07/15 下午 01:59張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
t-SNE 的概念是透過先挑選一些點的方式做計算,迭代求出最佳的維度。但使用 t-SNE 的缺點的計算複雜度很高,原因是其算法是隨機挑選初始化種子,可以利用 PCA 來挑選初始點的方式來改善。
具體推討細節可以參考這篇:https://mropengate.blogspot.com/2019/06/t-sne.html