php代码分解行,PHP中的奇异值分解(SVD)

这篇博客介绍了如何使用Python的svdpython库进行奇异值分解(SVD)。作者建议对于大型文档矩阵,离线执行SVD并在需要时进行实时比较可能是更有效的方法。他还提到了减少奇异值数量以进行潜在语义分析,并推荐了Bellegarda的论文作为后续步骤的参考资料。
摘要由CSDN通过智能技术生成

SVD Python

是一个非常清晰、节俭的SVD实现。

它实际上是伪代码,应该相当容易理解

对PHP实现进行比较/借鉴,即使您不太了解Python。

也就是说,正如其他人提到的那样,我不希望能够对PHP实现执行非常繁重的LSA,这听起来像是一个相当有限的Web主机。

干杯

编辑:

上面的模块本身不做任何事情,但是在

开场白。假设您下载了python模块,并且可以访问它(例如,在同一个文件夹中),那么

可以实现一个简单的示例,如下所示,

#!/usr/bin/python

import svd

import math

a = [[22.,10., 2., 3., 7.],

[14., 7.,10., 0., 8.],

[-1.,13.,-1.,-11., 3.],

[-3.,-2.,13., -2., 4.],

[ 9., 8., 1., -2., 4.],

[ 9., 1.,-7., 5.,-1.],

[ 2.,-6., 6., 5., 1.],

[ 4., 5., 0., -2., 2.]]

u,w,vt = svd.svd(a)

print w

这里“w”包含您的奇异值列表。

当然,这只会让您成为潜在语义分析及其相关分析的一部分。

您通常希望减少奇异值的数量,然后使用适当的距离

度量您的文档或单词、文档和单词等之间的相似性。

结果向量之间夹角的余弦非常流行。

是迄今为止我读过的关于你剩下的步骤的最清晰、最简洁和最具信息性的论文。

需要根据SVD进行锻炼。

edit2:还要注意,如果你使用的是非常大的文档矩阵(我假设

这是您正在做的)几乎可以肯定地说,执行分解会更有效率。

在离线模式下,然后根据请求仅以实时方式执行比较。

虽然svd python非常适合学习,但是svdlibc更适合学习这么重的内容。

计算。

最后,正如上面的Bellegarda论文中提到的,记住您不必重新计算

每次收到新文档或请求时,SVD都会出现。取决于你想做什么,你可以

可能每周执行一次SVD,在离线模式下,本地机器,

然后上传结果(尽管存在大小/带宽问题)。

不管怎样,祝你好运!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值