一种异构系统的并行逻辑回归方法与系统的制作方法

文档序号:9787369阅读:244来源:国知局
一种异构系统的并行逻辑回归方法与系统的制作方法
【技术领域】
[0001] 本发明涉及机器学习领域,特别是涉及一种异构系统的并行逻辑回归方法与系 统。
【背景技术】
[0002] 逻辑回归(Logistic Regression,简称LR)是机器学习中十分常用的一种分类算 法,在互联网领域得到了广泛的应用,无论是在广告系统中进行CTR预估,推荐系统中的预 估转换率或是反垃圾系统中的识别垃圾内容等都可以看到它的身影。LR以其简单的原理和 应用的普适性受到了广大应用者的青睐。
[0003] 在LR模型中,通过特征权重向量对特征向量的不同维度上的取值进行加权,并用 逻辑函数将其压缩到〇~1的范围,作为该样本为正样本的概率。逻辑函数曲线如图1所示, 给定M个训练样本(Xi,yi),(X2,y2). . . (Xmjm),其中Xj = {xji I i = l,2. . .N}为N维的特征向 量;yj为分类标签,取值为+1或_1,+1表示样本为正样本,-1表示样本为负样本。在LR模型 中,第j个样本为正样本的概率是:
[0005] 其中1是~维的特征权重向量,也就是LR问题中要求解的模型参数。
[0006] 求解LR问题,就是寻找一个合适的特征权重向量W,使得对于训练集里面的正样 本,P(y」= l |W,Xj)值尽量大;对于训练集里面的负样本,这个值尽量小,或P(yj = _l |W,Xj) 尽量大。用联合概率来表示为求解:
[0008]对上式求log并取负号,则等价于:
[0010]公式(1)就是LR求解的目标函数,寻找合适的W令目标函数f (W)最小,是一个无约 束最优化问题,解决这个问题的通用做法是随机给定一个初始的Wo,通过迭代,在每次迭代 中计算目标函数的下降方向并更新W,直到目标函数稳定在最小的点,迭代流程如图2所示。
[0011] 不同的优化算法的区别就在于目标函数下降方向Dt的计算,然而在实际情况中, 需要利用大规模样本数据进行训练,对大规模样本求解目标函数下降方向Dt,要处理的数 据量巨大,直接利用单机对各样本直接进行Dt求解,求解效率低下。

【发明内容】

[0012] 有鉴于此,本发明的主要目的在于提供一种异构系统的并行逻辑回归方法与系 统,可以高效地进行大规模样本的LR问题求解。
[0013] 为实现上述目的,本发明提供了一种异构系统的并行逻辑回归方法,包括:
[0014] 获取逻辑回归模型的目标函数;
[0015] 并行计算所述目标函数的梯度;
[0016] 根据计算结果确定目标特征权重向量;
[0017] 所述并行计算所述目标函数的梯度包括:
[0018] 将训练集中M个样本的分类标签构成一个M维的标签向量,将M个N维特征向量构成 一个M*N的样本矩阵,获取 mRn列的计算节点,将所述标签向量和样本矩阵按行划分,为每 个计算节点分配M/m个特征向量和分类标签,将样本矩阵和N维的当前特征权重向量按列划 分,为每个计算节点分配N/n维特征向量和当前特征权重向量;
[0019] 令各计算节点分别进行特征权重向量按列划分的对应分量和特征向量按列划分 的对应分量的点乘,对行号相同的计算节点的计算结果进行并归,分别得到每行的当前特 征权重向量和对应特征向量的点乘结果,将各所述点乘结果返回到每行对应的计算节点 中;
[0020] 令各计算节点分别根据各所述点乘结果和标签向量按行划分的对应分量计算所 述目标函数梯度的中间标量,并分别将各所述中间标量和特征向量按行划分的对应分量相 乘,对列号相同的计算节点的计算结果进行并归,分别得到梯度向量每列的分量;
[0021] 将所述梯度向量每列的分量进行合并得到目标函数的梯度。
[0022] 优选地,所述逻辑回归模型的目标函数为:
[0023]
1W为N维的当前特征权重向量,Xj为N维的样本特 征向量,yj为分类标签。
[0024] 优选地,所述目标函数的梯度为Gt,
[0025] 优选地,根据计算结果确定目标特征权重向量包括:
[0026] 步骤A:令迭代次数为0,确定迭代次数为0时的初始权重特征向量W0;
[0027] 步骤B:令迭代次数值加1,根据当前权重特征向量并行计算所述目标函数的梯度, 根据所述梯度计算搜索方向值,根据所述搜索方向值更新当前权重特征向量;
[0028] 步骤C:判断所述梯度值是否满足预设迭代停止条件,如果是,则进入步骤D,否则 返回步骤B;
[0029] 步骤D:将当前特征权重向量确定为目标特征权重向量。
[0030] 本发明还提供了一种异构系统的并行逻辑回归系统,包括:
[0031] 目标函数确定模块,用于获取逻辑回归模型的目标函数;
[0032] 并行计算模块,用于并行计算所述目标函数的梯度;
[0033] 目标特征权重向量确定模块,用于根据计算结果确定目标特征权重向量;
[0034] 所述并行计算模块包括:
[0035] 计算节点分配子模块,用于将训练集中M个样本的分类标签构成一个M维的标签向 量,将M个N维特征向量构成一个M*N的样本矩阵,获取m行η列的计算节点,将所述标签向量 和样本矩阵按行划分,为每个计算节点分配M/m个特征向量和分类标签,将样本矩阵和N维 的当前特征权重向量按列划分,为每个计算节点分配N/n维特征向量和当前特征权重向量;
[0036] 行并行计算子模块,用于令各计算节点分别进行特征权重向量按列划分的对应分 量和特征向量按列划分的对应分量的点乘,对行号相同的计算节点的计算结果进行并归, 分别得到每行的当前特征权重向量和对应特征向量的点乘结果,将各所述点乘结果返回到 每行对应的计算节点中;
[0037]列并行计算子模块,用于令各计算节点分别根据各所述点乘结果和标签向量按行 划分的对应分量计算所述目标函数梯度的中间标量,并分别将各所述中间标量和特征向量 按行划分的对应分量相乘,对列号相同的计算节点的计算结果进行并归,分别得到梯度向 量每列的分量;
[0038]合并子模块,用于将所述梯度向量每列的分量进行合并得到目标函数的梯度。 [0039]优选地,所述逻辑回归模型的目标函数为:
[0040]
,WSN维的当前特征权重向量,Xj为N维的样本特征 向量,yj为分类标签。
[0041] 优选地,所述目标函数的梯度为Gt,
[0042] 应用本发明提供的一种异构系统的并行逻辑回归方法与系统,将逻辑回归模型的 目标函数的梯度计算通过并行化的方式计算得到,将计算梯度使用的样本的特征向量构成 样本矩阵,分类标签构成标签向量,将样本矩阵、标签向量和特征权重向量分别进行划分, 划分后分配到批量的计算节点上分别计算再将结果并归得到大量样本的梯度值,从而根据 并行计算得到的梯度确定目标特征权重向量,完成LR问题的求解,可以利用批量的计算节 点高效地进行大规模样本的LR问题的并行求解。
【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。
[0044]图1为LR模型中逻辑函数的曲线图;
[0045]图2为LR模型的迭代求解方法流程图;
[0046] 图3为本发明一种异构系统的并行逻辑回归方法实施例一的流程图;
[0047] 图4为本发明一种异构系统的并行逻辑回归方法实施例一的详细流程图
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1