推荐算法随机游走

二分图中节点集$$V=\{v_1,\cdots,v_N\}$$其中\(N为节点个数\)

从某个节点\(u\)出发进行随机游走,以\(\alpha\)的概率选择继续从当前节点任选一个与之相连的其他节点进行下一次的随机游走或者从\(u\)重新开始游走,那么节点\(v_i\)被访问到的概率

$$p(v_i)=(1-\alpha)(v_i==u)+ \alpha \sum_{v_j\in in(v_i)}\frac{p(v_j)}{|out(v_j)|}$$

其中\(in(v_i)\)表示与\(v_i\)有入边连接的所有节点的集合,\(out(v_j)\)表示与\(v_j\)有出边连接的所有集合。

将每个节点被访问到的概率用一个向量表示$$P=\left[\begin{matrix}p(v_1) & \cdots & p(v_N)\end{matrix}\right]^T\in R^N$$

用一个转移矩阵\(M\)表示节点之间的转移概率,其中\(M_{ij}\)表示从\(v_i\)转移到\(v_j\)的概率,由于这里面是随机选择转移节点的,所以\(M_{ij}=\frac{1}{|out(v_i)|}\),则有$$P=(1-\alpha)P_0+\alpha M^TP$$其中\(P_0\)为一个\(N\)维向量,里面与\(u\)对应的元素为1其他元素均为0。

你可能感兴趣的:(推荐算法)