我有一个应用程序,其中我有数据点x
,可以映射到数字行。但是,我不知道它们在数字线上的价值是多少。幸运的是,我不需要知道完全它们的值是什么,我只需要知道点之间的距离是什么(即数字线上的0点是任意的,它可以反映而不影响任何事情。)
我在点之间输入了一组传递距离测量D[i,j]
。此外,距离测量是面向的(即D[i,j] = -D[j,i]
,D[i,j] > 0
表示x[i]
在数字线上比x[j]
更靠右边。
第一个挑战:我没有D
的所有值,但我确实控制了我获得的值。
理想情况下,这不会是一个大问题,因为我可以选择对[i,j]
,以便D
形成一个生成树(将其解释为图的邻接矩阵),然后x[i]
和x[j]
之间的距离将是树上节点i
和j
之间步行的路径长度。不幸的是...
第二个挑战:距离测量是有噪声的。在大多数情况下,噪音很小。但是,在极少数情况下,距离测量是非常不准确的。
因此。问题。我想在数据点之间使用多个距离测量来对这些噪声距离测量进行去噪。这是我的愿望清单,其中一些可能变得不可行:
x
中的点映射到数字线(具有任意0点)的算法,以便在任何x[i]
和{{1}之间存在单一,明确的传递距离很清楚哪一个在另一个的右边。x[j]
,但不是树。也许它具有任意两个节点之间至少有2条路径的属性。D
的多条路径代表不同的预期距离测量值,因此请使用一些损失函数,将投影中的数据间点距离的差异最小化到{隐含的距离的某个积分值。 {1}}。 我的第一个想法是研究多维缩放文献,因为它涉及到保留距离的嵌入,但我不认为我的问题是正确的。 MDS似乎假设您在每个点之间进行单一,明确的距离测量。那不是我的设置。
我对人们可以指出的任何文献或算法感兴趣,无论是针对此问题的某些方面,还是针对类似问题,或针对大致相同的问题。谢谢!
答案 0 :(得分:1)
如果你能忍受L1规范,我认为你可以把它作为一个线性规划问题最小化 - 这也告诉你它是一个凸面问题,所以有各种其他技术,比如简单的爬山和迭代重加权最小二乘,应收敛到全局最小值。
任意设置X0 = 0。
对于你有测量的每一对Xi,Xj加上Xi - Xj - Dij< = Tij,Dij - Xi + Xj< = Tij,其中Dij是测量值
最小化SUM_ij Tij - 在Tij = | Xi - Xj - Dij |时最小化,因此这最小化了L1误差范数的总和。
答案 1 :(得分:0)
在给你的帖子看了一下之后,我认为一个有趣的方法是使用Ensemble learning。
摘自第748页的伟大着作Artificial Intelligence: A Modern Approach (3rd. Ed.):
集成学习方法的思想是从假设空间中选择集合或集合假设,结合他们的预测例如,在交叉验证期间我们可能会生成20个不同的决策树,让他们对新例子的最佳分类进行投票。
最广泛使用的集合方法是称为增强算法的方法。这是一个page,它解释了更多关于它们的内容(也在AI书的第748页后面的页面中进行了解释)。基本上,您可以生成K
新的距离度量标准加上当前的距离度量标准,将它们组合在一个集合分类器中,并获得其预测的平均值(有时是加权平均值)以获得更精确的预测值。
真正重要注意的是,假设那些K
指标(或假设)彼此独立,同样在同一个解释中引用书和页面:
但如果假设至少有点不同,从而减少了他们的错误之间的相关性[,换句话说:独立],那么整体学习可能非常有用。
我建议您查看该书,因为它包含许多相关信息,可以帮助您完成项目。希望这很有用。
注意:此方法之前在与计算机视觉和对象检测相关的项目中起作用(大多数时候相当噪声数据)。选择好的K
假设后,它有助于减少分类错误。