CN109961080A - 终端识别方法及装置 - Google Patents
终端识别方法及装置 Download PDFInfo
- Publication number
- CN109961080A CN109961080A CN201711433504.2A CN201711433504A CN109961080A CN 109961080 A CN109961080 A CN 109961080A CN 201711433504 A CN201711433504 A CN 201711433504A CN 109961080 A CN109961080 A CN 109961080A
- Authority
- CN
- China
- Prior art keywords
- identification
- model
- subsample
- recognition result
- training
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明是关于一种终端识别方法及装置,涉及互联网应用技术领域。该方法包括:获取包含两个终端各自对应的至少两种指定类型特征数据的特征数据集;通过第一识别模型分支对特征数据集进行处理获得第一识别结果,通过第二识别模型分支对特征数据集、第一识别结果以及第一识别模型分支的关联参数进行处理,获得第二识别结果,在考虑特征之间的关联性的同时,融合多个机器学习模型的优点,从而提高识别两个终端是否属于同一个用户的准确性,进而提高识别效果。
Description
技术领域
本发明涉及互联网应用技术领域,特别涉及一种终端识别方法及装置。
背景技术
随着移动互联网的发展,同一用户的注意力被不同终端分割,相应的,识别不同终端是否属于同一用户的意义也越来越大。
通过机器学习模型进行概率匹配是一种常用的识别不同终端是否属于同一用户方法。比如,在相关技术中,可以预先定义诸如IP(Internet Protocol,网络之间互连的协议)、时间序列、上网行为、设备号等特征,将两个终端的特征输入到预先训练好的机器学习模型,由机器学习模型输出这两个终端属于同一用户的识别结果。
然而,相关技术中用于识别不同终端是否属于同一用户的机器学习模型的识别准确性较低,导致识别效果较差。
发明内容
本发明实施例提供了一种终端识别方法及装置,可以用于解决相关技术中用于识别不同终端是否属于同一用户的机器学习模型的识别准确性较低,导致识别效果较差的问题,该技术方案如下:
一方面,提供了一种终端识别方法,所述方法包括:
获取特征数据集,所述特征数据集中包含两个终端各自对应的至少两种指定类型特征数据;
通过第一识别模型分支对所述特征数据集进行处理,获得第一识别结果,所述第一识别结果用于指示所述两个终端属于同一用户的概率,所述第一识别模型的模型参数中包含关联参数,且所述关联参数用于指示所述至少两种指定类型特征数据之间的关联程度;
通过第二识别模型分支对所述特征数据集、所述第一识别结果以及所述关联参数进行处理,获得第二识别结果,所述第二识别结果用于指示所述两个终端是否属于同一用户。
另一方面,提供了一种终端识别装置,所述装置包括:
第一获取模块,用于获取特征数据集,所述特征数据集中包含两个终端各自对应的至少两种指定类型特征数据;
第一处理模块,用于通过第一识别模型分支对所述特征数据集进行处理,获得第一识别结果,所述第一识别结果用于指示所述两个终端属于同一用户的概率,所述第一识别模型的模型参数中包含关联参数,且所述关联参数用于指示所述至少两种指定类型特征数据之间的关联程度;
第二处理模块,用于通过第二识别模型分支对所述特征数据集、所述第一识别结果以及所述关联参数进行处理,获得第二识别结果,所述第二识别结果用于指示所述两个终端是否属于同一用户。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的终端识别方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的终端识别方法。
本发明提供的技术方案可以包括以下有益效果:
首先通过第一识别模型分支预测输入的特征数据集对应的两个终端是否属于同一用户的概率,第二识别模型通过结合两个终端的特征数据集、第一识别模型分支的识别结果以及第一识别模型分支的关联参数,进一步识别这两个终端是否属于同一个用户,实现多种不同的识别模型以及不同类型特征数据之间的关联关系的融合,在考虑特征数据之间的关联性的同时,融合多个机器学习模型的优点,从而提高识别两个终端是否属于同一个用户的准确性,进而提高识别效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的终端识别系统的结构示意图;
图2是根据一示例性实施例示出的一种机器学习模型的结构示意图;
图3是根据一示例性实施例示出的一种终端识别方法的流程图;
图4是图3所示实施例涉及的一种模型融合示意图;
图5是根据一示例性实施例示出的一种机器学习模型训练方法的流程图;
图6是图5所示实施例涉及的一种模型训练示意图;
图7是图5所示实施例涉及的一种模型训练流程图;
图8和图9是根据一示例性实施例示出的两种终端识别结果对比示意图;
图10是根据一示例性实施例示出的一种终端识别逻辑及架构图;
图11至图13是根据一示例性实施例示出的DMP的功能示意图;
图14是根据一示例性实施例示出的DMP应用示意图;
图15是根据一示例性实施例示出的终端识别装置的结构方框图;
图16是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是本发明一示例性实施例示出的一种终端识别系统的结构示意图。该系统包括:若干个终端120和服务器集群140。
终端120可以是手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
在本发明实施例中,终端120可以采集各自对应的指定类型特征数据,并将采集的到的指定类型特征数据上传给服务器集群140。其中,指定类型特征数据可以是开发人员或者维护人员预先指定的一种或多种类型的数据。
服务器集群140是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。
可选的,服务器集群140可以包括用于实现跨设备ID识别平台142的服务器,可选的,服务器集群140还包括用于实现识别结果管理平台144的服务器;可选的,服务器集群140还可以包括识别结果应用平台146的服务器。
需要说明的是,上述用于实现跨设备ID识别平台142、识别结果管理平台144以及识别结果应用平台146的服务器可以是相互之间独立的服务器;或者,上述跨设备ID识别平台142、识别结果管理平台144以及识别结果应用平台146中的两个平台可以实现在同一个服务器中,而另外一个平台可以实现在另一个服务器中;或者,用于实现上述三个平台的服务器也可以是同一个服务器。当上述三个平台实现在两个或者三个服务器中时,这两个或者三个服务器之间通过通信网络相连。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Trassport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
本发明实施例中的终端识别,也可以称为跨设备ID(Identity,身份标识)识别,即识别不同终端是否属于同一用户。本发明实施例提供的方案,在识别两个终端是否属于同一个用户时,可以通过终端的多种类型的特征数据进行识别。
在实际应用中,不同类型特征数据之间可能存在一定的关联性。以广告点击率预估场景为例,对于国别与节日这两种类型特征,“USA”与“Thanksgiving”、“China”与“Chinese New Year”这样的关联特征,对用户的点击有着正向的影响,而“USA”与“ChineseNew Year”、“China”与“Thanksgiving”这样的关联特征,对用户的点击则有着负面的影响,比如,来自“China”的用户很可能会在“Chinese New Year”有大量的浏览、购买行为,而在“Thanksgiving”却不会有特别的消费行为,这种关联特征与label的正向相关性在实际问题中是普遍存在的,比如,以商品类型特征与性别特征之间的关联性为例,“化妆品”类商品与“女”性,“球类运动配件”的商品与“男”性之间具有很强的正相关性,反之,“化妆品”类商品与“男”性,“球类运动配件”的商品与“女”性之间则具有明显的负相关性,在广告点击率预估等场景下,上述商品类型特征与性别特征之间的关联性对于广告点击率的准确预估有很大的意义。类似的思想也可以应用到识别两个终端是否属于同一个用户中,比如,两个终端各自对应的不同类型特征数据之间的关联性,对于识别这两个终端是否属于同一用户也同样很有意义。基于上述思路,本发明实施例提出一种能够结合终端的多种类型的特征数据,以及不同特征数据之间的关联性的机器学习模型。
图2是根据一示例性实施例示出的一种机器学习模型的结构示意图。如图2所示,机器学习模型20分为两个模型分支,包括第一识别模型分支21以及第二识别模型分支22,其中,第一识别模型分支21是一个既能够输出对两个终端是否属于同一个用户的识别结果,同时也能够提供终端的不同类型特征数据之间的关联关系(即不同类型特征数据之间的关联程度),其中,该关联关系可以由第一识别模型分支的模型参数中的部分或者全部参数来表示(上述部分或者全部参数可以称为关联参数)。
在通过上述机器学习模型20识别两个终端是否属于同一用户时,服务器集群可以获取包含两个终端各自对应的至少两种指定类型特征数据的特征数据集,并通过第一识别模型分支21对特征数据集进行处理,获得指示两个终端属于同一用户的概率的第一识别结果;之后,终端将特征数据集、第一识别模型分支的关联参数以及第一识别结果作为第二识别模型分支22的输入,通过第二识别模型分支22对特征数据集、第一识别结果以及关联参数进行处理,获得指示两个终端是否属于同一用户的第二识别结果。
在上述图2所示的机器学习模型中,将两个可以单独进行识别的识别模型分支进行融合,其中,第一识别模型分支除了可以输出两个终端是属于同一用户的识别结果之外,其模型参数还包含可以指示终端的不同指定类型特征数据之间的关联关系的关联参数,第二识别模型通过结合两个终端的指定类型特征数据、第一识别模型分支的识别结果以及第一识别模型分支中的关联参数进一步识别这两个终端是否属于同一个用户,相对于单个机器学习模型来说,本发明实施例提供的第一识别模型分支和第二识别模型分支能够实现多种不同的识别模型以及不同指定类型特征数据之间的关联关系的融合,在考虑特征数据之间的关联性的同时,融合多个机器学习模型的优点,从而提高识别两个终端是否属于同一个用户的准确性,进而提高识别效果。
图3是根据一示例性实施例示出的一种终端识别方法的流程图,该终端识别方法可以用于计算机设备,比如上述图1所示的服务器集群140中,以通过上述图2所示的机器学习模型进行跨设备ID识别为例。如图3所示,该终端识别方法可以包括如下步骤:
步骤301,获取特征数据集,该特征数据集中包含两个终端各自对应的至少两种指定类型特征数据。
其中,可选的,上述指定类型特征数据可以是有助于判别两个终端是否属于同一用户的特征数据,比如,该指定类型特征数据可以是登录账号特征数据、硬件特征数据、软件特征数据、浏览器特征数据、网络特征数据以及用户行为特征数据中的至少一种。
登录账号特征数据,也可以称为强登陆特征,通常情况可以较为明确的指示在终端中登录的用户的身份,比如,该登录账号特征数据可以包括用户在终端上登录的用户账号,其中,该用户账号通常也称为开放身份标识(open id),比如,该用户账号可以是用于登录通讯类应用程序的用户账号、用于登录社交类应用程序的用户账号以及用于登陆操作系统的用户账号等等。
硬件特征数据和软件特征数据,可以统称为设备特征或终端特征。硬件特征数据可以包括屏幕尺寸、屏幕色彩位数、硬件分辨率以及终端硬件标识等,其中,硬件分辨率是指终端最大支持的分辨率,终端硬件标识可以是终端的imei(International MobileEquipment Identity,国际移动设备身份码)、idfa(identifier for ad,广告标示符)或者mid(Multimedia Terminal Adapter Identity,多媒体终端适配器标识)。软件特征数据可以包括系统安装字体、时区、屏幕分辨率以及终端软件标识等,其中,终端软件标识可以包括idfa(identifier for ad,广告标示符)、mid(Multimedia Terminal AdapterIdentity,多媒体终端适配器标识)以及用户身份识别(Subscriber IdentificationModule,SIM)卡信息等等。
浏览器特征数据,也可以称为浏览器特征,可以包括用户代理(useragent)、浏览器安装的插件的特征(比如插件类型、安装插件的日期)以及canvas特征等。
网络特征数据,也可以称网络特征可以包括终端的IP地址、终端发送的http请求头以及终端TCP(Transmission Control Protocol,传输控制协议)/IP参数等。
用户行为特征数据,也可以称为行为特征。用户行为特征数据用于指示用户通过终端实现的行为,比如网络浏览的时间、网络浏览的内容类别以及网络浏览的上下文信息等。
本发明实施例中,为了便于机器学习处理,计算机设备在获取上述特征数据集时,可以按照预设的统计规则对上述两个终端各自对应的至少两种指定类型特征数据的进行数值化,获得两个终端各自的至少两种指定类型特征数据对应的特征数值,并根据两个终端各自的至少两种指定类型特征数据对应的特征数值生成上述特征数据集。
比如,在一种可能的实现方式中,对于至少两种指定类型特征数据中的特征数据A,计算机设备可以将上述两个终端各自对应特征数据A的特征数值的组合,作为特征数据集中与特征数据A对应的元素。
或者,在另一种可能的实现方式中,对于至少两种指定类型特征数据中的特征数据A,计算机设备可以将上述两个终端各自对应特征数据A的特征数值相乘,将获得的乘积作为特征数据集中与特征数据A对应的元素。
对于上述根据至少两种指定类型特征数据获得特征数据集的方式,本发明实施例不做限定。
步骤302,通过第一识别模型分支对特征数据集进行处理,获得第一识别结果,该第一识别结果用于指示两个终端属于同一用户的概率,第一识别模型的模型参数中包含关联参数,且关联参数用于指示至少两种指定类型特征数据之间的关联程度。
在本发明实施例中,该第一识别模型分支是一个既可以根据输入的特征数据进行预测,同时也能够提供输入的不同类型特征数据之间的关联关系的机器学习模型,具体比如,该第一模型分支可以通过FM(Factorization Machine,因子分解机)模型来实现。
FM模型旨在解决稀疏数据下的特征组合问题。在很多大规模分类问题(包括本发明实施例涉及的识别不同终端是否属于同一用户的场景)中,特征空间往往很大,稀疏性是实际问题中不可避免的挑战。在模型训练过程中,通过观察大量的样本数据可以发现,某些特征经过关联之后,与模型的标签(label)之间的相关性就会提高。
上述FM模型是典型的多项式模型,而多项式模型是包含特征组合的最直观的模型。在多项式模型中,特征xi和xj的组合采用xixj表示,即xi和xj都非零时,组合特征xixj才有意义。上述FM模型的定义可以如下:
其中,n代表特征数量,xi是第i个特征的值,w0、wi、wij是模型参数,这些模型参数通过FM的训练过程获得。
为了解决数据稀疏情况下二次项参数wij的训练问题,可以采用矩阵分解的方法,即所有二次项参数wij可以组成一个对称矩阵W,那么这个矩阵就可以分解为W=VTV,V的第j列便是第j维特征的隐向量,即wij=<vi,vj>,这就是FM模型的核心思想。因此,FM模型也可以改写为:
其中,vi是第i维特征的隐向量,<·,·>代表向量点积。隐向量的长度为k(k<<n),即包含k个描述特征的因子,其中,k的数值可以通过人工进行设置。上述二次项的参数数量减少为kn个,远少于多项式模型的参数数量。另外,参数因子化使得xhxi的参数和xixj的参数不再是相互独立的,因此可以在样本稀疏的情况下相对合理地估计FM的二次项参数。具体来说,xhxi和xixj的系数分别为<vh,vi>和<vi,vj>,它们之间有共同项vi。即所有包含“xi的非零组合特征”的样本都可以用来学习隐向量vi,这在很大程度上避免了数据稀疏性造成的影响。在本发明实施例中,上述二次项参数wij即为FM模型中的关联参数。
FM模型通过结合上述公式以及不同的损失函数,将输入特征映射到分类标签中,以解决各种分类问题。其中,FM模型对稀疏数据有更好的学习能力,通过交互项可以学习特征数据之间的关联关系,并且保证了学习效率和预估能力。
在识别两个终端是否属于同一用户的过程中,计算机设备可以通过第一识别模型分支中训练好模型参数的FM模型对该特征数据集进行处理,以输出这两个终端是否属于同一用户的概率,其中,该概率的取值可以为[0,1],0表示这两个终端不属于同一个用户,1表示这两个终端属于同一个用户,(0,1)表示这两个终端属于同一个用户的概率百分值。
在实际应用中,为了提高第一识别模型分支的准确性,该第一识别模型分支中可以设置多个识别子模型,比如,每个识别子模型可以是一个FM模型,以第一识别模型分支中包含识别子模型1至识别子模型T这T个识别子模型为例(T大于等于2,且T为整数),在识别两个终端是否属于同一用户的过程中,可以通过识别子模型1至识别子模型T这T个识别子模型分别对该特征数据集进行处理,获得该T个识别子模型分别对应的第一识别子结果,并对该T个识别子模型分别对应的第一识别子结果进行加权平均,获得第一识别结果。
比如,以第一识别模型分支中包含4个FM模型为例,计算机设备将上述两个终端对应的特征数据集分别输入4个FM模型,获得4个FM模型分别输出的,这两个终端属于同一用户的概率,第一识别模型分支输出识别结果时,对4个FM模型分别输出的概率进行加权平均,并将4个FM模型分别输出的概率的加权平均结果作为上述第一识别结果。
上述加权平均过程中,可以设置各个识别子模型对应的第一识别子结果的权重相同,即对各个识别子模型分别对应的第一识别子结果取平均值,将该平均值作为第一识别结果。比如,以第一识别模型分支中包含4个FM模型为例,可以将4个FM模型分别输出的概率的平均值作为上述第一识别结果。
或者,在上述加权平均过程中,可以将各个识别子模型在模型训练过程中确定的,各个识别子模型的评价参数(比如准确率或者召回率等)作为各个识别子模型分别对应的第一识别子结果的权重。比如,以第一识别模型分支中包含4个FM模型,且上述权重为FM模型的准确率为例,以4个FM模型各自的准确率为权重,对4个FM模型分别输出的概率进行加权平均,获得的加权平均结果即为上述第一识别结果。
在另一种可能的实现方式中,当第一识别模型分支中包含T个识别子模型时,第一识别模型分支也可以将T个识别子模型各自对应的第一识别子结果组合成上述第一识别结果,比如,以第一识别模型分支中包含4个FM模型为例,第一识别模型分支可以将这个4个FM模型分别输出的概率叠加组合成第一识别结果。
步骤303,通过第二识别模型分支对特征数据集、第一识别结果以及关联参数进行处理,获得第二识别结果,该第二识别结果用于指示两个终端是否属于同一用户。
其中,上述第二识别模型分支可以是提升树(boosting tree)模型,比如,非线性boosting tree模型。其中,非线性boosting tree模型由多棵回归决策树组成并共同预测,其采用平方误差损失函数,每一棵回归决策树学习的是之前所有回归决策树的结论和残差,通过拟合得到一个当前的残差回归树,而提升树即是整个迭代过程生成的回归决策树的累加,其利用加法模型和前向分步算法实现机器学习的优化过程。
在本发明实施例中,通过第二识别模型分支识别两个终端是否属于同一用户时,可以将输入第一识别模型分支的特征数据集、第一识别模型分支输出的第一识别结果,以及第一识别模型分支中的关联参数一并作为输入特征,输入到第二识别模型分支中,由该第二识别模型分支进行识别处理,以获得上述两个终端是否属于同一用户的最终识别结果。
此外,当第一识别模型分支中包含多个识别子模型,且多个识别子模型中包含的,用于指示各种类型特征数据之间的关联程度的关联子参数不同时,上述关联参数可以是多个识别子模型各自的关联子参数的加权平均。比如,以第一识别模型分支中包含4个FM模型为例,可以将4个FM模型各自的二次项参数wij进行加权平均,得到的加权平均结果作为上述关联参数。
或者,当第一识别模型分支中包含多个识别子模型时,也可以将多个识别子模型各自的关联子参数叠加组合为上述关联参数。比如,以第一识别模型分支中包含4个FM模型为例,可以通过4个FM模型各自的二次项参数wij组成上述关联参数。
以第一识别模型分支为因子分解机模型,第二识别模型分支为非线性boostingtree模型为例,本发明实施例所示的方案同时融合因子分解机模型与非线性boostingtree模型的优势。请参考图4,其示出了本发明实施例涉及的一种模型融合示意图。其中,如图4所示,因子分解机模型为第一层模型(Tier 1),非线性boosting tree模型(包括树1至树n)为第二层模型(Tier 2)。第一层模型的输入为稀疏特征(对应上述特征数据集),第一层模型中训练的因子分解机模型的输出(包括因子分解机模型的预测概率值以及学习到的特征关联隐含主题向量,特征关联隐含主题向量即为上述关联参数)作为新的特征叠加输入到第二层模型中,以得到最终输出,即两个终端是否属于同一用户的预测概率分数。
综上所述,本发明实施例所示的终端识别方法,将两个识别模型分支进行融合,首先通过第一识别模型分支预测输入的特征数据集对应的两个终端是否属于同一用户的概率,同时,第一识别模型分支的模型参数还包含可以指示不同类型特征数据之间的关联关系的关联参数,第二识别模型通过结合两个终端的特征数据集、第一识别模型分支的识别结果以及关联参数,进一步识别这两个终端是否属于同一个用户,相对于通过单个机器学习模型进行识别来说,本发明实施例提供的第一识别模型分支和第二识别模型分支能够实现多种不同的识别模型以及不同类型特征数据之间的关联关系的融合,在考虑特征数据之间的关联性的同时,融合多个机器学习模型的优点,从而提高识别两个终端是否属于同一个用户的准确性,进而提高识别效果。
图5是根据一示例性实施例示出的一种机器学习模型训练方法的流程图,该机器学习模型训练方法可以用于计算机设备,比如上述图1所示的服务器集群140中,以训练获得上述图2以及图3所涉及的机器学习模型。如图5所示,该机器学习模型训练方法可以包括如下步骤:
步骤501,获取训练样本以及该训练样本对应的标注结果,该训练样本包含N对终端各自对应的至少两种指定类型特征数据,标注结果用于指示上述N对终端中每一对终端是否属于同一用户,N≥1,且N为整数。
在训练过程中,初始的训练样本中的包含的指定类型特征数据按照各自对应的各对终端进行组织,相应的标注结果指示各对终端是否属于同一用户。比如,以训练样本表现为下述矩阵X,训练样本对应的标注结果表现为矩阵Y为例:
其中,上述矩阵X中每一行元素是一对终端对应的各种指定类型特征数据,每一列元素是各对终端对应的同一种特征数据。比如,在一种可能的实现方式中,a1可以是第一对终端各自对应的第一种特征数据的乘积,a2可以是第一对终端各自对应的第二种特征数据的乘积,b1可以是第二对终端各自对应的第一种特征数据的乘积,以此类推。
上述矩阵Y中每一个元素表示对应的一对终端是否属于同一用户,比如,当矩阵Y中第一个元素值为0,表示第一对终端不属于同一用户,而第三个元素值为1,表示第三对终端属于同一用户。
步骤502,根据训练样本以及标注结果进行模型训练,获得第一识别模型分支、第三识别结果以及关联参数,该第三识别结果用于指示N对终端中每一对终端属于同一用户的概率。
在本发明实施例中,为了提高第一识别模型分支的训练准确性,同时便于后续将第一识别模型分支和第二识别模型分支进行融合,可以通过交叉验证的方式来训练第一识别模型分支,即通过T次交叉验证的方式对训练样本以及标注结果进行模型训练,获得第一识别模型分支、第三识别结果以及关联参数,T≥2,且T为整数。
比如,上述第一识别模型分支可以包含T个识别子模型,且每个识别子模型是T次交叉验证中的一次交叉验证过程中生成的模型,计算机设备可以对训练样本以及标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果,其中,识别子模型中包含关联子参数,该关联子参数用于指示在对应的交叉验证过程中,至少两种指定类型特征数据之间的关联程度;计算机设备根据每次交叉验证过程中生成的识别子结果获取第三识别结果,并根据每次交叉验证过程中生成的识别子模型中的关联子参数获取关联参数。
其中,上述T次交叉验证的过程可以如下:
首先,将训练样本划分为T份训练子样本和1份验证子样本,其中,T份训练子样本和该验证子样本中分别包含至少一对终端各自对应的上述至少两种指定类型特征数据。
在实际应用中,T的数值通常远小于N,比如,T的数值通常为几个或者几十个,而训练样本的终端对数可能达到几亿甚至几十亿。在划分样本时,可以随机或者按照一定的规则,以终端对为单位将训练样本划分为T份训练子样本和1份验证子样本,也就是说,属于同一对终端的不同类型的特征数据只会被划分到一份训练子样本或者验证子样本中。具体比如,在一种可能的实现方式中,在对训练样本进行划分时,可以将训练样本平均划分为T+1份子样本,即每一份子样本对应的终端对数相同。
同样的,上述训练样本对应的标注结果也按照与划分训练样本的相同方式进行划分。
在划分训练样本之后,即可以根据划分的训练子样本和验证子样本进行T次交叉验证,在每次交叉验证,上述T份训练子样本用于进行训练和验证,而验证子样本只用于对训练结果进行验证。比如,对于T次交叉验证中的第i次交叉验证(1≤i≤T,且i为整数),第i次交叉验证的过程如下:
在第i次交叉验证过程中,对T份训练子样本中的T-1份训练子样本以及该T-1份训练子样本对应的标注结果进行训练,获得识别子模型i,其中,每一次交叉验证过程中使用的T-1份训练子样本不同,且识别子模型i中包含关联子参数i,该关联子参数用于指示在第i次交叉验证过程中,上述至少两种指定类型特征数据之间的关联程度。
通过识别子模型i对训练子样本i进行处理,获得训练子样本i对应的识别子结果i,训练子样本i是T份训练子样本中,上述T-1份训练子样本之外的样本。
通过识别子模型i对验证子样本进行处理,获得验证子样本对应的识别子结果i’。
请参考图6,其示出了本发明实施例涉及的一种模型训练示意图。以上述第一识别模型分支中由FM模型组成,且T=4为例,在训练第一识别模型分支时,分4次训练FM模型,每次训练时,使用4份训练子样本中的3份训练子样本,以及这3份训练子样本各自对应的标注结果进行训练,获得本次训练获得的FM模型,并使用本次训练获得的FM模型对本次未参加训练的一份训练子样本进行处理,获得本次未参加训练的训练子样本对应的识别子结果。如图6所示,在4次训练中,每次用于训练的三份训练子样本和一份验证子样本的组合都不相同。同时,每次训练之后,使用训练获得的FM模型对验证子样本进行处理,获得验证子样本对应本次训练获得的FM模型的识别子结果。
其中,上述4次训练过程可以串行执行,也可以并行执行。
在上述T次交叉验证获得第一识别模型分支之后,在将每次交叉验证过程中生成的识别子结果组合为第三识别结果时,计算机设备可以将T次交叉验证过程中获得的识别子结果1至识别子结果T叠加组合为第三识别结果中对应T份训练子样本的识别结果,并将识别子结果1’至识别子结果T’的平均值获取为第三识别结果中对应验证子样本的识别结果。
比如,请参考图6,每次训练获得的FM模型,并使用本次训练获得的FM模型对本次未参加训练的一份训练子样本进行处理后,将本次未参加训练的训练子样本对应的识别子结果作为新的特征数据叠加到各份训练子样本中。在T次训练获得的T个FM模型,并使用T次训练获得的FM模型分别对验证子样本进行处理后,将获得的验证子样本对应的T个识别子结果通过取平均值的方式叠加到验证子样本中。
可选的,计算机设备在根据T次交叉验证过程中获得的关联子参数1至关联子参数T获取上述关联参数时,可以将每次交叉验证过程中生成的识别子模型中的关联子参数叠加组合为上述关联参数,或者,也可以对每次交叉验证过程中生成的识别子模型中的关联子参数进行加权平均,获得上述关联参数。
比如,以图6为例,在经过4次训练获得4个FM模型之后,由于每个FM模型中的二次项参数wij(即关联子参数)都可能不同,在本发明实施例中,可以将4个FM模型中的二次项参数wij叠加组合后,作为新的训练特征嵌入训练子样本和验证子样本。
或者,在另一种可能的实现方式中,也可以将4个FM模型中的二次项参数wij进行加权求和后,作为新的训练特征嵌入训练子样本和验证子样本,其中各个FM模型对应的二次项参数wij的权重,可以是对应的FM模型对验证子样本或者当次未参加训练的训练子样本进行处理获得的识别子结果的评价参数(比如准确率或者召回率等)。
步骤503,根据训练样本、标注结果、关联参数以及第三识别结果进行模型训练,获得第二识别模型分支。
通过上述交叉验证的方式训练第一识别模型分支之后,计算机设备训练第二识别模型分支的过程可以如下:
将第三识别结果中对应T份训练子样本的识别结果,以及关联参数中对应T份训练子样本的参数,作为新的训练特征数据叠加入T份训练子样本,获得新的训练子样本;
将第三识别结果中对应验证子样本的识别结果,以及关联参数中对应验证子样本的参数,作为新的训练特征数据叠加入验证子样本,获得新的验证子样本;
根据新的训练子样本,以及T份训练子样本对应的标注结果进行M次迭代训练,获得备选识别模型;
根据备选识别模型对新的验证子样本进行处理,获得第四识别结果;
根据第四识别结果以及验证子样本对应的标注结果计算备选识别模型的评价参数,该评价参数用于指示备选识别模型的准确性;
当评价参数不小于预设的评价参数阈值时,将备选识别模型获取为第二识别模型分支。
以第一识别模型分支为因子分解机模型,第二识别模型分支为非线性boostingtree模型为例,在训练过程中,通过堆叠(Stacking)技术融合因子分解机模型与非线性boosting tree模型。其中,在上述训练过程中,堆叠的作用在于增强机器学习模型整体的泛化能力,其潜在的思想是希望训练数据都能够被正确的学习到了。比如,以图4所示的模型为例,若某个Tier 1中的分类器(Tier 1中每个分类器对应上述一个因子分解机模型)错误的学习到了特征空间里某个特定区域,则错误分类就会来自这个区域,但是Tier 2可能根据Tier 1中的其他的分类器学习到正确的分类。此外,上述训练过程中的交叉验证可以避免Tier 1中的分类器过拟合(overfitting),计算机设备在训练获得Tier 1中的各个分类器之后,即可以将这些分类器的输出作为输入,在整个训练集合上训练Tier 2中的分类器(Tier 2中的分类器对应上述非线性boosting tree模型)。
结合图4所示的融合模型,请参考图7,其示出了本发明实施例涉及的一种模型训练流程图。结合图6和图7,上述通过堆叠(Stacking)方式训练融合模型的具体过程如下:
步骤1,将数据集划分为T+1个块,其中训练数据为T块,测试数据为第T+1块。
比如,以图6为例,计算机设备在训练第一层模型之前,将数据集划分为5块,其中训练数据为4块,测试数据为1块。
步骤2,对第一层模型的分类器做交叉验证:对于第一层模型中的每个FM,该FM根据各自对应的T-1块训练数据进行训练,并在第T块训练数据(即未参与该FM的训练过程的训练数据)上进行测试,同时在第T+1块数据(即测试数据)上进行测试。
在图7所示的流程中,第一层模型中的T个FM依次进行训练,计算机设备训练完第i个FM之后,判断i是否小于T+1,若是,则返回训练第i+1个FM,否则(即i=T+1),确定第一层模型训练完成,进行步骤3。
步骤3,将第一层模型中所有FM分类器的输出(包括学习到的特征关联隐含主题向量和因子分解机模型预测的概率分数)作为新的特征输入到第二层模型的分类器中。
在图7所示的流程中,第一层模型训练完成后,按照图6所示的叠加方式,将第一层模型中所有FM分类器的输出叠加到上述数据集中,获得新的输入特征,并将新的输入特征输入到第二层模型。
步骤4,在整个训练集合(即上述新的输入特征)上训练第二层模型中的非线性boosting tree分类器,得到最终输出。
在图7所示的流程中,计算机设备在对非线性boosting tree分类器进行训练时,首先初始化非线性boosting tree分类器的损失函数f0(x),之后通过M次迭代训练获得一个非线性boosting tree分类器,并通过非线性boosting tree分类器对第T+1块数据(即上述测试数据)进行测试,以输出预测概率分数,并将非线性boosting tree分类器输出的预测概率分数与第T+1块数据的标注结果进行比对,获得该非线性boosting tree分类器的评价参数,如果评价参数满足要求,则确定第二层模型训练完成,如果该评价参数不满足要求,则设置新的迭代次数M,并重新训练非线性boosting tree分类器。
其中,在上述第m次迭代训练过程中,可以计算残差rmi(即损失函数的负梯度在当前模型的值),然后估计回归树叶节点区域,以拟合残差的近似值,再线性搜索出损失函数的最小值,并更新损失函数f(x),最后判断m是否小于M,若是,则进行第m+1次迭代训练,否则(即m=M),输出获得的非线性boosting tree分类器。
可选的,为了评价所提出的融合方案的性能,上述评价参数用于指示训练出的模型的准确性,比如,上述评价参数可以是精确率、召回率以及F1-measure中的至少一种,其中,F1-measure的值可以通过Precision以及Recall获得,即F1-measure=2*Precision*Recall/(Precision+Recall)。
综上所述,本发明实施例所示的模型训练方法,训练出融合了第一识别模型分支和第二识别模型分支的机器学习模型,其中,第一识别模型分支用于预测输入的特征数据集对应的两个终端是否属于同一用户的概率,同时,第一识别模型分支的模型参数还包含可以指示不同类型特征数据之间的关联关系的关联参数,第二识别模型分支用于通过结合两个终端的特征数据集、第一识别模型分支的识别结果以及关联参数,进一步识别这两个终端是否属于同一个用户,相对于通过单个机器学习模型进行识别来说,本发明实施例训练出的机器学习模型能够实现多种不同的识别模型以及不同类型特征数据之间的关联关系的融合,在考虑特征数据之间的关联性的同时,融合多个机器学习模型的优点,从而提高识别两个终端是否属于同一个用户的准确性,进而提高识别效果。
此外,本发明实施例所示的模型训练方法,通过交叉验证的方式训练第一识别模型分支,并通过堆叠技术融合第一识别模型分支与第二识别模型分支,能够增强机器学习模型整体的泛化能力,并且,交叉验证过程可以避免第一识别模型分支出现过拟合,提高模型的训练效果。
通过结合上述图2至图7所示的方案,本发明实施例可以针对海量数据的终端识别场景,提供一种终端识别的集成学习方法(Ensemble Learning),即将多种机器学习模型融合在一起,结合不同模型的优势,以取得更优性能。通过本发明实施例的集成学习方法获得的模型包括两层分类模型,即上述第一识别模型分支与第二识别模型分支。首先,对于两个终端对应的特征数据集,第一识别模型分支采用因子分解机模型解决稀疏矩阵下的特征组合问题,通过交互项可以学习特征数据之间的关联关系,并且保证了学习效率和预估能力。其次,提出堆叠技术将第一识别模型分支中训练的因子分解机模型的输出,包括学习到的特征关联隐含主题向量(对应上述关联参数)和因子分解机模型预测概率分数(对应上述第一识别结果和第三识别结果),作为新的特征输入到第二识别模型分支的分类器中,训练一个基于非线性的boosting tree分类器(即将若干个分类器整合为一个强分类器),得到的最终的输出,即上述两个终端属于同一用户的预测概率分数。
也就是说,本技术方案主要包括如下两点:
1、本方案提出一种集成学习方法将多种机器学习模型融合在一起,结合不同模型的优势,以取得更优性能。
2、第一识别模型分支中的分类器采用因子分解机模型解决稀疏矩阵下的特征组合问题,通过交互项可以学习特征数据之间的关联关系,并且保证了学习效率和预估能力。某些特征经过关联之后,与模型的标签(label)之间的相关性就会提高。这种关联特征与label的正向相关性在实际问题中是普遍存在的,对于模型的性能的提高也是非常有意义的。其次,本发明实施例提出堆叠技术将第一识别模型分支中训练的因子分解机模型的输出(包括学习到的特征关联隐含主题向量和因子分解机模型的预测概率分数)作为新的特征输入到第二识别模型分支的分类器中,通过一个非线性boosting tree分类器得到最终的输出。
图8和图9是根据一示例性实施例示出的两种终端识别结果对比示意图,其中,图8示出了通过基于开放账户(openid)和IMEI进行组织的数据集进行训练和实验获得的实验结果,而图9示出了通过基于开放账户(openid)和IDFA进行组织的数据集进行训练和实验获得的实验结果。图8和图9所示的实验结果表明,本发明实施例提供的融合模型(即图2或图4所示的两层机器学习模型),在精确率、召回率以及F1-measure等方面都优于单一的逻辑回归(Logistic Regression,LR)模型或者因子分解机模型。
为实现基于海量数据进行终端识别,本发明实施例所示的方案可以在计算机集群(比如Spark计算集群)上实现。比如,图10是根据一示例性实施例示出的一种终端识别逻辑及架构图。如图10所示,本发明实施例所示的方案在Spark环境中实现的逻辑及构架中,采用Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)存储终端的特征数据,采用数据仓库技术,比如ETL(Extract-Transform-Load,抽取-转换-加载)技术统计各对终端的特征数据集,并转换成RDD(Resilient Distributed Datasets,弹性分布式数据集),进而通过数据处理函数对各对终端的数据进行必要的处理及操作,比如通过DataFrame函数或者DataSet函数对数据进行处理,之后进行融合模型的训练及预测,以输出预测结果,输出的预测结果同样存储于HDFS。
从长远来看,本发明实施例所提供的终端识别方案,具有如下效果及意义:
1、本发明实施例所提供的终端识别方案对品牌营销具有很高的价值,其能够实现更真实的受众去重、跨设备频次控制、受众放大及重定向以及多屏归因,真正实现受众购买,从而帮助广告主及媒体减少投放浪费,提升ROI和转化率。
2、本发明实施例所提供的终端识别方案可以使场景营销更加精准,并使得跨终端营销称为可能。其中,跨终端营销可以结合同一用户在不同时间、地点及生活场景所使用的不同终端,来推送一系列的广告,例如早起刷牙时在手机上推送日化品牌的广告创意A,午间工作之余在PC端推送创意B,实现持续、个性化的受众触达。
3、本发明实施例所提供的终端识别方案不仅对广告主大有裨益,对行业其它利益方也是如此。在广告生态链上,如果能够为广告主或媒体提供大规模精准跨设备营销服务,则会吸引更多的广告营销预算,并减少投放损耗,第三方的广告监测机构也可以更加精准、稳定地评估广告投放效果。
在实际的实现过程中,本发明实施例所示的终端识别方案,可以与DMP(DataManagement Platform,数据管理平台)相结合,基于数据管理平台的提供的大数据以及AI(Artificial Intelligence,人工智能)技术,在广告推广以及品牌营销等领域提供精准的个性化解决方案。
请参考图11至图14,其中,图11至图13是根据一示例性实施例示出的DMP的功能示意图,图14是根据一示例性实施例示出的DMP应用示意图。
DMP可以通过构建庞大的标签系统来实现精准的人群触达,如图11所示,,该DMP的账号体系可以覆盖人口属性,设备习惯,社交偏好,内容偏好,品牌兴趣5大类,11个细分类及2000+标签。
基于自身维护的标签系统,DMP可以实现精准的广告投放和品牌营销。如图12所示,在广告投放场景中,DMP融合DSP(Demand-side Platform,需求方平台)、广告交易(AdExchange)平台以及SSP(Sell-side Platform,销售方平台),广告主通过DSP向广告交易平台发布广告,媒体通过SSP从广告交易平台获取广告并进行展示。如图13所示,在品牌营销中,DMP平台可以激活第一方数据(比如广告主的客户关系管理数据),将第一放数据与用户账号体系进行数据对接,以实现更好的数据洞察能力,从而实现品牌营销策略的指导,优化广告投放策略。
为了达到更好的广告投放和品牌营销的效果,DMP平台还可以支持广告投放或者品牌营销的目标人群的定制。如图14所示,DMP平台的管理者或者使用者可以通过DMP平台设置目标人群的偏好,以实现目标人群的定制,后续DMP平台可以根据定制的目标人群进行广告投放或品牌营销。
DMP在实现上述广告投放或品牌营销的过程中,可以结合本发明实施例所示的终端识别方案,打通线上线下跨设备ID(即识别不同终端对应的相同用户),能够更好的分析并利用行业数据,提供更加精准的个性化解决方案,比如,在广告投放领域,结合DMP与本发明实施例所示的终端识别方案,可以避免重复向同一用户投放广告而造成的浪费,在有限的预算下触达更多的目标用户,提升ROI(return on investment,投资回报率),即通过关联不同设备的ID,跨设备识别同一个用户,从而实现跨设备广告投放的频次控制以及基于场景的、更精准的广告投放。
图15是根据一示例性实施例示出的一种终端识别装置的结构方框图。该终端识别装置可以用于如图1所示系统所包含的服务器集群140中,以执行图3以及图5所示实施例提供的方法的全部或者部分步骤。该终端识别装置可以包括:
第一获取模块1501,用于获取特征数据集,所述特征数据集中包含两个终端各自对应的至少两种指定类型特征数据;
第一处理模块1502,用于通过第一识别模型分支对所述特征数据集进行处理,获得第一识别结果,所述第一识别结果用于指示所述两个终端属于同一用户的概率,所述第一识别模型的模型参数中包含关联参数,且所述关联参数用于指示所述至少两种指定类型特征数据之间的关联程度;
第二处理模块1503,用于通过第二识别模型分支对所述特征数据集、所述第一识别结果以及所述关联参数进行处理,获得第二识别结果,所述第二识别结果用于指示所述两个终端是否属于同一用户。
可选的,所述装置还包括:
第二获取模块,用于在所述第一处理模块通过第一识别模型分支对所述特征数据集进行处理之前,获取训练样本以及所述训练样本对应的标注结果,所述训练样本包含N对终端各自对应的所述至少两种指定类型特征数据,所述标注结果用于指示所述N对终端中每一对终端是否属于同一用户,N≥1,且N为整数;
第一训练模块,用于根据所述训练样本以及所述标注结果进行模型训练,获得所述第一识别模型分支、第三识别结果以及所述关联参数,所述第三识别结果用于指示所述N对终端中每一对终端属于同一用户的概率;
第二训练模块,用于根据所述训练样本、所述标注结果、所述关联参数以及所述第三识别结果进行模型训练,获得所述第二识别模型分支。
可选的,所述第一识别模型分支包含T个识别子模型,T≥2,且T为整数,所述第一训练模块,具体用于,
对所述训练样本以及所述标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果,所述识别子模型中包含关联子参数,所述关联子参数用于指示在对应的交叉验证过程中,所述至少两种指定类型特征数据之间的关联程度;
根据每次交叉验证过程中生成的所述识别子结果获取所述第三识别结果;
根据每次交叉验证过程中生成的所述识别子模型中的关联子参数获取所述关联参数。
可选的,所述装置还包括:
划分模块,用于在所述第一训练模块对所述训练样本以及所述标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果之前,将所述训练样本划分为T份训练子样本和1份验证子样本,所述T份训练子样本和所述验证子样本中分别包含至少一对终端各自对应的所述至少两种指定类型特征数据;
在对所述训练样本以及所述标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果时,所述第一训练模块,具体用于,
在第i次交叉验证过程中,对所述T份训练子样本中的T-1份训练子样本以及所述T-1份训练子样本对应的标注结果进行训练,获得识别子模型i,其中,1≤i≤T,且i为整数,每一次交叉验证过程中使用的T-1份训练子样本不同;
通过所述识别子模型i对训练子样本i进行处理,获得所述训练子样本i对应的识别子结果i,所述训练子样本i是所述T份训练子样本中,所述T-1份训练子样本之外的样本;
通过所述识别子模型i对所述验证子样本进行处理,获得所述验证子样本对应的识别子结果i’。
可选的,在将每次交叉验证过程中生成的所述识别子结果组合为所述第三识别结果时,所述第一训练模块,具体用于,
将识别子结果1至识别子结果T组合为所述第三识别结果中对应所述T份训练子样本的识别结果;
将识别子结果1’至识别子结果T’的平均值获取为所述第三识别结果中对应所述验证子样本的识别结果。
可选的,所述第二训练模块,具体用于,
将所述第三识别结果中对应所述T份训练子样本的识别结果,以及所述关联参数中对应所述T份训练子样本的参数,作为新的训练特征数据叠加入所述T份训练子样本,获得新的训练子样本;
将所述第三识别结果中对应所述验证子样本的识别结果,以及所述关联参数中对应所述验证子样本的参数,作为新的训练特征数据叠加入所述验证子样本,获得新的验证子样本;
根据所述新的训练子样本,以及所述T份训练子样本对应的标注结果进行M次迭代训练,获得备选识别模型;
根据所述备选识别模型对所述新的验证子样本进行处理,获得第四识别结果;
根据所述第四识别结果以及所述验证子样本对应的标注结果计算所述备选识别模型的评价参数,所述评价参数用于指示所述备选识别模型的准确性;
当所述评价参数不小于预设的评价参数阈值时,将所述备选识别模型获取为所述第二识别模型分支。
可选的,在根据每次交叉验证过程中生成的所述识别子模型中的关联子参数获取所述关联参数时,所述第一训练模块,具体用于,
将每次交叉验证过程中生成的所述识别子模型中的关联子参数叠加组合为所述关联参数;
或者,对每次交叉验证过程中生成的所述识别子模型中的关联子参数进行加权平均,获得所述关联参数。
可选的,所述第一处理模块1502,具体用于,
通过所述T个识别子模型分别对所述特征数据集进行处理,获得所述T个识别子模型分别对应的第一识别子结果;
对所述T个识别子模型分别对应的第一识别子结果进行加权平均,获得所述第一识别结果。
可选的,所述第一识别模型分支为因子分解机模型。
可选的,所述第二识别模型分支为提升树模型。
可选的,所述指定类型特征数据包括:登录账号特征数据、硬件特征数据、软件特征数据、浏览器特征数据、网络特征数据以及用户行为特征数据中的至少一种。
综上所述,本发明实施例所示的终端识别装置,将两个识别模型分支进行融合,首先通过第一识别模型分支预测输入的特征数据集对应的两个终端是否属于同一用户的概率,同时,第一识别模型分支的模型参数还包含可以指示不同类型特征数据之间的关联关系的关联参数,第二识别模型通过结合两个终端的特征数据集、第一识别模型分支的识别结果以及关联参数,进一步识别这两个终端是否属于同一个用户,相对于通过单个机器学习模型进行识别来说,本发明实施例提供的第一识别模型分支和第二识别模型分支能够实现多种不同的识别模型以及不同类型特征数据之间的关联关系的融合,在考虑特征数据之间的关联性的同时,融合多个机器学习模型的优点,从而提高识别两个终端是否属于同一个用户的准确性,进而提高识别效果。
此外,本发明实施例所示的装置,在模型训练过程中,通过交叉验证的方式训练第一识别模型分支,并通过堆叠技术融合第一识别模型分支与第二识别模型分支,能够增强机器学习模型整体的泛化能力,并且,交叉验证过程可以避免第一识别模型分支出现过拟合,提高模型的训练效果。
图16是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备可以实现为上述图1所示的实施环境中的服务器集群140。所述计算机设备1600包括中央处理单元(CPU)1601、包括随机存取存储器(RAM)1602和只读存储器(ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述计算机设备1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为计算机设备1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
计算机设备1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1601通过执行该一个或一个以上程序来实现图3以及图5所示的方法中的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备(比如服务器集群140)的处理器执行以完成本发明各个实施例所示的终端识别方法以及模型训练方法中的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (15)
1.一种终端识别方法,其特征在于,所述方法包括:
获取特征数据集,所述特征数据集中包含两个终端各自对应的至少两种指定类型特征数据;
通过第一识别模型分支对所述特征数据集进行处理,获得第一识别结果,所述第一识别结果用于指示所述两个终端属于同一用户的概率,所述第一识别模型的模型参数中包含关联参数,且所述关联参数用于指示所述至少两种指定类型特征之间的关联程度;
通过第二识别模型分支对所述特征数据集、所述第一识别结果以及所述关联参数进行处理,获得第二识别结果,所述第二识别结果用于指示所述两个终端是否属于同一用户。
2.根据权利要求1所述的方法,其特征在于,所述通过第一识别模型分支对所述特征数据集进行处理之前,所述方法还包括:
获取训练样本以及所述训练样本对应的标注结果,所述训练样本包含N对终端各自对应的所述至少两种指定类型特征数据,所述标注结果用于指示所述N对终端中每一对终端是否属于同一用户,N≥1,且N为整数;
根据所述训练样本以及所述标注结果进行模型训练,获得所述第一识别模型分支、第三识别结果以及所述关联参数,所述第三识别结果用于指示所述N对终端中每一对终端属于同一用户的概率;
根据所述训练样本、所述标注结果、所述关联参数以及所述第三识别结果进行模型训练,获得所述第二识别模型分支。
3.根据权利要求2所述的方法,其特征在于,所述第一识别模型分支包含T个识别子模型,T≥2,且T为整数,所述根据所述训练样本以及所述标注结果进行模型训练,获得所述第一识别模型分支、第三识别结果以及所述关联参数,包括:
对所述训练样本以及所述标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果,所述识别子模型中包含关联子参数,所述关联子参数用于指示在对应的交叉验证过程中,所述至少两种指定类型特征数据之间的关联程度;
根据每次交叉验证过程中生成的所述识别子结果获取所述第三识别结果;
根据每次交叉验证过程中生成的所述识别子模型中的关联子参数获取所述关联参数。
4.根据权利要求3所述的方法,其特征在于,所述对所述训练样本以及所述标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果之前,还包括:
将所述训练样本划分为T份训练子样本和1份验证子样本,所述T份训练子样本和所述验证子样本中分别包含至少一对终端各自对应的所述至少两种指定类型特征数据;
所述对所述训练样本以及所述标注结果进行T次交叉验证,获得每次交叉验证过程中生成的识别子模型和识别子结果,包括:
在第i次交叉验证过程中,对所述T份训练子样本中的T-1份训练子样本以及所述T-1份训练子样本对应的标注结果进行训练,获得识别子模型i,其中,1≤i≤T,且i为整数,每一次交叉验证过程中使用的T-1份训练子样本不同;
通过所述识别子模型i对训练子样本i进行处理,获得所述训练子样本i对应的识别子结果i,所述训练子样本i是所述T份训练子样本中,所述T-1份训练子样本之外的样本;
通过所述识别子模型i对所述验证子样本进行处理,获得所述验证子样本对应的识别子结果i’。
5.根据权利要求4所述的方法,其特征在于,所述将每次交叉验证过程中生成的所述识别子结果组合为所述第三识别结果,包括:
将识别子结果1至识别子结果T组合为所述第三识别结果中对应所述T份训练子样本的识别结果;
将识别子结果1’至识别子结果T’的平均值获取为所述第三识别结果中对应所述验证子样本的识别结果。
6.根据权利要求5所述的方法,其特征在于,根据所述训练样本、所述标注结果、所述关联参数以及所述第三识别结果进行模型训练,获得所述第二识别模型分支,包括:
将所述第三识别结果中对应所述T份训练子样本的识别结果,以及所述关联参数中对应所述T份训练子样本的参数,作为新的训练特征数据叠加入所述T份训练子样本,获得新的训练子样本;
将所述第三识别结果中对应所述验证子样本的识别结果,以及所述关联参数中对应所述验证子样本的参数,作为新的训练特征数据叠加入所述验证子样本,获得新的验证子样本;
根据所述新的训练子样本,以及所述T份训练子样本对应的标注结果进行M次迭代训练,获得备选识别模型;
根据所述备选识别模型对所述新的验证子样本进行处理,获得第四识别结果;
根据所述第四识别结果以及所述验证子样本对应的标注结果计算所述备选识别模型的评价参数,所述评价参数用于指示所述备选识别模型的准确性;
当所述评价参数不小于预设的评价参数阈值时,将所述备选识别模型获取为所述第二识别模型分支。
7.根据权利要求3至6任一所述的方法,其特征在于,所述根据每次交叉验证过程中生成的所述识别子模型中的关联子参数获取所述关联参数,包括:
将每次交叉验证过程中生成的所述识别子模型中的关联子参数叠加组合为所述关联参数;
或者,对每次交叉验证过程中生成的所述识别子模型中的关联子参数进行加权平均,获得所述关联参数。
8.根据权利要求3至6任一所述的方法,其特征在于,所述通过第一识别模型分支对所述特征数据集进行处理,获得第一识别结果,包括:
通过所述T个识别子模型分别对所述特征数据集进行处理,获得所述T个识别子模型分别对应的第一识别子结果;
对所述T个识别子模型分别对应的第一识别子结果进行加权平均,获得所述第一识别结果。
9.根据权利要求1至6任一所述的方法,其特征在,所述第一识别模型分支为因子分解机模型。
10.根据权利要求1至6任一所述的方法,其特征在于,所述第二识别模型分支为提升树模型。
11.根据权利要求1至6任一所述的方法,其特征在于,所述指定类型特征数据包括:
登录账号特征数据、硬件特征数据、软件特征数据、浏览器特征数据、网络特征数据以及用户行为特征数据中的至少一种。
12.一种终端识别装置,其特征在于,所述装置包括:
第一获取模块,用于获取特征数据集,所述特征数据集中包含两个终端各自对应的至少两种指定类型特征数据;
第一处理模块,用于通过第一识别模型分支对所述特征数据集进行处理,获得第一识别结果,所述第一识别结果用于指示所述两个终端属于同一用户的概率,所述第一识别模型的模型参数中包含关联参数,且所述关联参数用于指示所述至少两种指定类型特征数据之间的关联程度;
第二处理模块,用于通过第二识别模型分支对所述特征数据集、所述第一识别结果以及所述关联参数进行处理,获得第二识别结果,所述第二识别结果用于指示所述两个终端是否属于同一用户。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在所述第一处理模块通过第一识别模型分支对所述特征数据集进行处理之前,获取训练样本以及所述训练样本对应的标注结果,所述训练样本包含N对终端各自对应的所述至少两种指定类型特征数据,所述标注结果用于指示所述N对终端中每一对终端是否属于同一用户,N≥1,且N为整数;
第一训练模块,用于根据所述训练样本以及所述标注结果进行模型训练,获得所述第一识别模型分支、第三识别结果以及所述关联参数,所述第三识别结果用于指示所述N对终端中每一对终端属于同一用户的概率;
第二训练模块,用于根据所述训练样本、所述标注结果、所述关联参数以及所述第三识别结果进行模型训练,获得所述第二识别模型分支。
14.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一所述的终端识别方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一所述的终端识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711433504.2A CN109961080B (zh) | 2017-12-26 | 2017-12-26 | 终端识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711433504.2A CN109961080B (zh) | 2017-12-26 | 2017-12-26 | 终端识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109961080A true CN109961080A (zh) | 2019-07-02 |
CN109961080B CN109961080B (zh) | 2022-09-23 |
Family
ID=67022160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711433504.2A Active CN109961080B (zh) | 2017-12-26 | 2017-12-26 | 终端识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109961080B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852247A (zh) * | 2019-11-07 | 2020-02-28 | 北京云迹科技有限公司 | 异常检测方法、装置、电子设备及计算机可读存储介质 |
CN110866241A (zh) * | 2019-10-08 | 2020-03-06 | 北京百度网讯科技有限公司 | 评估模型生成及设备关联方法、装置及存储介质 |
CN110988263A (zh) * | 2019-12-02 | 2020-04-10 | 中国科学技术大学 | 一种基于改进的Stacking模型的车辆尾气浓度估计方法 |
CN111091138A (zh) * | 2019-11-14 | 2020-05-01 | 远景智能国际私人投资有限公司 | 辐照预报的处理方法、堆叠泛化模型的训练方法及装置 |
CN111222026A (zh) * | 2020-01-09 | 2020-06-02 | 支付宝(杭州)信息技术有限公司 | 用户类别识别模型的训练方法和用户类别识别方法 |
CN111404833A (zh) * | 2020-02-28 | 2020-07-10 | 华为技术有限公司 | 一种数据流类型识别模型更新方法及相关设备 |
CN113259144A (zh) * | 2020-02-07 | 2021-08-13 | 北京京东振世信息技术有限公司 | 一种仓储网络规划方法和装置 |
CN114363206A (zh) * | 2021-12-28 | 2022-04-15 | 奇安信科技集团股份有限公司 | 终端资产识别方法、装置、计算设备及计算机存储介质 |
CN118467715A (zh) * | 2024-07-12 | 2024-08-09 | 每日互动股份有限公司 | 一种关联设备的确定方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150163322A1 (en) * | 2012-09-24 | 2015-06-11 | Tencent Technology (Shenzhen) Company Limited | Method for acquiring information of client terminal, server and computer-readable medium |
CN105608179A (zh) * | 2015-12-22 | 2016-05-25 | 百度在线网络技术(北京)有限公司 | 确定用户标识的关联性的方法和装置 |
CN106909811A (zh) * | 2015-12-23 | 2017-06-30 | 腾讯科技(深圳)有限公司 | 用户标识处理的方法和装置 |
CN106919579A (zh) * | 2015-12-24 | 2017-07-04 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及装置、设备 |
CN107330459A (zh) * | 2017-06-28 | 2017-11-07 | 联想(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
-
2017
- 2017-12-26 CN CN201711433504.2A patent/CN109961080B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150163322A1 (en) * | 2012-09-24 | 2015-06-11 | Tencent Technology (Shenzhen) Company Limited | Method for acquiring information of client terminal, server and computer-readable medium |
CN105608179A (zh) * | 2015-12-22 | 2016-05-25 | 百度在线网络技术(北京)有限公司 | 确定用户标识的关联性的方法和装置 |
CN106909811A (zh) * | 2015-12-23 | 2017-06-30 | 腾讯科技(深圳)有限公司 | 用户标识处理的方法和装置 |
CN106919579A (zh) * | 2015-12-24 | 2017-07-04 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及装置、设备 |
CN107330459A (zh) * | 2017-06-28 | 2017-11-07 | 联想(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866241A (zh) * | 2019-10-08 | 2020-03-06 | 北京百度网讯科技有限公司 | 评估模型生成及设备关联方法、装置及存储介质 |
CN110852247A (zh) * | 2019-11-07 | 2020-02-28 | 北京云迹科技有限公司 | 异常检测方法、装置、电子设备及计算机可读存储介质 |
CN111091138A (zh) * | 2019-11-14 | 2020-05-01 | 远景智能国际私人投资有限公司 | 辐照预报的处理方法、堆叠泛化模型的训练方法及装置 |
CN110988263B (zh) * | 2019-12-02 | 2021-07-06 | 中国科学技术大学 | 一种基于改进的Stacking模型的车辆尾气浓度估计方法 |
CN110988263A (zh) * | 2019-12-02 | 2020-04-10 | 中国科学技术大学 | 一种基于改进的Stacking模型的车辆尾气浓度估计方法 |
CN111222026A (zh) * | 2020-01-09 | 2020-06-02 | 支付宝(杭州)信息技术有限公司 | 用户类别识别模型的训练方法和用户类别识别方法 |
CN111222026B (zh) * | 2020-01-09 | 2023-07-14 | 支付宝(杭州)信息技术有限公司 | 用户类别识别模型的训练方法和用户类别识别方法 |
CN113259144A (zh) * | 2020-02-07 | 2021-08-13 | 北京京东振世信息技术有限公司 | 一种仓储网络规划方法和装置 |
CN113259144B (zh) * | 2020-02-07 | 2024-05-24 | 北京京东振世信息技术有限公司 | 一种仓储网络规划方法和装置 |
CN111404833A (zh) * | 2020-02-28 | 2020-07-10 | 华为技术有限公司 | 一种数据流类型识别模型更新方法及相关设备 |
CN111404833B (zh) * | 2020-02-28 | 2022-04-12 | 华为技术有限公司 | 一种数据流类型识别模型更新方法及相关设备 |
CN114363206A (zh) * | 2021-12-28 | 2022-04-15 | 奇安信科技集团股份有限公司 | 终端资产识别方法、装置、计算设备及计算机存储介质 |
CN118467715A (zh) * | 2024-07-12 | 2024-08-09 | 每日互动股份有限公司 | 一种关联设备的确定方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109961080B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961080A (zh) | 终端识别方法及装置 | |
Yang et al. | Social media data analytics for business decision making system to competitive analysis | |
CN110796190B (zh) | 具有深度学习特征的指数建模 | |
Setyawan et al. | Comparison of multinomial naive bayes algorithm and logistic regression for intent classification in chatbot | |
Duan et al. | Separate or joint? Estimation of multiple labels from crowdsourced annotations | |
Tsai et al. | A novel model of technology diffusion: System dynamics perspective for cloud computing | |
CN110147882B (zh) | 神经网络模型的训练方法、人群扩散方法、装置及设备 | |
Chagas et al. | Current applications of machine learning techniques in CRM: a literature review and practical implications | |
CN108427708A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
Kokkodis | Dynamic, multidimensional, and skillset-specific reputation systems for online work | |
CN106600052A (zh) | 一种基于时空轨迹的用户属性与社会网络检测系统 | |
CN112053184B (zh) | 推广信息投放方法、装置、电子设备以及存储介质 | |
WO2023284516A1 (zh) | 基于知识图谱的信息推荐方法、装置、设备、介质及产品 | |
CN112287238A (zh) | 用户特征的确定方法和装置、存储介质及电子设备 | |
CN113052653A (zh) | 一种金融产品内容推荐方法、系统及计算机可读存储介质 | |
Abulhaija et al. | Mobile Applications Rating Performance: A Survey. | |
CN112165639A (zh) | 内容分发方法、装置、电子设备以及存储介质 | |
CN110069686A (zh) | 用户行为分析方法、装置、计算机装置及存储介质 | |
CN116975686A (zh) | 训练学生模型的方法、行为预测方法和装置 | |
Kuo et al. | Integration of artificial immune system and K-means algorithm for customer clustering | |
CN114298118B (zh) | 一种基于深度学习的数据处理方法、相关设备及存储介质 | |
CN117196744A (zh) | 商品推荐方法、装置、设备及计算机可读存储介质 | |
Çağil et al. | An intelligent simulation model of online consumer behavior | |
Luo et al. | DeepAttr: Inferring demographic attributes via social network embedding | |
CN114463590A (zh) | 信息处理方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
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 |