2016-11-29 61 views
0

我有幾個距離函數可以返回兩個圖像之間的距離,我想用這些距離合併成一個距離,使用加權得分例如。 ax1+bx2+cx3+dx4等我想自動學習這些權重,使我的測試錯誤最小化。如何將各種距離函數合併爲一個給定以下數據集?

爲此我有一個標記的數據集,其具有圖像的各種三聯使得(a,B,C),一個具有b更少距離比它Ç。 即d(a,b)<d(a,c)

我想學習這樣的重量,使得該排序的三元組可以是儘可能準確。(即給定的加權線性評分是少一個& B和更要& c)中。

什麼樣的機器學習算法可以用於任務,以及如何實現所需的任務?

回答

0

希望我能正確理解你的問題,但似乎這可以通過約束優化直接解決,而不是經典機器學習(其算法通常通過約束優化實現,參見SVM等)。

舉個例子,一個可能的目標函數可能是:

argmin_{w} || e ||_2 + lambda || w ||_2 

其中w是你的權重向量(哦,上帝爲什麼沒有乳膠這裏),e是錯誤的矢量(每培訓一個組件三峯),lambda是某些可調正則常數(可能是零),你的約束可能是:

max{d(I_p,I_r)-d(I_p,I_q),0} <= e_j for jth (p,q,r) in T s.t. d(I_p,I_r) <= d(I_p,I_q) 

j個約束,其中I_i是圖像iT是訓練集,

d(u,v) = sum_{w_i in w} w_i * d_i(u,v) 

d_i是您的i日距離函數。

請注意,e正在測量您選擇的權重距訓練集中所有選定的三元組滿足程度。如果重量保持標籤j的排序,則d(I_p,I_r)-d(I_p,I_q) < 0e_j = 0。如果他們不這樣做,那麼e_j會測量違規培訓標籤j的數量。解決優化問題會給出最好的w;即具有最低誤差的那個。

如果你不熟悉線性/二次規劃,凸優化等...然後開始googling :)許多庫存在這種類型的東西。另一方面,如果你更喜歡機器學習的方法,你可能會修改一些metric learning的方法來解決你的問題。

相關問題