文章目录
写在前面: 我是
「nicedays」
,一枚喜爱做特效,听音乐,分享技术的大数据开发猿
。这名字是来自world order乐队的一首HAVE A NICE DAY
。如今,走到现在很多坎坷和不顺,如今终于明白nice day是需要自己赋予的。
白驹过隙,时光荏苒,珍惜当下~~
写博客一方面是对自己学习的一点点总结及记录
,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对大数据与机器学习
感兴趣,可以关注我的动态https://blog.csdn.net/qq_35050438
,让我们一起挖掘数据与人工智能的价值~
Spark GraphX 图算法:
一:PageRank模型:
每个网页为一个点
A到B的链接抽象为一条有向边
整张网页链接抽象成一份有向图
- 接下来我们通过一个转移矩阵来表示用户从页面i到页面j的可能性
M = [ 0 1 2 0 1 2 1 3 0 0 1 2 1 3 1 2 0 0 1 3 0 1 0 ] M = \begin{bmatrix}0 & \frac{1}{2} & 0 & \frac{1}{2} \\\frac{1}{3} & 0 & 0 & \frac{1}{2} \\\frac{1}{3} & \frac{1}{2} & 0 & 0 \\\frac{1}{3} & 0 & 1 & 0\end{bmatrix} M=⎣⎢⎢⎡03131312102100001212100⎦⎥⎥⎤
- 这个矩阵的每一列代表一个具体网页的出链,简单地说就是当前网页向其他网页的链接,第一列为A-A,A-B,A-C,A-D
- 矩阵的每一行代表一个具体网页的入链,简单地说就是其他网页向当前网页的链接,第一行为A-A,B-A,C-A,D-A
Rank值:
不加权重的话,本意是当前页面点击一次后停留在自己页面的概率
- 初始时用户访问每个页面的概率均等,假设一共有 N 个网页,每个网页的初始 PR 值 = 1 / N。我们可以将这些网页的初始 PR 值保存到一个向量中。
P 0 = [ 1 4 1 4 1 4 1 4 ] T P_0 = \begin{bmatrix}\frac{1}{4} & \frac{1}{4} & \frac{1}{4} & \frac{1}{4} \\\end{bmatrix}^T P0=[4141414