Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement classification with NCH (Nearest Convex Hull) #246

Closed
toncho11 opened this issue Feb 24, 2024 · 0 comments · Fixed by #253
Closed

Implement classification with NCH (Nearest Convex Hull) #246

toncho11 opened this issue Feb 24, 2024 · 0 comments · Fixed by #253
Assignees
Labels
enhancement New feature or request

Comments

@toncho11
Copy link
Collaborator

toncho11 commented Feb 24, 2024

Description:
In NCH, the minimal distance between a tested matrix and the convex hull of a set of matrices is estimated. This hull is the actual convex hull of the set of matrices (corresponding to each class). There is no training. Calculating the distance to the hull is an optimization problem and it is calculated for each testing sample (testing SPD matrix).

Implementation:
Add a new class "QuantumNCH" in classyfication.py which will use distance_logeuclid_cpm. distance_logeuclid_cpm is the new distance to hull that we need for this classifier and it is implemented (prototype) in #244. We will probably first start with non-quantum optimizer. The fit() method will simply store the data, so that it can be used in the predict() with distance_logeuclid_cpm.

Prediction
A distance is calculated to each hull (one hull per class). The lower distance selects the predicted class.

Notes:
The fact that we perform an optimization on each test sample and for each candidate class means that the classification (prediction) task will be slow in general. Also the NCH algorithm might be more susceptible to outliers in the data.

@toncho11 toncho11 changed the title Implement classification with NCH (Nearest Coonvex Hull) Implement classification with NCH (Nearest Convex Hull) Feb 24, 2024
@gcattan gcattan added the enhancement New feature or request label Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants