在数字世界的时代,我们在每个地区看到推荐的天气是电子商务网站或娱乐网站或社交网站。建议不仅为用户提供了推荐选择(基于过去的活动),而且还介绍了用户行为(情感分析或情绪AI)。

首先,让我们了解什么是推荐。它基本上是基于其过去的搜索/活动向用户推荐项目。

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(1)

图1-亚马逊推荐

图1基于过去的浏览历史和过去的搜索来告诉亚马逊的建议。所以,我们可以说推荐基本上是根据过去的行为来预测未来的行为。推荐系统中使用了两种方法

基于内容的过滤 -

它基于向用户K推荐项目的想法,该项目与由K高度评价的先前项目类似。基于内容的过滤中的基本概念是TF-IDF(术语频率 - 逆文档频率),其用于确定重要性文档/文字/电影等。基于内容的过滤显示了建议的透明度,但与协作过滤不同,它不能有效地处理大量数据

基于协作的过滤

它基于这样的想法,即对某些类型的项目具有相同兴趣的人们也会在某些其他类型的项目中共享相同的兴趣,这与基于元数据的基于内容的处理现实生活活动时不同。这种类型的过滤对于大多数域来说是灵活的(或者我们可以说它是无域的),但是由于冷启动问题,数据稀疏性(这是由矩阵分解处理的),这种类型的算法在某些情况下面临一些挫折。

矩阵分解

《矩阵分解》在网飞公司(Netflix)竞赛(2006)结束后备受关注,当时网飞公司宣布向那些将其均方根性能提高10%的人提供100万美元的奖金。Netflix提供了一套100,480,507个评分的培训数据,17,770部电影获得了480,189个用户的评分。

矩阵分解是基于协同的滤波方法,将矩阵m*n分解为m*k和k*n。它主要用于复杂矩阵运算的计算。矩阵的除法是这样的,如果我们将分解后的矩阵相乘,就会得到原始矩阵,如图2所示。它用于发现两个实体之间的潜在特征(可用于多个实体,但这将属于张量分解)

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(2)

图2:矩阵分解

矩阵分解可分为三种类型-

矩阵分解可用于图像识别、推荐等领域。在这种类型的问题中使用的矩阵通常是稀疏的,因为一个用户可能只对某些电影进行评分。矩阵分解有多种应用,如降维(要了解降维的更多信息,请参阅维度诅咒)、潜值分解等

问题陈述

在表1中,我们有5个用户和6个电影,其中每个用户可以评价任何电影。正如我们所看到的,Henry没有为Thor和Rocky 评分,Jerry 也没有为Avatar评分。在现实世界的情况下,这些类型的矩阵可以是高度稀疏的矩阵

我们的问题陈述是我们必须找出未评级电影的评级,如表1所示

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(3)

Table 1- Movie Dataset

作为我们通过矩阵分解找到用户评分的目标,但在此之前,我们必须经历奇异值分解(SVD),因为矩阵分解和SVD彼此相关

SVD和矩阵分解

在深入SVD之前让我们先了解什么是K和转置(K)。如果我们在矩阵K(表1)上执行PCA,我们得到所有的用户矢量。之后,我们可以将这些向量放入矩阵U的列中,如果我们在转置(K)上执行PCA,则我们获得所有成为矩阵M的列的电影向量。

因此,我们可以使用SVD,而不是在K和转置(K)上分别执行PCA,而SVD可以在 single shot中对K和转置(K)执行PCA。SVD基本上将K分解为矩阵U、矩阵M和对角矩阵:

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(4)

其中K是原始矩阵,U是用户矩阵,M是电影矩阵,中间是对角矩阵

为了简单起见,我们可以在一段时间内去除对角矩阵,这样新的方程就变成:

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(5)

令r是为用户u和项目i定义的评分,p是用户的M行,q是特定项目i的转置列(U)。所以等式将变成:

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(6)

注 - 如果K是密集矩阵值,则M将是K *转置(K)的特征向量,U的相似值将是转置的特征向量(K)* K,但我们的矩阵是稀疏矩阵,我们不能通过这种方法计算U和M

我们的任务是找到矩阵M和U。一种方法是将随机值初始化为M和U,当值接近K时,将其与原始矩阵K进行比较,而不是停止这个过程,否则将U和M的值最小化,直到它们接近K。这类优化的过程称为梯度下降

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(7)

图3:梯度下降流程图

所以我们的基本任务是最小化均方误差函数,可以表示为:

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(8)

因为我们的主要任务是最小化误差,即我们必须找到我们必须去哪个方向,因为我们必须区分它,因此新方程将变为

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(9)

因此,p和u的更新值现在将成为:

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(10)

其中,alpha通常是学习速率,因为更高的alpha可以超过最小值,所以其值非常小。

正则化的建议

当我们将模型与训练数据相匹配时,它会返回一些决策行。基于这条决策线,我们可以区分数据的分布

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(11)

Figure 4: Underfit vs Overfit

第一图是模型线性拟合的地方,而在第二图中模型拟合的是多项式度。乍一看,第二图比第一图要好得多,因为它在训练数据上有99%的准确率,但是如果我们引入测试数据并且测试数据的准确率达到50%,那么该怎么办呢?这种类型的问题叫做过拟合,为了解决这个问题,我们引入了正则化的概念。

由于过拟合问题在机器学习中很常见,所以有两种正则化方法可以用来去除过拟合

  • 1 - L1正则化
  • 2 - L2正则化

L1正则化以系数的线性数量级作为惩罚项,在L2中为损失函数/误差函数增加系数的平方数量级(如上所述)。L1返回稀疏矩阵,而L2不返回。L1正则化在稀疏矩阵的特征选择中很有效。

在推荐数据集中,数据过度拟合的可能性也很大。为了消除过度拟合问题,我们可以在损失函数中加入L2正则化(因为矩阵已经是稀疏的,这里不需要L1正则化),因此新的损失函数方程为:

机器学习稀疏矩阵影响分类结果吗(在机器学习中使用矩阵分解进行系统推荐)(12)

同样,我们可以在更新的MSE上找到梯度,并按照上面讨论的方法得到更新的点。

在上面的情形中需要考虑的一件重要的事情是,矩阵P和Q是非负的,因此这些分解的类型也被称为非负分解。由于非负分解自动提取非负向量集的信息。NMF广泛应用于图像处理、文本挖掘、高维数据分析等领域

,