Advances in Applied Mathematics
Vol. 11  No. 04 ( 2022 ), Article ID: 50563 , 14 pages
10.12677/AAM.2022.114205

海量数据中的分布式支持向量回归

梁姝娜,张齐*

青岛大学,山东 青岛

收稿日期:2022年3月20日;录用日期:2022年4月14日;发布日期:2022年4月22日

摘要

大规模的数据给传统的统计推断方法带来了新的挑战,比如在分析超过一台计算机容量的海量数据集时,由于数据太大,无法保存在计算机内存中,计算任务可能需要花费很长时间才能获得结果。为了有效地解决海量数据情形下的诸多问题,本文研究了支持向量回归的分布式估计。首先采用平滑技术发展了一种平滑支持向量回归(S-SVR)估计方法。然后基于分而治之的思想,针对海量数据集对S-SVR估计方法提出了分而治之支持向量回归估计算法(DC-SVR),该方法解决了内存限制和计算时间的问题。此外,本文中提出的DC-SVR方法中的参数可通过网格搜索和交叉验证相结合的方法获得,具有自适应性,其中最优的参数是由每次数据自动选择的。在模拟研究中,通过不同情形的实验表明了文章所提估计量的优越性,模拟结果显示通过DC-SVR所得的估计量在平均绝对偏差和均方误差评价准则下的差异更小。

关键词

支持向量回归,分治法,平滑化,海量数据

Distributed Support Vector Regression of Massive Datasets

Shu’na Liang, Qi Zhang*

Qingdao University, Qingdao Shandong

Received: Mar. 20th, 2022; accepted: Apr. 14th, 2022; published: Apr. 22nd, 2022

ABSTRACT

Large scale data brings new challenges to the traditional statistical inference methods. For example, when analyzing massive datasets whose sizes usually exceed the capacity of a single computer, the data is too large to be saved in computer memory and computing task may take too long to get the results. In order to effectively solve many problems in the case of massive data, this paper studies the distributed estimation of support vector regression. Firstly, we develop smoothed support vector regression (S-SVR) estimation method. Then based on the idea of divide-and-conquer, we propose divide-and-conquer support vector regression estimation algorithm (DC-SVR) for the S-SVR estimation method of massive datasets. This method solves the problems of memory limitation and computing time. In addition, the parameters in the DC-SVR method can be obtained by the combination of grid search and cross validation, which is adaptive. The optimal parameters are automatically selected by each data. In the simulation study, a lot of numerical simulation studies are carried out to verify the superiority of our proposed distributed estimator. The simulation results show that the DC-SVR estimator has less difference under the evaluation criteria of mean absolute deviation and mean square error.

Keywords:Support Vector Regression, Divide-and-Conquer Method, Smoothing, Massive Datasets

Copyright © 2022 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

近年来,对海量数据集的统计分析已成为人们日益关注的课题。数据集的规模不断扩大,部分原因是它们越来越多地被无处不在的信息传感移动设备、遥感技术和无线传感器网络等收集。这些数据的规模给传统的统计估计方法带来了新的挑战。数据库有数百个字段、数十亿条记录和数兆字节的信息并不少见。例如,大型文本语料库很容易超过内存限制,因此不能一次全部加载到内存中。例如,在给定样本的情况下,经典的估计方法通常会建立一个极大似然估计(MLE)问题,然后用确定性优化方法(如梯度下降法或牛顿法)求解极大似然估计。然而,当样本量过大时,采用这种方法有两个主要障碍。首先,在分析大小通常超过一台计算机容量的海量数据集时,机器没有足够的内存来一次加载整个数据集。其次,确定性优化方法计算量大,计算任务可能需要太长时间才能获得结果。为了解决存储限制和计算问题,最近在统计学中引入了起源于计算机科学文献的分布式计算方法。一种通用的分布式计算方案是将整个数据集划分为多个部分,然后对每个部分独立执行统计分析,即每台机器用存储在本地的数据形成一个局部估计量。最终的估计量将通过局部估计量之间的一些聚合来获得。

在分布式统计学习中,最简单和最流行的方法是平均法。平均最先是由McDonald et al. (2009) [1] 提出的,用于多项式回归,他们给出了估计误差的非渐近误差界,表明平均化降低了局部估计量的方差,但对偏差没有影响。在后续工作中,Zinkevich et al. (2010) [2] 研究了平均的一种变形,其中每台机器都在数据集的随机子集上计算具有随机梯度下降(SGD)的局部估计量,证明了他们的估计器收敛于集中估计器。Zhang et al. (2013) [3] 研究了两种基于大规模数据的分布式统计优化算法。第一个算法是平均法,第二种算法是一种基于适当形式的引导的新方法,只需要进行一轮通信。Cheyer et al. (2014) [4] 提出了一种分治方法,并使用几种计算密集型惩罚回归方法对其进行了分析。这种分治方法可以大大减少计算时间和计算机内存需求。2016年Jordan et al. [5] 提出了一种解决分布式统计学习问题的Communication-efficient Surrogate Likelihood (CSL)框架。2017年Lee et al. [6] 设计了一种在高维环境下实现分布式稀疏回归的高效通信方法。在2020年,Chen et al. [7] 研究并提出了主成分分析(PCA)的分布估计问题。

支持向量机(Support Vector Machine)是由Cortes和Vapnik [8] 于1995年最先提出的,是统计机器学习中最流行的方法之一,具有相对优良的性能指标,在图像分析、医学、神经网络等领域有着广泛的应用。SVM最初是针对经典的二分类问题提出的(Liu et al. 2007 [9]; Hsieh et al. 2013 [10]; Lian et al. 2018 [11] ),支持向量分类(Support Vector Classification)。然而,随着支持向量机方法理论的发展,支持向量机应用的领域越来越广泛,其中一个重要的应用是解决回归问题,即支持向量回归(Support Vector Regression)。支持向量回归与传统机器学习方法相比有较好的学习性能,是一种稳健而有效的估计方法,成为统计机器学习理论的研究热点。2004年Smola et al. [12] 详细概述了支持向量机用于回归和函数估计的基本思想。2009年ReShma et al. [13] 通过用正则化最小二乘的模糊支持向量回归,以此来处理相应的金融时间序列预测。2013年Rivas et al. [14] 提出了一种训练大规模SVR模型的求解方法,该方法将SVR问题转化为一个线性规划问题。2017年Anyu Cheng et al. [15] 通过基于混沌理论、支持向量回归的多源多尺度的交通流预测算法,并由支持向量回归模型来预测某市区的实际交通流量的变化。2019年S. Maldonado et al. [16] 提出了一套基于ε-SVR的时间序列预测问题滞后期自动选择的算法并且验证了该算法的优越性能。

SVR需要解决一个非光滑优化问题,这对于海量数据集来说计算是非常密集的。因此,在第二章中本文采用平滑技术(Horowitz 1998 [17]; Pang et al. 2012 [18]; Chen et al. 2018 [19] 和Wang et al. 2019 [20] ),提出了平滑支持向量回归(S-SVR)估计方法。然后,在有限的内存约束下,在第三章中提出了海量数据集的DC-SVR方法,该方法解决了内存限制和计算时间问题。在实践中,具有固定(非自适应)参数的学习过程只有在某些情况下才有其优势,因为不同的参数可能适合不同的数据,在以往的支持向量回归中,参数一般是提前指定的,它是非自适应性的,所以在第四章中我们考虑了SVR的自适应参数,并且给出了本文的算法。第五章中,本文通过数值模拟验证了该方法的有效性。

2. 支持向量回归

2.1. 经典支持向量回归

本文假设有n个样本 { ( X i , y i ) } 来自以下模型:

y i = X i T β + e i , i = 1 , 2 , , n , (1)

考虑随机变量 ( X , Y ) ,其中 X = ( X 1 , , X p ) T p 。定义 β = ( β 0 , β 1 , , β p ) T = ( β 0 , β ) T ( p + 1 ) X = ( 1 , X 1 , , X p ) T ,超平面 β 0 + X T β = 0 。SVR的目标是估计由 β 0 + X T β = X T β 定义的超平面通过求解优化问题:

min β , β 0 1 2 β 2 s .t . | y i X i T β | ε , i = 1 , 2 , , n (2)

通过引入两个松弛变量 ( ξ i , ξ i ) ,对SVR问题进行优化,对于任何样本 ( X i , y i ) ,当划分有误差时,松弛变量都大于0,误差不存在时松弛变量为0。其中观测值 y i X i T β + ε 出现误差时对应于松弛变量 ξ i > 0 ,观测值 y i X i T β ε 出现误差时对应的松弛变量是 ξ i > 0 。所以引入松弛变量后,可以将目标问题等式(2)转化为如下式(3)求解问题:

min β , β 0 , ξ i , ξ i 1 2 β 2 + λ i = 1 n ( ξ i + ξ i ) s . t . X i T β y i ε + ξ i y i X i T β ε + ξ i ξ i 0 , ξ i 0 , i = 1 , 2 , , n (3)

上述是一个凸二次规划问题,可以把式(3)中引入拉格朗日乘子,然后转化为求解它的对偶问题。对式(3)的每个约束条件添加拉格朗日乘子 μ i 0 μ i 0 α i 0 α i 0 ,从而得到拉格朗日函数式(4):

L ( β , β 0 , α , α , ξ , ξ , μ , μ ) = 1 2 β 2 + λ i = 1 n ( ξ i + ξ i ) i = 1 n μ i ξ i i = 1 n μ i ξ i + i = 1 n α i ( X i T β y i ε ξ i ) + i = 1 n α i ( y i X i T β ε ξ i ) (4)

把决策函数 β 0 + X T β = X T β 代入上式,再令 L ( β , β 0 , α , α , ξ , ξ , μ , μ ) β , β 0 , ξ ξ 的偏导为零可得

β = i = 1 n ( α i α i ) X i , 0 = i = 1 n ( α i α i ) , λ = α i + μ i , λ = α i + μ i . (5)

接着把上式代入拉格朗日函数 L ( β , β 0 , α , α , ξ , ξ , μ , μ ) ,最后得到SVR的对偶问题

max α , α ' i = 1 n y i ( α i α i ) ε ( α i α i ) 1 2 i = 1 n j = 1 n ( α i α i ) ( α j α j ) X i T X j s .t . j = 1 n ( α i α i ) = 0 , 0 α i , α i λ . (6)

上述过程的求解需要满足KKT条件:

{ α i ( X i T β y i ε ξ i ) = 0 , α i ( y i X i T β ε ξ i ) = 0 , α i α i = 0 , ξ i ξ i = 0 , ( λ α i ) ξ i = 0 , ( λ α i ) ξ i = 0. (7)

由KKT条件,当且仅当 X i T β y i ε ξ i = 0 α i 可以取非零值,当且仅当 y i X i T β ε ξ i = 0 时, α i 可以取非零值。换言之,仅当样本 ( X i , y i ) 不落入 ε 间隔带中时,对应的乘子 α i α i 才取非零值。除此之外,约束条件 X i T β y i ε ξ i = 0 y i X i T β ε ξ i = 0 不能同时成立,所以 α i α i 中至少有一个为0。

把系数 β = i = 1 n ( α i α i ) X i 代入决策函数 β 0 + X T β = X T β ,可得到SVR解的形式:

f ( X ) = i = 1 n ( α i α i ) X i T X + β 0 (8)

对于等式(8),满足 α i α i 0 的样本就是支持向量,这些样本点必然会落在 ε -间隔带之外,而在间隔带之间的样本点都满足 α i = α i = 0 。所以SVR的支持向量仅仅是训练样本的一部分,支持向量的数量是一个与误差 ϵ 有关的函数,误差 ϵ 越大,支持向量的个数越少。

由于 α i α i 不能全是零,根据KKT条件可知,对每个样本 ( X i , y i ) ( λ α i ) ξ i = 0 或者 ( λ α i ) ξ i = 0 ,进而可以得到 α i ( X i T β y i ε ξ i ) = 0 或者 α i ( y i X i T β ε ξ i ) = 0 成立,于是在求出 α i α i 后,可以得到参数 β 0 。比如说,若 0 < α i < λ ,则必有 ξ i = 0 ,所以最后可以求出 β 0 的等式:

β 0 = y i + ε i = 1 n ( α i α i ) X i T X i (9)

所以在对(6)的求解过程中得到 α i 后,从理论上说,可任意选取满足 0 < α i < λ 的样本通过等式(9)求得 β 0

2.2. 平滑支持向量回归估计

在这一部分中,我们提出了一种支持向量回归的线性型估计,称为平滑支持向量回归(Smooth Support Vector Regression, S-SVR)。带松弛变量的支持向量回归还有另一种解释, ϵ -不敏感损失函数 + L2正则,就是最小化以下目标函数:

L ( β ) = 1 n i = 1 n | y i X i T β | ϵ + λ 2 β 2 2 , β ^ = arg min β R p + 1 L ( β ) (10)

其中 | v | ϵ = { | v | ϵ , | v | ϵ 0 , ϵ -不敏感损失函数, λ > 0 是正则化参数, 2 表示向量的欧几里德范数。

对于(10),由于绝对值和不敏感损失函数的存在,目标函数是不可微的,所以接下来要解决这个问题。首先,引入量Z来解决绝对值问题,使得 z i = { 1 , y i X i T β 0 1 , y i X i T β > 0 ,所以 z i ( y i X i T β ) 0 。即可以用 z i ( y i X i T β ) 来取代绝对值 | y i X i T β | ,因此 ϵ -不敏感损失函数可以写成 | y i X i T β | ϵ = max ( | y i X i T β | ϵ , 0 ) = max ( z i ( y i X i T β ) ϵ , 0 ) 。所以目标函数变为:

L ( β ) = 1 n i = 1 n [ z i ( y i X i T β ) ] ϵ + λ 2 β 2 2 , β ^ = arg min β R p + 1 L ( β )

其中 [ v ] ϵ = max ( v ϵ , 0 ) ϵ -不敏感损失函数。

然后基于平滑技术(Horowitz 1998 [17]; Pang et al. 2012 [18]; Chen et al. 2018 [19] 和Wang et al. 2019 [20] ),考虑了一个平滑函数 S ( ) ,即 S ( t ) = { 1 , t 1 0 , t 1 。我们用平滑近似 D h ( t ) = t S ( t h ) 代替 ϵ -不敏感损失函数,其中 h 0 是带宽, S ( t h ) 近似示性函数 I { t 0 } D h ( t ) 近似于 max ( t , 0 ) 。所以 ϵ -不敏感损失函数 [ z i ( y i X i T β ) ] ϵ = [ z i ( y i X i T β ) ϵ ] S ( z i ( y i X i T β ) ϵ h ) ,并定义以下目标函数和估计量:

L ( β ) = 1 n i = 1 n [ z i ( y i X i T β ) ϵ ] S ( z i ( y i X i T β ) ϵ h ) + λ 2 β 2 2 (11)

β h ^ = arg min β R p + 1 1 n i = 1 n [ z i ( y i X i T β ) ϵ ] S ( z i ( y i X i T β ) ϵ h ) + λ 2 β 2 2 = arg min β R p + 1 1 n i = 1 n D h [ z i ( y i X i T β ) ϵ ] + λ 2 β 2 2 (12)

目标函数(12)是可微的,通过一阶最优性条件,解 β h ^ 满足:

1 n i = 1 n D h [ z i ( y i X i T β h ^ ) ϵ ] + λ ( 0 β h ^ ) = 0 (13)

其中

D h [ z i ( y i X i T β h ^ ) ϵ ] = ( z i X i ) [ S ( z i ( y i X i T β h ^ ) ϵ h ) + z i ( y i X i T β h ^ ) ϵ h S ( z i ( y i X i T β h ^ ) ϵ h ) ]

根据(13),可以通过以下公式表示 β h ^

β h ^ = [ 1 n i = 1 n X i X i T h S ( z i ( y i X i T β h ^ ) ϵ h ) ] 1 × { 1 n i = 1 n z i X i [ S ( z i ( y i X i T β h ^ ) ϵ h ) + z i y i ϵ h S ( z i ( y i X i T β h ^ ) ϵ h ) ] λ ( 0 β h ^ ) } (14)

然而,这个不动点方程中没有 β h ^ 的封闭解,所以将(14)右边的 β h ^ 替换为一致的初始估计 β 0 ^ 。得到下面的S-SVR估计量:

β ^ = [ 1 n i = 1 n X i X i T h S ( z i ( y i X i T β h ^ ) ϵ h ) ] 1 × { 1 n i = 1 n z i X i [ S ( z i ( y i X i T β h ^ ) ϵ h ) + z i y i ϵ h S ( z i ( y i X i T β h ^ ) ϵ h ) ] λ ( 0 β 0 ^ ) } (15)

初始估计量可以通过求解小样本的线性支持向量回归来构造,所以我们对小批量样本(如第一台机器上的样本,见下一节)的原始支持向量回归(10)进行了优化得到初始估计量。然后给定初始估计量,可以通过分布式方案解决(15)的S-SVR。

3. 分布式支持向量回归

当无法将所有数据加载到内存中时,很难求解(15)。但我们可以通过分布式方案来实现。具体来说,基于S-SVR,引入分治法提出分治支持向量回归估计(Divide and Conquer Support Vector Regression, DC-SVR)来计算 β ^

首先,将总数据集 { 1 , , n } 分为L个子集 { N 1 , , N L } ,每个子集的大小都相等 m = n / L 。用 D l = { ( X i , y i , z i ) : i N l } 表示第l台本地机器中的数据,第l台机器包含m数据。然后基于 D 1 获得初始估计值 β 0 ^

β 0 ^ = arg min β R p + 1 1 m i N 1 | y i X i T β | ϵ + λ 2 β 2 2 (16)

为了计算 β ^ ,对于每一批数据 D l l = 1 , , L ,计算以下量:

A l = 1 m i N l X i X i T h S ( z i ( y i X i T β 0 ^ ) ϵ h ) B l = 1 m i N l z i X i [ S ( z i ( y i X i T β 0 ^ ) ϵ h ) + z i y i ϵ h S ( z i ( y i X i T β 0 ^ ) ϵ h ) ] (17)

在每台机器中计算 A l , B l ,然后计算出每一台机器中存储的数据所对应的局部估计量 β ^ ( l )

{ β ^ ( 1 ) = A 1 1 ( B 1 λ ( 0 β 0 ^ ) ) β ^ ( 2 ) = A 2 1 ( B 2 λ ( 0 β 0 ^ ) ) β ^ ( L ) = A L 1 ( B L λ ( 0 β 0 ^ ) ) (18)

所有机器接收到 A l , B l 计算出的局部估计量后,汇总数据将各个机器的局部估计量取平均得到最终估计量:

β ^ = 1 L l = 1 L β ^ ( l ) (19)

下面分析一下估计的渐近性质,根据(15), β ^ 和真实系数 β * 之间的差为:

β ^ β * = [ 1 n i = 1 n X i X i T h S ( z i ( y i X i T β 0 ^ ) ϵ h ) ] 1 × { 1 n i = 1 n z i X i [ S ( z i ( y i X i T β 0 ^ ) ϵ h ) + z i ( y i X i T β * ) ϵ h S ( z i ( y i X i T β 0 ^ ) ϵ h ) ] λ ( 0 β 0 ^ ) }

因此 β ^ β * 可以被表示为

β ^ β * = M 1 ( Q λ ( 0 β 0 ^ ) ) (20)

其中

M = 1 n i = 1 n X i X i T h S ( z i ( y i X i T β 0 ^ ) ϵ h ) Q = 1 n i = 1 n z i X i [ S ( z i ( y i X i T β 0 ^ ) ϵ h ) + z i ( y i X i T β * ) ϵ h S ( z i ( y i X i T β 0 ^ ) ϵ h ) ]

为了证明所提出的估计量的渐近性质,首先引入一些正则性条件和假设。

假设1:e的密度函数 f ( ) 是Lipschitz连续的。另外,对于某些常量 c 1 , c 2 ,假设 0 < c 1 λ min ( M ) λ max ( M ) c 2

假设2:平滑函数 S ( ) 满足 S ( u ) = { 1 , u 1 0 , u 1 。进一步,假设 S ( ) 是两次可微的,并且它的二阶导数 S ( 2 ) ( ) 是有界的。此外,我们假设带宽 h = o ( 1 )

假设3:对于某些 t > 0 C > 0 ,假设 p = o ( n h / ( log n ) ) sup v 2 1 E e t ( v T X ) 2 C

假设4:独立随机向量 { X i , 1 i n } 满足 sup i , j E | X i j | 3 = O ( 1 )

定理1. 在满足假设条件1-4的情况下,并且假设初始估计 β 0 ^ 满足 β 0 ^ β * 2 = O p ( p m ) 。然后我们有,

β ^ β * = ( 1 n i = 1 n δ ( e i ) X i X i T ) 1 ( 1 n i = 1 n z i X i I { e i 0 } λ ( 0 β * ) ) + r n (21)

其中

r n 2 = O p ( p 2 log n n 2 h + p h log n n + p m + h 2 ) (22)

证明:如果初始估计值 β 0 ^ 接近真实系数 β * ,则M和Q分别接近 M ( β * ) Q ( β * )

M ( β * ) = 1 n i = 1 n X i X i T h S ( z i ( y i X i T β * ) ϵ h ) Q ( β * ) = 1 n i = 1 n z i X i [ S ( z i ( y i X i T β * ) ϵ h ) + z i ( y i X i T β * ) ϵ h S ( z i ( y i X i T β * ) ϵ h ) ]

假设 e i = z i ( y i X i T β ) ϵ , ( e i = | y i X i T β | ϵ ) ,则有:

M ( β * ) = 1 n i = 1 n X i X i T h S ( e i h ) Q ( β * ) = 1 n i = 1 n z i X i [ S ( e i h ) + e i h S ( e i h ) ]

1 h S ( e i h ) S ( e i h ) + e i h S ( e i h ) 分别近似于 δ ( e i ) I { e i 0 } ,所以 M ( β * ) Q ( β * ) 近似于 1 n i = 1 n δ ( e i ) X i X i T 1 n i = 1 n z i X i I { e i 0 }

根据上述分析,当 β 0 ^ 近似 β * 时,M和Q分别近似 1 n i = 1 n δ ( e i ) X i X i T 1 n i = 1 n z i X i I { e i 0 } 。因此, β ^ β * 近似于:

( 1 n i = 1 n δ ( e i ) X i X i T ) 1 ( 1 n i = 1 n z i X i I { e i 0 } λ ( 0 β * ) )

假设有一个初始估计 β 0 ^ β 0 ^ β * 2 = O p ( a n ) a n = O ( h ) 。则有,

Q 1 n i = 1 n z i X i I { e i 0 } 2 = O p ( p h log n n + a n 2 + h 2 )

M 1 n i = 1 n δ ( e i ) X i X i T 2 = O p ( p log n n h + a n + h )

对于独立随机向量 { X i , 1 i n } sup j E | X j | 3 = O ( 1 ) ,有 E i = 1 n z i X i I { e i 0 } 2 = O ( n p ) 。所以能够得到:

1 n i = 1 n z i X i I { e i 0 } 2 = O p ( p n )

根据上述结果,可以得出:

β ^ β * = ( 1 n i = 1 n δ ( e i ) X i X i T ) 1 ( 1 n i = 1 n z i X i I { e i 0 } λ ( 0 β * ) + λ ( 0 β * β 0 ^ ) ) + r n

其中

r n 2 = O p ( p 2 log n n 2 h + p h log n n + p log n n h λ + λ h + h 2 )

λ h β 0 ^ β * 2 = O p ( p m ) ,则有

β ^ β * = ( 1 n i = 1 n δ ( e i ) X i X i T ) 1 ( 1 n i = 1 n z i X i I { e i 0 } λ ( 0 β * ) ) + r n

其中

r n 2 = O p ( p 2 log n n 2 h + p h log n n + p m + h 2 )

4. 参数优化

对于支持向量回归,模型参数的选择对于预测结果有着重要影响。在建立SVR模型后,需要对模型参数进行标定,使得最终模型具有较好的预测效果以及泛化能力,需要标定的模型参数及其具体含义如下:

1) 不敏感参数 ϵ

该参数控制不敏感带宽度的大小,影响着支持向量的数目。当值较小时,模型回归精度较高,支持向量的数量增多,易产生过拟合。反之,模型回归精度较低,支持向量的数量减少,易导致模型欠拟合。

2) 正则化参数λ

SVR模型的惩罚因子,该参数控制模型的复杂度与模型训练误差项的比重,反映了对超出不敏感带宽度数据的惩罚程度。正则化参数λ取值过大,对超出不敏感带宽度数据的惩罚小,会使得模型训练误差增大,使得模型处于欠学习状态,而λ取值过小,能够提升模型回归精度,但模型泛化能力减弱,对于新数据的测试误差将变大,使得模型处于过学习状态。

许多研究人员使用交叉验证来选择参数(Chen et al. (2007) [21]; Anass et al. (2018) [22] )。在实践中,具有固定(非自适应)参数的学习过程只有在某些情况下才有其优势,因为不同的参数可能最适合不同的数据,这促使我们考虑对SVR中参数进行自适应。因此,基于上述分析,为了使SVR的预测效果达到最优,在本文中,我们提出一种自适应参数学习过程,根据不同的数据本文使用网格搜索和k-折交叉验证相结合的方法自适应的选择SVR模型最优参数组合 ( λ , ε )

利用网格搜索和k-折交叉验证相结合的方法优化SVR中的参数 ( λ , ε ) 的具体步骤如下:

1) 建立网格坐标。设定参数λ和 ϵ 的范围,设定搜索步长,在λ、 ϵ 坐标系上建立二维网格,网格的节点就是λ、 ϵ 组成的参数对;

2) 划分样本。利用k-折交叉验证法时,将原始样本均分成k组,每组轮流作为验证集,测试其他k-1组训练得到的模型;

3) 确定预测误差。取上述k次测试结果的均方误差的平均值作为本次模型的性能指标。对每一组λ、 ϵ 的值,计算支持向量回归k次交叉验证的均方误差(MSE);

4) 确定最优参数组合。网格上所有交叉点处的参数组合经过k-折交叉验证后,MSE最小值所对应的参数组合就是模型的最优参数。

本文算法:

5. 数值模拟

在本节中,我们通过仿真来说明DC-SVR的性能。数据由以下模型生成:

Y i = X i T β + e i , i = 1 , 2 , , n

其中 β = 1 p 和X服从多元正态分布 N ( 0 , Σ ) Σ i j = 0.5 | i j | 1 i , j p 。在我们的模拟中,误差 e i 相互独立且产生于以下两种分布:

1) 标准正态分布, e i ~ N ( 0 , 1 )

2) 自由度为3的t分布, e i ~ t ( 3 )

最优参数组合 ( λ , ϵ ) 是由每组数据自动选择的。在模拟中,取k为5,即5-折交叉验证。根据经验,将参数 ϵ 的变化范围设置为 [ 2 6 , 2 5 , , 2 1 ] ,并将参数 λ 的变化范围设置为 [ 2 8 , 2 7 , , 2 1 ] ,真参数设置为 β * = ( 0 , 1 , , 1 ) T ( p + 1 ) 。使用核函数的积分作为平滑函数:

S ( t ) = { 0 , if t 1 1 2 + 15 16 ( t 2 3 t 3 + 1 5 t 5 ) , if | t | < 1 1 , if t 1

在本文中,所有模拟结果均为500次独立运行的平均值。我们将分而治之的方法应用于经典支持向量回归中,并与本文的方法进行比较。在这里,我们还用完整数据集(非分布式方法)估计参数,观察DC-SVR方法是否接近它。总结一下,我们将报告三种比较方法:

1) 用完整数据集估计SVR的非分布式方法(SVR-ALL);

2) naive分布式经典支持向量回归方法(ND-SVR);

3) 分治平滑支持向量回归方法(DC-SVR)。

为了评估不同方法的表现,本文采用平均绝对偏差(MAD)和均方误差(MSE)作为评价指标。

MAD = 1 p k = 1 p | β k ^ β k * |

MSE = 1 p k = 1 p ( β k ^ β k * ) 2

首先,在表1表2中,固定了样本容量n和维数p的情况下,研究了机器容量m不同时 β ^ 的MAD和MSE的情况。考虑了两种设置: p = 3 n = 10 4 p = 15 n = 10 5

Table 1. MAD ( × 10 − 2 ) , MSE ( × 10 − 4 ) of SVR-ALL, ND-SVR and DC-SVR with p = 3 , n = 10 4

表1. p = 3 n = 10 4 ,SVR-ALL、ND-SVR和DC-SVR的 MAD ( × 10 2 ) MSE ( × 10 4 )

Table 2. MAD ( × 10 − 2 ) , MSE ( × 10 − 4 ) of SVR-ALL, ND-SVR and DC-SVR with p = 15 , n = 10 5

表2. p = 15 n = 10 5 ,SVR-ALL、ND-SVR和DC-SVR的 MAD ( × 10 2 ) MSE ( × 10 4 )

表1表2可以看出,在标准正态误差分布和t误差分布下,DC-SVR始终优于ND-SVR方法。当m变大时,DC-SVR和ND-SVR的MAD和MSE变小。从上述表还可以看出,与在整个数据集上计算的SVR-ALL相比,DC-SVR比ND-SVR方法更加接近SVR-ALL。

类似地,在表3表4中,我们固定了p和m,改变样本大小n来观察估计量 β ^ 的MAD和MSE。同样考虑了两种设置: p = 3 m = 100 p = 15 m = 500

表3表4中,同样可以看出在标准正态误差分布和t误差分布下,DC-SVR的性能优于ND-SVR方法。我们还观察到,MAD和MSE随着样本n的增加而减少。上述表中结果也表明DC-SVR与在整个数据集上计算的支持向量回归估计量SVR-ALL进行比较时表现良好。

Table 3. MAD ( × 10 − 2 ) , MSE ( × 10 − 4 ) of SVR-ALL, ND-SVR and DC-SVR with p = 3 , m = 100

表3. p = 3 m = 100 ,SVR-ALL、ND-SVR和DC-SVR的 MAD ( × 10 2 ) MSE ( × 10 4 )

Table 4. MAD ( × 10 − 2 ) , MSE ( × 10 − 4 ) of SVR-ALL, ND-SVR and DC-SVR with p = 15 , m = 500

表4. p = 15 m = 500 ,SVR-ALL、ND-SVR和DC-SVR的 MAD ( × 10 2 ) MSE ( × 10 4 )

6. 结论

本文针对海量数据集提出了一种基于分而治之的平滑支持向量回归(DC-SVR)估计方法。我们的方法解决了内存限制和计算时间的问题,其模拟研究也表明了该方法的优越性。本文我们还提出了SVR参数的自适应学习过程,其中最优的参数 ( λ , ε ) 是由每次数据自动选择的。选择 ( λ , ε ) 的过程是实现DC-SVR的一个重要步骤,目前本文采用网格搜索和k-折交叉验证相结合的方法来优化参数。然而,或许可以设计一种更有效的方法,相关的研究需要进一步的工作。

文章引用

梁姝娜,张 齐. 海量数据中的分布式支持向量回归
Distributed Support Vector Regression of Massive Datasets[J]. 应用数学进展, 2022, 11(04): 1876-1889. https://doi.org/10.12677/AAM.2022.114205

参考文献

  1. 1. Pang, L., Lu, W.B. and Wang, H.J. (2012) Variance Estimation in Censored Quantile Regression via Induced Smoothing. Computational Statistics & Data Analysis, 56, 785-796. https://doi.org/10.1016/j.csda.2010.10.018

  2. 2. Chen, X., Liu, W.D. and Zhang, Y.C. (2018) Quantile Regression under Memory Constraint. Annals of Statistics, 44, 3244-3273. https://doi.org/10.1214/18-AOS1777

  3. 3. Wang, X., Yang, Z., Chen, X. and Liu, W. (2019) Distributed Inference for Linear Support Vector Machine. Journal of Machine Learning Research, 20, 1-41.

  4. 4. Chen, K.Y. (2007) Forecasting Systems Reliability Based on Support Vector Regression with Genetic Algorithms. Reliability Engineering & System Safety, 92, 423-432. https://doi.org/10.1016/j.ress.2005.12.014

  5. 5. Mcdonald, R., Mohri, M., Silberman, N., Walker, D. and Mann, G.S. (2009) Efficient Large-Scale Distributed Training of Conditional Maximum Entropy Models. In: Advances in Neural Information Processing Systems, MIT Press, Cambridge, 1231-1239.

  6. 6. Zinkevich, M., Weimer, M., Li, L.H. and Smola, A.J. (2010) Parallelized Stochastic Gradient Descent. In: Advances in Neural Information Processing Systems, MIT Press, Cambridge, 2595-2603.

  7. 7. Zhang, Y., Duchi, J.C. and Wainwright, M.J. (2013) Communication-Efficient Algorithms for Statistical Optimization. The Journal of Machine Learning Research, 14, 3321-3363.

  8. 8. Cheyer, A.J., Guzzoni, D.R., Gruber, T.R. and Brigham, C.D. (2014) Service Orchestration for Intelligent Automated Assistant. US20130111487A1.

  9. 9. Jordan, M.I., Lee, J.D. and Yang, Y. (2016) Communication-Efficient Distributed Statistical Learning. arXiv:1605.07689.

  10. 10. Lee, J.D., Liu, Q., Sun, Y. and Taylor, J.E. (2017) Communication-Efficient Sparse Regression. Journal of Machine Learning Research, 18, 1-30.

  11. 11. Chen, X., Lee, J.D., Li, H. and Yang, Y. (2020) Distributed Estimation for Principal Component Analysis: A Gap-Free Approach. arXiv:2004.02336.

  12. 12. Cortes, C. and Vapnik, V. (1995) Support-Vector Networks. Machine Learning, 20, 273-297. https://doi.org/10.1007/BF00994018

  13. 13. Liu, Y.F., Zhang, H.H., Park, C. and Ahn, J.Y. (2007) Support Vector Machines with Adaptive Lq Penalty. Computational Statistics & Data Analysis, 51, 6380-6394. https://doi.org/10.1016/j.csda.2007.02.006

  14. 14. Hsieh, C.J., Si, S. and Dhillon, I.S. (2013) A Divide-and-Conquer Solver for Kernel Support Vector Machines. arXiv:1311.0914.

  15. 15. Lian, H. and Fan, Z.Y. (2018) Divide-and-Conquer for Debiased l1-Norm Support Vector Machine in Ultra-High Dimensions. Journal of Machine Learning Research, 18, 1-26.

  16. 16. Smola, A.J. and Schölkopf, B. (2004) A Tutorial on Support Vector Regression. Statistics and Computing, 14, 199-222. https://doi.org/10.1023/B:STCO.0000035301.49549.88

  17. 17. Khemchandani, R., Jayadeva and Chandra, S. (2009) Regularized Least Squares Fuzzy Support Vector Regression for Financial Time Series Forecasting. Expert System with Applications, 36, 132-138. https://doi.org/10.1016/j.eswa.2007.09.035

  18. 18. Rivas-Perea, P. and Cota-Ruiz, J. (2013) An Algorithm for Training a Large Scale Support Vector Machine for Regression Based on Linear Programming and Decomposition Methods. Pattern Recognition Letters, 34, 439-451. https://doi.org/10.1016/j.patrec.2012.10.026

  19. 19. Cheng, A.Y., Jiang, X., Li, Y.F., Chao, Z. and Zhu, H. (2016) Multiple Sources and Multiple Measures Based Traffic Flow Prediction Using the Chaos Theory and Support Vector Regression Method. Physica A: Statistical Mechanics and Its Applications, 466, 422-434. https://doi.org/10.1016/j.physa.2016.09.041

  20. 20. Maldonado, S., Gonzalez, A. and Crone, S. (2019) Automatic Time Series Analysis for Electric Load Forecasting via Support Vector Regression. Applied Soft Computing Journal, 83, Article ID: 105616. https://doi.org/10.1016/j.asoc.2019.105616

  21. 21. Horowitz, J.L. (1998) Bootstrap Methods for Median Regression Models. Econometrica, 66, 1327-1351. https://doi.org/10.2307/2999619

  22. 22. Nahil, A. and Lyhyaoui, A. (2018) Short-Term Stock Price Forecasting Using Kernel Principal Component Analysis and Support Vector Machines: The Case of Casablanca Stock Exchange. Procedia Computer Science, 127, 161-169. https://doi.org/10.1016/j.procs.2018.01.111

  23. NOTES

    *通讯作者。

期刊菜单