更新 SVD的文档和SVD中降维和压缩在数据上不同的说明

This commit is contained in:
jiangzhonglian
2020-09-14 14:23:10 +08:00
parent 799d4533c5
commit 79167c259d
2 changed files with 72 additions and 29 deletions

View File

@@ -259,7 +259,12 @@ def svdEst(dataMat, user, simMeas, item):
# 如果要进行矩阵运算,就必须要用这些奇异值构建出一个对角矩阵
Sig4 = mat(eye(4) * Sigma[: 4])
# 利用U矩阵将物品转换到低维空间中构建转换后的物品(物品+4个主要的特征)
# 利用U矩阵将物品转换到低维空间中构建转换后的物品(物品+4个主要的“隐形”特征)
# 公式1(目的是: 降维-改变形状,也改变大小) xformedItems = dataMat.T * U[:, :4] * Sig4.I
# 公式2(目的是: 压缩-不改变形状,改变大小) reconMat = U[:, :4] * Sig4.I * VT[:4, :]
# 其中: imgCompress() 是详细的案例
# 最近看到一篇文章描述,感觉挺有道理的,我就顺便补充一下注释: https://blog.csdn.net/qq_36523839/article/details/82347332
xformedItems = dataMat.T * U[:, :4] * Sig4.I
# 对于给定的用户for循环在用户对应行的元素上进行遍历
# 这和standEst()函数中的for循环的目的一样只不过这里的相似度计算时在低维空间下进行的。