首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

mahout算法源码分析之Collaborative Filtering with ALS-WR (3)QR分解数据流(2)

2013-10-08 
mahout算法源码分析之Collaborative Filtering with ALS-WR (三)QR分解数据流(2)Mahout版本:0.7,hadoop版

mahout算法源码分析之Collaborative Filtering with ALS-WR (三)QR分解数据流(2)

Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。

接上篇,当数据准备完成后,就可以来分析其数据流了。

首先要分析的是new QRDecomposition(Ai),这个初始化QRDecomposition就做了好多的事情,具体分析如下:

先贴上源码,然后再分析:


  对于QRcolumnsPart来说,做了如下更新(div_num在程序中的使用的变量是nrm):
    设 div_num=(sqrt(QRcolumnsPart[k][0]^2+QRcolumnsPart[k][1]^2+...QRcolumnsPart[k][size-1]^2))
    QRcolumnsPart[k]=QRcolumnsPart[k]/div_num
    其中QRcolumnsPart[k][i]是QRcolumnsPart[k]中的第i个元素,size是QRcolumnsPart[k]中一共含有的元素个数;

    QRcolumnsPart更新为:

[{0:1.9817665337214256,1:0.12665092438034994,2:0.14175336545641365},{0:1.9301220188705366,1:-0.36725063650346085}, {0:2.0}]
        内层for循环 ,循环从k+1开始,终止为Ai的列数,用j来表示次数
------------------------------sub-first time j=k+1=3  ,k=2
-------------------------------- 直接退出,内层循环结束
设置变量rDiag:rDiag.setQuick(k, -nrm);,其中的nrm就是前面的div_num
{0:-32.26673724322168,1:-0.527836313803738,2:-0.29759508129758655}


至此,new QRDecomposition(Ai)算是分析完毕。下篇分析new QRDecomposition(Ai).solve(Vi).viewColumn(0)。好吧,我也快吐了。。。

分享,成长,快乐

转载请注明blog地址:http://blog.csdn.net/fansy1990


热点排行