簡體   English   中英

在“二選一”比較中應該使用哪種機器學習模型

[英]Which machine learning model should I use on “better of two” comparisons

我的問題的數學描述可以表示為:

給定一個函數Y = f(X) ,其中X是輸入, Y是輸出。 X的N個點總數被采樣,分別表示為X [0],X [1],X [2] ... X [N-1]和對應於Y [0],Y [1] 、. Y [N-1] 問題是,我們不知道每個XY的確切值,而是某些Y之間的比較。 一個大的二進制NxN矩陣是已知的:

[[a00, a01, a02, ...]
 [a10, a11, a12, ...]
 ...
]

a [i,j] = 1表示Y [i]> Y [j] ,而a [i,j] = 0表示Y [i]Y [j]之間不進行比較。

我應該在矩陣上擬合哪種機器學習模型,以便可以給出兩個任意輸入X的比較結果。

或者我可以給出一個更具體的問題:函數Y = f(X,a)的形式是已知的,其中a是要優化的系數。 我如何找到最優值a,從而可以滿足矩陣中盡可能多的比較關系。

現實世界中的問題是這樣的:

我正在為科學激光設備的焦斑分析儀(這只是一個專用相機)開發圖像分析程序。 激光由離軸拋物面鏡聚焦(您可以將其視為凸透鏡),這需要大量的微調才能獲得更好的焦點。 鏡子的位置和旋轉可以通過步進電機(總共6個軸)進行控制,並且可以在焦點分析器上查看焦點。 目前,所有調整都必須手動完成,最終目標是開發一個自動閉環調整程序。

我程序的當前問題是確定焦點的質量。 攝像機可以給出焦點的2d圖像,但是要定義質量函數並不容易,因為要考慮的焦點太多(腰部半徑,峰值強度,橢圓率等)。 通常手動的工作流程是稍微改變反射鏡的一個軸,然后查看焦點是否比前一個軸有所改善。 每隔幾天必須重復多次,因此進行了很多比較。 這些比較是由人完成的,我想訓練自己的程序,使其能夠像人一樣進行比較。 預計該調整程序也將像人一樣進行調整:它嘗試改變鏡子的一個軸,將新焦點與上一個焦點進行比較,如果更好,則繼續更改同一軸,如果更糟,則反轉更改或切換到另一個軸。

作為備用方法,我開發了一些數學模型來根據腰圍半徑( r ),峰值強度( I ),橢圓率( e )等確定質量。 例如,一個簡單的模型是三個的線性組合:

y = w1*r + w2*I + w3*e

但是必須確定w1,w2,w3的最佳值。 我想使用人為的比較結果來找到最佳的w1,w2,w3,以便可以滿足盡可能多的比較關系。

我已經研究了scikit-learn和其他一些庫提供的算法,但是看起來像是對Y的確切值進行回歸,而不是對它們之間的比較關系進行回歸。 那么是否存在適用於我的問題的機器學習模型?

本文展示了如何通過機器學習來“設計全參考圖像質量評估算法”的工作,它可能可以幫助您弄清楚如何使用數據以及如何定義哪些功能可以使您的圖像比另一個更好(在在這種情況下,他們使用SVM)。

我認為卷積神經網絡也可以根據您的目的進行調整,因為CNN特別適合處理圖像(檢測特征,分類...)。 所以我建議您閱讀一下。

您擁有和可以擁有的數據量(通過數據擴充)可以作為哪個選項最適合您的標准。

希望這對您有所幫助,並希望您的項目成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM