度量學(xué)習(xí)也可以認(rèn)為是相似度。knn最合適的是學(xué)習(xí)馬氏距離,怎么學(xué)?要給出先驗知識,哪兩個數(shù)據(jù)更相似,歐式距離不可靠。SVM也是metric learning的一種,因為kernel matrix就是相似度。state of art的metric learning方法LMNN,有代碼可以下載。也未必效果最好,用得很多,因為有代碼。度量就是相似度,任何方法只要用到相似度,就可以用到度量學(xué)習(xí)。度量學(xué)習(xí)主流就是學(xué)習(xí)馬氏距離!(listen to the report of Kaizhu Huang).
度量學(xué)習(xí)首篇是Eric Xing在NIPS 2002提出,nannan wang講現(xiàn)在metric learning基本都是通過子空間學(xué)習(xí),就是子空間學(xué)習(xí)換了個說法,沒啥太多實(shí)際意義。
代碼
http://www.cs.cmu.edu/~liuy/distlearn.htm 其中的Principal Component Analysis(PCA)是有蔡登老師開發(fā) http://www.cse.wustl.edu/~kilian/Downloads/LMNN.html有Large Margin NN Classifier (LMNN)的代碼在Dodo的blog中提到:在此有必要提提Lawrence Saul這個人。在Isomap和LLE的作者們中,Saul算是唯一一個以流形學(xué)習(xí)(并不限于)為研究對象開創(chuàng)學(xué)派的人。Saul早年主要做參數(shù)模型有關(guān)的算法。自從LLE以后,坐陣UPen創(chuàng)造了一個個佳績。主要成就在于他的兩個出色學(xué)生,Kilian Weinberger和 Fei Sha,做的方法。拿了很多獎,在此不多說,可以到他主頁上去看。Weinberger把學(xué)習(xí)核矩陣引入到流形學(xué)習(xí)中來。他的這個方法在流形學(xué)習(xí)中影響到不是很顯著,卻是在 convex optimization 中人人得知。但看Kilian Weinberger主頁,其論文真的很少,第一作者數(shù)量:04年1篇,05年2篇,06年3篇,07年2篇,08年3篇,09年2篇.這與灌水風(fēng)格差異還是很大的
DISTANCE METRIC LEARNING FOR LARGE MARGIN NEAREST NEIGHBOR CLASSIFICATION的MATLAB代碼
程序中l(wèi)mnn,Parameters注釋下面都是其自由參數(shù),validation = (def 0) fraction of training data to be used as validation set
On line 4 of Page 225 of his paper (JLMR): To guard against overfitting, we employed a validation set consisting of 30% of the training data and stopped the training early when the lowest classification error on the validation set was reached.
Wei Bian做實(shí)驗室時,采用的默認(rèn)的也就是驗證集是0.雖然論文說了用30%,他覺得這樣不太合理。但根據(jù)
http://en.wikipedia.org/wiki/Early_stopping (Mingming gong send this link to me) ,應(yīng)該是合理的