最近在做电商知识图谱,涉及一些商品评分,店铺GMV的计算。这些结果是由一些特征加权计算得到,因此如何初始化特征的权重就显得尤为重要。如果一味的按照经验去进行初始化权重,然后不停的A/B测试,权重调整,是一件研发成本特别高的事情。故我选用AHP来对特征权重进行初始化。
一、AHP简介
AHP 层级分析程序(Analytic Hierarchy Process,AHP)
功能:使复杂的问题分解成各个组成要素,再将这些要素依关系分组形成简明的层级结构系统
目的:将复杂的问题系统化,由不同层面给予层级分解,且透过量化的判断,协助决策者评估
AHP:根据第二层评估第一层,根据第三层评估第二层
AHP有9个评分标准:
二、AHP计算(权重计算)
现在有如下场景,消费者想购买一部手机,有几个几个特征作为参考依据
(1)评估两个特征之间的重要性,比较颜色-品牌、颜色-价位、品牌-价位三个的重要性(取值在1~9之间),假设价格的重要程度是品牌的3倍,价格的重要程度是颜色的5倍,品牌的重要程度是颜色的两倍(根据价格-品牌、价格-颜色应得品牌的重要程度是颜色的1.67倍,但是便于计算,在得到正倒矩阵时需要得到整数,故取2,这个数值的改变,会在第三节讲到,这里我们只了解如何初始化特征权重)。
(2)上述特征之间重要性的值可以对多位采访者进行问卷调查得出。若有多位受访者进行问卷,他们给出的值不同。取整的方式将用集合平均数处理,而非算数平均数。(因为一个人认为因素1/因素2是1/3,另一个人认为是3,两者均和,几何平均数是1,但是算数平均数是5/3,显然几何平均数更为合理。)
几何平均适用于对比率、指数等进行平均,主要用于平均增长(变化)率,对数正态分布。
(3)AHP计算步骤
1、建立正倒矩阵
2、标准化,正倒矩阵列的标准化
3、计算AHP,矩阵每行取均值
建立正倒矩阵 ->标准化
-> 标准化
计算AHP ->计算AHP
好了,现在我们已经计算得到价格、品牌、颜色三个特征的权重了,但是我们要验证这个权重是否正确。
ps:在构建正倒矩阵时,建议把各个特征按照重要性由大到小做排序,再两两计算分值。
三、AHP校验(一致性校验)
(1)理想的正倒矩阵,理想的正倒值矩阵具有递移性(a是b的2倍,b是c的3倍,a是c的6倍),就拿第二节的例子来说,根据价格-品牌、价格-颜色应得品牌的重要程度是颜色的1.67倍,但是便于计算,在得到正倒矩阵时需要得到整数,故取2。因此第二节得到的正倒矩阵并非理想的正倒矩阵。
(2)理想的正倒矩阵每一列向量均成倍数,故无法对角话,这也是为什么买手机构建的正倒矩阵不是理想的正倒矩阵,并不是说不可以构建理想的正倒矩阵,而是说理想的正倒矩阵不能对角话,不利于后期的计算。
上图是理想的正倒数矩阵的变形,由这些变形可以得出理想正倒矩阵的一些特性:
1、理想的正倒矩阵每一列向量均呈倍数,故无法对角化
2、理想的正倒矩阵只有一个非零的特征值,即λ
3、理想的正倒矩阵对角线和为n,故唯一非零的特征值应为n
(3)一致性矩阵
一致性矩阵具有递移性(a是b的2倍,b是c的3倍,a是c的6倍),但是现实中我们没有办法得到这样的一致性矩阵,因此我们选取正倒值矩阵来拟合一致性矩阵,同时我们定义一致性指标来表示与一致性的接近程度,只要该指标<=0.1,即可使用,判断其验证通过。
目标:获得一致性矩阵——>理想的正倒矩阵——>正倒矩阵
一致性矩阵无法得到,理想正倒矩阵拟合,理想正倒矩阵无法对角化,用正倒矩阵代替
(4)计算校验过程
上述校验过程得到CI,其值<0.1,这三个特征的权重可取。