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

Wrong normalization in SVD++

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.7
    • 0.8
    • None

    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

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

            Dates

              Created:
              Updated:
              Resolved: