Training the parameters of a Restricted Boltzman machine The 2019 Stack Overflow Developer Survey Results Are InWhy a restricted Boltzman machine (RBM) tends to learn very similar weights?Regression problem - too complex for gradient descentUnderstanding a simple example of Restricted Boltzmann Machine (RBM)Why training a Restricted Boltzmann Machine corresponds to having a good reconstruction of training data?understanding batch normalizationBackpropagation - softmax derivativeQuestions about Neural Network training (back propagation) in the book PRML (Pattern Recognition and Machine Learning)What does the one function $mathbf1_i,y^(t)$ exactly mean in backward propagation of RNN in the book “Deep learning” of BengioNewbie question on restricted boltzmann machineUnderstanding general approach to updating optimization function parameters

A word that means fill it to the required quantity

Output the Arecibo Message

Why was M87 targeted for the Event Horizon Telescope instead of Sagittarius A*?

If a sorcerer casts the Banishment spell on a PC while in Avernus, does the PC return to their home plane?

How to obtain a position of last non-zero element

How do you keep chess fun when your opponent constantly beats you?

Mathematics of imaging the black hole

Are spiders unable to hurt humans, especially very small spiders?

How did passengers keep warm on sail ships?

Are there any other methods to apply to solving simultaneous equations?

Can withdrawing asylum be illegal?

How much of the clove should I use when using big garlic heads?

Is bread bad for ducks?

How can I define good in a religion that claims no moral authority?

Match Roman Numerals

The difference between dialogue marks

What is the motivation for a law requiring 2 parties to consent for recording a conversation

Why couldn't they take pictures of a closer black hole?

What is the most efficient way to store a numeric range?

Relationship between Gromov-Witten and Taubes' Gromov invariant

Likelihood that a superbug or lethal virus could come from a landfill

Why don't hard Brexiteers insist on a hard border to prevent illegal immigration after Brexit?

Is it a good practice to use a static variable in a Test Class and use that in the actual class instead of Test.isRunningTest()?

Kerning for subscripts of sigma?



Training the parameters of a Restricted Boltzman machine



The 2019 Stack Overflow Developer Survey Results Are InWhy a restricted Boltzman machine (RBM) tends to learn very similar weights?Regression problem - too complex for gradient descentUnderstanding a simple example of Restricted Boltzmann Machine (RBM)Why training a Restricted Boltzmann Machine corresponds to having a good reconstruction of training data?understanding batch normalizationBackpropagation - softmax derivativeQuestions about Neural Network training (back propagation) in the book PRML (Pattern Recognition and Machine Learning)What does the one function $mathbf1_i,y^(t)$ exactly mean in backward propagation of RNN in the book “Deep learning” of BengioNewbie question on restricted boltzmann machineUnderstanding general approach to updating optimization function parameters










4












$begingroup$


Why are the parameters of a Restricted Boltzmann machine trained for a fixed number of iterations (epochs) in many papers instead of choosing the ones corresponding to a stationary point of the likelihood?



Denote the observable data by $x$, hidden data by $h$, the energy function by $E$ and the normalizing constant by $Z$. The probability of $x$ is:
beginequation
P(x) = sum_h P(x,h) = sum_h frace^-E(x,h)Z.
endequation
The goal is to maximize the probability of $x$ conditional on the parameters of the model $theta$. Suppose one has access to a sample of $N$ observations of $x$ with typical element $x_i$. As estimator, one could find the roots of the derivative of the average sample log-likelihood:
beginequation
leftlbrace hattheta in hatTheta : N^-1 sum_x_i fracpartial log p(x_i) partial theta = 0 rightrbrace
endequation
and chose the one $theta^star in hatTheta $ maximizing the empirical likelihood. There exists many different ways to approximate the derivative of the log-likelihood to facilitate (maybe even permit) its computation. For example, Contrastive Divergence and Persistent Contrastive Divergence are used often. I wonder whether it makes sense to estimate the parameters $theta$ recursively until convergence while continuing to approximate the derivative of the log-likelihood. One could update the parameters after seeing each data point $x_i$ as:
beginequation
theta_i+1 = theta_i - eta_i fracpartial log p(x_i)partial theta_i
endequation
The practice I learned in Hinton et al. (2006) and in Tieleman (2008) is different though: Both papers define a number of fixed iterations a priori. Could somebody kindly educate me why recursively updating the parameters until convergence is not a good idea? In particular, I'm interested whether there's a theoretical flaw in my reasoning or whether computational capacities dictate sticking to a fixed number of iterations. I am grateful for any help!










share|improve this question











$endgroup$




bumped to the homepage by Community 2 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.



















    4












    $begingroup$


    Why are the parameters of a Restricted Boltzmann machine trained for a fixed number of iterations (epochs) in many papers instead of choosing the ones corresponding to a stationary point of the likelihood?



    Denote the observable data by $x$, hidden data by $h$, the energy function by $E$ and the normalizing constant by $Z$. The probability of $x$ is:
    beginequation
    P(x) = sum_h P(x,h) = sum_h frace^-E(x,h)Z.
    endequation
    The goal is to maximize the probability of $x$ conditional on the parameters of the model $theta$. Suppose one has access to a sample of $N$ observations of $x$ with typical element $x_i$. As estimator, one could find the roots of the derivative of the average sample log-likelihood:
    beginequation
    leftlbrace hattheta in hatTheta : N^-1 sum_x_i fracpartial log p(x_i) partial theta = 0 rightrbrace
    endequation
    and chose the one $theta^star in hatTheta $ maximizing the empirical likelihood. There exists many different ways to approximate the derivative of the log-likelihood to facilitate (maybe even permit) its computation. For example, Contrastive Divergence and Persistent Contrastive Divergence are used often. I wonder whether it makes sense to estimate the parameters $theta$ recursively until convergence while continuing to approximate the derivative of the log-likelihood. One could update the parameters after seeing each data point $x_i$ as:
    beginequation
    theta_i+1 = theta_i - eta_i fracpartial log p(x_i)partial theta_i
    endequation
    The practice I learned in Hinton et al. (2006) and in Tieleman (2008) is different though: Both papers define a number of fixed iterations a priori. Could somebody kindly educate me why recursively updating the parameters until convergence is not a good idea? In particular, I'm interested whether there's a theoretical flaw in my reasoning or whether computational capacities dictate sticking to a fixed number of iterations. I am grateful for any help!










    share|improve this question











    $endgroup$




    bumped to the homepage by Community 2 mins ago


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

















      4












      4








      4


      1



      $begingroup$


      Why are the parameters of a Restricted Boltzmann machine trained for a fixed number of iterations (epochs) in many papers instead of choosing the ones corresponding to a stationary point of the likelihood?



      Denote the observable data by $x$, hidden data by $h$, the energy function by $E$ and the normalizing constant by $Z$. The probability of $x$ is:
      beginequation
      P(x) = sum_h P(x,h) = sum_h frace^-E(x,h)Z.
      endequation
      The goal is to maximize the probability of $x$ conditional on the parameters of the model $theta$. Suppose one has access to a sample of $N$ observations of $x$ with typical element $x_i$. As estimator, one could find the roots of the derivative of the average sample log-likelihood:
      beginequation
      leftlbrace hattheta in hatTheta : N^-1 sum_x_i fracpartial log p(x_i) partial theta = 0 rightrbrace
      endequation
      and chose the one $theta^star in hatTheta $ maximizing the empirical likelihood. There exists many different ways to approximate the derivative of the log-likelihood to facilitate (maybe even permit) its computation. For example, Contrastive Divergence and Persistent Contrastive Divergence are used often. I wonder whether it makes sense to estimate the parameters $theta$ recursively until convergence while continuing to approximate the derivative of the log-likelihood. One could update the parameters after seeing each data point $x_i$ as:
      beginequation
      theta_i+1 = theta_i - eta_i fracpartial log p(x_i)partial theta_i
      endequation
      The practice I learned in Hinton et al. (2006) and in Tieleman (2008) is different though: Both papers define a number of fixed iterations a priori. Could somebody kindly educate me why recursively updating the parameters until convergence is not a good idea? In particular, I'm interested whether there's a theoretical flaw in my reasoning or whether computational capacities dictate sticking to a fixed number of iterations. I am grateful for any help!










      share|improve this question











      $endgroup$




      Why are the parameters of a Restricted Boltzmann machine trained for a fixed number of iterations (epochs) in many papers instead of choosing the ones corresponding to a stationary point of the likelihood?



      Denote the observable data by $x$, hidden data by $h$, the energy function by $E$ and the normalizing constant by $Z$. The probability of $x$ is:
      beginequation
      P(x) = sum_h P(x,h) = sum_h frace^-E(x,h)Z.
      endequation
      The goal is to maximize the probability of $x$ conditional on the parameters of the model $theta$. Suppose one has access to a sample of $N$ observations of $x$ with typical element $x_i$. As estimator, one could find the roots of the derivative of the average sample log-likelihood:
      beginequation
      leftlbrace hattheta in hatTheta : N^-1 sum_x_i fracpartial log p(x_i) partial theta = 0 rightrbrace
      endequation
      and chose the one $theta^star in hatTheta $ maximizing the empirical likelihood. There exists many different ways to approximate the derivative of the log-likelihood to facilitate (maybe even permit) its computation. For example, Contrastive Divergence and Persistent Contrastive Divergence are used often. I wonder whether it makes sense to estimate the parameters $theta$ recursively until convergence while continuing to approximate the derivative of the log-likelihood. One could update the parameters after seeing each data point $x_i$ as:
      beginequation
      theta_i+1 = theta_i - eta_i fracpartial log p(x_i)partial theta_i
      endequation
      The practice I learned in Hinton et al. (2006) and in Tieleman (2008) is different though: Both papers define a number of fixed iterations a priori. Could somebody kindly educate me why recursively updating the parameters until convergence is not a good idea? In particular, I'm interested whether there's a theoretical flaw in my reasoning or whether computational capacities dictate sticking to a fixed number of iterations. I am grateful for any help!







      neural-network optimization rbm






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 5 '16 at 8:31







      fabian

















      asked Apr 5 '16 at 6:52









      fabianfabian

      1765




      1765





      bumped to the homepage by Community 2 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community 2 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.






















          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          I believe the problem is that log-likelihood is not directly computable, because of exponential in number of units complexity. There exist different proxies to the true log-likelihood, for instance pseudo log-likelihood (more here), and in principle you can train RBM until PLL is not changed too much.



          Hovewer, there is a lot of randomness involved in the training process, so PLL most likely will be quite noisy (even true log-likelihood would be I believe).






          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%2f11042%2ftraining-the-parameters-of-a-restricted-boltzman-machine%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$

            I believe the problem is that log-likelihood is not directly computable, because of exponential in number of units complexity. There exist different proxies to the true log-likelihood, for instance pseudo log-likelihood (more here), and in principle you can train RBM until PLL is not changed too much.



            Hovewer, there is a lot of randomness involved in the training process, so PLL most likely will be quite noisy (even true log-likelihood would be I believe).






            share|improve this answer











            $endgroup$

















              0












              $begingroup$

              I believe the problem is that log-likelihood is not directly computable, because of exponential in number of units complexity. There exist different proxies to the true log-likelihood, for instance pseudo log-likelihood (more here), and in principle you can train RBM until PLL is not changed too much.



              Hovewer, there is a lot of randomness involved in the training process, so PLL most likely will be quite noisy (even true log-likelihood would be I believe).






              share|improve this answer











              $endgroup$















                0












                0








                0





                $begingroup$

                I believe the problem is that log-likelihood is not directly computable, because of exponential in number of units complexity. There exist different proxies to the true log-likelihood, for instance pseudo log-likelihood (more here), and in principle you can train RBM until PLL is not changed too much.



                Hovewer, there is a lot of randomness involved in the training process, so PLL most likely will be quite noisy (even true log-likelihood would be I believe).






                share|improve this answer











                $endgroup$



                I believe the problem is that log-likelihood is not directly computable, because of exponential in number of units complexity. There exist different proxies to the true log-likelihood, for instance pseudo log-likelihood (more here), and in principle you can train RBM until PLL is not changed too much.



                Hovewer, there is a lot of randomness involved in the training process, so PLL most likely will be quite noisy (even true log-likelihood would be I believe).







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Sep 17 '17 at 19:54

























                answered Sep 17 '17 at 19:29









                yellyell

                665




                665



























                    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%2f11042%2ftraining-the-parameters-of-a-restricted-boltzman-machine%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

                    ValueError: Error when checking input: expected conv2d_13_input to have shape (3, 150, 150) but got array with shape (150, 150, 3)2019 Community Moderator ElectionError when checking : expected dense_1_input to have shape (None, 5) but got array with shape (200, 1)Error 'Expected 2D array, got 1D array instead:'ValueError: Error when checking input: expected lstm_41_input to have 3 dimensions, but got array with shape (40000,100)ValueError: Error when checking target: expected dense_1 to have shape (7,) but got array with shape (1,)ValueError: Error when checking target: expected dense_2 to have shape (1,) but got array with shape (0,)Keras exception: ValueError: Error when checking input: expected conv2d_1_input to have shape (150, 150, 3) but got array with shape (256, 256, 3)Steps taking too long to completewhen checking input: expected dense_1_input to have shape (13328,) but got array with shape (317,)ValueError: Error when checking target: expected dense_3 to have shape (None, 1) but got array with shape (7715, 40000)Keras exception: Error when checking input: expected dense_input to have shape (2,) but got array with shape (1,)

                    Ружовы пелікан Змест Знешні выгляд | Пашырэнне | Асаблівасці біялогіі | Літаратура | НавігацыяДагледжаная версіяправерана1 зменаДагледжаная версіяправерана1 змена/ 22697590 Сістэматыкана ВіківідахВыявына Вікісховішчы174693363011049382

                    Illegal assignment from SObject to ContactFetching String, Id from Map - Illegal Assignment Id to Field / ObjectError: Compile Error: Illegal assignment from String to BooleanError: List has no rows for assignment to SObjectError on Test Class - System.QueryException: List has no rows for assignment to SObjectRemote action problemDML requires SObject or SObject list type error“Illegal assignment from List to List”Test Class Fail: Batch Class: System.QueryException: List has no rows for assignment to SObjectMapping to a user'List has no rows for assignment to SObject' Mystery