第一周:
学习PageRank,
知识点:每个节点的权值由其他节点的投票决定,所有节点的权值和为1
当节点很多时候必须转换成矩阵运算来计算节点的最终值,由马尔可夫链可以证明,这个值可以迭代得到
问题:可能出现无出度节点,导致总体失衡
解决办法:每个节点的入读权值矩阵M‘ = 0.8*M + 0.2*1/n,以0.2的概率跳出当前节点
模拟代码:
(ns myclojure.core (:use [incanter core stats charts io])) (def M (matrix [[1/2 1/2 0] [1/2 0 0] [0 1/2 1]])) (def r (matrix [1/3 1/3 1/3])) (def T (matrix [r r r])) (defn fir [] (loop [rr r t 20] (if (pos? t) (do (println (str t rr)) (recur (mmult (plus (mult 0.8 M) (mult 0.2 T)) rr) (- t 1))) rr))) (defn -main "I don‘t do a whole lot." [& args] (fir)) (fir)
时间: 2024-10-28 06:43:37