首页 > 解决方案 > 将三条相交线拟合到平面数据

问题描述

假设我在飞机上有三组点。称它们为红色组、蓝色组和黄色组。

假设每个集合至少包含两个不同的点。

我想找到三条线——称它们为红线、蓝线和黄线——这样:

i) 红蓝黄线有一个共同点

ii)红线“适合”红色集尽可能接近

iii)蓝线“适合”蓝色集尽可能接近

iv) 黄线“适合”黄色集尽可能接近

笔记:

  1. 如果没有第一个条件,这是线性代数中的标准练习,通常称为“最小二乘法”。

  2. 我想到了某种最小二乘拟合,但如果它们导致更简单的解决方案(或任何解决方案),我对其他最佳拟合标准持开放态度。

这实际上是对我遇到的真正问题的轻微简化,这是一个更高维度的版本。在那个版本中,三组数据位于空间中——不仅仅是一个平面——我试图用共享一条公共线的三个平面来拟合数据。我怀疑低维版本的解决方案很容易导致高维版本的解决方案。

标签: linear-algebraleast-squaresdata-fitting

解决方案


因此,您必须选择一个公共向量c,其中的G向量表示要最小化的点组,通过选择和。注意两个变量的乘积,通常问题不再是凸的。d[g[i]]g[i]v[i]|d[g[i]] * t[i] - v[i] - c|dtcd[g[i]] * t[i]

您可以简单地将其放入非线性优化中

也许如果你假设t[i] > 0你可以找到一个凸公式(在这里猜测)。

您可以尝试一些启发式方法,例如,您可以开始解决单个线性回归问题,给定解决方案找到c最小化所有线的平方和残差的点,然后将此点添加到所有点集,并拟合再次,重复添加点的权重开始增加,希望你能找到一个好的解决方案。


推荐阅读