# 评分矩阵、余弦相似度与计数树

[[MCS/day4/00 学习指南|day4 学习指南]] · [[MCS/00 MCS学习总览|十一天总览]] · [[MCS/day4/阅读核验与疑问|阅读核验与疑问]] · 上一篇：[[MCS/day4/06 助力概率假设模型与心理机制|助力概率假设模型与心理机制]] · 下一篇：[[MCS/day4/08 盲盒有序无序计数辨析|盲盒有序无序计数辨析]]

> 来源：[[MCS/day4的补充|day4的补充]]。用途：补充。原有推导、追问与解答保留；阅读时请结合本日核验说明。

用户–物品评分矩阵：
用户 u、用户 v 的评分向量
$$
R =
\begin{pmatrix}
r_{11} & r_{12} & \cdots & r_{1n} \\
r_{21} & r_{22} & \cdots & r_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
r_{m1} & r_{m2} & \cdots & r_{mn}
\end{pmatrix}
\in \mathbb{R}^{m \times n},
\quad
\vec{r}_u = (r_{u1}, r_{u2}, \dots, r_{un}) \in \mathbb{R}^{n},
\quad
\vec{r}_v = (r_{v1}, r_{v2}, \dots, r_{vn}) \in \mathbb{R}^{n}
$$
用户 u、v 的余弦相似度。点积、模长。
$$
\operatorname{sim}(u,v)
= \cos(\vec{r}_u, \vec{r}_v)
= \frac{\vec{r}_u \cdot \vec{r}_v}{\|\vec{r}_u\| \, \|\vec{r}_v\|},
\quad
\vec{r}_u \cdot \vec{r}_v
= \sum_{i=1}^{n} r_{ui} \, r_{vi},
\quad
\|\vec{r}_u\| = \sqrt{\sum_{i=1}^{n} r_{ui}^{2}},
\quad
\|\vec{r}_v\| = \sqrt{\sum_{i=1}^{n} r_{vi}^{2}}
$$
展开后的余弦相似度、用户相似度矩阵
$$
\operatorname{sim}(u,v)
= \frac{\displaystyle\sum_{i=1}^{n} r_{ui} \, r_{vi}}
{\displaystyle\sqrt{\sum_{i=1}^{n} r_{ui}^{2}} \;
 \sqrt{\sum_{i=1}^{n} r_{vi}^{2}}},
\quad
S =
\begin{pmatrix}
s_{11} & s_{12} & \cdots & s_{1m} \\
s_{21} & s_{22} & \cdots & s_{2m} \\
\vdots & \vdots & \ddots & \vdots \\
s_{m1} & s_{m2} & \cdots & s_{mm}
\end{pmatrix}
\in \mathbb{R}^{m \times m}
$$
稀疏性，对角线为 1,矩阵对称
$$
s_{uv} = \operatorname{sim}(u,v) = \cos(\vec{r}_u, \vec{r}_v),
\quad
s_{uu} = 1,
\quad
s_{uv} = s_{vu},
\quad
s_{uv} = 0
\quad \text{（当用户 } u \text{ 与用户 } v \text{ 没有共同评分物品时）}
$$

“取一行 = 用户向量、取一列 = 物品向量、两两算余弦 = 相似度矩阵
$$
\vec{r}_u = R_{u,:},
\quad
\vec{r}_v = R_{v,:},
\quad
\vec{c}_i = R_{:,i},
\quad
\vec{c}_j = R_{:,j},
\quad
S_{uv} = \cos(R_{u,:}, R_{v,:})
$$

**决策树**不是专门指排列组合的树。它本来的意思是：

> 把一连串决策过程画成一棵树：  
> 每个节点是一个状态或一个问题，  
> 每条边是一个选择，  
> 叶子是最终结果。

比如：

```text
             开始
           /      \
        选1       选2
       /   \      /   \
     选2   选3  选1   选3
      |     |    |     |
     {1,2}{1,3}{2,1}{2,3}
```
这棵树如果区分顺序，就是**排列树**；  
如果把 {1,2} 和 {2,1} 看成同一个结果，就是**组合树**，或者说在叶子那里做了合并。

所以：

- **决策树**：描述“做决策的过程”。
    
- **排列树**：决策时顺序重要，不同顺序是不同路径。
    
- **组合树**：决策时顺序不重要，不同顺序合并成同一个结果。
  

排列树保留顺序，所以路径多；组合树合并同组的不同顺序，所以结果少。决策树只是描述决策过程，顺序重不重要，取决于你把它当排列还是组合。


----
