我应该使用哪种机器学习模型来进行“两个更好”的比较

2024-05-13 23:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题的数学描述可以表达如下:

给定一个函数Y=f(X),其中X是输入,Y是输出。 对X的N点的总数进行采样,表示为X[0],X[1],X[2]。。。X[N-1]和岩芯粘结Y[0],Y[1]。。。是[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,使尽可能多的比较关系得到满足。你知道吗

我已经研究了scikitlearn和其他一些库提供的算法,但是看起来回归只适用于Y的精确值,而不是它们之间的比较关系。有没有一个机器学习模型可以解决我的问题?你知道吗


Tags: 函数模型图像程序机器关系质量矩阵
1条回答
网友
1楼 · 发布于 2024-05-13 23:25:50

paper展示了如何使用机器学习“设计全参考图像质量评估算法”,它可能会帮助您了解如何使用数据以及如何定义哪些特征使您的图像比另一个更好(在本例中,它们使用支持向量机)。你知道吗

我认为Convolutional Neural Networks也可以适应您的目的,因为cnn特别适合处理图像(检测特征、分类…)。所以我建议你读一下。你知道吗

您拥有的数据量和您可以拥有的数据量(通过数据扩充)可以作为判断哪个选项最适合您的标准。你知道吗

我希望这将有助于你和你的项目将取得成功。你知道吗

相关问题 更多 >