一种基于改进逻辑回归算法实现模型在线调参方法*

2020-08-14 06:32余凤丽
通信技术 2020年8期
关键词:步长逻辑样本

余 韦,余凤丽,吉 晶,杨 猛

(中移动信息技术有限公司,广东 深圳 518048)

0 引言

三家电信运营商均存在两级协同架构模式,尤其中国移动在近些年集中化背景下,一点开发全网支撑的模式发挥着越来越大的作用。为提高用户需求响应速度、提升生产效能,不断钻研应用智慧中台、人工智能等互联网应用架构和前沿技术。如精准营销场景,通过数据挖掘技术识别潜在营销目标用户群,已成为一线营销人员智能营销的利器。数据挖掘建模包括目标确定、指标筛选、数据清洗、算法选择、参数调整、效果评估、上线应用以及模型优化等闭环流程。当前建模者主要关注模型上线前的建模环节,而模型上线后的效果跟踪和模型优化还主要靠被动接收市场的反馈。本文针对模型上线后,通过改进算法实现模型自动优化问题进行研究[1-2]。

1 现有模型上线后的优化存在的问题

现有模型上线后的优化主要存在以下4个方面的问题[3]:

(1)优化模型所需的样本量几乎和新建/重建样本所使用的样本量相同;

(2)模型优化过程中消耗资源过多,如对包括算法和所有参数在内的自动优化方法,需要GPU的支撑,对机器的运算能力的依赖程度较大;

(3)问题1和问题2导致模型优化耗时过长,达不到快速反应的需求;

(4)逻辑回归算法是运营商最常用的算法之一,当前尚无针对逻辑回归算法进行自动调整参数研究成果,在建立模型并实际应用过程中,不能充分利用真实样本结果与原始模型预测结果的差异这类有效信息来自动优化模型,并提高模型的预测精度。

2 基于逻辑回归的在线自动调参算法思路

针对以上问题,本文提供了一种基于逻辑回归参数的在线快速自动优化算法,主要思路如下:

(1)样本选取方法创新,即不需重新提取研究样本,提出根据模型应用效果按一定规则划分提取易混淆样本加入模型;

(2)采用改进的小批量梯度下降算法,在保证精度的情况下降低资源和时间消耗。

3 实现过程

逻辑回归模型参数自动优化流程,如图1所示。

3.1 分界阈值更新模块

基于一种评价模型分类效果好坏的指标KS(Kolmogorov-Smirnov)值,对样本分界阈值p进行更新。此方法引用已有知识,不做详细介绍。

3.2 调参样本选取模块

瘦身原始调参数据集S获得新的调参数据集S1,S1较S样本量少,且S1包含S集中容易判断错误的所有样本,具体步骤如下。

图1 逻辑回归模型参数自动优化流程

步骤1:根据预测标识向量v对样本分类,将vi<p的样本归于集合A1,将vi≥p的样本归于集合A2;

步骤2:根据yi与vi找出所有的判错样本。若样本yi=1,vi<p,则将该样本归于判错样本集合B1;若样本yi=0,vi≥p,则将该样本归于判错样本集合B2;

步骤3:对集合A1和集合B1进行以下处理。

(1)判断集合B1是否为空。若是,则设集合C1为空,并跳出步骤3,进入步骤4;若否,则继续。

(2)计算D值。计算集合B1中所有样本预测值与p差值的绝对值,获得向量l。取l的第三四分位数Q3,令D=Q3;

(3)对集合A1进行异常样本排除处理。对于集合A1中的样本,若其预测值与p差的绝对值大于等于p值,则将该样本从集合A1中删除。处理后获得新的集合,将其设为C1;

步骤4:对集合A2、B2进行上步骤中与集合A1、B1一样的处理,得集合C2;

步骤5:对集合C1与C2取并集,输出新的调参数据集S1。

3.3 模型参数更新模块

接收上一模块输出的调参数据集S1和原始的模型参数向量θ0,更新逻辑回归模型参数,具体步骤如下[3]。

步骤1:输入调参数据集S1,并对X进行Minmax标准化处理。设定每份小数据集样本个数k(默认值k=10),按图2的方法进行处理,输出处理后的新数据集S2和迭代次数n。

图2 数据集S1处理流程

步骤2:按设定的小数据集样本个数k的要求,将新数据集S2切分成n份小数据集,小数据集的个数即迭代次数。

步骤3:从n份小数据集中按序选取一份小数据集,设为第j份小数据集中的第j样本的特征,为该样本对应的真实标签,α∈{100,10,1,0.1,0.01,0.001,0.000 1,0.000 01,0}为梯度下降步长。将原始逻辑回归模型的参数θ0和每个步长α依次带入逻辑回归预测函数公式和梯度下降公式,计算得出9个新参数θj+1。

逻辑回归预测函数公式如下[3]:

逻辑回归梯度下降公式如下:

其中θj初始值为θ0。

步骤4:获取步骤3输出的9个θj+1,分别与数据集S1一起带入逻辑回归损失函数公式计算损失值l(θj+1),并选取让损失值l(θj+1)最小的参数θj+1。

逻辑回归损失函数公式[3]:

在计算过程中,可能出现以下两种情况。

(1)步长α太大,计算出来的参数θj+1无法计算其损失值l(θj+1)。遇到这种情况时,可令损失值l(θj+1)等于某个极大的值,以保证其不被筛选出来。

(2)已知预测值hθ(x)∈(0,1),但因计算机存储问题,当hθ(x)无限逼近0或1时,会出现hθ(x)=0或hθ(x)=1的情况,进而导致逻辑回归损失值出现logh=∞、log(1-h)=∞的问题。遇到这种情况时,若计算的预测值等于0或1,可令其等于某个定值,如当hθ(x)=0时,令hθ(x)=0.000 1;当hθ(x)=1时,则令hθ(x)=0.999 9。

步骤5:重复步骤3和步骤4,直至n份小数据集都被抽取完,最后的更新的参数θ´为本模块最终的输出结果。

3.4 参数效果验证模块

此模块通过对比模型优化前后对应的模型查准率、查全率等常用指标值对比模型效果。此部分引用已有知识,不做详细介绍。

4 应用效果

如图3所示,2019年以某省为试点开展潜在家庭宽带模型建设,模型上线以来1—4月效果呈下降趋势。5月对模型优化并实现在线自动调参优化功能,模型效果跟踪持续至2020年4月效果未出现明显波动,说明在线自动调参功能发挥了较大作用。

图3 模型优化后潜在家宽模型效果

5 结语

本文创新点总结如下:

(1)以逻辑回归算法为例,利用数学和数据挖掘知识,提出一种模型上线后自动优化方法,并给出了详细处理过程;

(2)提出一种新的样本抽样方法,即充分利用模型实际应用效果,仅抽取容易判断错误样本取代全量样本进行模型训练,提升效率;

(3)构建了一种基于改进的多步长小批量梯度下降的逻辑回归模型调参方法。相比于传统的小批量梯度下降法,该方法虽同样使用少量样本对参数进行调整,但其通过设定参数更新的步长集合,使得在每一次参数调优的过程中都可根据损失值的大小选择最优步长(当选择步长为0时,即不进行参数更新),解决了传统算法中步长太大错过最优解和步长太小迭代速度慢的问题。

综上所述,本文主要是基于逻辑回归算法进行模型上线后的自动调参技术研究,后续可持续针对其他常用算法的自动调参模式,如决策树、随机森林等方法,并探索一套针对不同算法的通用自动调参逻辑[4]。此外,在数据挖掘建模方面,随着需求数量增多、响应及时性要求的提高,自动化建模也是未来趋势之一,主要面临两个挑战:一是如何识别种类繁多的数据特征并做针对性清洗处理[5];二是如何提升遍历寻找最佳算法和参数的性能[6]。

猜你喜欢
步长逻辑样本
刑事印证证明准确达成的逻辑反思
自然梯度盲源分离加速收敛的衡量依据
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
逻辑
创新的逻辑
一种改进的变步长LMS自适应滤波算法
用样本估计总体复习点拨
规划·样本
女人买买买的神逻辑
随机微分方程的样本Lyapunov二次型估计