首页> 中国专利> 一种基于非负交替方向变换的用户特征抽取方法及抽取装置

一种基于非负交替方向变换的用户特征抽取方法及抽取装置

摘要

本发明提出了一种基于非负交替方向变换的用户特征抽取方法及抽取装置。抽取装置,包括数据接收模块、数据存储模块和执行模块,其中,所述数据接收模块与数据存储模块连接,数据接收模块用于接收服务器采集的用户行为统计数据,并将所接收的服务器采集的用户行为统计数据传递给数据存储模块进行存储,所述数据存储模块与执行模块相连接,执行模块执行服务器发送的进行用户特征抽取的指令,并将抽取的用户特征数据存入数据存储模块中。本发明直接作用于用户行为统计矩阵中的已知数据集合,能够处理具备大量缺失值的、极端稀疏的用户行为统计矩阵,收敛速度快,数据还原准确度高,能够解决大数据处理环境中的用户特征抽取问题。

著录项

  • 公开/公告号CN104636486A

    专利类型发明专利

  • 公开/公告日2015-05-20

    原文格式PDF

  • 申请/专利权人 重庆大学;

    申请/专利号CN201510087359.1

  • 发明设计人 罗辛;夏云霓;

    申请日2015-02-25

  • 分类号G06F17/30(20060101);G06Q30/02(20120101);

  • 代理机构重庆市前沿专利事务所(普通合伙);

  • 代理人郭云

  • 地址 400020 重庆市沙坪坝区沙正街174号

  • 入库时间 2023-12-18 08:44:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-06

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20190718 变更前: 变更后: 变更前:

    专利申请权、专利权的转移

  • 2018-01-02

    授权

    授权

  • 2017-12-22

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20150225

    著录事项变更

  • 2017-12-22

    专利申请权的转移 IPC(主分类):G06F17/30 登记生效日:20171204 变更前: 变更后: 申请日:20150225

    专利申请权、专利权的转移

  • 2015-06-17

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150225

    实质审查的生效

  • 2015-05-20

    公开

    公开

查看全部

说明书

技术领域

本发明涉及计算机大数据处理技术领域,特别涉及电子商务系统中一种基于非负交替方向变换的用户特征抽取方法及抽取装置。

背景技术

现代大型电子商务系统,其用户数量和信息数量十分巨大。此类系统中,用户的各种客观行为,如点击、浏览、评论、搜索等等,随系统运营时间累积,汇集成为庞大的用户历史行为数据集,数据量至少在TB量级,为典型的大数据环境。

在大型电子商务系统中,一种典型的数据描述结构是用户行为统计矩阵,其中的每一行对应一个用户,每一列对应于一个项目;项目指系统中任何可能由用户操作的客观物体,如新闻、图片、商品;每个矩阵元素对应单个用户对单个项目的历史行为数据,该数据是使用该用户对该项目的客观历史行为数据,利用符合自然规律的数学统计方法进行量化计算构成。大型电子商务系统中,用户和项目数量十分巨大,对应用户行为统计矩阵也十分巨大。同时,一个用户不可能操作所有的项目,一个项目也不可能被所有的用户操作;一般而言,用户行为统计矩阵中的已知数据远少于未知数据,是极端稀疏的。

系统运营过程中,基于用户行为统计矩阵中的已知数据,从中抽取用户特征,可对用户的行为进行有效的分析,从中挖掘包括用户类别、行为模式等规律。在用户特征的抽取过程中,保持用户特征的非负性,是一个关键,这是因为非负的用户特征更加符合电子商务系统中用户行为数据为正数的自然规律,能更好地对用户行为进行表征。现有非负特征抽取技术多用于计算机视觉领域,其基本特点是对于给定的图形或者图像,将其视为一个满秩矩阵,并对其进行非负条件限制下的矩阵因式分解,从而抽取出该图形或图像的局部物体特征。但是,电子商务系统中的用户特征抽取问题,与计算机视觉中的非负物体特征抽取问题,具备很大区别。这是因为计算机视觉中的非负物体特征抽取所处理的图形、图像所转化的矩阵是满秩矩阵,不具备缺失值,此类矩阵的非负矩阵因式分解问题可以借助常规的矩阵迭代运算进行处理;但电子商务系统中的非负用户行为抽取问题,所处理的用户行为统计矩阵,通常情况下是极端稀疏的,其中具备大量的缺失值,无法使用传统的矩阵因式分解处理,而需要用能作用于稀疏矩阵的非负隐特征分析处理。但是,现有非负矩阵隐特征分析方法,具备收敛速度慢、数据还原准确度低的缺点。

因此,如何针对大型电子商务系统中的、具备大量缺失值的用户行为统计矩阵,进行收敛速度快、数据还原准确度高的非负隐特征分析,从而获取能够良好描述用户行为自然规律的用户特征,是对现代大型电子商务系统所产生的海量数据进行分析所需要处理的一个关键问题。

发明内容

为了克服上述现有技术中存在的缺陷,本发明的目的是提供一种基于非负交替方向变换的用户特征抽取方法及抽取装置,本发明直接作用于用户行为统计矩阵中的已知数据集合,能够处理具备大量缺失值的、极端稀疏的用户行为统计矩阵,收敛速度快,数据还原准确度高,能够解决大数据处理环境中的用户特征抽取问题。

为了实现本发明的上述目的,本发明提供了一种基于非负交替方向变换的用户特征抽取方法,包括以下步骤:

S1.服务器对抽取装置发出进行用户特征抽取的指令;

S2.抽取装置接收指令并初始化参数,初始化参数包括:特征空间维数f、对偶学习速率η、拉格朗日增强因子λ、用户特征矩阵X、用户训练辅助矩阵X_U、X_D和X_C、项目特征矩阵Y、项目训练辅助矩阵Y_U、Y_D和Y_C、迭代控制变量t、迭代上限n、收敛判定阈值

S3.抽取装置构造累积绝对误差ε(P,Q,X,Y),其中P为用户特征约束矩阵,Q为项目特征约束矩阵;

S4.抽取装置使用约束条件对累积绝对误差ε(P,Q,X,Y)进行约束,保证矩阵P、Q的参数在训练过程中的非负性;

S5.抽取装置构造统一损失函数L(P,Q,X,Y,Γ,Κ),其中Γ和Κ均为对偶参数;

S6.抽取装置判断迭代训练控制变量t是否已达到上限n,若是,则执行步骤S9,若否,则执行步骤S7;

S7.抽取装置判断统一损失函数L相对于P,Q,X,Y,Γ和Κ是否在用户行为统计矩阵中的已知数据集合C上收敛,若是,则执行步骤S9,若否,则执行步骤S8;

S8.抽取装置在用户行为统计矩阵中的已知数据集合C中的已知数据上对P,Q,X,Y,Γ和Κ进行迭代训练,再执行步骤S6;

S9.抽取装置将通过迭代训练获取的用户特征矩阵X和项目特征矩阵Y输出,存储至数据模块中的获取特征存储单元。

本方法中,步骤S2中特征空间维数f为用户特征所处特征空间的维度,决定特征向量的维数,为正实数集合内的任意正整数。

对偶学习速率η为统一损失函数中,对拉格朗日乘子进行训练的学习速率,为区间(0.0001,0.05)内的浮点数。

拉格朗日增强因子λ为统一损失函数中,对约束条件进行规约表达的因数,为区间(0.01,0.1)内的任意小数。

用户特征矩阵X为需要抽取的特征,是一个|A|×f的矩阵,其中A代表装置的存储单元所存储的用户集合。X的每一行对应一个用户,X的每一行向量是一个用户的特征向量。本发明实施例中,用户特征矩阵X中每个元素的初始值设置为开区间(0.4,0.8)范围内的随机数。

用户训练辅助矩阵X_U、X_D和X_C为用以辅助迭代训练用户特征的数据结构,均为|A|×f的矩阵。

项目特征矩阵Y为需要抽取的特征,是一个|B|×f的矩阵,其中B代表装置的存储单元所存储的项目集合。Y的每一行对应一个项目,Y的每一行向量是全部用户对一个项目进行操作的特征向量。

项目训练辅助矩阵Y_U、Y_D和Y_C为用以辅助迭代训练用户特征的数据结构,均为|B|×f的矩阵。

迭代控制变量t为控制特征训练过程的变量,迭代控制变量t初始化为0。

迭代上限n为控制训练过程迭代上限的变量,为正实数集合内的任意正整数。

收敛判定阈值为判断迭代训练是否已收敛的阈值参数。

本方法直接作用于用户行为统计矩阵中的已知数据集合,能够处理具备大量缺失值的、极端稀疏的用户行为统计矩阵,收敛速度快,数据还原准确度高,能够处理大数据处理环境中的用户特征抽取问题。

优选的,步骤S3中所述绝对误差的计算公式为:

>ϵ(P,Q,X,Y)=Σ(u,i)C(ru,i-Σk=1fxu,kyi,k)2,>

s.t.P=X,P≥0,

Q=Y,Q≥0.

其中,C表示用户行为统计矩阵中的已知数据集合;ru,i表示用户行为统计矩阵中第u行,第i列的元素值,代表用户u在项目i上的历史行为统计数据;xu,k表示用户特征矩阵X的第u行,第k列元素;yi,k表示项目特征矩阵Y的第i行,第k列元素;P为用户特征约束矩阵,Q为项目特征约束矩阵。

步骤S3构造累积绝对误ε(P,Q,X,Y)对误差和非负性约束进行充分的表述,同时,对引入对偶参数提供了条件。

步骤S4使用约束条件对累积绝对误差ε(P,Q,X,Y)进行约束,保证相关模型参数在训练过程中的非负性。

步骤S5构造统一损失函数是通过使用拉格朗日乘子法对损失函数和相关约束条件进行统一,从而在训练过程中满足约束条件的约束。

优选的,步骤S4包括以下步骤:

S4-1.对于P中每一元素pu,k,如其不等于X中对应元素xu,k,则令pu,k=xu,k

S4-2.对于Q中每一元素qi,k,如其不等于Y中对应元素yi,k,则令qi,k=yi,k

S4-3.对于P中每一元素pu,k,如其小于0,则令pu,k=0;

S4-4.对于Q中每一元素qi,k,如其小于0,则令qi,k=0。

其中,pu,k表示用户特征约束矩阵P中第u行,第k列元素,qi,k表示项目特征约束矩阵中第i行,第k列元素。

优选的,步骤S5中所述损失函数计算公式为:

>L(P,Q,X,Y,Γ,K)=12Σ(u,i)C(ru,i-Σk=1fxu,kyi,k)2+Σ(u,k)γu,k(xu,k-pu,k)+Σ(i,k)κi,k(yi,k-qi,k)+ρ2Σ(u,k)(xu,k-pu,k)2+τ2Σ(i,k)(yi,k-qi,k)2,>

其中Γ和Κ均为对偶参数,γu,k表示Γ中第u行,第k列元素,κi,k表示K中第i行,第k列元素,该公式采用的是规约拉格朗日乘子法(augmented lagrangian),规约拉格朗日乘子法(augmented lagrangian)是在拉格朗日乘子法的基础上加入了对应限制条件的规约项,规约项为ρ是规约拉格朗日乘子法的规约参数,该参数参应于矩阵X,计算中是一个常量。

优选的,步骤S8中的迭代训练包括以下步骤:

S8-1.确定迭代训练目标,即全部参数P,Q,X,Y,Γ和Κ,使其满足统一损失函数L相对于P,Q,X,Y,Γ和Κ在用户行为统计矩阵中的已知数据集合C上最小,表示为公式:

>arg>minP,Q,X,Y,Γ,KL=12Σ(u,i)C(ru,i-Σk=1fxu,kyi,k)2+Σ(u,k)γu,k(xu,k-pu,k)+Σ(i,k)κi,k(yi,k-qi,k)+ρ2Σ(u,k)(xu,k-pu,k)2+τ2Σ(i,k)(yi,k-qi,k)2;>

τ是规约拉格朗日乘子法的规约参数,为规约项,该参数参应于矩阵Y,计算中是一个常量。

S8-2.使用非负方向交替变换,对P,Q,X,Y,Γ和Κ中的单一元素进行顺序训练,训练规则表示为公式:

for k=1~f,

>X.,kt+1:=argminX.,kL(Pt,Qt,X.,1~k-1t+1,X.,k,X.,k+1~ft,Y.,1~k-1t+1,Y.,k~ft,Γt,Kt)Y.,kt+1:=argminY.,kL(Pt,Qt,X.,1~k-1t+1,X.,k~ft,Y.,1~k-1t+1,Y.,k,Y.,k+1~ft,Γt,Kt);>

>Pt+1=arg>minPL(P,Qt,Xt+1,Yt+1,Γt,Kt)Qt+1=argminQL(Pt,Q,Xt+1,Yt+1,Γt,Kt)Γt+1=Γt+ηΓL(Pt+1,Qt+1,Xt+1,Yt+1,Γ,Kt)Kt+1=Kt+ηKL(Pt+1,Qt+1,Xt+1,Yt+1,Γt,K)>

S8-3、对于P,Q,X,Y,Γ和Κ中的每个元素,按照如下公式对其进行

ρu=λ|C(u)|,τi=λ|C(i)|;

训练更新,>xu,k=ΣiC(u)yi,k(ru,i-Σj=1,jkfxu,jyi,j)+ρupu,k-γu,kΣiC(u)yi,k2+ρu,yi,k=ΣuC(i)xu,k(ru,i-Σj=1,jkfxu,jyi,j)+τiqk,i-κi,kΣuC(i)xu,k2+τi,pu,k=max(0,xu,k+γu,kρu),qi,k=max(0,yi,k+κi,kτi),γu,k=γu,k+ηρu(xu,k-pu,k),κi,k=κi,k+ητi(yi,k-qi,k).,>其中,C(u)和C(i)分别表示已知数据集合C中,与用户u和项目i相关联的子集,τi中τ是规约拉格朗日乘子法的规约参数,该参数参应于矩阵Y,i对应于Y的第i行。

本发明还提出一种基于非负交替方向变换的用户特征抽取方法的抽取装置,包括数据接收模块、数据存储模块和执行模块,其中,所述数据接收模块与数据存储模块连接,数据接收模块用于接收服务器采集的用户行为统计数据,并将所接收的服务器采集的用户行为统计数据传递给数据存储模块进行存储,所述数据存储模块与执行模块相连接,执行模块执行服务器发送的进行用户特征抽取的指令,并将抽取的用户特征数据存入数据存储模块中。

用数据接收模块采集服务器的用户行为统计数据,用执行模块执行用户特征抽取的指令,数据存储模块对数据接收模块采集的服务器的用户行为统计数据和执行模块抽取的用户特征数据进行存储。本装置可直接作用于用户行为统计矩阵中的已知数据集合,能够处理具备大量缺失值的、极端稀疏的用户行为统计矩阵,能够解决大数据处理环境中的用户特征抽取问题。

进一步的,所述数据存储模块包括获取特征存储单元和统计数据存储单元,所述获取特征存储单元与所述执行模块连接,用于存储执行模块抽取的用户特征数据;所述统计数据存储单元与所述数据接收模块连接,用于存储数据接收模块传递的用户行为统计数据。

对数据接收模块采集的服务器的用户行为统计数据和执行模块抽取的用户特征数据进行分单元存储,在调取数据时能更加方便、准确和快捷。

进一步的,所述执行模块包括初始化单元,训练单元和输出单元,

所述初始化单元对用户特征抽取过程所依赖的参数进行初始化,初始化参数包括:特征空间维数f、对偶学习速率η、拉格朗日增强因子λ、用户特征矩阵X、用户训练辅助矩阵X_U、X_D和X_C、项目特征矩阵Y、项目训练辅助矩阵Y_U、Y_D和Y_C、迭代控制变量t、迭代上限n、收敛判定阈值

所述训练单元输入端分别与初始化单元和数据存储模块连接,根据初始化单元初始化的参数和数据存储模块中的用户行为统计数据构造用户特征数据,包括用户特征矩阵X和项目特征矩阵Y,训练单元首先构造累积绝对误差ε(P,Q,X,Y),其中P为用户特征约束矩阵,Q为项目特征约束矩阵,再构造统一损失函数L(P,Q,X,Y,Γ,K),其中Γ和Κ均为对偶参数,然后对P,Q,X,Y,Γ和Κ进行迭代训练,直至统一损失函数L(P,Q,X,Y,Γ,K)相对于P,Q,X,Y,Γ和Κ在用户行为统计矩阵中的已知数据集合C上收敛,或者迭代控制变量t等于迭代上限n;

所述输出单元输入端与训练单元输出端连接,输出单元输出端与数据存储模块相连接,所述输出单元将训练单元构造的用户特征数据输出并存储到数据存储模块中。

把执行模块划分为三个单元,使得在抽取的用户特征数据时,对参数的初始化、数据的抽取和存储能更加准确快捷。

本发明的有益效果是:本方法旨在通过非负交替方向变换,直接作用于用户行为统计矩阵中的已知数据集合,有以下优点:

1、能够处理具备大量缺失值的、极端稀疏的用户行为统计矩阵;

2、收敛速度快,数据还原准确度高,能够解决大数据处理环境中的用户特征抽取问题。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明结构示意图;

图2是本发明流程示意图;

图3为应用本发明实施例前后,对用户特征进行抽取的收敛速度对比图;

图4为应用本发明实施例前后,对用户特征进行抽取的数据还原准确度对比图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

如图1所示,本发明提供了一种基于非负交替方向变换的用户特征抽取方法,包括以下步骤:

S1.服务器对抽取装置发出进行用户特征抽取的指令;

S2.抽取装置接收指令并初始化参数,初始化参数包括:特征空间维数f、对偶学习速率η、拉格朗日增强因子λ、用户特征矩阵X、用户训练辅助矩阵X_U、X_D和X_C、项目特征矩阵Y、项目训练辅助矩阵Y_U、Y_D和Y_C、迭代控制变量t、迭代上限n、收敛判定阈值

其中,特征空间维数f为用户特征所处特征空间的维度,决定特征向量的维数,为正实数集合内的任意正整数,如25。

对偶学习速率η为统一损失函数中,对拉格朗日乘子进行训练的学习速率,为区间(0.0001,0.05)内的浮点数,如0.001。

拉格朗日增强因子λ为统一损失函数中,对约束条件进行规约表达的因数,为区间(0.01,0.1)内的任意小数,如0.05。

用户特征矩阵X为需要抽取的特征,是一个|A|×f的矩阵,其中A代表装置的存储单元所存储的用户集合。X的每一行对应一个用户,X的每一行向量是一个用户的特征向量。本发明实施例中,用户特征矩阵X中每个元素的初始值设置为开区间(0.4,0.8)范围内的随机数,如0.47。

用户训练辅助矩阵X_U、X_D和X_C为用以辅助迭代训练用户特征的数据结构,均为|A|×f的矩阵,其中,X_U用于缓存X矩阵在训练过程中的初始值、X_D用于缓存X矩阵在训练过程中的目标值,X_C用于缓存X矩阵在训练过程中的更新值。本发明实施例中,X_U、X_D和X_C中每个元素的初始化为0。

项目特征矩阵Y为需要抽取的特征,是一个|B|×f的矩阵,其中B代表装置的存储单元所存储的项目集合。Y的每一行对应一个项目,Y的每一行向量是全部用户对一个项目进行操作的特征向量。

项目训练辅助矩阵Y_U、Y_D和Y_C为用以辅助迭代训练用户特征的数据结构,均为|B|×f的矩阵,其中,Y_U用于缓存Y矩阵在训练过程中的初始值、Y_D用于缓存Y矩阵在训练过程中的目标值,Y_C用于缓存Y矩阵在训练过程中的更新值。本发明实施例中,Y_U、Y_D和Y_C中每个元素的初始化为0。

迭代控制变量t为控制特征训练过程的变量,迭代控制变量t初始化为0。

迭代上限n为控制训练过程迭代上限的变量,为正实数集合内的任意正整数,如500。

收敛判定阈值为判断迭代训练是否已收敛的阈值参数。本发明实施例中,设置为开区间(0,0.001)内的任意小数,如0.0001。

S3.抽取装置构造累积绝对误差ε(P,Q,X,Y),其中P为用户特征约束矩阵,Q为项目特征约束矩阵;

本步骤中所述绝对误差的计算公式为:

>ϵ(P,Q,X,Y)=Σ(u,i)C(ru,i-Σk=1fxu,kyi,k)2,>

s.t.P=X,P≥0,

Q=Y,Q≥0.

其中,C表示用户行为统计矩阵中的已知数据集合;ru,i表示用户行为统计矩阵中第u行,第i列的元素值,代表用户u在项目i上的历史行为统计数据;xu,k表示用户特征矩阵X的第u行,第k列元素;yi,k表示项目特征矩阵Y的第i行,第k列元素;P为用户特征约束矩阵,Q为项目特征约束矩阵。

S4.抽取装置使用约束条件对累积绝对误差ε(P,Q,X,Y)进行约束,P=X,P≥0,Q=Y,Q≥0均为约束条件。

S5.抽取装置构造统一损失函数L(P,Q,X,Y,Γ,Κ),其中Γ和Κ均为对偶参数;

本步骤中所述损失函数计算公式为:

>L(P,Q,X,Y,Γ,K)=12Σ(u,i)C(ru,i-Σk=1fxu,kyi,k)2+Σ(u,k)γu,k(xu,k-pu,k)+Σ(i,k)κi,k(yi,k-qi,k)+ρ2Σ(u,k)(xu,k-pu,k)2+τ2Σ(i,k)(yi,k-qi,k)2.>

S6.抽取装置判断迭代训练控制变量t是否已达到上限n,

若已达上限,则执行步骤S9:抽取装置将通过迭代训练获取的用户特征矩阵X和项目特征矩阵Y输出,存储至数据模块中的获取特征存储单元,完成对用户特征的抽取;

若没有达到上限,则执行步骤S7;

本步骤中,抽取装置首先在迭代控制变量t上累加1,然后判断迭代控制变量t是否大于迭代上限n。

S7.抽取装置判断统一损失函数L相对于P,Q,X,Y,Γ和Κ是否在用户行为统计矩阵中的已知数据集合C上收敛,

若是,则执行步骤S9:抽取装置将通过迭代训练获取的用户特征矩阵X和项目特征矩阵Y输出,存储至数据模块中的获取特征存储单元,完成对用户特征的抽取;

若否,则执行步骤S8;

本步骤中,用户特征抽取装置判断统一损失函数L相对于用户特征矩阵X、项目特征矩阵Y、用户特征在用户行为统计矩阵中的已知数据集合C上是否已收敛的依据为,本轮迭代训练开始前,统一损失函数L的数值,对比上轮迭代训练开始前,统一损失函数L的数值,其差的绝对值是否小于收敛判定阈值如果小于,则判定为已收敛,反之亦然。

S8.抽取装置在用户行为统计矩阵中的已知数据集合C中的已知数据上对P,Q,X,Y,Γ和Κ进行迭代训练,再执行步骤S6,如此循环,直至完成步骤S9抽取装置将通过迭代训练获取的用户特征矩阵X和项目特征矩阵Y输出,存储至数据模块中的获取特征存储单元,完成对用户特征的抽取。

作为本实施例的优选方案,步骤S4包括以下步骤:

S4-1.对于P中每一元素pu,k,如其不等于X中对应元素xu,k,则令pu,k=xu,k

S4-2.对于Q中每一元素qi,k,如其不等于Y中对应元素yi,k,则令qi,k=yi,k

S4-3.对于P中每一元素pu,k,如其小于0,则令pu,k=0;

S4-4.对于Q中每一元素qi,k,如其小于0,则令qi,k=0。

其中,pu,k表示用户特征约束矩阵P中第u行,第k列元素;xu,k表示用户特征矩阵X中第u行,第k列元素;qi,k表示项目特征约束矩阵Q中第i行,第k列元素;yi,k表示项目特征矩阵Y第i行,第k列元素。

步骤S8中的迭代训练包括以下步骤:

S8-1.确定迭代训练目标,即全部参数P,Q,X,Y,Γ和Κ,对参数P,Q,X,Y,Γ和Κ进行求解,使其满足统一损失函数L相对于P,Q,X,Y,Γ和Κ在用户行为统计矩阵中的已知数据集合C上最小,表示为公式:

>arg>minP,Q,X,Y,Γ,KL=12Σ(u,i)C(ru,i-Σk=1fxu,kyi,k)2+Σ(u,k)γu,k(xu,k-pu,k)+Σ(i,k)κi,k(yi,k-qi,k)+ρ2Σ(u,k)(xu,k-pu,k)2+τ2Σ(i,k)(yi,k-qi,k)2;>

S8-2.使用非负方向交替变换,对P,Q,X,Y,Γ和Κ中的单一元素进行顺序训练,训练规则表示为公式:

for k=1~f,

>X.,kt+1:=argminX.,kL(Pt,Qt,X.,1~k-1t+1,X.,k,X.,k+1~ft,Y.,1~k-1t+1,Y.,k~ft,Γt,Kt)Y.,kt+1:=argminY.,kL(Pt,Qt,X.,1~k-1t+1,X.,k~ft,Y.,1~k-1t+1,Y.,k,Y.,k+1~ft,Γt,Kt)>

>Pt+1=argminPL(P,Qt,Xt+1,Yt+1,Γt,Kt)Qt+1=argminQL(Pt,Q,Xt+1,Yt+1,Γt,Kt)Γt+1=Γt+ηΓL(Pt+1,Qt+1,Xt+1,Yt+1,Γ,Kt)Kt+1=Kt+ηKL(Pt+1,Qt+1,Xt+1,Yt+1,Γt,K),>

其中,t和t+1分别表示第t轮和第t+1轮迭代。

S8-3、对于P,Q,X,Y,Γ和Κ中的每个元素,按照如下公式对其进行

ρu=λ|C(u)|,τi=λ|C(i)|;

训练更新,>xu,k=ΣiC(u)yi,k(ru,i-Σj=1,jkfxu,jyi,j)+ρupu,k-γu,kΣiC(u)yi,k2+ρu,yi,k=ΣuC(i)xu,k(ru,i-Σj=1,jkfxu,jyi,j)+τiqk,i-κi,kΣuC(i)xu,k2+τi,pu,k=max(0,xu,k+γu,kρu),qi,k=max(0,yi,k+κi,kτi),γu,k=γu,k+ηρu(xu,k-pu,k),κi,k=κi,k+ητi(yi,k-qi,k).,>

其中,C(u)和C(i)分别表示已知数据集合C中,与用户u和项目i相关联的子集。

按照此方法对P,Q,X,Y,Γ和Κ进行迭代训练后,再重复执行步骤S6,如此循环,直至完成对用户特征的抽取。

本发明还提出一种基于非负交替方向变换的用户特征抽取方法的抽取装置,如图2所示,包括数据接收模块、数据存储模块和执行模块,其中,所述数据接收模块与数据存储模块连接,数据接收模块用于接收服务器采集的用户行为统计数据,并将所接收的服务器采集的用户行为统计数据传递给数据存储模块进行存储,所述数据存储模块与执行模块相连接,执行模块执行服务器发送的进行用户特征抽取的指令,并将抽取的用户特征数据存入数据存储模块中。

用数据接收模块采集服务器的用户行为统计数据,用执行模块执行用户特征抽取的指令,数据存储模块对数据接收模块采集的服务器的用户行为统计数据和执行模块抽取的用户特征数据进行存储。本装置可直接作用于用户行为统计矩阵中的已知数据集合,能够处理具备大量缺失值的、极端稀疏的用户行为统计矩阵,能够解决大数据处理环境中的用户特征抽取问题。

本实施例中,所述数据存储模块包括获取特征存储单元和统计数据存储单元,所述获取特征存储单元与所述执行模块连接,用于存储执行模块抽取的用户特征数据;所述统计数据存储单元与所述数据接收模块连接,用于存储数据接收模块传递的用户行为统计数据。

对数据接收模块采集的服务器的用户行为统计数据和执行模块抽取的用户特征数据进行分单元存储,在调取数据时能更加方便、准确和快捷。

作为本实施例的优选方案,所述执行模块包括初始化单元,训练单元和输出单元。

所述初始化单元对用户特征抽取过程所依赖的参数进行初始化,初始化参数包括:特征空间维数f、对偶学习速率η、拉格朗日增强因子λ、用户特征矩阵X、用户训练辅助矩阵X_U、X_D和X_C、项目特征矩阵Y、项目训练辅助矩阵Y_U、Y_D和Y_C、迭代控制变量t、迭代上限n、收敛判定阈值其中,用户特征矩阵X、用户训练辅助矩阵X_U、X_D和X_C是根据当前用户集合A,和当前特征空间维数f,建立的|A|行,|f|列的矩阵;用户特征矩阵X中每个元素的初始值为区间(0.2,0.6)范围内的随机数,用户训练辅助矩阵X_U、X_D和X_C中每个元素的初始值为0。项目特征矩阵Y、项目训练辅助矩阵Y_U、Y_D和Y_C是根据当前项目集合B,和当前特征空间维数f,建立的|B|行,|f|列的矩阵;项目特征矩阵X中每个元素的初始值为区间(0.2,0.6)范围内的随机数,项目训练辅助矩阵Y_U、Y_D和Y_C中每个元素的初始值为0。

所述训练单元输入端分别与初始化单元和数据存储模块连接,根据初始化单元初始化的参数和数据存储模块中的用户行为统计数据构造用户特征数据,包括用户特征矩阵X和项目特征矩阵Y,X中的每一个行向量对应于一个用户的非负行为特征;Y中的每一个行向量对应于已知全部用户对于一个项目的非负操作特征。训练构造用户特征数据进一步包括,训练单元首先构造累积绝对误差ε(P,Q,X,Y),其中P为用户特征约束矩阵,Q为项目特征约束矩阵,再使用增强拉格朗日乘子法构造统一损失函数L(P,Q,X,Y,Γ,K),其中Γ和Κ均为对偶参数,并求解得出相关参数P,Q,X,Y,Γ和Κ,使全局损失函数在用户行为统计矩阵中的已知数据集合C上最小,然后使用非负交替方向变换,对P,Q,X,Y,Γ和Κ进行迭代训练,直至统一损失函数L(P,Q,X,Y,Γ,K)相对于P,Q,X,Y,Γ和Κ在用户行为统计矩阵中的已知数据集合C上收敛,或者迭代控制变量t等于迭代上限n;

所述输出单元输入端与训练单元输出端连接,输出单元输出端与数据存储模块相连接,所述输出单元将训练单元构造的用户特征数据,包括用户特征矩阵X和项目特征矩阵Y,输出并存储到数据存储模块中。

在具体实施中,实例分析使用训练迭代次数作为衡量进行用户特征抽取的收敛速度的指标,训练迭代次数越少,抽取用户特征的收敛速度越快;使用平均绝对误差MAE作为进行用户特征抽取的数据还原准确度的指标,平均绝对误差MAE越低,进行用户特征抽取的数据还原准确度越高。

图3为应用本实施例前后,抽取用户特征的收敛速度对比。应用本发明实施例后,在非负限制下抽取用户特征时,迭代次数有明显下降,收敛速度有明显提高。

图4为应用本实施例前后,抽取用户特征的数据还原准确度对比。应用本发明实施例后,在非负限制下抽取用户特征时,平均绝对误差MAE有明显下降,数据还原准确度有明显提高。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号