Download presentation
Presentation is loading. Please wait.
1
机器学习在搜索排序中的应用 一淘及搜索事业部-搜索技术 仁重
2
agenda 背景 LTR方法 评估 并行化与多目标
3
第一部分 背景 LTR在淘宝搜索应用的背景 LTR=Learning to Rank
4
背景 用户输入Query 引擎召回商品 商品计算feature Rank
5
项目背景-特征 通过线性模型来组合非线性的特征 计算效率高 可解释性好 相关性 商业业务逻辑 反作弊 购买转化率(GDBT)
点击转化率(LR) 二跳率(LR) 规则 个性化(LR、GDBT) 图片质量(SVM) 预估模型 W1,w2改为向量,方程改为内积 f(X) = w1* x1 + w2* x2 + w3* x3 + w4* x4 + w5* x5 + w6* x6 + … = 𝑊 ∗ 𝑥 通过线性模型来组合非线性的特征 计算效率高 可解释性好
6
背景问题 Learning To Rank,使用机器学习的方法来进行排序优化。 如何确定各个特征的权重W 能否不同的类目给出不同的权重W
如何在不同的系统中快速的迁移特征 之前用ABTest,现在使用LTR Learning To Rank,使用机器学习的方法来进行排序优化。
7
第三部分 方法 LTR应用的方法
8
转化为pairwise问题 把整体的排序问题转换为商品对好坏问题 两个商品哪个更好 Ctr Cvr 价格 VS
9
优化目标与样本 样本选择 人工标注(工作量巨大) 商品Ctr 商品转化率 详情页浏览时间
10
论文中使用的样本选择 样本选择 fA > fB > fC > fD > fE 单次pv点击位置
f A= w*xA 样本选择 单次pv点击位置 Click > Skip Above Last Click > Skip Above Click > Earlier Click Last Click > Skip Previous Click > No-Click Next fA > fB > fC > fD > fE f B= w*xB f C= w*xC f D= w*xD f E= w*xE
11
整体统计ctr样本选择 A > E > B > C = D A Ctr:1 A > E E > C
B Ctr:0.5 A > B E > D 相同 query A > C B > C C Ctr:0.1 A > D B > D Ctr差值有置信度 E > B D Ctr:0.1 相同Query统计商品ctr来生成pair ctr差值需要有一定置信度 没有位置信息 E Ctr:0.6
12
ctr单次PV样本选择 计算特征值需要还原到单次PV下具体的用户以及当前环境 通过规则过滤掉其中的噪音 购买>点击>无行为
B产生了购买行为,D产生了点击行为 A整体Ctr:1 B整体Ctr:0.5 C整体Ctr:0.1 A > E E > C D整体Ctr:0.1 A > B E > D A > C B > C E整体Ctr:0.6 A > D B > D E > B
13
优化目标与样本 避免样本选取的偏差 Pvlog特征分布(人气,卖家,文本) 100亿数据 训练样本分布(人气,卖家,文本) 千万训练样本
量级
14
样本特征分析 特征分布不好的特征进行改进 对分布不合理的特征样本进行按比例抽样
15
样本特征分析 特征与目标值的关系 相关性差 相关性好
16
无点击样本选择 保持权重的一定程度稳定性 无点击数据 在现有排序下对Topquery没有点击的数据,前30与后30形成pair,随机抽取
按不同比例混合无点击与Ctr样本 约50%的无点击样本 无点击样本训练后的权重反映线上使用权重w 保持排序的稳定性
17
模型优化 调整无点击与有点击比例 调整抽样策略 对特征值进行改进 分类目的模型 Query类目预测结果的行业区分训练数据
手机类目的价格权重高于其他类目
18
RankSVM模型(一) RankSVM训练数据
∀ 𝑑 𝑖 , 𝑑 𝑗 ∈ 𝑟 1 :𝑤Φ 𝑞 1 , 𝑑 𝑖 >𝑤Φ 𝑞 1 , 𝑑 𝑗 … ∀ 𝑑 𝑖 , 𝑑 𝑗 ∈ 𝑟 𝑛 :𝑤Φ 𝑞 𝑛 , 𝑑 𝑖 >𝑤Φ( 𝑞 𝑛 , 𝑑 𝑗 )
19
RankSVM模型(二) A: 1 qid:x fA1 fA2 fA3 fA4… B: 0 qid:x fB1 fB2 fB3 fB4…
f(x) =w1*(fA1-fB1)+w2*(fA2-fB2)+w3*(fA3-fB3)+… x1= fA1-fB1 ,x2= … f(x)≥1 √ f(x)<1 ×(产生loss)
20
RankSVM模型 Loss: min 𝑓 𝑤 = 𝑤 𝑇 𝑤+𝐶 𝑖∈𝐼 ( max 0, 1− 𝑦 𝑖 𝑤 𝑇 𝑥 𝑖 ) 2 (无约束) Loss: min 𝑓 𝑤 = 𝑤 𝑇 𝑤+𝐶 𝑖∈𝐼 1− 𝑦 𝑖 𝑤 𝑇 𝑥 𝑖 2 St: − 𝑦 𝑖 𝑤 𝑇 𝑥 𝑖 >0 𝑖𝑓 𝑖∈𝐼 ≤0 𝑖𝑓 𝑖∉𝐼 对于一个query只有1个pair的情况: 𝛻𝑓 𝑤 = 𝐼+ 𝑖∈𝐼 2𝐶 𝑋 𝑇 𝑋 𝑤−2𝐶 𝑖∈𝐼 𝑋 𝑇 𝑦 由于是2次方所以无约束 2次方程的导数为0 wTx=xTw Y为1,-1,y满足交换律,y^2=1
21
RankSVM模型 given w0 for k=0, 1… If 𝛻𝑓 𝑤 𝑘 =0, stop.
Set up I 𝐼 𝑘 ={𝑖|1− 𝑦 𝑖 𝑤 𝑘 𝑇 𝑥 𝑖 >0} Solve 𝛻𝑓 𝑤 = 0, obtain 𝑤 𝑘′ Let 𝑠 𝑘 = 𝑤 𝑘′ − 𝑤 𝑘 Find 𝛼 𝑘 =𝑎𝑟𝑔𝑚𝑖𝑛𝑓( 𝑤 𝑘 +𝛼 𝑠 𝑘 ) 𝑤 𝑘+1 = 𝑤 𝑘 + 𝛼 𝑘 𝑠 𝑘
22
RankSVM模型 对于一个query有多个pair的情况: A: 1 qid:x fA1 fA2 fA3 fA4…
B: 0 qid:x fB1 fB2 fB3 fB4… C: 1 qid:x fC1 fC2 fC3 fC4… Loss: min 𝑓 𝑤 = 𝑤 𝑇 𝑤+𝐶 (𝑒−𝐴𝑋𝑤) 𝑇 𝐷 𝑤 (𝑒−𝐴𝑋𝑤) A=[0…0 1 0…0 -1 0…0] labels 𝐷 𝑤 = 𝑖𝑓 1− 𝑤 𝑇 𝑥 𝑖 − 𝑥 𝑗 > 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 𝛻𝑓 𝑤 =𝑤+2𝐶 𝑋 𝑇 ( 𝐴 𝑇 𝐷 𝑤 𝐴𝑋𝑤− 𝐴 𝑇 𝐷 𝑤 𝑒) 不可导 使用TRON方法求解
23
第三部分 【评估】 模型评估与效果评估
24
模型评估 baseline 按线上参数计算pair准确率 按模型参数计算pair准确率 Abtest验证
25
收益评估 模拟rank逻辑对Pvlog进行重排 计算CNDCG收益,全局计算目标收益 找出CNDCG差异的case
交易的商品相关性为2(价格) 点击的商品相关性为1 DCG[i] = DCG[i-1] + G[i] / log 2 (𝑖+1) CNDCG收益与线上收益的比例通过abtest获得 找出CNDCG差异的case
26
模型迭代 Pv log 按线上参数排序 CNDCG 按训练好的模型进行排序 CNDCG NDCG收益 NDCG差异query分析
样本混合比例调整 样本选择策略调整 抽样策略调整 模型训练
27
第四部分 模型优化 并行化与多目标
28
并行化(一) 需要解决的问题 两种基于MPI的方法 内存问题 训练时间过长 行列分割的并行SVM
行分割的并行Coordinate Ascent算法,用于求解NDCG为目标值的样本
29
并行化(二) 行列分割的并行的SVM算法 行分割+列分割:目标函数值求解、梯度函数求解,搜索最优解 优点:
Set up I 𝐼 𝑘 ={𝑖|1− 𝑦 𝑖 𝑤 𝑘 𝑇 𝑥 𝑖 >0} Solve 𝛻𝑓 𝑤 = 0, obtain 𝑤 𝑘′ Let 𝑠 𝑘 = 𝑤 𝑘′ − 𝑤 𝑘 Find 𝛼 𝑘 =𝑎𝑟𝑔𝑚𝑖𝑛𝑓( 𝑤 𝑘 +𝛼 𝑠 𝑘 ) 𝑤 𝑘+1 = 𝑤 𝑘 +𝛼 𝑠 𝑘 优点: 行分割:对样本进行了拆分缩小了单个节点的计算规模 列分割:每个节点只保存部分全局向量(长度与特征数量相同),减少内存开销;内积操作被拆分,提高计算速度 500万的样本集 并行版本分为5个part,每个100万,耗时4分钟 单机版本耗时1个小时 最终模型训练结果一致
30
多目标(二) 需要解决的问题 方法 现实应用中,需要同时解两个目标问题 例如:CTR、 客单价
Multi-loss Pair-wise Learning 再ctr样本的基础上,再加上价格的label 基于目标函数中,loss函数进行改造,使其兼容多种目标。
31
多目标(二) A: 1 0 qid:x fA1 fA2 fA3 fA4…
B: 0 1 qid:x fB1 fB2 fB3 fB4… y=1, y’=-1 Loss: min 𝑓 𝑤 = 𝑤 𝑇 𝑤+𝐶 𝑖∈𝐼 (𝛼 1− 𝑦 𝑖 𝑤 𝑇 𝑥 𝑖 𝛽 1− 𝑦 𝑖 ′ 𝑤 𝑇 𝑥 𝑖 2 ) St: − 𝑦 𝑖 𝑤 𝑇 𝑥 𝑖 >0 𝑖𝑓 𝑖∈𝐼 ≤0 𝑖𝑓 𝑖∉𝐼 , 𝛼+𝛽=1 𝛻𝑓 𝑤 = 𝐼+ 𝑖∈𝐼 2𝐶 𝑋 𝑇 𝑋 𝑤−2𝐶+ 𝑖∈𝐼 𝑋 𝑇 (𝛼𝑦+𝛽 𝑦 ′ )
32
Never try,never know Q&A @曾翔-仁重
Similar presentations