韩梅梅和李雷是百度的实习生,他们刚入职就接受了一项任务,用机器学习的方法来预测某个行业query和广告之间的点击率。该模型将会用于对广告展现时,根据点击率,对展现的广告做重排序。他们两个都采用了LR方法来解决问题,具体的做法是:
(1)根据一个月该行业的日志,找到每次搜索时,当时展现的所有广告(一次展现固定出三条广告)。他们把每个广告的每次展现当作样本,当时是否点击为LR的y值:0或者1。这样一共获得了50w个样本(比如在一次搜索queryA下展现了三条广告a,b,c,其实a被点击了一次,那么这次搜索一共对应3个样本,其中第一个样本的y为1,后面两个样本的y为0)
(2)对样本做均匀抽样分成两份,70%为训练样本,30%为测试样本,抽取了100种特征,其中一个特征是当时广告在网页中的排序(1,2或者3)
(3)使用公司的LR在训练样本上进行训练,在测试样本中进行检测, 认为LR模型给出的p即为广告的点击率,其中
a.对于广告在网页中的排序,韩梅梅使用的方法是离散乘0-1特征,即将排序离散成(是否为第一名,是否为第二名,是否为第三名),如果样本的排序是第一名,对应的特征为(1,0,0),如果样本的排序为第二名,对应的特征为(0,1,0),而李雷的方法是直接对排序做归一后当作特征的取值,如第一名为0,第二名为0.5,第三名为1,问他们谁的方法效果会更好,为什么?
b.一般大型LR模型都是使用随机梯度下降的方式,所以需要选择初始值,韩梅梅把beta()的初始值设置成了广告的平均点击0.01,而李雷把bata()设置为1,问在实际线上应用的时候,他们谁的方法效果会更好,为什么?
c.在直接使用LR模型的时候(loss=\sum yi*log(h(x))+(1-yi)*log(1-h(x)))h(x)=1/(1+exp(-xi*thetai)),韩梅梅和李雷发现在训练样本中拟合的很好,但是在测试样本中效果比较差,问可能是什么原因导致?怎么解决?
d.在测试的时候,他们使用auc来评估效果,请问auc是怎么计算的?