APP下载

基于L2正则化的逻辑回归求解设计

2018-09-10黄雄鹏

现代信息科技 2018年3期

摘 要:本文通过对L2正则化逻辑回归进行分析,使用随机梯度下降(SGD)和限制内存拟牛顿法(L-BFGS)来求解回归参数使得条件對数似然函数最大。在手写数字图像数据集USPS-N和HTML网页数据集上的两分类结果表明,随机梯度下降求解方法在两数据集上有较高的测试错误率。因此,在设计L2正则化逻辑回归求解方法时,可使用限制内存拟牛顿法作为缺省求解方法。

关键词:逻辑回归;随机梯度下降法;限制内存拟牛顿法

中图分类号:TP302.2 文献标识码:A 文章编号:2096-4706(2018)03-0016-02

Design of Logical Regression Solving Based on L2 Regularization

HUANG Xiongpeng

(School of International Education,Guizhou Normal University,Guiyang 550001,China)

Abstract:By analyzing the L2 regularized logistic regression,this paper uses random gradient descent (SGD) and limited memory quasi Newton method (L-BFGS) to solve the regression parameter to make the maximum of the conditional log likelihood function. The two classification results on the handwritten digital image data set USPS-N and the HTML web data set show that the random gradient descent method has a higher test error rate on the two data set. Therefore,when designing L2 regularized logistic regression method,the restricted memory quasi Newton method can be used as the default solution.

Keywords:logical regression;stochastic gradient descent method;restricted memory quasi Newton method

0 引 言

机器学习(Machine Learning,ML)是人工智能(Artificial Intelligence,AI)的分支,它是以数据为学习对象,通过对数据的分析开发出数据的模型,从而发现数据中的知识以协助分析、理解以及预测未知的新数据。ML方法已经被成功应用于解决各种现实问题,如对微软Kinect传感器进行对象检测[1]、光伏电力输出预测[2]等。

逻辑回归是一种实数值输入、二值(伯努利)输出的机器学习算法。例如,在棒球运动中,可以通过(击球率、高度、重量)统计量集合来判断棒球员是否击中。显然,(击球率、高度、重量)统计量集合构成了实数输入,棒球运动员某一次是否击中是二值输出(1表示击中,0表示未击中),棒球运动员是否击中的概率可使用逻辑回归来刻画。

本文通过比较随机梯度下降(Stochastic Gradient Descent,SGD)和限制内存拟牛顿(Limited-memory Broyden-Fletcher-Goldfarb-Shannon,L-BFGS)两种基于梯度的优化方法分析逻辑回归的分类性能。

1 算法设计和分析

本研究给出SGD和L-BFGS两种方法对条件对数似然函数最大化进行求解的算法设计和分析。简而言之,SGD方法通过引入固定学习率λ控制在对数似然函数上的变化。为了进一步控制过拟合,可通过使用逻辑回归函数获得随机子集大小为γ的目标函数值变化。此外,当目标函数值变化小于ω时收敛。在L-BFGS方法设计中,本研究直接使用minFunc软件包在目标函数Eq.5和梯度函数Eq.4上进行求解。

对于每一个算法,本研究使用n个样本数据集 表示输入训练数据,其中每一个样本xi为d维实值向量。每一个样本xi通过一个长度为d+1的参数向量β与二值结果变量yi建立关系,假设所建立的关系由下面模型确定:

(1)

其中,xij=0,i=1,2,…,n。

1.1 SGD方法

在对SGD方法进行实现时,本研究首先对输入样本进行随机排序以避免多次随机数的重复计算,此外,选择部分训练样本 来检查目标函数的收敛情况。其次,从训练样本中依次取出大小为k((2)

其中,常数μ用于平衡最大似然函数和最小L2正则化参数值。

参数向量β每次更新后,可以通过式(3)计算目标函数在样本子集上的绝对改变 :

(3)

其中,‖β‖2是参数向量范数。

一旦目标函数值的改变量小于给定的ω,则SGD方法将收敛。可以看出,SGD方法每次迭代的时间复杂度是O(kd+γd),因此,当参数k和d被选定时,SGD方法时间复杂度能充分小于O(nd),这特别适用于大规模数据。如果训练样本足够小至每次迭代都能进行,本研究可以设定k=γ=n得到SGD的运行时间为O(nd)。

1.2 L-BFGS方法

L-BFGS是一种求解局部极值的拟牛顿优化方法,该方法使用一阶导数秩一更新二阶导数的Hessian矩阵,并使用上述梯度数据以保证在一阶0值梯度超参数集上收敛。与文献[3]类似,本文进行L-BFGS实验时使用了L-BFGS经典的Matlab实现minFunc,其中目标函数和梯度函数如下:

(4)

(5)

参数向量β初始化为0向量。同SGD方法一样,一旦目标函数值的改变量小于给定的ω,L-BFGS方法将收敛。

2 实验设计

参照文献[3],本研究使用Web和USPS-N数据集来验证所设计的逻辑回归方法SGD和L-BFGS。对于USPS-N数据集,本研究使用数字9对其它数字构造了两分类数据集,将所有特征标准化到集合[0,1],所有类标记转化为0或1。对于两实验数据集,随机选取30%作为验证集,剩余70%用于10重交叉验证,SGD方法中参数λ,k,γ,μ和L-BFGS方法中参数μ通过在参数空间{10-4,10-3,10-2,10-1,100,101,102,103}中使用网格搜索方法进行选取。由于实验所用数据集样本数小,因此本研究设置参数k=γ=n以保证SGD方法收敛,但为了限制SGD方法重复进行10重交叉验证所需时间,实验中我们将n取为103。与文献[3]一致,我们将收敛标准ω取为10-4。由于L-BFGS方法使用目标函数梯度自动更新参数λ,因此本研究使用minFunc函数中的缺省初始化参数λ0=1。两种方法在两实验数据集上的参数设置情况见表1。

3 实验结果

为了更好地比较本文实验结果,本文所有实验是在Intel Core I5-4200M 2.5GHz,8G内存,Windows7,64位,PyCharm4.0.6环境下完成。图1和表2给出了使用SGD方法和L-BFGS方法在两数据集上10次求解L2正则化逻辑回归所得测试错误百分比平均值和方差。从图1和表2的实验结果可以看出,SGD方法较L-BFGS方法有更高的测试错误百分比。事实上,由于SGD方法每次仅仅在一个随机样本子集上更新参数,即使SGD方法安装收敛条件收敛,但其目标函数或许未达到局部最小解。然而,L-BFGS方法是在整个训练数据上更新参数,因此,该方法更能比SGD方法获得局部最小解。

4 结 论

本文通过使用SGD和L-BFGS方法对L2正则化逻辑回归进行算法设计,使用Python集成开发环境PyCharm 4.0.6对所设计的算法进行实验,在手写数字图像数据集USPS-N和HTML网页数据集上的两分类结果表明,随机梯度下降求解方法在两数据集上有较高的测试错误率。

参考文献:

[1] JANOCH A,KARAYEV S,Yangqing Jia,et al.A category-level 3-d object dataset: putting the kinect to work [C],2011-06-15,S.l.:s.n.,2011:1168-1174.

[2] PEDRO HTC,COIMBRA CFM. Assessment of forecasting techniques for solar power production with no exogenous inputs [J].Solar Energy,2012,86(7):2017-2028.

[3] Ding N,Vishwanathan SVN.t-Logistic regression [C].Advances in Neural Information Processing Systems,2010: 514-522.

[4] Schmidt M. minFunc:unconstrained differentiable multivariate optimization in Matlab [J]. Software available at http://www.cs.ubc.ca/~schmidtm/Software/minFunc.html,2005.

作者簡介:黄雄鹏(1994-),男,侗族,贵州余庆人。研究方向:计算机科学与技术。