在3d空间中给出多条(N)线,找到最小化到所有线的距离的点。
我考虑过使用最小二乘法估算最小化距离的点,问题是标准最小二乘法将近似给定一组点的最佳拟合线/曲线,我需要的是相反的,给定一组线估计最佳拟合点。
应如何处理?
答案 0 :(得分:3)
从wikipedia开始,我们读到行a'x + b = 0
和点p
之间的平方距离为(a'p+b)^2 / (a'a)
。因此,我们可以看到最小化平方距离之和的点是加权线性回归问题,每条线观察一次。回归模型具有以下属性:
a
ax+b=0
-b
ax+b=0
1/(a'a)
ax+b=0
您应该可以使用任何标准统计软件解决此问题。
答案 1 :(得分:1)
方法:
一旦你有了N个方程,这就变成了一个简单的优化问题。当然,最后一步的难度在很大程度上取决于你选择的标准(最小二乘法很简单,极小极大不那么简单。)
可能有助于你前进的一件事是找到最简单的方程式,给出从一个点到另一个点的距离。你的想法在#1中是正确的,但你需要多考虑一下(或者检查"从一个点到另一个点的距离"使用任何搜索引擎)。
答案 2 :(得分:0)
以下是使用微积分的解决方案: -
F(x,y) = sum((y-mix-ci)^2/(1+mi^2))
使用偏分化: -
dF(x,y)/dx = sum(2*(y-mix-ci)*mi/(1+mi^2))
dF(x,y)/dy = sum(2*(y-mix-ci)/(1+mi^2))
To Minimize F(x,y) :-
dF(x,y)/dy = dF(x,y)/dx = 0
使用Gradient Descent使用特定的学习率和随机重启来尽可能地找到最小值
答案 3 :(得分:0)
我使用hill climbing解决了同样的问题。考虑一个单点和远离它的26个邻居step
(以当前点为中心的立方体上的点)。如果距离点的距离优于距离所有邻居的距离,则逐步分割,否则使邻居具有最佳距离的新当前点。继续,直到步骤足够小。
答案 4 :(得分:0)
您可以对这个问题应用以下答案(该问题涉及找到最接近一组平面的点),因为就像平面可以由平面上的点和平面的法线定义一样,可以通过一条线所经过的点以及与该线正交的“法线”矢量来定义一条线:
https://math.stackexchange.com/a/3483313/365886
您可以通过观察1/2 x^T A x - b x + c
的解为x_min = A^{-1} b
来解决所得的二次形式。