日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

矩阵分解 java_使用矩阵分解为推荐系统

發布時間:2023/12/1 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 矩阵分解 java_使用矩阵分解为推荐系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

矩陣分解假設“潛在因素”,例如對用戶的意大利食物的偏好和項目食物的意外性與矩陣中的評級有關 .

因此,整個問題類型轉變為矩陣重構問題,存在許多不同的解決方案 . 一個簡單的,可能很慢的解決方案是(除了ALS和其他一些矩陣重建的可能性)使用梯度下降算法逼近矩陣 . 我推薦這篇簡短的文章ieee article about recommender systems .

提取潛在因素是一個不同的問題 .

因此,GDM的實現可能如下所示:

public void learnGDM(){

//traverse learnSet

for(int repeat = 0; repeat < this.steps; repeat++){

for (int i = 0; i < this.learnSet.length; i++){

for (int j = 0; j < this.learnSet[0].length; j++){

if(this.learnSet[i][j] > 0.0d){

double Rij = this.learnSet[i][j];

for(int f = 0 ; f <= latentFactors; f++){

double error = Rij - dotProduct(Q.getRow(i), P.getRow(j));/*estimated_Rij;*/

//ieee computer 1.pdf

double qif = Q.get(i, f);

double pif = P.get(j, f);

double Qvalue = qif + gradientGamma * (error * pif - gradientLambda * qif);

double Pvalue = pif + gradientGamma * (error * qif - gradientLambda * pif);

Q.set(i,f, Qvalue);

P.set(j, f, Pvalue);

}

}

}

}

//check global error

if(checkGlobalError() < 0.001d){

System.out.println("took" + repeat + "steps");

break;

}

}

學習集是包含評級矩陣的二維數組,如ieee文章中所述 . GDM算法每次迭代一次改變評級向量P和Q,以便它們接近評級矩陣中的評級 . 然后可以通過P和Q的點積計算“未給定”等級 . 然后,對于未給定的等級,最高估計將是推薦 .

這就是它的開始 . GDM的許多優化和其他算法或修改版本也可以并行運行 .

一些好的讀物:

總結

以上是生活随笔為你收集整理的矩阵分解 java_使用矩阵分解为推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。