gpt4 book ai didi

sparse-matrix - 稀疏矩阵的 pLSA 实现

转载 作者:行者123 更新时间:2023-12-04 03:43:57 26 4
gpt4 key购买 nike

我正在尝试实现 Thomas Hoffman (1999) 提出的 pLSA 算法。但是,我发现的所有实现都将输入术语文档矩阵视为完整矩阵而不是稀疏矩阵。由于我的输入矩阵非常大且稀疏,我想找出一种支持稀疏性的算法。你能帮我找一个吗?首选 Matlab 或 Java。

更新我发现 PennAspect http://www.cis.upenn.edu/~ungar/Datamining/software_dist/PennAspect/index.html实际上用稀疏矩阵输入实现 PLSA。

解决方法很简单。二维参差不齐的数组(每行长度不同的数组)可用于表示稀疏矩阵。

最佳答案

我知道已经晚了。但是我也在寻找答案,最后自己实现了。我是 R 的新手,但喜欢这个算法,并被建议在 R 中实现它。它与我的大型稀疏 dtm 完美配合,即具有 10 次迭代的文档术语矩阵:

##PLSA algo
k <- 100;
P1<-t(apply(matrix(sample.int(46, k*dim(mat)[2], TRUE), k, dim(mat[2]),1,funnorm <- function(matrow){
matcol <- matrow/sum(matrow)
return(matcol)
}))

P2<-t(apply(matrix(sample.int(46, dim(mat)[1]*k, TRUE), dim(mat)[1], k),1,funnorm <- function(matrow){
matcol <- matrow/sum(matrow)
return(matcol)
}))

for(n in 1:10){

P3<-P2 %*% P1
P4 <- mat / P3

P5 <- P4 %*% t(P1)
P6 <- P2 * P5
P2new <- P6/(rowSums(P6))

P5 <- t(P2) %*% P4
P6 <- P1 * P5
P1new <- P6/(rowSums(P6))

P1 <- P1new
P2 <- P2new
}

希望它能帮助任何仍在寻找它的人。

关于sparse-matrix - 稀疏矩阵的 pLSA 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12377037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com