2013-04-26 34 views
0

我試圖對與Netflix類似的收視率數據集實現此功能,並且我已經將它用於「工作」;在每次迭代/添加更多功能後,訓練錯誤會趨向0如何確定Simon Funk的增量SVD方法的測試錯誤

如何確定這將如何預測測試數據集(具有少量未用於訓練的評分的用戶)? Funk掩飾了這部分內容,這讓我很困惑。

我開始用以下矩陣:

  1. 用戶功能列表(用戶X NUM_FEATURES)
  2. 影功能列表(電影X NUM_FEATURES)
  3. 評分矩陣(影X用戶)

我唯一的方法來更新前兩個矩陣是通過在算法中迭代更新它們的迭代。我不認爲我可以訓練這些矩陣,然後引入一個全新的用戶,並估計他的特徵矩陣是什麼樣的。

我現在試過的是從Rating Matrix中移除20%的評分,將它們移動到測試矩陣中,並用0填充所有空單元格(在成本函數中忽略)。它不工作。

回答

0

你是什麼意思

它不工作。

通常我們會計算探針集上的RMSE。爲每個用戶初始化特徵,隨機獲得一些「預測」 - 每個用戶的值。

使用水晶球解釋什麼'它不工作'。意味着我會說: 您無法從probeset的學習集中隨機排除20%的評分。爲了對用戶進行預測,您至少需要來自用戶的一個評分來獲取這些功能。 那麼,你是正確的:

再介紹一個全新的用戶

是不可能的。 也許你將來自一個用戶的所有評級放入探針集中,因此用戶功能未由Simon Funk的SVD更新。