33、VBPCA与k-NN在Reddit数据集上的对比及维基百科类别网络结构分析

VBPCA与k-NN在Reddit数据集上的对比及维基百科类别网络结构分析

1. k-NN算法介绍

1.1 k-NN基础

在k近邻(k-NN)算法中,通常会选择多个邻居数量k进行实验。为了获得更好的结果,可以通过K折交叉验证等方法来估计参数k的值。不过,简单的邻域模型没有考虑到用户投票行为的差异,有些用户可能经常投反对票,而有些用户可能只投赞成票。因此,在最终的k-NN方法中引入评分归一化是很有必要的,公式如下:
[ \hat{r} {ui} = \bar{r}_i + \frac{\sum {j \in N_u(i)} w_{ij}(r_{uj} - \bar{r} j)}{\sum {j \in N_u(i)} |w_{ij}|} ]
其中,(\bar{r} i) 表示所有用户对链接i的平均评分,称为均值中心化项。在计算i的邻居时,分子中也包含了均值中心化。分母则是相似度权重 (w {ij}) 的归一化项。

1.2 全k-NN算法

使用相似度矩阵计算链接级k-NN的算法步骤如下:
1. 使用余弦相似度从测试矩阵 (M_{test}) 计算完整的 (d×d) 相似度矩阵 (S)。对于列归一化的 (n×d) 矩阵 (M),有 (S = M^T M)。
2. 为了使用上述公式估计 (\hat{r} {ui}),在列向量 (S_i) 中找到k个相关链接j,使得 (r {uj}) 可观测且权重最高。
这个算法在实验中被称为“k-NN full”。

1.3 快速稀疏k-NN算法

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值