0

I have a set of 3D points $\mathcal{X} = \left\{x_1,\ldots,x_N \right\}, x_i = (x_i^1, x_i^2, x_i^3)^T \in \mathbb{R}^3$ and I want to find a plane $c_0 x^1 + c_1 y^2 + c_2 x^3 + c_3 = c^T x = 0$ which is close enough to all points, but I want to avoid expressing one coordinate as function of the other ones.

I was setting up a least square problem, I defined $f : \mathbb{R}^4 \to \mathbb{R}$ as

$$ f(c;\mathcal{X}) = \frac{1}{2N}\sum_{1 \leq i \leq N} \left( c^T x_i \right)^2 $$

Derivative with respect to $c$ gives

$$ \frac{\partial f}{\partial c} = \frac{1}{N} \sum_{1 \leq i \leq N} x_i x_i^T c $$

setting such derivative to $0$ however gives me a trivial solution $c = 0$, therefore my strategy now was to impose a rank condition on the matrix $A(\mathcal{X}) = \sum_{1 \leq i \leq N} x_i x_i^T$ so I can get a non trivial solution, however I'm not sure how to do this, but I'm fairly sure there's a known expression to this problem which I cannot find.

Can you help?

It would be really helpful if you could also show the proof and not just the final formula/algorithm.

user8469759
  • 5,285

0 Answers0