$ R^i = \frac{1}{K} \sum{j=1}^{K} r^ij $$
时间: 2024-06-17 14:07:52 浏览: 11
这个公式表示的是计算某个物品i的平均评分,其中r^ij表示用户j对物品i的评分,K表示评分的用户数。
具体来说,对于一个物品i,我们有多个用户对它评分,假设一共有K个用户对它评分(即物品i的评分人数为K),那么我们可以把这K个用户对物品i的评分加起来,得到总评分Ri,然后再除以K,得到平均评分。
以下是一个Python例子,假设我们有一个评分矩阵ratings,其中第i行第j列的元素ratings[i][j]表示用户j对物品i的评分,则可以使用以下代码计算每个物品的平均评分:
```python
num_items, num_users = ratings.shape # 获取物品数和用户数
R = np.zeros(num_items) # 初始化每个物品的平均评分
for i in range(num_items):
sum_ratings = 0 # 总评分
num_ratings = 0 # 评分人数
for j in range(num_users):
if ratings[i][j] > 0: # 如果用户j对物品i有评分
sum_ratings += ratings[i][j]
num_ratings += 1
if num_ratings > 0:
R[i] = sum_ratings / num_ratings # 计算平均评分
```
相关问题
^i = \frac{1}{K} \sum{j=1}^{K} r^ij $$
这是一个计算向量i和K个向量r^1 ~ K的平均值的公式。其中i和r^1 ~ K都是向量,公式中的j表示第j个向量的索引,K是向量的数量。
具体步骤如下:
1. 对r^1 ~ K进行累加求和,得到一个向量S。
2. 将S除以K,得到平均向量M。
3. 计算向量i和平均向量M的点积,得到一个标量值。
这个公式在机器学习中经常用于计算目标向量i和一组参考向量的相似度。
<<例子>>
假设有3个向量r^1、r^2和r^3,分别为[1,2,3]、[4,5,6]和[7,8,9],另外一个向量i为[2,3,4]。根据公式我们可以得到以下结果:
$$S = r^1 + r^2 + r^3 = [1,2,3] + [4,5,6] + [7,8,9] = [12, 15, 18]$$
$$M = \frac{1}{3} * S = \frac{1}{3} * [12, 15, 18] = [4, 5, 6]$$
$$i * M = [2, 3, 4] * [4, 5, 6] = 2*4 + 3*5 + 4*6 = 44$$
把NMI = \frac{-2 \cdot \sum_{i=1}^C \sum_{j=1}^K \frac{n_{ij}}{n} \log\left(\frac{n_{ij} \cdot n}{n_i \cdot n_j}\right)}{\sum_{i=1}^C \frac{n_i}{n} \log\left(\frac{n_i}{n}\right) + \sum_{j=1}^K \frac{n_j}{n} \log\left(\frac{n_j}{n}\right)}转换成普通数学公式
将NMI的计算公式转换成普通数学公式:
NMI = \frac{-2 \cdot \sum_{i=1}^C \sum_{j=1}^K \frac{n_{ij}}{n} \log\left(\frac{n_{ij} \cdot n}{n_i \cdot n_j}\right)}{\sum_{i=1}^C \frac{n_i}{n} \log\left(\frac{n_i}{n}\right) + \sum_{j=1}^K \frac{n_j}{n} \log\left(\frac{n_j}{n}\right)}
可以进一步简化为:
NMI = \frac{2 \cdot I(C, K)}{H(C) + H(K)}
其中,
- I(C, K) 表示互信息(Mutual Information)的计算,定义为:I(C, K) = \sum_{i=1}^C \sum_{j=1}^K \frac{n_{ij}}{n} \log\left(\frac{n_{ij} \cdot n}{n_i \cdot n_j}\right)
- H(C) 表示聚类结果的熵(Entropy),定义为:H(C) = -\sum_{i=1}^C \frac{n_i}{n} \log\left(\frac{n_i}{n}\right)
- H(K) 表示真实标签的熵(Entropy),定义为:H(K) = -\sum_{j=1}^K \frac{n_j}{n} \log\left(\frac{n_j}{n}\right)
通过计算互信息、聚类结果的熵和真实标签的熵,可以得到NMI的值。