When projecting data with UMAP, should I use only the samples I need projected or the entire dataset?












1












$begingroup$


I have a neural network that maps my data samples to a 64-dimensional embedding. I wish to visualize a few of these embeddings (between 30 and 600) through a 2-dimensional projection, and I plan to use umap to do that. Would providing more embeddings sampled from the dataset along with the ones I want to project help the algorithm to identify the manifold and improve the quality of projection?










share|improve this question









$endgroup$












  • $begingroup$
    Let me see if I understand you correctly, you learn a 64-dimensional embedding from your data using a neural network and you want to reduce it to a 2-dimensional space to visualize using UMAP? What prohibits you of providing more embeddings sampled from the dataset? Intuitively speaking, it sounds to me having more data points would make a difference in the manifold (though I have no proof of it!; have to dig more).
    $endgroup$
    – Majid Mortazavi
    Jan 1 at 15:01










  • $begingroup$
    It's merely a matter of performance. I'd like to have an idea of the order of magnitude of the number of samples needed to have a meaningful projection. More samples for UMAP means I need to forward more samples through the network and that UMAP will train for longer. With less than ~50 samples, I can run UMAP in my mainloop and not worry much about the impact. With more than that, I'll need to run a secondary thread.
    $endgroup$
    – Le Frite
    Jan 1 at 15:50


















1












$begingroup$


I have a neural network that maps my data samples to a 64-dimensional embedding. I wish to visualize a few of these embeddings (between 30 and 600) through a 2-dimensional projection, and I plan to use umap to do that. Would providing more embeddings sampled from the dataset along with the ones I want to project help the algorithm to identify the manifold and improve the quality of projection?










share|improve this question









$endgroup$












  • $begingroup$
    Let me see if I understand you correctly, you learn a 64-dimensional embedding from your data using a neural network and you want to reduce it to a 2-dimensional space to visualize using UMAP? What prohibits you of providing more embeddings sampled from the dataset? Intuitively speaking, it sounds to me having more data points would make a difference in the manifold (though I have no proof of it!; have to dig more).
    $endgroup$
    – Majid Mortazavi
    Jan 1 at 15:01










  • $begingroup$
    It's merely a matter of performance. I'd like to have an idea of the order of magnitude of the number of samples needed to have a meaningful projection. More samples for UMAP means I need to forward more samples through the network and that UMAP will train for longer. With less than ~50 samples, I can run UMAP in my mainloop and not worry much about the impact. With more than that, I'll need to run a secondary thread.
    $endgroup$
    – Le Frite
    Jan 1 at 15:50
















1












1








1





$begingroup$


I have a neural network that maps my data samples to a 64-dimensional embedding. I wish to visualize a few of these embeddings (between 30 and 600) through a 2-dimensional projection, and I plan to use umap to do that. Would providing more embeddings sampled from the dataset along with the ones I want to project help the algorithm to identify the manifold and improve the quality of projection?










share|improve this question









$endgroup$




I have a neural network that maps my data samples to a 64-dimensional embedding. I wish to visualize a few of these embeddings (between 30 and 600) through a 2-dimensional projection, and I plan to use umap to do that. Would providing more embeddings sampled from the dataset along with the ones I want to project help the algorithm to identify the manifold and improve the quality of projection?







machine-learning dataset dimensionality-reduction






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 1 at 13:24









Le FriteLe Frite

62




62












  • $begingroup$
    Let me see if I understand you correctly, you learn a 64-dimensional embedding from your data using a neural network and you want to reduce it to a 2-dimensional space to visualize using UMAP? What prohibits you of providing more embeddings sampled from the dataset? Intuitively speaking, it sounds to me having more data points would make a difference in the manifold (though I have no proof of it!; have to dig more).
    $endgroup$
    – Majid Mortazavi
    Jan 1 at 15:01










  • $begingroup$
    It's merely a matter of performance. I'd like to have an idea of the order of magnitude of the number of samples needed to have a meaningful projection. More samples for UMAP means I need to forward more samples through the network and that UMAP will train for longer. With less than ~50 samples, I can run UMAP in my mainloop and not worry much about the impact. With more than that, I'll need to run a secondary thread.
    $endgroup$
    – Le Frite
    Jan 1 at 15:50




















  • $begingroup$
    Let me see if I understand you correctly, you learn a 64-dimensional embedding from your data using a neural network and you want to reduce it to a 2-dimensional space to visualize using UMAP? What prohibits you of providing more embeddings sampled from the dataset? Intuitively speaking, it sounds to me having more data points would make a difference in the manifold (though I have no proof of it!; have to dig more).
    $endgroup$
    – Majid Mortazavi
    Jan 1 at 15:01










  • $begingroup$
    It's merely a matter of performance. I'd like to have an idea of the order of magnitude of the number of samples needed to have a meaningful projection. More samples for UMAP means I need to forward more samples through the network and that UMAP will train for longer. With less than ~50 samples, I can run UMAP in my mainloop and not worry much about the impact. With more than that, I'll need to run a secondary thread.
    $endgroup$
    – Le Frite
    Jan 1 at 15:50


















$begingroup$
Let me see if I understand you correctly, you learn a 64-dimensional embedding from your data using a neural network and you want to reduce it to a 2-dimensional space to visualize using UMAP? What prohibits you of providing more embeddings sampled from the dataset? Intuitively speaking, it sounds to me having more data points would make a difference in the manifold (though I have no proof of it!; have to dig more).
$endgroup$
– Majid Mortazavi
Jan 1 at 15:01




$begingroup$
Let me see if I understand you correctly, you learn a 64-dimensional embedding from your data using a neural network and you want to reduce it to a 2-dimensional space to visualize using UMAP? What prohibits you of providing more embeddings sampled from the dataset? Intuitively speaking, it sounds to me having more data points would make a difference in the manifold (though I have no proof of it!; have to dig more).
$endgroup$
– Majid Mortazavi
Jan 1 at 15:01












$begingroup$
It's merely a matter of performance. I'd like to have an idea of the order of magnitude of the number of samples needed to have a meaningful projection. More samples for UMAP means I need to forward more samples through the network and that UMAP will train for longer. With less than ~50 samples, I can run UMAP in my mainloop and not worry much about the impact. With more than that, I'll need to run a secondary thread.
$endgroup$
– Le Frite
Jan 1 at 15:50






$begingroup$
It's merely a matter of performance. I'd like to have an idea of the order of magnitude of the number of samples needed to have a meaningful projection. More samples for UMAP means I need to forward more samples through the network and that UMAP will train for longer. With less than ~50 samples, I can run UMAP in my mainloop and not worry much about the impact. With more than that, I'll need to run a secondary thread.
$endgroup$
– Le Frite
Jan 1 at 15:50












1 Answer
1






active

oldest

votes


















0












$begingroup$

Yes, more data will improve the quality of the embedding UMAP can produce. While UMAP is somewhat robust/stable under subsampling in general you will get significantly better results with more data. It is also worth noting that most UMAP implementations are not designed for very small datasets (they make some optimization choices that assume a a reasonable dataset size). In practice it is probably best not to use UMAP with less than 100 or so data samples.






share|improve this answer









$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "557"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f43375%2fwhen-projecting-data-with-umap-should-i-use-only-the-samples-i-need-projected-o%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0












    $begingroup$

    Yes, more data will improve the quality of the embedding UMAP can produce. While UMAP is somewhat robust/stable under subsampling in general you will get significantly better results with more data. It is also worth noting that most UMAP implementations are not designed for very small datasets (they make some optimization choices that assume a a reasonable dataset size). In practice it is probably best not to use UMAP with less than 100 or so data samples.






    share|improve this answer









    $endgroup$


















      0












      $begingroup$

      Yes, more data will improve the quality of the embedding UMAP can produce. While UMAP is somewhat robust/stable under subsampling in general you will get significantly better results with more data. It is also worth noting that most UMAP implementations are not designed for very small datasets (they make some optimization choices that assume a a reasonable dataset size). In practice it is probably best not to use UMAP with less than 100 or so data samples.






      share|improve this answer









      $endgroup$
















        0












        0








        0





        $begingroup$

        Yes, more data will improve the quality of the embedding UMAP can produce. While UMAP is somewhat robust/stable under subsampling in general you will get significantly better results with more data. It is also worth noting that most UMAP implementations are not designed for very small datasets (they make some optimization choices that assume a a reasonable dataset size). In practice it is probably best not to use UMAP with less than 100 or so data samples.






        share|improve this answer









        $endgroup$



        Yes, more data will improve the quality of the embedding UMAP can produce. While UMAP is somewhat robust/stable under subsampling in general you will get significantly better results with more data. It is also worth noting that most UMAP implementations are not designed for very small datasets (they make some optimization choices that assume a a reasonable dataset size). In practice it is probably best not to use UMAP with less than 100 or so data samples.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 15 mins ago









        Leland McInnesLeland McInnes

        1513




        1513






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Data Science Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f43375%2fwhen-projecting-data-with-umap-should-i-use-only-the-samples-i-need-projected-o%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to label and detect the document text images

            Vallis Paradisi

            Tabula Rosettana