2016-06-27 19 views
-1

我有一套3-5個黑箱得分函數,可以爲候選人分配正實際值分數。這是什麼類型的ML?算法從池中重複選擇1個正確的候選人(或無)

每個是排名最高的最佳人選體面的,但他們並不總是同意 - 我倒是想找到如何將分數結合在一起,以便獲得最佳元比分使得候選人池之中,具有最高元評分的人通常是實際的正確的候選人。

因此,他們是純R^n載體,但每個維度單獨往往有正確的人選更高的價值。天真地說,我可以只是增加組件的數量,但我希望有更多的東西可以從中受益。

如果最高分數太低(或者兩個最高太近),我就放棄了,並說「沒有」。

因此,對於每次試驗,我的輸入是一組這些得分矢量,並且輸出是向量對應於實際正確的答案,或「無」。這就像科技面試,一些候選人可能會有不同的意見採訪,但一般來說,每個傾向於傾向於最好的候選人。我自己的申請有一個客觀的最佳人選。

我想最大限度地提供正確答案並儘量減少誤報。

更具體而言,我的訓練數據可能看起來像的許多實例

{[0.2,0.45,1.37],[5.9,0.02,2],...} - >我

其中i是輸入集中的第i個候選矢量。

所以我想了解一個函數,它傾向於從輸入中最大化實際的最佳候選人得分向量。沒有最好的程度。這是二元對或錯。然而,它似乎不像傳統的二元分類,因爲在一組輸入矢量中,最多可以有1個「分類」爲正確,其餘都是錯誤的。

謝謝

回答

0

您的問題並不完全屬於機器學習類別。乘法的方法可能會更好。你也可以爲你的輸出函數嘗試不同的統計模型。

ML,更具體的分類,問題需要從你的網絡能夠學習數據中的任何現有模式,並使用它們特定的類分配給一個輸入向量的訓練數據。

如果你真的想使用分類,那麼我認爲你的問題可以適應OnevsAll分類類別。您將需要一個網格(或者只是一個輸出層),其中單元格數/ sigmoid單元數等於您的候選人數(每個代表一個)。請注意,這裏您的候選人人數將被固定。

您可以將整個候選向量用作網絡中所有單元格的輸入。可以使用單熱編碼來指定輸出,即如果候選編號爲00100,則指定輸出。 3是實際的正確的候選人,在沒有正確的候選輸出的情況下,將00000

對於這個工作,你需要包含你的候選向量和相應的實際正確的候選大的數據集。對於這些數據,您需要一個函數(又如乘法),或者您可以自己分配輸出,在這種情況下,系統將學習如何根據給定不同輸入對輸出進行分類,並按照與以前相同的方式分類新數據。這樣,它將最大化正確輸出的數量,但這裏的正確定義將是如何分類訓練數據。

您也可以使用不同類型的輸出,其中輸出圖層的每個單元對應於您的得分函數,而00001表示候選您選擇的第5個得分函數是正確的。這樣你的候選人就不必修復了。但是,您將不得不手動設置網絡的訓練數據的輸出來學習它。

OnevsAll是一種分類技術,輸出層有多個單元,每個單元在一個類和其他類之間執行二進制分類。最後,具有最高概率的S形指定爲1並且爲零。

一旦你的系統已經學會了如何通過你的訓練數據進行分類的數據,你可以在養活你的新數據,它會給你的輸出以同樣的方式,即01000等

我希望我的回答能幫助你。:)

相關問題