1
我一直試圖在Octave中實現Neighbourhood Component Analysis (NCA)算法,但顯然我的代碼出了問題,我無法弄清楚它是什麼。在Octave/Matlab中實現的相鄰組件分析
注:我使用卡爾·愛德華·拉斯穆森minimize
功能的負最大化˚F。
注2:我使用測試數據是在UCI機器學習存儲庫中的Wine dataset。
我一直試圖在Octave中實現Neighbourhood Component Analysis (NCA)算法,但顯然我的代碼出了問題,我無法弄清楚它是什麼。在Octave/Matlab中實現的相鄰組件分析
注:我使用卡爾·愛德華·拉斯穆森minimize
功能的負最大化˚F。
注2:我使用測試數據是在UCI機器學習存儲庫中的Wine dataset。
在一些外部幫助下,我已經得到了問題的答案。問題是,我是假設錯誤數據點的差別在於向量積我和Ĵ應該是列向量,而不是相反的行向量:
那麼什麼是你的NCA的看法?我還爲HeuristicLab做了實現,並且還增加了使用我在LNCS文章中找到的正則化術語的可能性。我確實發現NCA有時只是把所有的觀點延伸得很遠。但最大的問題是運行時間。梯度計算非常昂貴。 – Andreas
是的,完全同意這些缺點。然而,我發現該算法非常有用(它實際上感覺有點僞作弊),但它對於可視化目的非常有用,並且通過所得到的線性變換給出了某種有用的信息。 – User3419