Create a space between clouds

51 Views Asked by At

I have a dataset associated with labels. According to https://arxiv.org/pdf/1802.03426.pdf --> UMAP (Uniform Manifold Approximation and Projection) which is a novel manifold learning technique for dimension reduction and the data, I succeeded to create the green and red clouds bellow. The problem I have is they are stick together. For machine learning purposes, it is kinda hard to learn something when the clouds are placed that way.

Cloud 1

Cloud 2

Is there a topological approach that might be used to create a significant space between clouds?

I would be interested by an analytic approach to separated the two clouds. Each cloud can be seen as a compact space.

Here is an example in 2-D. I would like a way to generalize that concept in z-D, where z would be a finite positive integer.

Clouds separated

UPDATE

I have already used several approaches to tackle my problem, i.e. PCA, t-SNE, SVM, using a neural network to classify the points. The problem is I got always two clouds but stick together. UMAP gave me the best results. Now, once UMAP has been applied, I want a way to force the clouds to be separated in knowing the clouds are already well distinct.

UPDATE 2

I am trying an approach, but I am far from certain that it's the best solution.

  1. Cover each cloud by the smallest possible sphere.
  2. Extend the intersection of the spheres by an hyperplane.
  3. Taking away the clouds according to the orthogonal vector to the hyperplane by a distance alpha. alpha might be the furthest point on the orthogonal line inside the intersection of the spheres.
1

There are 1 best solutions below

1
On

The Fisher linear discriminant finds the projection of such datasets that maximizes the separations of the projected means divided by the sum of the variances.