Skip to content

Why is DSMI(A;A) far different from DSE(A)? #4

@nanguoyu

Description

@nanguoyu

Hi,

Thank you for your nice paper and released code!

I am recently looking at how DSMI and DSE would work in some simple datasets. But I found DSMI(A;A) is not close to DSE(A). Is this expected?

BR,

import numpy as np
from dsmi import diffusion_spectral_mutual_information
from dse import diffusion_spectral_entropy

for n_samples in [100, 500, 1000, 2000]:
    embedding_vectors = np.random.uniform(0, 1, (n_samples, 10))
    DSMI, _ = diffusion_spectral_mutual_information(
        embedding_vectors=embedding_vectors,
        reference_vectors=embedding_vectors)
    DSE = diffusion_spectral_entropy(embedding_vectors=embedding_vectors)
    print(f'num of samples = {n_samples}, DSMI[embedding, embedding] = {DSMI}, DSE[embedding] = {DSE}' )

Then I got

num of samples = 100, DSMI[embedding, embedding] = 0.02843197210459075, DSE[embedding] = 0.0908556597236652
num of samples = 500, DSMI[embedding, embedding] = 0.019353783018266492, DSE[embedding] = 0.09478050957948245
num of samples = 1000, DSMI[embedding, embedding] = 0.019112679773918215, DSE[embedding] = 0.0969059254282217
num of samples = 2000, DSMI[embedding, embedding] = 0.015199623500426241, DSE[embedding] = 0.09653039901116785

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions