第4章 基纳法 阅读(PageRank的兄弟)

来源:互联网 发布:sql count(1) 编辑:程序博客网 时间:2024/04/24 08:33

        基纳是一名数学家,专攻数学在生物学中的应用。基纳法和大家熟知的PageRank算法是一脉相承的。1907年到1912年间,佩隆和弗罗贝尼乌斯提出了非负矩阵理论。1993年,基纳利用非负矩阵理论构建他的评分和排名体系。1996-1998年,谷歌创始人布林和佩奇按类似于基纳的方法使用非负矩阵理论,提出了PageRank算法。

       佩隆和弗罗贝尼乌斯、基纳及其先驱以及谷歌创始人的故事说明,认可与财富更多地被给予了那些将想法应用于一个有用的目的的人,而不是那些仅仅提出某个想法的人。

        基纳法的核心是利用特征值和特征向量来进行评分和排名,其步骤如下:

1、选择体现实力的属性。例如队伍 i 击败队伍 j 的次数,或队伍 i 从队伍 j 身上取得的分数。

2、设 aij = 队伍 i 从队伍 j 身上取得的分数, 保证每个 aij 均为非负数。

3、aij 的第一次替换。利用拉普拉斯的“承续法则”,重新定义aij , aij = ( aij+ 1 ) / ( aij + aji +2 )。

4、aij 的第二次替换。构建偏好函数h(x) = 1 / 2 + sgn{ x - (1/2) } sqrt( | 2x-1 | ) / 2 ,并进行替换aij <-- h(aij )

5、aij 的第三次替换。aij <--aij / ni (其中,ni = 队伍 i 进行的比赛场数)

6、对球队之间相互作用的程度以及由此得到的统计数据aij施加3个并不苛刻的约束。依次为非负性,不可约性,素性。

7、用幂法求取评分向量r

     简单解释一下,第三步到第五步的3次变换,都有点归一化的味道,是为了方便在评分和实力之间建立联系。基纳法的根本是构造了一个方程Ar = λr ,矩阵A中的统计数据为 aij ,r为评分向量,λ为常量,Ar表示实力向量。

            

     如果能找到矩阵A的特征值和特征向量,就能得到评分向量r和实力向量s。为了方便解这个方程,基纳对球队之间相互作用的程度以及由此得到的统计数据 aij 施加3个并不苛刻的约束。

     1、非负性。保证每一个 aij 均非负。

     2、不可约性。做一个无向图图,结点是队伍,如果两队有过交锋,那么图中这两个结点之间有边。如果这个图是连通图,那么称这个联赛是不可约的。

     3、素性。每两只队伍都被均等数量的比赛所联系。

     如果,只施加约束1和2,可以用佩隆-弗罗贝尼乌斯定理求解方程Ar = λr,获取唯一评分向量r。由该方法求得的评分向量有一个重要性质,即每支队伍的分数 ri 在0和1之间,所有队伍的分数之和等于1。

     如果,施加以上三个约束,那么可以用一种更简单的方法求解评分向量,即幂法。

     当约束2和3不成立时,可以通过对A施加一个小的扰动并以之来替换掉原来的A。即A <--A +E ,E中的每个值都相等,该值非常小,共m*m个相等的值,m为参赛队伍数目。这一做法的效果相当于在每两支队伍之间都引入了一场虚拟比赛,这些虚拟比赛的统计数据都足够小,从而不会扭曲真实比赛中所蕴含的信息。经过扰动后,每两支队伍之间都有边,是一个完全图,所以它是连通的,每两只队伍都被1场比赛所联系,因此不可约性和素性就都得到了保证。

     基纳法中的幂法和PageRank中的幂法相似,核心步骤是重复执行r <--  Ar 步骤,直至r 收敛。

     基纳评分反映了长期胜率,但没有给出对象短期情况的任何信息,对于预测单场比赛的分差而言,它几乎毫无用处。

 

 

0 0