XAI4GEO / Tree_Classification

Workflow for the research work "Explainable few-shot learning workflow for detecting invasive and exotic tree species"
Apache License 2.0
0 stars 0 forks source link

Implement other classification methods in the workflow #17

Open rogerkuou opened 6 months ago

rogerkuou commented 6 months ago

For the current version of the workflow, the classification is based on the average of the similarity scores. There are potentially better ways.

Talked together with Sonja about the classification methods:

  1. K-nearest:

    • Compute similarity scores based on all samples used to train the Siamese
    • Take nearest neighbors
    • Take the majority of as the classification
  2. SVM

    • Use sklearn, see 1.4.6.2. "Custom Kernels"; This allows one define a kernel as a Python function
    • use Gaussian kernel. See this paper for the kernel function;
      kernel(x,y) = exp(-gamma*dist(x,y)) # kernel function
      dist(x,y) = 1 - sim_score(x,y) # distance function, based on the trained Siamese
    • Use 1-sim_score as dist function
    • Still use all samples involved in the Siamese training to train the SVM
    • Or use the precomputed kernel, with each element similarity score
rogerkuou commented 6 months ago

Ask Sonja: Average sim score and K-nearest, any literature?