链接分析
简单PageRank,节点投票,只考虑入度对自己的贡献
为应付爬虫陷阱和终节点,引入一个随机跳转的概率β
大规模PageRank的计算方法,存储上压缩,分批处理,计算加速:
1. M矩阵的稀疏特点,可以只存储非零元素
2. 将M矩阵存放在磁盘中,运算时分批加载矩阵中的向量
3. 当连r[old]和r[new]这种状态向量也无法存储在内存时,就要把r[old]和r[new]也存在磁盘,运算时分块加载r[old]中的数据和要用到的M中的部分向量,去更新r[new]中的值。Block_base Update和Block_stripe Upadate
4. 矩阵快速幂加速
PPR,个性化PR,对随机跳转集做了限制
SimRank,还是在随机跳转集上做手脚,用相似度作为随机跳转到某节点的概率。
HITS,Hubs & Authorities,综合考虑入度和出度,来回投票互增长。
TrustRank对战WebSpam
WebSpam的两种常用伎俩:
1. TermSpam
a) 在页面中用背景色插入大量某主题的关键字
b) 将现有的最优搜索结果的内容用背景色插入到自己的页面中
2. SpamFarm,指向目标Page的不光是自己的‘托’,还从一些正经网页指向,比如博客中的文章、评论等等,并由于PageRank的机制,增加自己‘托’网页的数量将提高目标也的整体评分。
社团检测ii. 对付TermSpam,谷歌采用引入对链接附近文字内容的分析,防止挂羊头卖狗肉,并且用PageRank的话那些自身没有入度的‘托’的指向将没有对打价值,还有网页去重也会起作用。
iii. 对付SpamFarm,TrustRank,拉白名单黑名单,评价网页好与坏…将teleports跳出限定在我们认为可信的页面上。
iv. 如何获取那批可信的SeedSet,用PageRank,取得分最高那批,妖魔只能局部拔高不可能真的非常高,真正高分的还是我们的好网站。或者人为限定某些叫可信的域,比如gov,edu这种。
v. 用SpamMass来推测一个页面是不是Spam,SpamMass也就是他的PageRank分减去他的可信跳转分
不重叠社团,PPR+LazyRandomWalk找最小割
AGM对带重叠的社团检测,MLE,最大似然,找出使“某个模型产生某个图的概率最大“的模型参数。MLE运用于图,通过AGM我们可以得到一个“从模型来的连边的概率矩阵“,又有已知的样本数据点的邻接矩阵,就会有一个从“从模型来的连边的概率矩阵“转化为”样本点邻接矩阵“的概率,就是从我们的模型生成样本网络图的概率。
但是这个最优的模型参数不好找,四个参数不定,他提供的是次优办法,就是逐个优化。
BigClam,也就是拉普拉斯矩阵与谱聚类,July和文墨不通的博客甚好。
i. 流程梗概
ii. 拉普拉斯矩阵,就是度矩阵减去邻接矩阵1. 根据数据构造一个Graph,Graph的每一个节点对应一个数据点,将各个点连接起来(随后将那些已经被连接起来但并不怎么相似的点,通过cut/RatioCut/NCut 的方式剪开),并且边的权重用于表示数据之间的相似度。把这个Graph用邻接矩阵的形式表示出来,记为 W。
2. 把W 的每一列元素加起来得到 N个数,把它们放在对角线上(其他地方都是零),组成一个 N*N的对角矩阵,记为度矩阵D ,并把 W - D的结果记为拉普拉斯矩阵 L=W-D。
3. 求出 L的前k 个特征值(前 k个指按照特征值的大小从小到大排序得到) ,以及对应的特征向量 。
4. 把这 k个特征(列)向量排列在一起组成一个N*k 的矩阵,将其中每一行看作 k维空间中的一个向量,并使用 K-means 算法进行聚类。聚类的结果中每一行所属的类别就是原来 Graph 中的节点亦即最初的 N个数据点分别所属的类别。
iii. 需要了解求矩阵特征值时的瑞丽商瑞丽加速以及平移加速
SVM(只介绍大概思路,具体另写svm笔记)
决策树最大化Margin,Margin者,被分开的两拨点之间的道路宽度,最大化Margin就是最大化两拨点之间的最小距离(垂直切割平面方向)。
允许失误,所以引入一个惩罚项
参数寻找,随机梯度下降,还有一个共轭梯度下降,一直没搞懂。课件中的实验结果来说,是多次粗糙的迭代(SGD)比少次精细迭代(CG)效果要好。
a) 构造总的思路是递归构造子树,主要解决三个问题
i. 寻找最佳分裂属性与分裂值
ii. 迭代分裂的终止条件,其实也是其他地方说的剪枝
iii. 如何设定叶子节点,也就是判定结果
b) 最优分裂属性与分裂值(FindBestSplit)
i. 回归问题采用计算纯度(purity)来筛选最优划分。
ii. 要求最大化“按照某属性X[i]划分,以某值v为界”情况下的纯度
iii. 纯度定义,这里奇怪的是|D|不就是n吗(各自消掉不就不起作用吗)。
iv. 分类问题采用信息增益(InformationGain)来筛选最优划分。v. 较大的信息增益也就是那个属性X携带较多的结果的Y的信息。vi. ID3算法,课件里介绍的基本也就是这种方法
ID3不能处理连贯属性,所以引入ID4.5
a) 如何设定叶子节点,也就是判定结果
i. 回归问题的话,可以用落到该叶子的样本的结果均值来表示该叶子的Prediction。
ii. 分类问题的话可以用样本中的大多数结果来表示该叶子的Prediction。
b) 决策树的MapReduce策略,谷歌的PLANET系统,逐层确定最优分裂属性和分裂值。