Uploaded image for project: 'Mahout'
  1. Mahout
  2. MAHOUT-1144

Wrong normalization in SVD++

    XMLWordPrintableJSON

    Details

      Description

      Reported by Agnonchik:

      Seems that I have found a discrepancy of this implementation from the original Yehuda Koren's SVD++ algorithm.

      line 140:
      double denominator = Math.sqrt(itemsByUser.size());
      should be
      double denominator = Math.sqrt(itemsByUser.get(u).size());
      line 164:
      double denominator = Math.sqrt(itemsByUser.size());
      should be
      double denominator = Math.sqrt(itemsByUser.get(u).size());

      The sum of y parameters should be normalized by square root of number of items for which user u provided implicit feedback. Am I right?
      Currently, it is normalized by square root of number of users not items.

        Attachments

          Activity

            People

            • Assignee:
              ssc Sebastian Schelter
              Reporter:
              ssc Sebastian Schelter
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: