1. 引言
在如今的大数据时代下,稀疏优化的应用十分广泛,机器学习、压缩感知、分子生物学等领域都有很大的研究与发展。近几年来,稀疏优化在统计学的逻辑回归模型中得到了极大的研究及关注。逻辑回归分析是一种有效的数据处理分类方法,被广泛应用于文本分类 [1] [2]、机器学习、生物信息学 [3] [4] [5] [6] 等领域。经典的逻辑回归是一种线性的分类方法,具有训练速度快、模型的可解释性好等特点。本文考虑的是二项逻辑回归模型,通过给定的训练数据集,运用极大似然估计法估计模型参数得到逻辑回归模型。
在实际应用中,需要从大量特征中选择出对模型起关键作用的特征,排除与模型不相关或对模型作用很小的特征。同时也需要控制逻辑回归模型中参数的稀疏性,起到稀疏优化的效果。为了不造成特征泛滥,即需要控制模型中参数w非零元素的个数
。而带有l0范数的稀疏优化模型是NP-难问题,并且模型是非凸的,这给我们的计算带来了挑战,为了克服这个困难,一般的方法是加入正则项来进行松弛,将l0范数松弛为l1范数是常用的方法。带有l1范数的正则化模型有着很好的凸性,能够防止过拟合,同时能够满足得到模型稀疏解,而被广泛应用在各个领域。例如带有l1范数的线性回归模型通常又记为Lasso模型 [7],在疾病分类中有着广泛的应用。添加l1范数后的稀疏逻辑回归模型是一个凸优化问题,可以运用经典的凸优化方法去求解,例如一阶算法 [8]、迭代算法 [9]、内点算法 [10]。
在文献 [11] 中,通过对Nesterov加速 [12] 的研究,提出了加速增广拉格朗日法(AALM),建立了该方法的迭代复杂度为
,并且又推导出了增广拉格朗日法(ALM)的迭代复杂度为
,证明了AALM比ALM具有更好的加速效果。本文将Nesterov加速方法应用到SALM框架中,提高了算法的全局收敛速度。针对ASALM框架中无约束凸优化子问题,运用拟牛顿法(BFGS算法)求解。针对ASALM框架中带基数约束的子问题,通过等价变换得到带l0范数约束二次优化问题的显式解。
本文首先介绍了逻辑回归的基础知识,建立了逻辑回归模型和稀疏逻辑回归模型,并给出了最优性条件;然后针对稀疏逻辑回归模型,提出了加速分裂增广拉格朗日算法(ASALM);又给出了该算法的一阶收敛性证明;然后,通过数值实验说明了ASALM的有效性和可行性。最后,对全文进行了总结。
2. 稀疏逻辑回归
稀疏逻辑回归基于逻辑回归模型,并在逻辑回归模型基础上添加l0范数约束来控制模型中非零参数的个数。在实际应用中,需要从大量特征中选择出对模型起关键作用的主要特征。例如:在文字识别中,为了选择出对文字有鉴别意义的特征,需要在逻辑回归模型中添加l0范数约束来控制模型中非零参数的个数。下面将对稀疏逻辑回归模型给出简单的回顾。
2.1. 二项逻辑回归模型
给定
表示输入变量,其中
表示x的第i个属性(特征),
表示对应输出变量,
表示第i个样本
输出为负类,
表示第i个样本
输出为正类。对于给定的输入样本
,输出标签为
的条件概率为:
其中
分别为权值向量与偏差,也为模型的待估计参数。给定训练数据集
,其中
表示第i个样本
输出为负类,
表示第i个样本
输出为正类。采用极大似然估计法估计参数
,等价变形后,通过求解极小化平均逻辑似然函数估计模型参数,得到如下逻辑回归模型。
P(1)
其中
,
为待估计参数。
2.2. 稀疏逻辑回归模型
稀疏逻辑回归是基于经典逻辑回归模型构建,并在经典逻辑回归模型基础上添加l0范数约束来控制模型中非零参数的个数。因此稀疏逻辑回归模型构建为:
P(2)
其中
为欧式范数,
为控制w中非零元素个数的参数。带l0范数约束的逻辑回归问题高度非线性,且是NP-难问题。通过添加l1范数,稀疏逻辑回归模型转化为带l1正则项的凸优化问题:
P(3)
其中
为正则化参数。凸优化问题可以用迭代算法 [9]、内点算法 [10]、一阶算法 [8] 等多种凸优化方法求解。
2.3. 最优性条件
下面给出稀疏逻辑回归的最优性条件 [13] [14]。令
,即
。若
是稀疏逻辑回模型的局部最优解,则存在
与
满足如下的KKT条件:
(1.1)
其中
。
3. 加速分裂增广拉格朗日法(ASALM)
3.1. 变量分裂
稀疏逻辑回归模型是一个带有l0范数约束的最优化问题,采用变量分裂的技术,将问题转化为带有一个等式约束和一个基数约束的最优化问题。由于w、b分别代表逻辑回归模型中权值向量和偏差。令
,则
,其中
。引入辅助变量
,则稀疏逻辑回归模型等价转化为:
P(4)
3.2. Nesterov加速
Nesterov提出一种用于梯度方法的加速策略,在Nesterov加速 [12] 算法中,引入一个或者多个辅助变量,并利用当前变量的梯度来更新参数。具体而言,在SALM框架中,拉格朗日乘子更新后得到
,増加了对拉格朗日乘子预测并修正的步骤,如下:
3.3. 加速分裂增广拉格朗日法
关于等式约束
的增广拉格朗日函数形式为:
其中
为等式约束
对应的拉格朗日乘子,
为罚参数。亦即:
其中
为矩阵B的第i行,
(2.1)
下面给出加速分裂增广拉格朗日法(ASALM)算法步骤:
初始步:给定允许误差
,罚参数
,初始化
,初始化
,令
,
,
。
迭代步:判断精度,若
输出
,停止计算;
令
,计算:
(2.2)
(2.3)
(2.4)
(2.5)
由ASALM算法迭代步可知,子问题(2.2)是一个无约束光滑凸优化问题,可以用拟牛顿法求解,其核心思想是用不含二阶导数的矩阵
替代牛顿法中的
(Hesse矩阵的逆矩阵),然后沿搜索方向
做一维搜索,根据不同的
构造方法有不同的拟牛顿法。
令
,具体拟牛顿法(BFGS法)步骤如下:
初始步:给定初始点
,允许误差
,设置
(通常取单位阵),
。
迭代步:1) 记
,计算搜索方向
,
2) 从点
出发,沿着
做一维搜索,获得最优步长并更新参数:
3) 判断精度,若
,则停止迭代,否则转(4);
4) 计算
。更新
:
5)
,转1)。
子问题(2.3)是一个带有基数约束的最优化问题,通过等价变换可以转化为带有基数约束的二次优化问题如下:
其中
,且问题的最优解 [14] 为如下形式:
,
。
,
。其中
表示向量
的前K个最大元素所对应的指标集。
3.4. ASALM算法的收敛性
ASALM算法求解稀疏逻辑回归问题的一阶收敛性 [13] 如下:
令
为由ASALM算法产生点列
的聚点。假设
有界,且
则
满足问题P(4)的一阶最优性条件(1.1)。
4. 数值实验
本章节主要通过数值实验来验证加速分裂增广拉格朗日算法(ASALM)的可行性和有效性。我们将所要研究的稀疏逻辑回归问题应用于随机合成的模拟数据,通过对实验结果的数据分析和绘图分析客观地描述了加速分裂增广拉格朗日算法的性能与效率。本次实验的代码由MATLAB R2019a编写,并且在Intel(R) Core(TM) i5-9300H 2.4GHz CPU, 8GB RAM的个人笔记本电脑上进行了数值实验。
我们考虑下列稀疏逻辑回归问题:
(3.1)
其中
,B是一个
矩阵如上(2.1)所示。设置罚参数
,
,
,初始化
为零向量,即
亦为零向量。重新定义矩阵B的维度尺寸为
,定义
和
分别为原始残差和对偶残差,设置绝对误差
和相对误差
,实验中的迭代停止准则为
和
,其中
,
。
为了直观地描述ASALM的性能与效率,我们将ASALM与分裂增广拉格朗日算法(SALM)进行了实验对比,测试了四种不同维度的应用实例,即
,数值实验结果见表1。在四种不同的维度条件下,表1中分别比较了两种算法的迭代次数、CPU运算时间和目标函数值。从表1中可以分析得出ASALM比SALM有着更少的迭代次数和CPU运算时间。因此,针对问题(3.1) ASALM是可行的且比SALM更有效。
为了进一步观察ASALM和SALM的收敛性,我们可视化了两种算法收敛性的变化,见如下图1和图2。我们观察了
两种条件下原始残差和目标函数值随着迭代次数(k)的变化情况,图1和图2都展示了ASALM的原始残差比SALM下降的更快,且ASALM比SALM更快达到最优目标函数值。因此,ASALM的收敛速度比SALM更快,且性能与效率更好。
Table 1. Comparison of two algorithms based on simulated data
表1. 基于模拟数据的两种算法比较
5. 结论与展望
本文针对带有l0范数约束的逻辑回归问题,提出了加速分裂增广拉格朗日法求解此类问题。该算法在迭代中交替求解两个子问题,借助BFGS算法求解其中一个子问题,并通过等价变形求解出另一个子问题的显式解。在SALM框架中,运用Nesterov加速技术,提高算法的全局收敛性,给出了ASALM算法的一阶收敛性证明。最后,通过数值实验说明了ASALM的收敛速度比SALM更快,且性能与效率更好。此类方法亦可以应用到带有范数约束的多项逻辑回归问题上,在提高全局收敛性的性能上优于其它凸优化方法。