CN104537252B - 用户状态单分类模型训练方法和装置 - Google Patents

用户状态单分类模型训练方法和装置 Download PDF

Info

Publication number
CN104537252B
CN104537252B CN201510006021.9A CN201510006021A CN104537252B CN 104537252 B CN104537252 B CN 104537252B CN 201510006021 A CN201510006021 A CN 201510006021A CN 104537252 B CN104537252 B CN 104537252B
Authority
CN
China
Prior art keywords
positive training
model
training sample
user
feature vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510006021.9A
Other languages
English (en)
Other versions
CN104537252A (zh
Inventor
陈蓉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201510006021.9A priority Critical patent/CN104537252B/zh
Publication of CN104537252A publication Critical patent/CN104537252A/zh
Application granted granted Critical
Publication of CN104537252B publication Critical patent/CN104537252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种用户状态单分类模型训练方法和装置,该方法包括:获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息;根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量;根据所述样本特征向量来估计模型参数,并根据估计出的模型参数生成概率密度函数模型;生成用户状态单分类模型,所述用户状态单分类模型包括用于接收输入的特征向量并计算出函数值的概率密度函数模型,还包括用于根据计算出的函数值运算出表示是否属于所述指定用户状态类的分类结果的分类判定模型。本发明提供的用户状态单分类模型训练方法和装置,分类性能好、人为因素影响小且泛化能力强。

Description

用户状态单分类模型训练方法和装置
技术领域
本发明涉及计算机信息处理技术领域,特别是涉及一种用户状态单分类模型训练方法和装置。
背景技术
用户状态是一种具有阶段性的用户属性的描述,比如用户状态可以是学生状态、育儿状态、单身状态等等。通过检测用户状态,可以根据用户状态来提供差异***,比如仅向具有特定用户状态的用户推送信息或者提供服务,或者向具有和不具有特定用户状态的用户分别推送不同的信息或者提供不同的服务。
目前存在一种比较简单的检测用户状态的方法,需要用户自行设定自己的用户状态并存储下来,这样在需要时便可以读取用户设定的用户状态以达到检测用户状态的目的。但是,这种检测用户状态的方法需要用户手工设定用户状态,需要用户配合,操作繁琐,可行性低。
目前还存在一种检测用户状态的方法,需要事先建立一种打分用的数学模型,然后记录用户一定时间范围内的行为数据,通过分析行为数据而发现用户与需检测的用户状态相关的信息,采用事先建立的数学模型对每个与用户状态相关的信息打分,把多个相关的信息的分值相加得到总分值。通过将该总分值与预设的总分值阈值进行比较便可以判断用户是否处具有某一用户状态。
然而,目前用于检测用户状态的数学模型,需要人工设定打分规则,人为因素影响大。而且,通过打分的方式来检测用户状态,泛化能力太弱,无法检测到***的用户状态。这里所谓泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。
发明内容
基于此,有必要针对目前用于检测用户状态的数学模型人为因素影响大,而且泛化能力弱的问题,提供一种用户状态单分类模型训练方法和装置。
一种用户状态单分类模型训练方法,所述方法包括:
获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息;
根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量;
根据所述样本特征向量来估计模型参数,并根据估计出的模型参数生成概率密度函数模型;
生成用户状态单分类模型,所述用户状态单分类模型包括用于接收输入的特征向量并计算出函数值的概率密度函数模型,还包括用于根据计算出的函数值运算出表示是否属于所述指定用户状态类的分类结果的分类判定模型。
一种用户状态单分类模型训练装置,所述装置包括:
正训练样本获取模块,用于获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息;
样本特征向量提取模块,用于根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量;
模型参数估计模块,用于根据所述样本特征向量来估计模型参数,并根据估计出的模型参数生成概率密度函数模型;
训练执行模块,用于生成用户状态单分类模型,所述用户状态单分类模型包括用于接收输入的特征向量并计算出函数值的概率密度函数模型,还包括用于根据计算出的函数值运算出表示是否属于所述指定用户状态类的分类结果的分类判定模型。
上述用户状态单分类模型训练方法和装置,不同于常规的模式识别方法中采用的正负两种训练样本进行的训练,而是由属于指定用户状态类的多个正训练样本训练获得。这样相对于采用正负训练样本训练获得的分类模型,可以避免引入负训练样本造成的对分类性能的影响,分类性能更好。而且,用户状态单分类模型训练完成后,可以反映出用户属性信息间存在的内在规律,人为因素影响很小,对于训练样本之外的实例具有很好的预测能力,泛化能力强。
附图说明
图1为一个实施例中用于实现用户状态单分类模型训练方法的电子设备的内部结构图;
图2为一个实施例中用户状态单分类模型训练方法的流程示意图;
图3为一个实施例中均匀核函数的示意图;
图4为一个实施例中正态核函数的示意图;
图5为一个实施例中训练样本集中所有正训练样本的样本特征向量分布示意图;
图6为一个实施例中在图5所示的样本特征向量中寻找一个超球面以包围样本特征向量的示意图;
图7为一个实施例中利用如图6所示的超球面进行分类的示意图;
图8为一个实施例中检测待检测用户标识所对应的用户状态的步骤的流程示意图;
图9为一个实施例中根据样本特征向量来估计模型参数的步骤的流程示意图;
图10为一个实施例中获得模型参数的取值范围的步骤的流程示意图;
图11为另一个实施例中根据样本特征向量来估计模型参数的步骤的流程示意图;
图12为一个实施例中计算辅助中间值的步骤的流程示意图;
图13为一个实施例中用户状态单分类模型训练装置的结构框图;
图14为另一个实施例中用户状态单分类模型训练装置的结构框图;
图15为一个实施例中图13中的模型参数估计模块的结构框图;
图16为再一个实施例中用户状态单分类模型训练装置的结构框图;
图17为另一个实施例中图13中的模型参数估计模块的结构框图;
图18为一个实施例中图17中的辅助中间值计算模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种电子设备,该电子设备包括通过***总线连接的处理器、内存、存储介质和网络接口。其中,该电子设备的存储介质存储有操作***、数据库,还存储有一种用户状态单分类模型训练装置。该用户状态单分类模型训练装置用于实现一种用户状态单分类模型训练方法。该电子设备的处理器被配置为执行一种用户状态单分类模型训练方法。该电子设备可以是一个独立的设备,或者可以是多个可互联通信的电子设备组成的电子设备群,用户状态单分类模型训练装置的各个功能模块可以分别部署在电子设备群中的各个电子设备上。该电子设备可以是台式计算机。
如图2所示,在一个实施例中,提供了一种用户状态单分类模型训练方法,用于训练生成一个用于检测用户状态的用户状态单分类模型。单分类(One-Class-Classification)问题,也可称为一分类问题,是指只知道某一类样本的标记,对未知类别的数据判断是否属于该类的问题。模型则是指数学模型,数学模型就是为了某种目的,用字母、数字及其它数学符号建立起来的等式或不等式等描述客观事物的特征及其内在联系的数学结构表达式。用户状态单分类模型则是指预先训练获得的用以判断输入的特征向量是否属于指定用户状态的一种数学模型。本实施例以该方法应用于上述图1中的电子设备来举例说明。该方法具体包括如下步骤:
步骤202,获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息。
具体地,获取多个正训练样本以形成训练样本集,且每个正训练样本分别具有至少两项用户属性信息。为了保证训练获得的用户状态单分类模型的性能,用户属性信息优选取10项以上。这里仅采用正训练样本,而正训练样本是指已知属于指定用户状态类的训练样本。
指定用户状态则是预先定义的一种用户状态,本实施例主要以指定用户状态为育儿状态为例进行说明,相应的正训练样本则是已知属于育儿状态的用户的各种用户属性信息的集合。可以理解的是,可以根据实际需要设定不同的指定用户状态,比如可以是学生状态、单身状态等等。每个正训练样本的各项用户属性信息均是与指定用户状态相关的。
每个正训练样本的各项用户属性信息可以取自用户年龄属性、用户性别属性、用户学历属性、用户收入属性以及与指定用户状态相关的行为数据。其中与指定用户状态相关的行为数据包括但不限于已加入的与指定用户状态相关的群组数量、社交网络中与指定用户状态相关的信息数量、与指定用户状态相关的信息的搜索次数、与指定用户状态相关的网页的点击次数以及与指定用户状态相关的产品的搜索、浏览、收藏、下单和成交次数。
举例来说,当指定用户状态为育儿状态时,则相应的与育儿状态相关的行为数据包括但不限于:已加入与育儿相关的群组数量、社交网络中与育儿相关的信息数量、与育儿相关的网页的点击次数、发起的与育儿相关的提问次数、育儿相关信息搜索次数、育儿相关产品浏览次数、育儿相关产品搜索次数、育儿相关产品下单次数、育儿相关产品成交次数、育儿相关产品收藏次数等。
类似地,当指定用户状态为学生状态时,则相应的与学生状态相关的行为数据包括但不限于:已加入与学习讨论相关的群组数量、社交网络中与学习相关的信息数量、与学习相关的网页的点击次数、发起的与学习相关的提问次数、学习相关信息搜索次数、学习用品搜索、浏览、收藏、下单和成交次数等。
步骤204,根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量。
每个正训练样本的各个用户属性信息中,部分用户属性信息的值是数值数据,这种情况下就可以直接将该数值数据作为相应的样本特征向量中对应的元素,比如育儿相关产品浏览次数、育儿相关产品搜索次数等。
每个正训练样本的各个用户属性信息中,还有部分用户属性信息的值不是数值数据,而是存在几种有限数量的可能情形,这种情况下就需要对该这部分用户属性信息进行量化。具体可以将用户属性信息的几种可能情形分别用不同的数值来表示,然后将用户属性信息所量化的数值整体作为相应的样本特征向量中对应的元素。
比如用户性别属性存在男和女两种情形,可以分别用1和2来表示男和女两种可能情形,则一个样本特征向量可以为[1,10,25,……],该样本特征向量中的1、10以及25等均是该样本特征向量的元素。其中按照顺序,该样本特征向量中的元素1表示性别为男,元素10表示已加入与育儿相关的群组数量,元素25表示社交网络中与育儿相关的信息数量,等等,以此类推。
在一个实施例中,对于不是数值数据的用户属性信息进行量化,可以用预设长度的由0和1的组成的数值串来表示用户属性信息,且数值串的每一位分别作为样本特征向量中独立的元素。优选地每个数值串中1的数量为1个。本实施例中,考虑到不是数值数据的用户属性信息存在的几种可能情形是平等的关系,如果仅用量化为不同的数值并整体作为样本特征向量中相应的元素,则会因数值大小的不同而导致用户属性信息存在的几种可能情形的重要程度发生倾斜,影响到训练获得的用户状态单分类模型进行分类的准确性。
举例说明对非数值数据的用户属性信息的量化。比如用户性别属性存在男和女两种可能情形,可以分别用10和01来表示男和女两种情形,则一个样本特征向量可以为[1,0,10,25,……],其中按照顺序,该样本特征向量中的前两个元素1和0一起表示性别为男,元素10表示已加入与育儿相关的群组数量,元素25表示社交网络中与育儿相关的信息数量,等等,以此类推。
在一个实施例中,步骤204之后,还包括:对提取出的各个样本特征向量进行归一化处理。考虑到不同的用户属性信息量纲、量纲单位不同,直接训练获得用户状态单分类模型,会影响到用户状态单分类模型的分类性能,有必要进行归一化处理。
在一个实施例中,对样本特征向量进行归一化处理,可以用样本特征向量中的每个元素与最小元素的差除以最大元素与最小元素的差所获得的商作为新的样本特征向量中的每个元素。比如一个样本特征向量若为[1,0,10,25,……],其中最大元素为25,最小元素为0,则归一化后的特征向量为[0.04,0,0.4,1,……],这样特征向量中的各个元素取值均在0~1之间,方便计算。
在一个实施例中,对样本特征向量进行归一化处理,可以计算样本特征向量中的各个元素的均值和标准差,然后用样本特征向量中的每个元素与该均值的差再除以该标准差的商作为新的样本特征向量中的每个元素。当然归一化处理还可以采用目前已有的其它方式,这里不一一列举。
步骤206,根据样本特征向量来估计模型参数,并根据估计出的模型参数生成概率密度函数模型。
具体地,概率密度函数模型为用户状态单分类模型的一部分,用于接收输入的特征向量,并计算该输入的特征向量属于指定用户状态类的概率。模型参数是概率密度函数模型中的一个参数,训练的主要目的是得到这一个模型参数。
在一个实施例中,概率密度函数模型可以采用基于核函数的Parzen Window(巴尔森窗)概率密度函数来生成概率密度函数模型。具体采用核函数在每一个样本特征向量处开一个窗口,估计出窗口处的概率密度。对每个样本特征向量而言,对自身所在位置的分布贡献最大,离自身位置越远的分布贡献越小。
进一步地,核函数可以选取均匀核函数和正态核函数。其中均匀核函数如图3所示,均匀核函数也可以称为矩形核函数;正态核函数则如图4所示,正态核函数也可以称为高斯核函数。核函数的横坐标对应特征空间中的位置,而纵坐标则表示特征空间中相应位置处的特征向量的概率分布,对于本实施例而言,表示的是特征空间中相应位置处的特征向量属于指定用户状态类的概率。高斯核函数中e为自然常数,μ为数学期望,σ为标准差。
参照图5,假设训练样本集中所有正训练样本的样本特征向量分布如图5所示,那么如图6所示,训练获得概率密度函数模型的过程,就是在图5所示的样本特征向量中寻找一个超球面来包围这些样本特征向量。参照图7,对于一个待检测的特征向量,若其在该超球面包围范围内,则说明该特征向量属于指定用户状态类,比如特征向量701;若待检测的特征向量不在该超球面包围范围内,则说明该特征向量不属于指定用户状态类,如特征向量702。
在一个实施例中,采用正态核函数在训练样本集中每个正训练样本的样本特征向量处开一个窗口,建立高斯模型。则概率密度函数模型可表示如以下公式(1)所示:
公式(1):
上述公式(1)所表示的概率密度函数模型为以自然常数为底数、分别以每个样本特征向量和输入的特征向量之间的函数为指数的指数函数的和;每个样本特征向量和输入的特征向量之间的函数分别为输入的特征向量与相应的样本特征向量的差的转置取负,再乘以模型参数的负二次幂,再乘以输入的特征向量与相应的样本特征向量的差。
具体地,公式(1)中,xi为训练样本集中每个正训练样本的样本特征向量,i=1,2,…,n表示样本序号。y表示输入的特征向量,函数f(y)表示预训练用户状态单分类模型的概率密度函数模型。
公式(1)中函数exp(·)表示的是以自然常数e为底数的指数函数,(-(y-xi)Th-2 (y-xi))为该指数函数的指数,是每个样本特征向量和输入的特征向量之间的函数。具体 地,(-(y-xi)Th-2(y-xi))为输入的特征向量y与相应的样本特征向量xi的差(y-xi)的转置 (y-xi)T取负得到-(y-xi)T,再乘以模型参数h的负二次幂为-(y-xi)Th-2,再乘以输入的特征 向量与相应的样本特征向量的差(y-xi)。将每个样本特征向量xi对应的(-(y-xi)Th-2(y- xi))求和,获得
从上述公式(1)中可以看出,通过训练,估计出公式(1)中的模型参数h就可以获得预训练用户状态单分类模型的概率密度函数模型f(y)。
步骤208,生成用户状态单分类模型,用户状态单分类模型包括接收输入的特征向量并计算出函数值的概率密度函数模型,还包括根据计算出的函数值运算出表示是否属于指定用户状态类的分类结果的分类判定模型。
具体地,生成的用户状态单分类模型包括概率密度函数模型和分类判定模型,其中概率密度函数模型用于接收输入的特征向量并计算出函数值,分类判定模型则用于根据计算出的函数值运算出分类结果,该分类结果表示输入的特征向量是否属于指定用户状态类。若输入的特征向量属于指定用户状态类,说明该输入的特征向量具有指定用户状态,否则可以不判定其用户状态。
其中,分类判定模型可表示为如以下公式(2)所示:
公式(2):
其中,公式(2)中y表示输入的特征向量,在检测用户状态时就是待检测特征向量,函数f(y)表示用户状态单分类模型的概率密度函数模型。γ表示分类判定模型输出的分类结果,target表示分类结果γ为属于指定用户状态类,outlier则表示不属于指定用户状态类。θ表示预定义函数值阈值,预定义函数值阈值θ是预先给定的,可以是根据正训练样本确定的。预定义函数值阈值是预先给定的,可以是根据正训练样本确定的,比如将所有正训练样本都输入预训练用户状态单分类模型的概率密度函数模型得到相应的函数值,根据其中最大的函数值来确定预定义函数值阈值。
上述用户状态单分类模型训练方法,不同于常规的模式识别方法中采用的正负两种训练样本进行的训练,而是由属于指定用户状态类的多个正训练样本训练获得。这样相对于采用正负训练样本训练获得的分类模型,可以避免引入负训练样本造成的对分类性能的影响,分类性能更好。而且,用户状态单分类模型训练完成后,可以反映出用户属性信息间存在的内在规律,人为因素影响很小,对于训练样本之外的实例具有很好的预测能力,泛化能力强。
如图8所示,在一个实施例中,该用户状态单分类模型训练方法还包括检测待检测用户标识所对应的用户状态的步骤,具体包括如下步骤:
步骤802,获取待检测用户标识所对应的至少两项用户属性信息。
具体地,用户标识是唯一标识出用户身份的字符串,可以包括数字、符号以及字母等字符中的至少一种。待检测用户标识则是需要确定其对应的用户状态的用户标识。本实施例中检测用户状态是指检测待检测用户标识是否对应指定用户状态。
待检测用户标识所对应的用户属性信息的种类,是训练样本集中的各个正训练样本的用户属性信息种类的子集,这样即使待检测用户标识所对应的若干项用户属性信息项数较少,但只要其中部分用户属性特征比较显著仍然能够进行分类。
待检测用户标识所对应的至少两项用户属性信息可以取自用户年龄属性、用户性别属性、用户学历属性、用户收入属性以及与指定用户状态相关的行为数据。其中与指定用户状态相关的行为数据包括但不限于已加入的与指定用户状态相关的群组数量、社交网络中与指定用户状态相关的信息数量、与指定用户状态相关的信息的搜索次数、与指定用户状态相关的网页的点击次数以及与指定用户状态相关的产品的搜索、浏览、收藏、下单和成交次数。
类似地,当指定用户状态为学生状态时,则相应的与学生状态相关的行为数据包括但不限于:已加入与学习讨论相关的群组数量、社交网络中与学习相关的信息数量、与学习相关的网页的点击次数、发起的与学习相关的提问次数、学习相关信息搜索次数、学习用品搜索、浏览、收藏、下单和成交次数等。
步骤804,根据获取到的用户属性信息提取待检测特征向量。
具体地,采用训练用户状态单分类模型时所采用的特征向量提取方式,以根据获取到的用户属性信息提取待检测特征向量。具体来说,对于获取到的用户属性信息中值为数值数据的用户属性信息,可以直接将该数值数据作为相应的待检测特征向量中对应的元素。对于获取到的用户属性信息中值不是数值数据的用户属性信息,则可以将该用户属性信息的几种可能情形分别用不同的数值来表示,然后将该用户属性信息所量化的数值整体作为相应的待检测特征向量中对应的元素。
在一个实施例中,对于不是数值数据的用户属性信息进行量化,可以用预设长度的由0和1的组成的数值串来表示该用户属性信息,且数值串的每一位分别作为待检测特征向量中独立的元素。优选地每个数值串中1的数量为1个。
在一个实施例中,步骤804之后,还包括:对提取出的待检测特征向量进行归一化处理。具体地,在一个实施例中,对待检测特征向量进行归一化处理,可以用待检测特征向量中的每个元素与最小元素的差除以最大元素与最小元素的差所获得的商作为新的待检测特征向量中的每个元素。在另一个实施例中,对待检测特征向量进行归一化处理,可以计算待检测特征向量中的各个元素的均值和标准差,然后用待检测特征向量中的每个元素与该均值的差再除以该标准差的商作为新的待检测特征向量中的每个元素。
步骤806,将待检测特征向量输入用户状态单分类模型,输出表示是否属于指定用户状态类的分类结果,以确定待检测用户标识所对应的用户状态。
具体地,将待检测特征向量输入用户状态单分类模型的概率密度函数模型,输出函数值,再将该输出的函数值输入用户状态单分类模型的分类判定模型,输出分类结果。比如若采用上述公式(2)的分类判定模型,输出target表示属于指定用户状态类,便可以据以确定用户标识所对应的用户具有指定用户状态;若输出outlier则表示不属于指定用户状态类,此时可给出用户标识所对应的用户不具有指定用户状态,或者无法确定其用户状态。
在一个实施例中,步骤806之后,还包括:根据确定的待检测用户标识所对应的用户状态来推送信息。推送的信息可以是广告信息、广播通知消息等。比如可以针对检测到处于育儿状态的用户推送与育儿相关的广告信息,这样推送信息更加有针对性,保证信息传达的有效性。
本实施例中,给定用户标识所对应的若干项用户属性信息,就可以据此来确定用户标识所对应的用户状态,基本无需人工介入,人为因素影响小,而且分类准确率相比采用人工设定打分规则的数学模型分类的准确率要高。
如图9所示,在一个实施例中,步骤206中根据样本特征向量来估计模型参数的步骤,具体包括如下步骤:
步骤902,将所有正训练样本划分为第一类正训练样本和第二类正训练样本。
这里所有正训练样本是指训练样本集中的所有正训练样本。具体地,第一类正训练样本是用来训练的正训练样本,第二类正训练样本则用于检验或者称为测试,具体用于对根据第一类正训练样本得出的概率密度函数模型进行检验。可以将训练样本集中的所有正训练样本中的大部分正训练样本作为第一类正训练样本,剩余的正训练样本则作为第二类正训练样本。比如所有正训练样本中三分之二作为第一类正训练样本,剩下的三分之一则作为第二类训练样本。
步骤904,在模型参数的取值范围内取预设数量的候选参数值。
模型参数具有取值范围,这个取值范围可以根据经验设定,也可以通过计算来确定,下面会给出计算该模型参数的取值范围的步骤。可以在模型参数的取值范围内每隔一定步长选取一个候选参数值,构成候选参数值的集合。候选参数值是假设的模型参数。
步骤906,根据第一类正训练样本和每个候选参数值分别生成候选用户状态单分类模型,以对第二类正训练样本进行分类并统计分类准确率。
具体地,将每个候选参数值以及每份第一类正训练样本的样本特征向量代入上述公式(1)中得到相应的候选概率密度函数模型,该候选概率密度函数模型是指在候选参数值的假设下的概率密度函数模型。
第二类正训练样本用来检验候选概率密度函数模型的分类准确率,具体将各个第二类正训练样本的样本特征向量分别输入候选概率密度函数模型获得相应的函数值,将相应的函数值输入上述公式(2)所表示的分类判定模型,通过该分类判定模型的运算,比较候选函数值与预定义函数值阈值的大小,输出分类结果。
对应每个候选参数值分别计算分类准确率,该分类准确率是第二类正训练样本被分类到指定用户状态类的数量与第二类正训练样本总数的比值。
步骤908,将对应分类准确率最高的候选参数值作为估计出的模型参数。
具体地,比较分类准确率的大小,分类准确率越高,分类性能越好,表示相应的候选概率密度函数模型越接近最优的概率密度函数模型,将对应的准确率最高的候选参数值作为估计出的模型参数。将该估计出的模型参数带入概率密度函数模型函数,从而获得概率密度函数模型。
本实施例中,通过将正训练样本划分为第一类正训练样本和第二类正训练样本,前一类用于训练,后一类用于检验,从而得出接近最优的模型参数,算法容易实现。
在一个实施例中,步骤902具体包括:将所有正训练样本划分为预设份数,轮流将其中一份作为第二类正训练样本,而将剩余的正训练样本作为第一类正训练样本。举例来说,可以将训练样本集中的所有正训练样本等分为10份,每次将其中一份作为第二类正训练样本,而剩余的9份作为第一类正训练样本,然后通过继续执行步骤904~步骤908来估计出模型参数。这样通过交叉检验,估计出的模型参数更加接近最优的模型参数,以获得接近最优的概率密度函数模型。
如图10所示,在一个实施例中,该用户状态单分类模型训练方法还包括获得模型参数的取值范围的步骤,具体包括以下步骤:
步骤1002,计算所有正训练样本的样本特征向量的均值矩阵。
具体地,根据以下公式(3)计算均值矩阵E:
公式(3):
公式(3)中,n为正训练样本总数,xi为训练样本集中每个正训练样本的样本特征向量。公式(3)表示将所有样本特征向量求和再除以正训练样本总数。
步骤1004,根据均值矩阵计算方差矩阵。
具体地,根据以下公式(4)计算方差矩阵C:
公式(4):
公式(4)中,n为正训练样本总数,xi为训练样本集中每个正训练样本的样本特征向量,E为步骤1002中计算出的均值矩阵。公式(4)表示分别对应于每个样本特征向量,计算均值矩阵E减去该样本特征向量的差与该差的转置的乘积,然后将对应于每个样本特征向量计算出的乘积求和后,除以正训练样本总数与1的差。
步骤1006,将方差矩阵代入模型参数函数以获得模型参数的取值范围;模型参数函数为样本特征向量的维数的倒数乘以方差矩阵的迹后开平方,再乘以以正训练样本总数为底数且以参数变量与维数的商取负为指数的指数函数;参数变量具有预设取值范围。
具体地,将步骤1004中计算出的方差矩阵带入模型参数函数,其中模型参数函数表示为如下公式(5):
公式(5)中,m表示样本特征向量的维数,tr(C)表示方差矩阵C的迹,一个矩阵的迹是指该矩阵对角线上元素的和;n为正训练样本总数,α为参数变量。则模型参数函数为样本特征向量的维数m的倒数乘以方差矩阵C的迹tr(C)后开平方为再乘以以正训练样本总数n为底数且以参数变量α与维数m的商取负为指数的指数函数为得到参数变量具有预设取值范围为0<α<0.5。
本实施例中,先确定模型参数的取值范围,再采用步骤902~步骤908来根据样本特征向量估计概率密度函数模型中的模型参数,可以更快地确定较优的模型参数,进一步优化用户状态单分类模型的分类性能。
如图11所示,在一个实施例中,步骤206中根据样本特征向量来估计模型参数的步骤,具体包括如下步骤:
步骤1102,计算所有正训练样本的样本特征向量中两两之间的欧氏距离值。
设样本特征向量集为X={x1,x2,……,xn},其中{xi|xi1,xi2,…,xim}表示一个样本特征向量。在样本特征向量集为X中求取每个样本特征向量xi和每个样本特征向量xj的欧氏距离值为Dij(i≠j)。
步骤1104,筛选出每个样本特征向量对应的最小欧氏距离值。
具体地,从欧氏距离值Dij中对应每个样本特征向量xi筛选出最小欧氏距离值为Ei=min(Dij)。
步骤1106,计算所有最小欧氏距离值中的最大值的平方根以作为第一个候选模型参数。
具体地,将步骤1104中对应每个样本特征向量xi筛选出的最小欧氏距离值Ei中的最大值max(Ei)的平方根sqrt(max(Ei))以作为第一个候选模型参数h1。其中sqrt(·)是指求取平方根的函数。这里第一个以及下述的第二个等描述是存在顺序的。第一个候选模型参数是迭代计算的初始值。
步骤1108,采用计算辅助中间值的步骤以计算出第一个辅助中间值。
辅助中间值用于辅助计算候选模型参数,以最终计算出模型参数。第一个辅助中间值表示为F1
步骤1110,计算第一个候选模型参数的平方乘以正训练样本总数并乘以样本特征向量的维数再加上第一个候选模型参数后,再除以正训练样本总数和维数的乘积后,再开平方,以获得第二个候选模型参数。
具体地,第二个候选模型参数表示第一个候选模型参数h1的平方乘以正训练样本总数n并乘以样本特征向量的维数m再加上第一个辅助中间值F1后,得再除以正训练样本总数n和维数的乘积m后,再开平方得到以获得第二个候选模型参数h2
步骤1112,采用计算辅助中间值的步骤计算第二个辅助中间值。第二个辅助中间值表示为F2
步骤1114,采用候选模型参数中间值计算步骤来计算当前的候选模型参数中间值。
计算获得第一个候选模型参数h1、第二个候选模型参数h2、第一个辅助中间值表示F1以及第二个辅助中间值F2后,就可以利用这些迭代初始值进行迭代计算,以估计出模型参数。h1、h2、F1以及F2的下标均是序号。
从序号为第三个开始,采用以下公式(6)计算出当前的候选模型参数中间值hmiddle
公式(6):
公式(6)中表示的是候选模型参数中间值计算步骤,具体为:相对于当前的候选模型参数hq和当前的辅助中间值Fq,计算前一个辅助中间值Fq-1与再前一个辅助中间值Fq-2的第一差值,再用第一差值乘以前一个候选模型参数hq-1的平方,再乘以再前一个候选模型参数hq-2的平方,再除以第二差值,该第二差值为前一个辅助中间值Fq-1与前一个候选模型参数hq-1的平方的乘积,再减去再前一个辅助中间值Fq-2与再前一个候选模型参数hq-2的平方的乘积。其中,前一个与再前一个是相对于候选模型参数和辅助中间值的序号来说的,对于当前的序号q,前一个表示为q-1,再前一个则表示为q-2。
步骤1116,比较当前的候选模型参数中间值与0的大小;若小于0则执行步骤1118,若大于0则执行步骤1120。
具体地,比较当前的候选模型参数中间值hmiddle与0的大小。
步骤1118,根据前一个候选模型参数和前一个辅助中间值来确定当前的候选模型参数。
如果当前的候选模型参数中间值hmiddle<0,则当前的候选模型参数为表示正训练样本总数n乘以样本特征向量的维数m再乘以前一个候选模型参数hq-1的平方后再加上前一个辅助中间值hq-1后,除以正训练样本总数n与样本特征向量的维数m的乘积后,开平方。
步骤1120,根据当前的候选模型参数中间值来确定当前的候选模型参数。
具体地,如果当前的候选模型参数中间值hmiddle>0,则当前的候选模型参数为hq=sqrt(hmiddle),表示将根据公式(6)计算出的当前的候选模型参数中间值hmiddle开平方。
步骤1122,判断当前的辅助中间值和当前的候选模型参数是否同时满足各自的迭代终止条件。若是,则执行步骤1124,若否则执行步骤1126。
具体地,这里当前的候选模型参数hq的迭代终止条件为:|1-hq/hq-1|>threshold1,其中threshold1为第一阈值。第一阈值threshold1可以为10-3,或者可以为10-3附近的值,比如[0.8*10-3,1.2*10-3]这个范围内的值。|1-hq/hq-1|>threshold1表示当前的候选模型参数hq除以前一个候选模型参数hq-1的商与1的差的绝对值|1-hq/hq-1|大于第一阈值threshold1。
这里当前的辅助中间值Fq的迭代终止条件为:|1-Fq/Fq-1|>threshold2,且|Fq|>threshold3,表示当前的辅助中间值Fq除以前一个辅助中间值Fq-1的商与1的差的绝对值|1-Fq/Fq-1|大于第二阈值threshold2,并且当前的辅助中间值Fq的绝对值大于第三阈值threshold3。这里第二阈值threshold2可以为10-4,或者可以为10-4附近的值,比如[0.8*10-4,1.2*10-4]这个范围内的值。第三阈值threshold3可以为10-70,或者可以为10-70附近的值,比如[0.8*10-70,1.2*10-70]这个范围内的值。
步骤1124,将当前的候选模型参数作为概率密度函数模型中的模型参数。
具体地,当|1-hq/hq-1|>threshold1,|1-Fq/Fq-1|>threshold2以及|Fq|>threshold3三个迭代终止条件均满足时,停止迭代,将当前的候选模型参数hq作为概率密度函数模型中的模型参数h,得到训练好的概率密度函数模型。
步骤1126,返回步骤1114以继续采用候选模型参数中间值计算步骤来计算下一个候选模型参数中间值并确定下一个候选模型参数。当|1-hq/hq-1|>threshold1,|1-Fq/Fq-1|>threshold2以及|Fq|>threshold3三个迭代终止条件只要有一个不成立时,就返回步骤1114继续迭代,直至该下一个辅助中间值和该下一个候选模型参数同时满足各自的迭代终止条件。
本实施例中,通过迭代收敛法来计算概率密度函数模型中的模型参数h,逐渐逼近最优的模型参数h,也可以计算出较优的模型参数h。
如图12所示,在一个实施例中,计算辅助中间值的步骤具体包括如下步骤:
步骤1202,计算第一中间矩阵中的各个元素,其中第一中间矩阵中行列序号不相等处的元素置为相应的样本特征向量之间的欧氏距离值,第一中间矩阵中行列序号相等处的元素置为第一预设正值。
具体地,第一中间矩阵DD为行数、列数均为正训练样本总数n的矩阵。计算该第一中间矩阵DD的元素时,其行序号为i,与样本特征向量的样本序号是对应的,列序号为j。若i≠j,则令DDij=Dij,Dij为每个样本特征向量xi和每个样本特征向量xj的欧氏距离值;若i=j,则令DDij=value1。value1为第一预设正值,是一个比较大的数值,可取1070或者取[0.8*1070,1.2*1070]这个范围内的值。
步骤1204,计算第一中间矩阵中每个元素与相应的样本特征向量对应的最小欧氏距离值的差,再除以当前的候选模型参数的平方的二倍,以生成与第一中间矩阵中每个元素对应的元素值中间值。
具体地,定义元素值中间值为表示第一中间矩阵DD中每个元素DDij与相应的样本特征向量对应的最小欧氏距离值Ei的差,再除以当前的候选模型参数hq的平方的二倍。
步骤1206,构造行列数与第一中间矩阵的行列数一致的全零的第二中间矩阵,若第一中间矩阵中的元素所对应的元素值中间值小于第二预设正值,则将第二中间矩阵中相应的元素置为以自然常数为底数、以相应的元素值中间值取负为幂次的数值。
具体地,构造行列数均为正训练样本总数n的全零的第二中间矩阵P=zeros(n,n)。若Yij<value2,则Pij=exp(-Yij),表示若第一中间矩阵中的元素所对应的元素值中间值Yij小于第二预设正值value2,则将第二中间矩阵P中相应的元素Pij置为exp(-Yij),exp(-Yij)为以自然常数为底数、以相应的元素值中间值Yij取负为幂次的数值。这里的value2可取16~24内的数值,优选取20。
步骤1208,将第二中间矩阵每行的元素相加而获得对应每行的加和值;若该加和值等于0,则计算出该行对应的第一辅助参数为第三预设正值;若该加和值不等于0,则计算出该行对应的第一辅助参数为该加和值的倒数。
具体地,计算若PPi=0,则FUi=value3;若PPi≠0,则其中,PPi为将第二中间矩阵第i行的元素相加而获得对应i行的加和值。FUi为第i行对应的第一辅助参数。value3为第三预设正值,可取1.7977×10308或者取[0.8*1.7977×10308,1.2*1.7977×10308]这个范围内的数值。
步骤1210,将第一中间矩阵的各个元素与第二中间矩阵中每行相应位置处的元素相乘后求和,以获得对应每行的第二辅助参数。
具体地,计算其中FFi为第i行对应的第二辅助参数,DDij为第一中间矩阵DD中第i行、第j列的元素,Pij为第二中间矩阵P中第i行、第j列的元素。
步骤1212,分别将每行对应的第一辅助参数和第二辅助参数相乘后求和,再除以当前的候选模型参数的平方后,再减去正训练样本总数与样本特征向量的维数的乘积,以作为当前的辅助中间值。
具体地,计算其中Fq为当前的辅助中间值。计算当前的辅助中间值Fq时,分别将每行对应的第一辅助参数FUi和第二辅助参数FFi相乘后求和,再除以当前的候选模型参数hq的平方后,再减去正训练样本总数n与样本特征向量的维数m的乘积,获得当前的辅助中间值Fq
本实施例中,提供了计算辅助中间值的步骤,用于在通过迭代收敛法来计算概率密度函数模型中的模型参数h时,提供迭代计算所需的辅助中间值。
如图13所示,在一个实施例中,提供了一种用户状态单分类模型训练装置1300,具有实现上述各个实施例的用户状态单分类模型训练方法的功能。该用户状态单分类模型训练装置1300包括:正训练样本获取模块1310、样本特征向量提取模块1320、模型参数估计模块1330和训练执行模块1340。
正训练样本获取模块1310,用于获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息。
具体地,正训练样本获取模块1310用于获取多个正训练样本以形成训练样本集,且每个正训练样本分别具有至少两项用户属性信息。为了保证训练获得的用户状态单分类模型的性能,用户属性信息优选取10项以上。这里仅采用正训练样本,而正训练样本是指已知属于指定用户状态类的训练样本。
指定用户状态则是预先定义的一种用户状态,本实施例主要以指定用户状态为育儿状态为例进行说明,相应的正训练样本则是已知属于育儿状态的用户的各种用户属性信息的集合。可以理解的是,可以根据实际需要设定不同的指定用户状态,比如可以是学生状态、单身状态等等。每个正训练样本的各项用户属性信息均是与指定用户状态相关的。
每个正训练样本的各项用户属性信息可以取自用户年龄属性、用户性别属性、用户学历属性、用户收入属性以及与指定用户状态相关的行为数据。其中与指定用户状态相关的行为数据包括但不限于已加入的与指定用户状态相关的群组数量、社交网络中与指定用户状态相关的信息数量、与指定用户状态相关的信息的搜索次数、与指定用户状态相关的网页的点击次数以及与指定用户状态相关的产品的搜索、浏览、收藏、下单和成交次数。
类似地,当指定用户状态为学生状态时,则相应的与学生状态相关的行为数据包括但不限于:已加入与学习讨论相关的群组数量、社交网络中与学习相关的信息数量、与学习相关的网页的点击次数、发起的与学习相关的提问次数、学习相关信息搜索次数、学习用品搜索、浏览、收藏、下单和成交次数等。
样本特征向量提取模块1320,用于根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量。
每个正训练样本的各个用户属性信息中,部分用户属性信息的值是数值数据,这种情况下样本特征向量提取模块1320可以用于直接将该数值数据作为相应的样本特征向量中对应的元素,比如育儿相关产品浏览次数、育儿相关产品搜索次数等。
每个正训练样本的各个用户属性信息中,还有部分用户属性信息的值不是数值数据,而是存在几种有限数量的可能情形,这种情况下样本特征向量提取模块1320可以用于对该这部分用户属性信息进行量化。具体可以将用户属性信息的几种可能情形分别用不同的数值来表示,然后将用户属性信息所量化的数值整体作为相应的样本特征向量中对应的元素。
在一个实施例中,对于不是数值数据的用户属性信息进行量化,可以用预设长度的由0和1的组成的数值串来表示用户属性信息,且数值串的每一位分别作为样本特征向量中独立的元素。优选地每个数值串中1的数量为1个。本实施例中,考虑到不是数值数据的用户属性信息存在的几种可能情形是平等的关系,如果仅用量化为不同的数值并整体作为样本特征向量中相应的元素,则会因数值大小的不同而导致用户属性信息存在的几种可能情形的重要程度发生倾斜,影响到训练获得的用户状态单分类模型进行分类的准确性。
在一个实施例中,样本特征向量提取模块1320还可以用于对提取出的各个样本特征向量进行归一化处理。考虑到不同的用户属性信息量纲、量纲单位不同,直接训练获得用户状态单分类模型,会影响到用户状态单分类模型的分类性能,有必要进行归一化处理。
在一个实施例中,对样本特征向量进行归一化处理,可以用样本特征向量中的每个元素与最小元素的差除以最大元素与最小元素的差所获得的商作为新的样本特征向量中的每个元素。比如一个样本特征向量若为[1,0,10,25,……],其中最大元素为25,最小元素为0,则归一化后的特征向量为[0.04,0,0.4,1,……],这样特征向量中的各个元素取值均在0~1之间,方便计算。
在一个实施例中,对样本特征向量进行归一化处理,可以计算样本特征向量中的各个元素的均值和标准差,然后用样本特征向量中的每个元素与该均值的差再除以该标准差的商作为新的样本特征向量中的每个元素。当然归一化处理还可以采用目前已有的其它方式,这里不一一列举。
模型参数估计模块1330,用于根据样本特征向量来估计模型参数,并根据估计出的模型参数生成概率密度函数模型。
具体地,概率密度函数模型为用户状态单分类模型的一部分,用于接收输入的特征向量,并计算该输入的特征向量属于指定用户状态类的概率。模型参数是概率密度函数模型中的一个参数,训练的主要目的是得到这一个模型参数。
在一个实施例中,概率密度函数模型可以采用基于核函数的Parzen Window概率密度函数来生成概率密度函数模型。具体采用核函数在每一个样本特征向量处开一个窗口,估计出窗口处的概率密度。对每个样本特征向量而言,对自身所在位置的分布贡献最大,离自身位置越远的分布贡献越小。
进一步地,核函数可以选取均匀核函数和正态核函数。其中均匀核函数如图3所示,均匀核函数也可以称为矩形核函数;正态核函数则如图4所示,正态核函数也可以称为高斯核函数。核函数的横坐标对应特征空间中的位置,而纵坐标则表示特征空间中相应位置处的特征向量的概率分布,对于本实施例而言,表示的是特征空间中相应位置处的特征向量属于指定用户状态类的概率。高斯核函数中e为自然常数,μ为数学期望,σ为标准差。
参照图5,假设训练样本集中所有正训练样本的样本特征向量分布如图5所示,那么如图6所示,训练获得概率密度函数模型的过程,就是在图5所示的样本特征向量中寻找一个超球面来包围这些样本特征向量。参照图7,对于一个待检测的特征向量,若其在该超球面包围范围内,则说明该特征向量属于指定用户状态类,比如特征向量701;若待检测的特征向量不在该超球面包围范围内,则说明该特征向量不属于指定用户状态类,如特征向量702。
在一个实施例中,采用正态核函数在训练样本集中每个正训练样本的样本特征向量处开一个窗口,建立高斯模型。则概率密度函数模型可表示如以下公式(1)所示:
公式(1):
上述公式(1)所表示的概率密度函数模型为以自然常数为底数、分别以每个样本特征向量和输入的特征向量之间的函数为指数的指数函数的和;每个样本特征向量和输入的特征向量之间的函数分别为输入的特征向量与相应的样本特征向量的差的转置取负,再乘以模型参数的负二次幂,再乘以输入的特征向量与相应的样本特征向量的差。
具体地,公式(1)中,xi为训练样本集中每个正训练样本的样本特征向量,i=1,2,…,n表示样本序号。y表示输入的特征向量,函数f(y)表示预训练用户状态单分类模型的概率密度函数模型。
公式(1)中函数exp(·)表示的是以自然常数e为底数的指数函数,(-(y-xi)Th-2 (y-xi))为该指数函数的指数,是每个样本特征向量和输入的特征向量之间的函数。具体 地,(-(y-xi)Th-2(y-xi))为输入的特征向量y与相应的样本特征向量xi的差(y-xi)的转置 (y-xi)T取负得到-(y-xi)T,再乘以模型参数h的负二次幂为-(y-xi)Th-2,再乘以输入的特征 向量与相应的样本特征向量的差(y-xi)。将每个样本特征向量xi对应的(-(y-xi)Th-2(y- xi))求和,获得
从上述公式(1)中可以看出,通过训练,估计出公式(1)中的模型参数h就可以获得预训练用户状态单分类模型的概率密度函数模型f(y)。
训练执行模块1340,用于生成用户状态单分类模型,用户状态单分类模型包括用于接收输入的特征向量并计算出函数值的概率密度函数模型,还包括用于根据计算出的函数值运算出表示是否属于指定用户状态类的分类结果的分类判定模型。
具体地,训练执行模块1340生成的用户状态单分类模型包括概率密度函数模型和分类判定模型,其中概率密度函数模型用于接收输入的特征向量并计算出函数值,分类判定模型则用于根据计算出的函数值运算出分类结果,该分类结果表示输入的特征向量是否属于指定用户状态类。若输入的特征向量属于指定用户状态类,说明该输入的特征向量具有指定用户状态,否则可以不判定其用户状态。
其中,分类判定模型可表示为如以下公式(2)所示:
公式(2):
其中,公式(2)中y表示输入的特征向量,在检测用户状态时就是待检测特征向量,函数f(y)表示用户状态单分类模型的概率密度函数模型。γ表示分类判定模型输出的分类结果,target表示分类结果γ为属于指定用户状态类,outlier则表示不属于指定用户状态类。θ表示预定义函数值阈值,预定义函数值阈值θ是预先给定的,可以是根据正训练样本确定的。预定义函数值阈值是预先给定的,可以是根据正训练样本确定的,比如将所有正训练样本都输入预训练用户状态单分类模型的概率密度函数模型得到相应的函数值,根据其中最大的函数值来确定预定义函数值阈值。
上述用户状态单分类模型训练装置1300,不同于常规的模式识别方法中采用的正负两种训练样本进行的训练,而是由属于指定用户状态类的多个正训练样本训练获得。这样相对于采用正负训练样本训练获得的分类模型,可以避免引入负训练样本造成的对分类性能的影响,分类性能更好。而且,用户状态单分类模型训练完成后,可以反映出用户属性信息间存在的内在规律,人为因素影响很小,对于训练样本之外的实例具有很好的预测能力,泛化能力强。
如图14所示,在一个实施例中,该用户状态单分类模型训练装置1300还包括:用户属性信息获取模块1350、待检测特征向量提取模块1360和分类模块1370。
用户属性信息获取模块1350,用于获取待检测用户标识所对应的至少两项用户属性信息。
具体地,用户标识是唯一标识出用户身份的字符串,可以包括数字、符号以及字母等字符中的至少一种。待检测用户标识则是需要确定其对应的用户状态的用户标识。
待检测用户标识所对应的用户属性信息的种类,是训练样本集中的各个正训练样本的用户属性信息种类的子集,这样即使待检测用户标识所对应的若干项用户属性信息项数较少,但只要其中部分用户属性特征比较显著仍然能够进行分类。
待检测用户标识所对应的至少两项用户属性信息可以取自用户年龄属性、用户性别属性、用户学历属性、用户收入属性以及与指定用户状态相关的行为数据。其中与指定用户状态相关的行为数据包括但不限于已加入的与指定用户状态相关的群组数量、社交网络中与指定用户状态相关的信息数量、与指定用户状态相关的信息的搜索次数、与指定用户状态相关的网页的点击次数以及与指定用户状态相关的产品的搜索、浏览、收藏、下单和成交次数。
类似地,当指定用户状态为学生状态时,则相应的与学生状态相关的行为数据包括但不限于:已加入与学习讨论相关的群组数量、社交网络中与学习相关的信息数量、与学习相关的网页的点击次数、发起的与学习相关的提问次数、学习相关信息搜索次数、学习用品搜索、浏览、收藏、下单和成交次数等。
待检测特征向量提取模块1360,用于根据获取到的用户属性信息提取待检测特征向量。
具体地,采用训练用户状态单分类模型时所采用的特征向量提取方式,以根据获取到的用户属性信息提取待检测特征向量。具体来说,对于获取到的用户属性信息中值为数值数据的用户属性信息,可以直接将该数值数据作为相应的待检测特征向量中对应的元素。对于获取到的用户属性信息中值不是数值数据的用户属性信息,则可以将该用户属性信息的几种可能情形分别用不同的数值来表示,然后将该用户属性信息所量化的数值整体作为相应的待检测特征向量中对应的元素。
在一个实施例中,对于不是数值数据的用户属性信息进行量化,可以用预设长度的由0和1的组成的数值串来表示该用户属性信息,且数值串的每一位分别作为待检测特征向量中独立的元素。优选地每个数值串中1的数量为1个。
在一个实施例中,待检测特征向量提取模块1360还用于对提取出的待检测特征向量进行归一化处理。具体地,对待检测特征向量进行归一化处理,可以用待检测特征向量中的每个元素与最小元素的差除以最大元素与最小元素的差所获得的商作为新的待检测特征向量中的每个元素。对待检测特征向量进行归一化处理,可以计算待检测特征向量中的各个元素的均值和标准差,然后用待检测特征向量中的每个元素与该均值的差再除以该标准差的商作为新的待检测特征向量中的每个元素。
分类模块1370,用于将待检测特征向量输入用户状态单分类模型,输出表示是否属于指定用户状态类的分类结果,以确定待检测用户标识所对应的用户状态。
具体地,将待检测特征向量输入用户状态单分类模型的概率密度函数模型,输出函数值,再将该输出的函数值输入用户状态单分类模型的分类判定模型,输出分类结果。比如若采用上述公式(2)的分类判定模型,输出target表示属于指定用户状态类,便可以据以确定用户标识所对应的用户具有指定用户状态;若输出outlier则表示不属于指定用户状态类,此时可给出用户标识所对应的用户不具有指定用户状态,或者无法确定其用户状态。
在一个实施例中,该用户状态单分类模型训练装置1300还包括推送模块(图中未示出),用于根据确定的待检测用户标识所对应的用户状态来推送信息。推送的信息可以是广告信息、广播通知消息等。比如可以针对检测到处于育儿状态的用户推送与育儿相关的广告信息,这样推送信息更加有针对性,保证信息传达的有效性。
本实施例中,给定用户标识所对应的若干项用户属性信息,就可以据此来确定用户标识所对应的用户状态,基本无需人工介入,人为因素影响小,而且分类准确率相比采用人工设定打分规则的数学模型分类的准确率要高。
如图15所示,在一个实施例中,模型参数估计模块1330包括:样本划分模块1331、候选参数值选取模块1332、分类统计模块1333和模型参数确定模块1334。
样本划分模块1331,用于将所有正训练样本划分为第一类正训练样本和第二类正训练样本。
这里所有正训练样本是指训练样本集中的所有正训练样本。具体地,第一类正训练样本是用来训练的正训练样本,第二类正训练样本则用于检验或者称为测试,具体用于对根据第一类正训练样本得出的概率密度函数模型进行检验。可以将训练样本集中的所有正训练样本中的大部分正训练样本作为第一类正训练样本,剩余的正训练样本则作为第二类正训练样本。比如所有正训练样本中三分之二作为第一类正训练样本,剩下的三分之一则作为第二类训练样本。
候选参数值选取模块1332,用于在模型参数的取值范围内取预设数量的候选参数值。
模型参数具有取值范围,这个取值范围可以根据经验设定,也可以通过计算来确定,下面会给出计算该模型参数的取值范围的步骤。可以在模型参数的取值范围内每隔一定步长选取一个候选参数值,构成候选参数值的集合。候选参数值是假设的模型参数。
分类统计模块1333,用于根据第一类正训练样本和每个候选参数值分别生成候选用户状态单分类模型,以对第二类正训练样本进行分类并统计分类准确率。
具体地,将每个候选参数值以及每份第一类正训练样本的样本特征向量代入上述公式(1)中得到相应的候选概率密度函数模型,该候选概率密度函数模型是指在候选参数值的假设下的概率密度函数模型。
第二类正训练样本用来检验候选概率密度函数模型的分类准确率,具体将各个第二类正训练样本的样本特征向量分别输入候选概率密度函数模型获得相应的函数值,将相应的函数值输入上述公式(2)所表示的分类判定模型,通过该分类判定模型的运算,比较候选函数值与预定义函数值阈值的大小,输出分类结果。
对应每个候选参数值分别计算分类准确率,该分类准确率是第二类正训练样本被分类到指定用户状态类的数量与第二类正训练样本总数的比值。
模型参数确定模块1334,用于将对应分类准确率最高的候选参数值作为估计出的模型参数。
具体地,比较分类准确率的大小,分类准确率越高,分类性能越好,表示相应的候选概率密度函数模型越接近最优的概率密度函数模型,将对应的准确率最高的候选参数值作为估计出的模型参数。将该估计出的模型参数带入概率密度函数模型函数,从而获得概率密度函数模型。
本实施例中,通过将正训练样本划分为第一类正训练样本和第二类正训练样本,前一类用于训练,后一类用于检验,从而得出接近最优的模型参数,算法容易实现。
在一个实施例中,样本划分模块1331具体用于将所有正训练样本划分为预设份数,轮流将其中一份作为第二类正训练样本,而将剩余的正训练样本作为第一类正训练样本。
如图16所示,在一个实施例中,该用户状态单分类模型训练装置1300还包括:均值矩阵计算模块1380、方差矩阵计算模块1390和模型参数取值范围计算模块1399。
均值矩阵计算模块1380,用于计算所有正训练样本的样本特征向量的均值矩阵。
方差矩阵计算模块1390,用于根据均值矩阵计算方差矩阵。
模型参数取值范围计算模块1399,用于将方差矩阵代入模型参数函数以获得模型参数的取值范围;模型参数函数为样本特征向量的维数的倒数乘以方差矩阵的迹后开平方,再乘以以正训练样本总数为底数且以参数变量与维数的商取负为指数的指数函数;参数变量具有预设取值范围。
如图17所示,在另一个实施例中,模型参数估计模块1330包括:欧氏距离值计算模块1330a、筛选模块1330b、第一个候选模型参数计算模块1330c、第一个辅助中间值计算模块1330d、第二个候选模型参数计算模块1330e、第二个辅助中间值计算模块1330f、当前候选模型参数中间值计算模块1330g、当前候选模型参数确定模块1330h、判断模块1330i、模型参数确定模块1330j和迭代计算模块1330k。
欧氏距离值计算模块1330a,用于计算所有正训练样本的样本特征向量中两两之间的欧氏距离值。
筛选模块1330b,用于筛选出每个样本特征向量对应的最小欧氏距离值。
第一个候选模型参数计算模块1330c,用于计算所有最小欧氏距离值中的最大值的平方根以作为第一个候选模型参数。
第一个辅助中间值计算模块1330d,用于通过辅助中间值计算模块1335以计算出第一个辅助中间值。辅助中间值计算模块1335可以属于用户状态单分类模型训练装置1300,也可以是独立的模块。
第二个候选模型参数计算模块1330e,用于计算第一个候选模型参数的平方乘以正训练样本总数并乘以样本特征向量的维数再加上第一个候选模型参数后,再除以正训练样本总数和维数的乘积后,再开平方,以获得第二个候选模型参数。
第二个辅助中间值计算模块1330f,用于通过辅助中间值计算模块1335计算第二个辅助中间值。
当前候选模型参数中间值计算模块1330g,用于通过候选模型参数中间值运算模块1336来计算当前的候选模型参数中间值。候选模型参数中间值运算模块1336可以属于用户状态单分类模型训练装置1300,也可以是独立的模块。
当前候选模型参数确定模块1330h,用于若当前的候选模型参数中间值小于0,则根据前一个候选模型参数和前一个辅助中间值来确定当前的候选模型参数;若当前的候选模型参数中间值大于0,则根据当前的候选模型参数中间值来确定当前的候选模型参数。
判断模块1330i,用于判断当前的辅助中间值和当前的候选模型参数是否同时满足各自的迭代终止条件。
模型参数确定模块1330j,用于若当前的辅助中间值和当前的候选模型参数同时满足各自的迭代终止条件,则将当前的候选模型参数作为概率密度函数模型中的模型参数。
迭代计算模块1330k,用于若当前的辅助中间值和当前的候选模型参数不同时满足各自的迭代终止条件,则通知当前候选模型参数中间值计算模块1330g以继续通过候选模型参数中间值运算模块1336来计算下一个候选模型参数中间值,并通知当前候选模型参数确定模块1330h确定下一个候选模型参数,直至该下一个辅助中间值和该下一个候选模型参数同时满足各自的迭代终止条件。
在一个实施例中,候选模型参数中间值运算模块1336用于相对于当前的候选模型参数和当前的辅助中间值,计算前一个辅助中间值与再前一个辅助中间值的第一差值,再用第一差值乘以前一个候选模型参数的平方,再乘以再前一个候选模型参数的平方,再除以第二差值,该第二差值为前一个辅助中间值与前一个候选模型参数的平方的乘积,再减去再前一个辅助中间值与再前一个候选模型参数的平方的乘积。
如图18所示,在一个实施例中,辅助中间值计算模块1335包括:第一中间矩阵处理模块1335a、元素值中间值计算模块1335b、第二中间矩阵构造模块1335c、第一辅助参数计算模块1335d、第二辅助参数计算模块1335e和辅助中间值生成模块1335f。
第一中间矩阵处理模块1335a,用于计算第一中间矩阵中的各个元素,其中第一中间矩阵中行列序号不相等处的元素置为相应的样本特征向量之间的欧氏距离值,第一中间矩阵中行列序号相等处的元素置为第一预设正值。
元素值中间值计算模块1335b,用于计算第一中间矩阵中每个元素与相应的样本特征向量对应的最小欧氏距离值的差,再除以当前的候选模型参数的平方的二倍,以生成与第一中间矩阵中每个元素对应的元素值中间值。
第二中间矩阵构造模块1335c,用于构造行列数与第一中间矩阵的行列数一致的全零的第二中间矩阵,若第一中间矩阵中的元素所对应的元素值中间值小于第二预设正值,则将第二中间矩阵中相应的元素置为以自然常数为底数、以相应的元素值中间值取负为幂次的数值。
第一辅助参数计算模块1335d,用于将第二中间矩阵每行的元素相加而获得对应每行的加和值;若该加和值等于0,则计算出该行对应的第一辅助参数为第三预设正值;若该加和值不等于0,则计算出该行对应的第一辅助参数为该加和值的倒数。
第二辅助参数计算模块1335e,用于将第一中间矩阵的各个元素与第二中间矩阵中每行相应位置处的元素相乘后求和,以获得对应每行的第二辅助参数。
辅助中间值生成模块1335f,用于分别将每行对应的第一辅助参数和第二辅助参数相乘后求和,再除以当前的候选模型参数的平方后,再减去正训练样本总数与样本特征向量的维数的乘积,以作为当前的辅助中间值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种用户状态单分类模型训练方法,所述方法包括:
获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息;
根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量;
将所有正训练样本划分为第一类正训练样本和第二类正训练样本;
在模型参数的取值范围内取候选参数值;
根据第一类正训练样本和每个候选参数值分别生成候选用户状态单分类模型,以对第二类正训练样本进行分类并统计分类准确率;
将对应分类准确率最高的候选参数值作为估计出的模型参数;
根据估计出的模型参数生成概率密度函数模型;
生成用户状态单分类模型,所述用户状态单分类模型包括用于接收输入的特征向量并计算出函数值的概率密度函数模型,还包括用于根据计算出的函数值运算出表示是否属于所述指定用户状态类的分类结果的分类判定模型。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取待检测用户标识所对应的至少两项用户属性信息;
根据获取到的用户属性信息提取待检测特征向量;
将所述待检测特征向量输入所述用户状态单分类模型,输出表示是否属于指定用户状态类的分类结果,以确定所述待检测用户标识所对应的用户状态。
3.根据权利要求1所述的方法,其特征在于,所述在模型参数的取值范围内取候选参数值,包括:
在模型参数的取值范围内取预设数量的候选参数值。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述概率密度函数模型为以自然常数为底数、分别以每个样本特征向量和输入的特征向量之间的函数为指数的指数函数的和;每个样本特征向量和输入的特征向量之间的函数分别为输入的特征向量与相应的样本特征向量的差的转置取负,再乘以模型参数的负二次幂,再乘以输入的特征向量与相应的样本特征向量的差。
5.根据权利要求3所述的方法,其特征在于,所述概率密度函数模型为以自然常数为底数、分别以每个样本特征向量和输入的特征向量之间的函数为指数的指数函数的和;每个样本特征向量和输入的特征向量之间的函数分别为输入的特征向量与相应的样本特征向量的差的转置取负,再乘以模型参数的负二次幂,再乘以输入的特征向量与相应的样本特征向量的差;在将所有正训练样本划分为第一类正训练样本和第二类正训练样本的步骤之前,所述方法还包括:
计算所有正训练样本的样本特征向量的均值矩阵;
根据所述均值矩阵计算方差矩阵;
将所述方差矩阵代入模型参数函数以获得模型参数的取值范围;所述模型参数函数为样本特征向量的维数的倒数乘以方差矩阵的迹后开平方,再乘以以正训练样本总数为底数且以参数变量与所述维数的商取负为指数的指数函数;所述参数变量具有预设取值范围。
6.一种用户状态单分类模型训练装置,其特征在于,所述装置包括:
正训练样本获取模块,用于获取已知属于指定用户状态类的至少两个正训练样本;每个正训练样本具有至少两项用户属性信息;
样本特征向量提取模块,用于根据每个正训练样本的各项用户属性信息,提取每个正训练样本的样本特征向量;
样本划分模块,用于将所有正训练样本划分为第一类正训练样本和第二类正训练样本;
候选参数值选取模块,用于在模型参数的取值范围内取候选参数值;
分类统计模块,用于根据第一类正训练样本和每个候选参数值分别生成候选用户状态单分类模型,以对第二类正训练样本进行分类并统计分类准确率;
模型参数确定模块,用于将对应分类准确率最高的候选参数值作为估计出的模型参数;
训练执行模块,用于生成用户状态单分类模型,所述用户状态单分类模型包括用于接收输入的特征向量并计算出函数值的概率密度函数模型,还包括用于根据计算出的函数值运算出表示是否属于所述指定用户状态类的分类结果的分类判定模型。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
用户属性信息获取模块,用于获取待检测用户标识所对应的至少两项用户属性信息;
待检测特征向量提取模块,用于根据获取到的用户属性信息提取待检测特征向量;
分类模块,用于将所述待检测特征向量输入所述用户状态单分类模型,输出表示是否属于指定用户状态类的分类结果,以确定所述待检测用户标识所对应的用户状态。
8.根据权利要求6所述的装置,其特征在于,所述候选参数值选取模块还用于在模型参数的取值范围内取预设数量的候选参数值。
9.根据权利要求6至8中任意一项所述的装置,其特征在于,所述概率密度函数模型为以自然常数为底数、分别以每个样本特征向量和输入的特征向量之间的函数为指数的指数函数的和;每个样本特征向量和输入的特征向量之间的函数分别为输入的特征向量与相应的样本特征向量的差的转置取负,再乘以模型参数的负二次幂,再乘以输入的特征向量与相应的样本特征向量的差。
10.根据权利要求8所述的装置,其特征在于,所述概率密度函数模型为以自然常数为底数、分别以每个样本特征向量和输入的特征向量之间的函数为指数的指数函数的和;每个样本特征向量和输入的特征向量之间的函数分别为输入的特征向量与相应的样本特征向量的差的转置取负,再乘以模型参数的负二次幂,再乘以输入的特征向量与相应的样本特征向量的差;所述装置还包括:
均值矩阵计算模块,用于在将所有正训练样本划分为第一类正训练样本和第二类正训练样本之前,计算所有正训练样本的样本特征向量的均值矩阵;
方差矩阵计算模块,用于根据所述均值矩阵计算方差矩阵;
模型参数取值范围计算模块,用于将所述方差矩阵代入模型参数函数以获得模型参数的取值范围;所述模型参数函数为样本特征向量的维数的倒数乘以方差矩阵的迹后开平方,再乘以以正训练样本总数为底数且以参数变量与所述维数的商取负为指数的指数函数;所述参数变量具有预设取值范围。
11.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
12.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
CN201510006021.9A 2015-01-05 2015-01-05 用户状态单分类模型训练方法和装置 Active CN104537252B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510006021.9A CN104537252B (zh) 2015-01-05 2015-01-05 用户状态单分类模型训练方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510006021.9A CN104537252B (zh) 2015-01-05 2015-01-05 用户状态单分类模型训练方法和装置

Publications (2)

Publication Number Publication Date
CN104537252A CN104537252A (zh) 2015-04-22
CN104537252B true CN104537252B (zh) 2019-09-17

Family

ID=52852778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510006021.9A Active CN104537252B (zh) 2015-01-05 2015-01-05 用户状态单分类模型训练方法和装置

Country Status (1)

Country Link
CN (1) CN104537252B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529110A (zh) * 2015-09-09 2017-03-22 阿里巴巴集团控股有限公司 一种用户数据分类的方法和设备
CN106934413B (zh) * 2015-12-31 2020-10-13 阿里巴巴集团控股有限公司 模型训练方法、装置及***以及样本集优化方法、装置
CN105812174A (zh) * 2016-03-06 2016-07-27 刘健文 一种网络数据测定模型训练方法和装置
CN108021998B (zh) * 2016-10-31 2020-10-16 腾讯科技(深圳)有限公司 网络问卷的答题时长预测方法及装置
CN108388563B (zh) * 2017-02-03 2022-11-08 北京京东尚科信息技术有限公司 信息输出方法和装置
CN110809768B (zh) * 2018-06-06 2020-09-18 北京嘀嘀无限科技发展有限公司 数据清洗***和方法
CN109167816B (zh) * 2018-08-03 2021-11-16 广州虎牙信息科技有限公司 信息推送方法、装置、设备和存储介质
CN109388674B (zh) * 2018-08-31 2022-11-15 创新先进技术有限公司 数据处理方法、装置、设备及可读存储介质
CN110942081B (zh) * 2018-09-25 2023-08-18 北京嘀嘀无限科技发展有限公司 图像处理方法、装置、电子设备及可读存储介质
CN110806733B (zh) * 2019-10-30 2021-09-21 中国神华能源股份有限公司国华电力分公司 火电厂设备监测方法、装置及电子设备
CN111598189B (zh) * 2020-07-20 2020-10-30 北京瑞莱智慧科技有限公司 产生式模型的训练方法、数据生成方法、装置、介质和设备
CN113438375B (zh) * 2021-05-24 2022-09-27 商客通尚景科技(上海)股份有限公司 保持坐席状态的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102324232A (zh) * 2011-09-12 2012-01-18 辽宁工业大学 基于高斯混合模型的声纹识别方法及***
CN103500342A (zh) * 2013-09-18 2014-01-08 华南理工大学 一种基于加速度计的人体行为识别方法
CN103530540A (zh) * 2013-09-27 2014-01-22 西安交通大学 基于人机交互行为特征的用户身份属性检测方法
CN103745201A (zh) * 2014-01-06 2014-04-23 Tcl集团股份有限公司 一种节目识别方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205464A (ja) * 2008-02-28 2009-09-10 Gifu Univ 医療情報処理装置、医療情報処理方法、及び医療情報処理プログラム
JP5879544B2 (ja) * 2010-06-04 2016-03-08 パナソニックIpマネジメント株式会社 コンテンツ出力装置、コンテンツ出力方法、プログラム、プログラム記録媒体及びコンテンツ出力集積回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102324232A (zh) * 2011-09-12 2012-01-18 辽宁工业大学 基于高斯混合模型的声纹识别方法及***
CN103500342A (zh) * 2013-09-18 2014-01-08 华南理工大学 一种基于加速度计的人体行为识别方法
CN103530540A (zh) * 2013-09-27 2014-01-22 西安交通大学 基于人机交互行为特征的用户身份属性检测方法
CN103745201A (zh) * 2014-01-06 2014-04-23 Tcl集团股份有限公司 一种节目识别方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Extracting the globally and locally adaptive;Zhang X 等;《PLoS ONE》;20141231;1-9
根据多维特征的网络用户分类研究;窦伊男;《中国博士学位论文全文数据库信息科技辑》;20101115;全文

Also Published As

Publication number Publication date
CN104537252A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104537252B (zh) 用户状态单分类模型训练方法和装置
CN102902821B (zh) 基于网络热点话题的图像高级语义标注、检索方法及装置
KR102265573B1 (ko) 인공지능 기반 입시 수학 학습 커리큘럼 재구성 방법 및 시스템
CN104199826B (zh) 一种基于关联分析的异构媒体相似性计算方法和检索方法
CN109145245A (zh) 预测点击率的方法、装置、计算机设备及存储介质
CN112307351A (zh) 用户行为的模型训练、推荐方法、装置和设备
Doughty et al. Action modifiers: Learning from adverbs in instructional videos
WO2018068648A1 (zh) 一种信息匹配方法及相关装置
CN110580339B (zh) 一种医疗术语知识库完善的方法和装置
Liu et al. Network-based evidential three-way theoretic model for large-scale group decision analysis
CN113392209A (zh) 一种基于人工智能的文本聚类方法、相关设备及存储介质
CN111666766A (zh) 数据处理方法、装置和设备
Cheung et al. Characterizing user connections in social media through user-shared images
CN117076688A (zh) 基于领域知识图谱的知识问答方法及其装置、电子设备
CN112258250A (zh) 基于网络热点的目标用户识别方法、装置和计算机设备
CN110569761B (zh) 一种基于对抗学习的手绘草图检索遥感图像的方法
CN113537206B (zh) 推送数据检测方法、装置、计算机设备和存储介质
CN111339258B (zh) 基于知识图谱的大学计算机基础习题推荐方法
CN113705159A (zh) 商户名称的标注方法、装置、设备及存储介质
Papapanagiotou et al. Improving concept-based image retrieval with training weights computed from tags
CN113408564A (zh) 图处理方法、网络训练方法、装置、设备以及存储介质
CN112148994A (zh) 信息推送效果评估方法、装置、电子设备及存储介质
CN111782805A (zh) 一种文本标签分类方法及***
CN116416334A (zh) 一种基于原型的嵌入网络的场景图生成方法
CN114048294B (zh) 相似人群扩展模型训练方法、相似人群扩展方法和装置

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant