实践笔记
简介
今天来说说最近遇到的一个问题,首先介绍下整体的算法框架。基本就是最基础的特征工程加LR来解决CVR预估问题,训练数据经过特征工程提取并拼接出合理的特征,然后让LR训练得到合适的特征及其权重,虽然看上去很傻,但是很适合处理业界上亿级别的特征问题。最近遇到的问题是如何在一个模型里面同时优化两个目标,类似于同时优化CVR_x,CVR_y,即二分类的LR的正例里面在细分出多个类别,就是CVR_x, CVR_y都是CVR,但是希望从一个模型得到CVR_x和CVR_y分别的预估值。一个简单的方法是把通常用来二分类的lr算法转变为多分类的目标算法,这个就不谈了,选择比较多;其次就是使用特征工程来解决问题,我这里就主要说说这个方法
分析
假设正例(CVR)由两个互斥的分类(CVR_x和CVR_y),因为要用一个模型得到两个分类的预估值,那么模型就必须包含两套特征,分别对应两个类别,那么在预估时只要选择各个分类对应的特征权重就好,因此可以把原有模型(即只有一个正例类别的模型)的特征和正例类别在做一次交叉特征,那么在训练时各个分类的数据将只会有对应分类的特征出现,另外的正例类型对应的特征将不会出现,在做迭代时将会有多个下降方向,只不过互不影响罢了,这样就可以简单的解决多优化目标模型的设计问题。当然,除非各个目标使用完全相同的特征,否则写出的脚本很笨重