本文是观看了小象学院《大数据应用中的算法如何创造商业价值》,现在做一下梳理
问题:当当网中”最佳拍档”中的关联规则算法
对于解决一个实际的问题,我们看一下一般的思路流程是什么样的
1. 目前的关联规则是什么的
2. 问题发现和分析:现在的方法有什么问题
3. 效果空间预估:理想情况下,这个问题通过某种解决方法,可以达到的效果什么
4. 算法改进:基于上面的理想效果,我们如何通过算法的改进朝着这个目标迈进
5. 效果衡量:对算法的改进效果做评估,没有评估就像算法缺乏目标函数一样
6. ROI分析:实际结果的分析
我们一步一步的看这个问题
传统的关联规则是什么样的
1. 关联规则在介绍数据挖掘中的图书中一般都会介绍,主要涉及到两个概念
例如有两个物品A、B,那么A、B的
支持度是一个联合概率的概念,指的是A、B出现的概率,也即A、B同时出现的次数除以总的次数
置信度是一个条件概率的概念,指的是例如A出现时,B出现的概率
2. 问题发现和分析
现在的关联规则是有问题的,主要有四个问题
(1)支持度计数的选取的问题
我们要对支持度计数大于某个阈值K的商品计算支持度,置信度还有后续的操作,那么K值的选取就是一个重要的问题,如果K值较小,那么将会有大量的数据参与运算,势必会对算法的实际实现有更大的挑战,如果K值的选取比较大,那么将会造成某些商品的推荐商品太少的问题,所以K值的选取是一个比较大的问题
(2)所有订单里的商品是否应该有相同的权重
例如订单a里有2个商品,订单b里有10个商品,那么订单a里的商品的关联程度是否应该与订单b里的商品的关联程度一样,其实这个问题,从主观上理解应该不一样,同一个订单商品量少他们之间的关联程度更高,而商品量多的订单商品之间的关联程度应该更低
(3)畅销书与非畅销书的权重是否应该一样
畅销书会出现在很多订单里,那么畅销书是否跟订单里的其他书的关联程度跟非畅销书与订单的其他书籍是否应该一样的权重,应该不一样
(4)订单里的图书种类非常多
当当网上经常会出现满300减100的活动,所以很多人都会去凑一个大的订单,订单里有计算机技术数据,老婆怀孕用的书籍等等,那么我们是否应该在计算机的书籍里将孕期注意事项这种书有一样的权重,应该是不一样的。
这里的第二、三、四个问题都是因为大订单导致的问题,那么大订单的数量多不多,直接决定着我们要不要解决这个问题,下面是大订单数量的统计,可以看到,大订单的比例还是很高的,所以这些问题是需要解决的,或者说这些问题就是我们可以优化的点
3. 效果空间预估
有了上面的这些问题,我们要预估一下,如果解决了这些问题,我们能够达到的效果,也就是要做一下效果的预估,做这个预估有两个原因,一是看一下我们是否有必要花大的力气做这件事情,如果预估的效果提升不大,那么我们就没有必要去做这个优化,二是可以作为我们优化的目标。
理想产出=经过推理和评估达到的理想程度
实际产出=现实产出,通过历史数据可以得到
那么预估的效果提升=理想产出-实际产出。
可以看到实际的产出只需要跑一下历史数据即可得到,那么理想的产出如何得到呢,线面介绍一下方法
举个实际的例子,就是这些图书的ctr,我们要预估ctr的最大空间,这里有两种方法
一是:用平均值作为目标,看一下通过优化低于平均值的那些样本所带来的产出作为理想的情况
二是:用推荐的比较好的样本作为目标,看一下将所有的商品优化到跟目前比较好的样本一样的情况下所带来的产出
这两种方法的思路是一致的,只不过定的目标不一样,一个是用平均值,一个是用最高值,可以看到用最高值作为理想输出的最大空间更大一些。
。
。
。
。
。