
234
10
章 制限付きボルツマンマシンを用いた推薦システム
大まかに言って、学習が進むに従って誤差は低下している。
開発した
RBM
モデルを使って検証セット内のユーザの格付けを予想してみよう。検証セットのユー
ザは訓練セットのユーザと同じだ。
# Predict ratings for validation set
inputValidation = ratings_validation
inputValidation = inputValidation.astype(np.float32)
finalOutput_validation, reconstructedOutput_validation, _ = \
rbm.rbm_output(inputValidation)
予測した値を配列に変換し実際の格付けと比較して
MSE
を計算してみよう。
predictionsArray = reconstructedOutput_validation
pred_validation = \
predictionsArray[ratings_validation.nonzero()].flatten()
actual_validation = \
ratings_validation[ratings_validation.nonzero()].flatten()
rbm_prediction = mean_squared_error(pred_validation, actual_validation)
print('Mean ...