How to training the recurrent recommender system with LSTM?












0












$begingroup$


Recently, I read a paper about recurrent recommender system, I am very curious about how it training its network.



Assume I have the Netflix dataset as



UserID    itemID    timestamp
2 10 1244
2 13 895
2 6 1256
2 7 1865
2 11 256
1 9 1284
1 13 653
1 8 1200
1 4 1321


The paper says it split the data as training and test dataset based on time



assume we split the training set as



UserID(training)    itemID(training)    timestamp(training)
2 10 1244
2 13 895
2 6 1256
2 11 256
1 9 1284
1 13 653
1 8 1200


And test dataset as



UserID(test)    itemID(test)    timestamp(test)
2 7 1865
1 4 1821


Now we can start to train the network:



enter image description here



my question is
(1) how they feed above instance (user, item, timestamp) into above network?



(2) what if different has different number of item and how to represent $y_{i,t-2}, such as user1 has 10 items in the training data; user2 has only 2 items in the training data, then the length of LSTM will be different. does it matter.



(3) if want to using mini-batch gradient, How to split the training data? just randomly split or we need to split based on timestamp?










share|improve this question









New contributor




jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$

















    0












    $begingroup$


    Recently, I read a paper about recurrent recommender system, I am very curious about how it training its network.



    Assume I have the Netflix dataset as



    UserID    itemID    timestamp
    2 10 1244
    2 13 895
    2 6 1256
    2 7 1865
    2 11 256
    1 9 1284
    1 13 653
    1 8 1200
    1 4 1321


    The paper says it split the data as training and test dataset based on time



    assume we split the training set as



    UserID(training)    itemID(training)    timestamp(training)
    2 10 1244
    2 13 895
    2 6 1256
    2 11 256
    1 9 1284
    1 13 653
    1 8 1200


    And test dataset as



    UserID(test)    itemID(test)    timestamp(test)
    2 7 1865
    1 4 1821


    Now we can start to train the network:



    enter image description here



    my question is
    (1) how they feed above instance (user, item, timestamp) into above network?



    (2) what if different has different number of item and how to represent $y_{i,t-2}, such as user1 has 10 items in the training data; user2 has only 2 items in the training data, then the length of LSTM will be different. does it matter.



    (3) if want to using mini-batch gradient, How to split the training data? just randomly split or we need to split based on timestamp?










    share|improve this question









    New contributor




    jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$















      0












      0








      0


      1



      $begingroup$


      Recently, I read a paper about recurrent recommender system, I am very curious about how it training its network.



      Assume I have the Netflix dataset as



      UserID    itemID    timestamp
      2 10 1244
      2 13 895
      2 6 1256
      2 7 1865
      2 11 256
      1 9 1284
      1 13 653
      1 8 1200
      1 4 1321


      The paper says it split the data as training and test dataset based on time



      assume we split the training set as



      UserID(training)    itemID(training)    timestamp(training)
      2 10 1244
      2 13 895
      2 6 1256
      2 11 256
      1 9 1284
      1 13 653
      1 8 1200


      And test dataset as



      UserID(test)    itemID(test)    timestamp(test)
      2 7 1865
      1 4 1821


      Now we can start to train the network:



      enter image description here



      my question is
      (1) how they feed above instance (user, item, timestamp) into above network?



      (2) what if different has different number of item and how to represent $y_{i,t-2}, such as user1 has 10 items in the training data; user2 has only 2 items in the training data, then the length of LSTM will be different. does it matter.



      (3) if want to using mini-batch gradient, How to split the training data? just randomly split or we need to split based on timestamp?










      share|improve this question









      New contributor




      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      Recently, I read a paper about recurrent recommender system, I am very curious about how it training its network.



      Assume I have the Netflix dataset as



      UserID    itemID    timestamp
      2 10 1244
      2 13 895
      2 6 1256
      2 7 1865
      2 11 256
      1 9 1284
      1 13 653
      1 8 1200
      1 4 1321


      The paper says it split the data as training and test dataset based on time



      assume we split the training set as



      UserID(training)    itemID(training)    timestamp(training)
      2 10 1244
      2 13 895
      2 6 1256
      2 11 256
      1 9 1284
      1 13 653
      1 8 1200


      And test dataset as



      UserID(test)    itemID(test)    timestamp(test)
      2 7 1865
      1 4 1821


      Now we can start to train the network:



      enter image description here



      my question is
      (1) how they feed above instance (user, item, timestamp) into above network?



      (2) what if different has different number of item and how to represent $y_{i,t-2}, such as user1 has 10 items in the training data; user2 has only 2 items in the training data, then the length of LSTM will be different. does it matter.



      (3) if want to using mini-batch gradient, How to split the training data? just randomly split or we need to split based on timestamp?







      tensorflow lstm recommender-system recurrent-neural-net






      share|improve this question









      New contributor




      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 7 mins ago







      jason













      New contributor




      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 12 mins ago









      jasonjason

      1031




      1031




      New contributor




      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      jason is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          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
          });


          }
          });






          jason is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f46680%2fhow-to-training-the-recurrent-recommender-system-with-lstm%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          jason is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          jason is a new contributor. Be nice, and check out our Code of Conduct.













          jason is a new contributor. Be nice, and check out our Code of Conduct.












          jason is a new contributor. Be nice, and check out our Code of Conduct.
















          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%2f46680%2fhow-to-training-the-recurrent-recommender-system-with-lstm%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

          Ponta tanko

          Tantalo (mitologio)

          Erzsébet Schaár