Optimize to Find the Mahalanobis Distance to Minimize the Term

1.1k Views Asked by At

I have an optimization problem defined as following:

Assuming we have a data set $ { \left\{ \left( {x}_{i}, {y}_{i} \right) \right\}}_{i = 1}^{N} $ where $ {x}_{i} \in {\mathbb{R}}^{d} $ and $ {y}_{i} \in \mathbb{R} $.

We want to find $ \hat{C} $ minimizes the following:

$$ \hat{C} = \arg \min_{C} {\sum_{i = 1}^{N} \left( {y}_{i} - \sum_{j \neq i} exp \left( -\frac{1}{2} {\left( {x}_{i} - {x}_{j} \right)}^{T} C \left( {x}_{i} - {x}_{j} \right) \right) {y}_{j} \right)}^{2} $$

Namely finding the Mahalanobis Distance Matrix which minimizes the term above.

I'm not experienced with Optimization and I have few questions:

  • Is this a Convex problem in $ C $?
    You can assume $ C $ is a Positive Definite Matrix (As it plays a role in Mahalanobis Distance).
  • Is it "Easy" or solvable to the least?
  • If it does, how would you solve it (I'm using MATLAB)?
  • Basically I'm trying to calculate a weight which is a function of $ \left | {x}_{i} - {x}_{j} \right | $, namely the distance between the vectors, is there a simpler function which could make things "Convex" and easy to solve?
  • If I add the assumption of $ C $ being diagonal, how would that make things easier besides being a multiplication of exponents of weighted norms, namely, will it be convex?

Thank You!