广告点击率(CTR)


广告点击率(CTR)预测项目

点击率(Click through rate)预估用来判断一条广告被用户点击的概率,对每次广告的点击做出预测,把用户最有可能点击的广告找出来,是广告技术最重要的算法之一。

https://www.kaggle.com/c/avazu-ctr-prediction

模型评估

任何的AI系统需要有一个合理的评价指标,在没有想好评价标准之前最好暂时不要去开启项目的实施。因为一个没有办法评估的系统是没有办法去持续优化的,这是搭建任何AI系统时必须要考虑关键点。

对于广告点击率预测任务来说, 合理的评价指标是 F1-Score,由于此项目中, 正负样本的比例有较大的差距, 更适合使用 F1-Score来评估训练好的模型。

1. 特征选择技术

  • 尝试所有的组合;
  • 贪心算法;
  • L1正则;
  • 使用树算法;
  • 相关性技术;

尝试所有的组合

 一个数据中有10 个特征, 假如我们考虑包含3个以上(包括3个)特征的组合, 总共有多少种组合? (2^10 - 56)种组合;

由于只考虑3个特征以上的组合, 也就意味着要排除包含1个特征的组合和包含2个特征的组合, 分别是10个和45个 (10*9/2), 另外我们也需要排除空集合, 所以答案是 2^10-56。

我们完全可以把所有的可能性都罗列出来,并尝试每一种组合,但这样的问题点在于时间复杂度特别高,这种复杂度我们也称之为指数级复杂度(exponential complexity)。

贪心算法

对于贪心算法的特征选择, 它找出来的是sub-optimal特征组合; 这种方法需要借助于某个具体的模型一起使用;贪心算法的效率高;

贪心算法在特征选择的问题上, 并不能保证找出来的特征组合是全局最优解。

L1正则  => Sparse 

L1正则特别适用于样本量少,但特征维度高的情况。一个经典的场景就是神经科学,如果把每个人大脑里的神经元看作是特征,那这个特征维度非常之高。另外,在建模环节里,有时候我们希望模型训练过程

中产生一些稀疏性的特点,这时候L1的正则必然是我们的首选。

使用树算法(决策树)

 

相关性计算

特征选择总结

那最后的问题是,特征选择到底用什么方法比较好呢? 其实也没有正确的答案,要看问题本身。比如我们要构建一个评分卡系统,而且这是跟钱直接打交道的,所以每一个使用的变量都要精心地设计。这时候,

我们通常花一些精力在变量相关性分析上,并决定哪些变量要放在模型里。通过相关性分析来选择变量有一个很大的好处:就是很强的可解释性,这也是金融领域的需求。

另外, sklearn里其实也提供了几个常用的特征选择的方法,可以去看下官方的文档:https://scikit-learn.org/stable/modules/feature_selection.html

2. 网格搜索和贝叶斯优化

两种用于超参数搜索的方法,分别为网格搜索和贝叶斯优化。

网格搜索技术

对于超参数的搜索,最常用的方法叫作网格搜索 (Grid Search),就是在可选的空间里,把每一种可能性逐一去尝试,也是工业界里最常用的方法。网格搜索核心思想无非就是把预先定义好的所有可能的组合全部

搜索一遍,最终定下来哪一组超参数组合的效果最好。

网络搜索(Grid  Seard)

 一个模型有3个超参数a, b, c, 对于这三个超参数我们去搜索最好的一种组合。

  • 对于参数a,  使用np.linspace(1, 10, 10)来搜索,
  • 对于参数b, 使用np.linspace(1,10,5)来搜索,
  • 对于参数c, 使用np.logspace(0.01, 100, 5)

来搜索。请问: 对于此网格搜索,总共要考虑多少个组合?  10×5×5=250种

需要先了解 np.linspace和 np.logspace的用法。

np.linspace(1,10,10)的意思是在1和10的区间里取出10个点使得每个点之间的距离是一样的。

网格搜索是最简单的用于搜索超参数的方法。但由于需要把所有可能的组合全部考虑进来,时间复杂度非常高。但好处是,在网格搜索的前提下,这些操作都可以并行进行下去。

启发式搜索

遗传算法贝叶斯优化都属于经典的启发式算法范畴。对于遗传算法,我们也可以用它来做量化投资。另外,对于贝叶斯优化,这是一个崭新的领域,它的内核是基于了贝叶斯思想,并内部使用了高斯过程等技

术。可以参考Ryan Adams的工作: http://www.cs.princeton.edu/~rpa

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM