From ec280d3d8df0fd937746312d88bdc267f38c811b Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Thu, 6 Apr 2017 20:24:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B014.SVD=E7=9A=84=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/14.使用SVD简化数据.md | 18 +++++++++--------- .../14.SVD/使用SVD简化数据-LSI举例.png | Bin .../14.SVD/使用SVD简化数据-SVD公式.png | Bin .../14.SVD/使用SVD简化数据-余弦相似度.png | Bin .../14.SVD/使用SVD简化数据-基于物品相似度.png | Bin .../14.SVD/使用SVD简化数据-基于用户相似度.png | Bin 6 files changed, 9 insertions(+), 9 deletions(-) rename docs/14.使用SVD简化数据-LSI举例.png => images/14.SVD/使用SVD简化数据-LSI举例.png (100%) rename docs/14.使用SVD简化数据-SVD公式.png => images/14.SVD/使用SVD简化数据-SVD公式.png (100%) rename docs/14.使用SVD简化数据-余弦相似度.png => images/14.SVD/使用SVD简化数据-余弦相似度.png (100%) rename docs/14.使用SVD简化数据-基于物品相似度.png => images/14.SVD/使用SVD简化数据-基于物品相似度.png (100%) rename docs/14.使用SVD简化数据-基于用户相似度.png => images/14.SVD/使用SVD简化数据-基于用户相似度.png (100%) diff --git a/docs/14.使用SVD简化数据.md b/docs/14.使用SVD简化数据.md index 3a555b4c..d26e3ece 100644 --- a/docs/14.使用SVD简化数据.md +++ b/docs/14.使用SVD简化数据.md @@ -16,7 +16,7 @@ # 1.1 隐性语义索引:矩阵 = 文档 + 词语 * 是最早的SVD应用之一。我们称利用SVD的方法为隐性语义索引(LSI)或隐性语义分析(LSA)。 -* ![LSA举例](./14.使用SVD简化数据-LSI举例.png) +* ![LSA举例](/images/14.SVD/使用SVD简化数据-LSI举例.png) # 2. 矩阵分解 * SVD 是矩阵分解的一种类型,而矩阵分解是将数据矩阵分解为多个独立部分的过程。 @@ -27,7 +27,7 @@ # SVD 时矩阵最常见的分解技术。 * SVD将原始的数据集矩阵Data分解成三个矩阵U、∑、VT。 * 举例:如果原始矩阵Data是m行n列,那么U、∑、VT 就分别是m行m列、m行n列和n行n列。 -* ![SVD公式](./14.使用SVD简化数据-SVD公式.png) +* ![SVD公式](/images/14.SVD/使用SVD简化数据-SVD公式.png) * 上述分解中会构建出一个矩阵∑,该矩阵只有对角元素,其他元素均为0。另一个惯例就是,∑的对角元素是从大到小排列的。这些对角元素称为奇异值,它们对应原始矩阵Data的奇异值。 * 奇异值与特征值是有关系的。这里的奇异值就是矩阵 Data * DateT 特征值的平方根。 @@ -44,27 +44,27 @@ # 4.1 相似度计算 * 我们不利用专家所给出的重要属性来描述物品从而计算它们之间的相似度,而是利用用户对它们的意见来计算相似度。 -# 1)欧氏距离:指在m维空间中两个点之间的真实距离,或者向量的自然长度(即改点到原点的距离)。二维或三维中的欧氏距离就是两点之间的实际距离。 +* 1)欧氏距离:指在m维空间中两个点之间的真实距离,或者向量的自然长度(即改点到原点的距离)。二维或三维中的欧氏距离就是两点之间的实际距离。 * 相似度= 1/(1+距离) * 物品对越相似,它们的相似度值就越大。 -# 2)皮尔逊相关系数:度量的是两个向量之间的相似度。 +* 2)皮尔逊相关系数:度量的是两个向量之间的相似度。 * 相对欧氏距离的优势:它对用户评级的量级并不敏感。 * 皮尔逊相关系数的取值范围从 -1 到 +1,通过函数0.5 + 0.5*corrcoef()这个函数计算,把值归一化到0到1之间。 -# 3)余弦相似度:计算的是两个向量夹角的余弦值。 +* 3)余弦相似度:计算的是两个向量夹角的余弦值。 * 如果夹角为90度,则相似度为0;如果两个向量的方向相同,则相似度为1.0。 * 余弦相似度的取值范围也在-1到+1之间。 -* ![SVD公式](./14.使用SVD简化数据-余弦相似度.png) +* ![SVD公式](/images/14.SVD/使用SVD简化数据-余弦相似度.png) # 4.2 基于物品的相似度和基于用户的相似度:物品比较多则选择物品相似度,用户比较多则选择用户相似度。 * 基于物品的相似度:计算物品之间的距离的方法。 * 基于物品相似度计算的时间会随物品数量的增加而增加。 -* ![SVD公式](./14.使用SVD简化数据-基于物品相似度.png) +* ![SVD公式](/images/14.SVD/使用SVD简化数据-基于物品相似度.png) * 基于用户的相似度:计算用户距离的方法。 * 基于用户的相似度计算的时间则会随着用户数量的增加而增加。 -* ![SVD公式](./14.使用SVD简化数据-基于用户相似度.png) +* ![SVD公式](/images/14.SVD/使用SVD简化数据-基于用户相似度.png) # 4.3 推荐引擎的评价 * 最小均方根误差(RMSE):推荐引擎评价的指标,先计算均方误差然后取其平方根。 @@ -82,4 +82,4 @@ # 5.3 构建推荐引擎面临的挑战 * 1)在大规模的数据集上,SVD分解会降低程序的速度 * 2)存在其他很多规模扩展性的挑战性问题,比如矩阵的表示方法和计算相似度得分消耗资源。 -* 3)如何在缺乏数据时给出好的推荐(冷启动问题,解决方案就是将推荐看成是搜索问题) \ No newline at end of file +* 3)如何在缺乏数据时给出好的推荐(冷启动问题,解决方案就是将推荐看成是搜索问题) diff --git a/docs/14.使用SVD简化数据-LSI举例.png b/images/14.SVD/使用SVD简化数据-LSI举例.png similarity index 100% rename from docs/14.使用SVD简化数据-LSI举例.png rename to images/14.SVD/使用SVD简化数据-LSI举例.png diff --git a/docs/14.使用SVD简化数据-SVD公式.png b/images/14.SVD/使用SVD简化数据-SVD公式.png similarity index 100% rename from docs/14.使用SVD简化数据-SVD公式.png rename to images/14.SVD/使用SVD简化数据-SVD公式.png diff --git a/docs/14.使用SVD简化数据-余弦相似度.png b/images/14.SVD/使用SVD简化数据-余弦相似度.png similarity index 100% rename from docs/14.使用SVD简化数据-余弦相似度.png rename to images/14.SVD/使用SVD简化数据-余弦相似度.png diff --git a/docs/14.使用SVD简化数据-基于物品相似度.png b/images/14.SVD/使用SVD简化数据-基于物品相似度.png similarity index 100% rename from docs/14.使用SVD简化数据-基于物品相似度.png rename to images/14.SVD/使用SVD简化数据-基于物品相似度.png diff --git a/docs/14.使用SVD简化数据-基于用户相似度.png b/images/14.SVD/使用SVD简化数据-基于用户相似度.png similarity index 100% rename from docs/14.使用SVD简化数据-基于用户相似度.png rename to images/14.SVD/使用SVD简化数据-基于用户相似度.png