一种终端用户鉴权方法及系统
技术领域
本发明属于大数据分析与数据挖掘领域,尤其涉及一种终端用户鉴权方法及系统。
背景技术
移动互联网的快速发展催生了手机端业务的快速发展,用户只需要在手机APP上提交申请资料便可以极速享受相应应用的功能。而与此同时运营商服务器这边会有部署一套鉴权措施,以保证合法用户权益,防止不良用户给运营商带来损失。由于市场竞争激烈,服务器这边是否能够快速且精准地反馈结果就变得非常重要。
通常来说,采用如下方式鉴权:接收手机端用户的申请数据,包括用户的性别、年龄、职业信息、教育背景、居住地区等信息,手机关联的信息,比如IP地址、手机APP数量、手机品牌等,并在用户的授权下查询用户的第三方数据,以获得用户特征的360度全景图。我们在业务有了一定积累之后,会基于过去的历史数据建立历史数据库,并基于这些历史数据来建立和优化鉴权模型,以更好的控制风险。
而这种鉴权实际是一种二分类任务,即预测一个用户是否为不良用户,从而决定是否给与其授权。传统的鉴权方法通常使用有监督学习,通过对有标签的历史数据建模来预测用户是否为合法用户。然而由于基于历史的带有标签的数据非常有限,基于这些有限数据难以得到较好和较稳定的模型效果,而同时我们的数据库中往往有大量无标签的数据并没有为我们所用,而这些无标签数据却往往携带了大量信息。此外,在特征数量较多,而用于监督学习建模的样本量相对较少的情况下,会出现维度灾难,且特征之间的相关性也会导致多重共线性的问题,对此业界往往通过PCA(主成分分析)的方法来对特征进行降维,但是PCA只能够提取线性特征。此外,由于幸存者偏差效应的存在,使得我们仅仅只能够通过之前被授权的用户的表现来优化模型,从而导致样本空间不完备,在模型迭代的过程中会导致样本逐渐偏离真实分布。
发明内容
针对上述现有技术中存在的缺陷,本发明使用半监督学习的方法来优化模型。就此,本发明提供一种终端用户鉴权方法,包括以下步骤:
步骤S101、基于当前用户请求,获取用户信息;
步骤S103、将所述用户信息预处理为第一数据类型用户信息;
步骤S105、使用编码器对所述第一数据类型用户信息进行特征降维处理;
步骤S107、基于第一模型,对特征降维处理后的用户信息进行分析,以对所述用户进行鉴权;
所述第一模型为逻辑回归模型,所述逻辑回归模型使用下式表示:
,其中f为Sigmoid函数,x为基于特征降维后的数据的加权和;
所述逻辑回归模型通过如下步骤建立:
获取数据库中的全部历史用户信息;
基于所述全部历史用户信息构建自编码器;
获取数据库中的标签用户信息;
基于所述编码器和标签用户信息建立逻辑回归模型。
其中,所述第一数据类型为数值型。
其中,所述步骤S103包括将文本型数据处理为数值型数据。
其中,编码器为自编码器的一部分,其中所述自编码器包括编码器和解码器。
其中,所述基于所述全部历史用户信息构建自编码器包括:
对所述全部历史用户信息进行预处理;
对预处理后的全部历史用户信息提取特征变量,构建第一特征变量集合;
基于所述第一特征变量集合,构建自编码器。
其中,所述基于所述编码器和标签用户信息建立逻辑回归模型包括:
对所述标签用户信息进行预处理,得到第一标签用户数据;
使用编码器对所述第一标签用户数据进行降维处理,得到第二标签用户数据;
基于所述第一标签用户数据和第二标签用户数据建立逻辑回归模型。
其中,步骤S107包括:使用所述第一模型对每一个实时请求的客户计算其为负样本的概率p,如果p>0.5则认为该用户存在风险,鉴权不能通过,否则,鉴权通过。
其中,所述逻辑回归模型的表达式为:
本发明还提出了一种终端用户鉴权系统,其包括:
信息获取模块,其基于当前用户请求,获取用户信息;
数据预处理模块,其用于将所述用户信息预处理为第一数据类型用户信息;
特征降维处理模块,其使用编码器对所述第一数据类型用户信息进行特征降维处理;
鉴权模块,其用于基于第一模型,对特征降维处理后的用户信息进行分析,以对所述用户进行鉴权。
其中,所述第一模型为逻辑回归模型,所述逻辑回归模型使用下式表示:
,其中f为Sigmoid函数,x为基于特征降维后的数据的加权和。
其中,所述系统还包括:
历史信息获取模块,其用于获取数据库中的全部历史用户信息;
自编码器构建模块,其基于所述全部历史用户信息构建自编码器;
标签信息获取模块,其用于获取数据库中的标签用户信息;
模型建立模块,其基于所述编码器和标签用户信息建立逻辑回归模型。
与现有技术相比,由于本发明采用全量样本建模,其中全量样本表征了总体样本的真实分布,且样本量远大于有标签的样本量,使用整体数据进行编码,进行特征降维,可以有效避免幸存者偏差。同时其强大的非线性特征提取能力,克服了仅仅使用PCA降维方法带来的线性特征提取,避免丢失很多非线性特征携带的信息。该方法有效地使用了拒绝样本进行建模,实现了更高的模型精度,也使得模型不会在一次次的迭代优化中累计偏差,导致模型越来越失真。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出根据本发明实施例的一种终端用户鉴权方法流程图;
图2是示出根据本发明实施例的逻辑回归模型建立流程图;
图3是示出根据本发明实施例的构建自编码器流程图;
图4是示出根据本发明某一实施例的建立逻辑回归模型流程图;
图5是示出根据本发明实施例的降维提取变量示意图;
图6是示出根据本发明实施例的一种终端用户鉴权系统的示意图;以及
图7是示出根据本发明某一实施例的终端用户鉴权系统的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
下面结合附图详细说明本发明的可选实施例。
半监督学习是一种介于有监督学习和无监督学习中间的一种数据挖掘方法。半监督学习通常使用像标签传播算法这类方法来对无标签样本进行标签标注。而使用标签传播算法的划分结果不稳定、随机性强,且精度不高。通过人为的算法对无标签样本打上标签,会使得标签严重依赖于此人为设计的算法,而非客观事实。这样在后续建模优化的过程中会导致误差越来越被放大。
同时,本发明使用自编码器技术,充分利用无标签数据所包含的信息,通过对全量数据基于神经网络编码器进行特征降维,以抓取特征的非线性信息,然后利用这些信息结合有标签数据进行监督学习,提升模型效果。
其中,在本发明中,全量数据包括有标签数据和无标签数据,其区别仅在于是否有标签,而拥有的特征则是完全相同的。例如如果标签数据有‘年龄’这个特征,那么无标签数据也有‘年龄’这个特征。
实施例一、
如图1所示,本发明公开了一种终端用户鉴权方法,包括以下步骤:
步骤S101、基于当前用户请求,获取用户信息;
步骤S103、将所述用户信息预处理为第一数据类型用户信息;
步骤S105、使用编码器对所述第一数据类型用户信息进行特征降维处理;
步骤S107、基于第一模型,对特征降维处理后的用户信息进行分析,以对所述用户进行鉴权。
实施例二、
一种终端用户鉴权方法,包括以下步骤:
步骤S101、基于当前用户请求,获取用户信息;
步骤S103、将所述用户信息预处理为第一数据类型用户信息;
步骤S105、使用编码器对所述第一数据类型用户信息进行特征降维处理;
步骤S107、基于第一模型,对特征降维处理后的用户信息进行分析,以对所述用户进行鉴权。
其中,所述第一数据类型为数值型。
其中,所述步骤S103包括将文本型数据处理为数值型数据。
其中,编码器为自编码器的一部分,其中所述自编码器包括编码器和解码器。
其中,所述第一模型为逻辑回归模型,所述逻辑回归模型使用下式表示:
,其中f为Sigmoid函数,x为基于特征降维后的数据的加权和,
e为自然常数。
其中,如图2所示,所述逻辑回归模型通过如下步骤建立:
获取数据库中的全部历史用户信息;
基于所述全部历史用户信息构建自编码器;
获取数据库中的标签用户信息;
基于所述编码器和标签用户信息建立逻辑回归模型。
其中,如图3所示,所述基于所述全部历史用户信息构建自编码器包括:
对所述全部历史用户信息进行预处理;
对预处理后的全部历史用户信息提取特征变量,构建第一特征变量集合;
基于所述第一特征变量集合,构建自编码器。
其中,如图4所示,所述基于所述编码器和标签用户信息建立逻辑回归模型包括:
对所述标签用户信息进行预处理,得到第一标签用户数据;
使用编码器对所述第一标签用户数据进行降维处理,得到第二标签用户数据;
基于所述第一标签用户数据和第二标签用户数据建立逻辑回归模型。
其中,步骤S107包括:使用所述第一模型对每一个实时请求的客户计算其可能为负样本的概率p,如果p>0.5则认为该用户存在风险,鉴权不能通过,否则,鉴权通过。
其中,使用
表示经过编码器变换之后的特征,根据这些特征及相应标签(标签依次记为
)建立逻辑回归模型,即寻找合适的参数
和b使得
输出其为负样本的概率。其中f为Sigmoid函数,即
。
那么,逻辑回归模型的表达式实质上是
在本发明实施例中,
表示的是降维后的特征,
是模型参数。
结合已知的观测样本,使用极大似然估计方法来估计以上参数。
具体来说,假定有标签数据记为
和大量无标签数据(包括历史未鉴权通过的用户)记为
;
其中X的上标表示不同的特征,下标表示不同的观测数据。总共N个观测数据,其中编号1至l的为有标签数据,编号l+1至N的为无标签数据, l<<N, y为这些特征对应的标签,取值为0或1,0表示用户为优质客户,1表示不良客户。
提取出以上有标签数据
,使用训练好的自编码器对这些特征
进行降维变换,得到
;
建立逻辑回归模型:令
,
,其中
是模型参数。我们通过以上标签数据来进行参数估计。
即
来输出用户违约的概率,并使得该违约概率最大可能对应我们观测数据的标签。也就是说我们采用极大似然法来估计参数,即我们的目标是最小化
在一个应用场景中,本发明实施例总共拥有65000条用户数据,其中有标签数据8500条,无标签数据56500条;具有包括个人属性、资产状况等11个特征。即l=8500, N=65000, m=11;
构建一个自编码器,其将11维特征降为3维的Z;
通过训练自编码器得到对应的3维的Z的参数值,分别为(0.63,0.12,…,0.72)、(0.33,-0.54,…,3.6)和(2.3,0.44,…,0.35)。其中,训练自编码器即通过最小化L(X, G(F(X)))得到,其中的F为编码器,本质是一个神经网络;G是解码器,本质是另一个神经网络。F这个神经网络的本质是线性变换之后通过激活函数来实现变换,参数(0.63,0.12,…,0.72)、(0.33,-0.54,…,3.6)和(2.3,0.44,…,0.35)是这些线性变换的参数,而1/(1+e^(-x))是激活函数,使用该激活函数的目的是为了实现非线性变换。
具体而言,对于每个样本X, 编码器降维过程具体如下
随后构建逻辑回归模型,经过训练得到了模型参数
的值:
在估计出上述参数之后,使用所述逻辑回归模型对每一个实时请求的客户依次使用降维和逻辑回归模型计算其可能为负样本的概率p,如果p>0.5则认为该用户是风险用户,不能给予授权,反之则给予用户授权。
实施例三、
在业务过程中积累了大量的用户数据,构成历史数据集,用于建立模型。对于每个用户,我们收集了包括用户的性别、年龄、职业信息、教育背景、居住地区等信息,手机关联的信息,比如IP地址、手机APP数量、手机品牌等,并在用户的授权下查询用户的第三方数据,比如通信数据等。
这些用户中我们之前使用过某种或某一类APP,具有良好信誉的用户或者优质用户,定义为标签用户,即是否是好用户,值为0 或1。这部分占比较少。
而鉴权未通过或者未使用过相应APP,没有相应鉴权信息的用户,就没有他们的标签数据,但是这些没有标签的特征数据仍然可以为我们所用。
上述少量有标签数据记为
和大量无标签数据(历史拒绝用户)记为
其中X的上标表示不同的特征,下标表示不同的观测数据。总共n个观测数据,其中编号1至l的为有标签数据, 编号l+1至n的为无标签数据, l<<n, y为这些特征对应的标签,取值为0或1,0表示用户为好客户,1表示坏客户。
实施例四、
在本发明中,自编码网络本质上是一类无监督学习,通过降维提取变量的主特征,以减弱相关变量之间的两两影响。通过自编码网络提取用户数据的主要特征,并基于提取的用户特征进行聚类,结合用户是否欺诈的标签对这些类别进行判定。对于任意一个申请用户,通过其与这些类别之间的距离关系判定其属于那个类别,并作为对其是否是欺诈用户的判定。
具体地,自编码网络的过程为:
将输入变量的集合记作X,设定编码函数
以及解码函数
其中f和g为神经网络且f输出的维数远远小于X的维数,使得
最小。
记
,则H即为对X提取出的特征。如图5所示,h1, h2, h3即为通过编码器算法捕捉到的降维的特征表示,实现了对变量x1,x2,...,x7的关键信息提取。
另外,一个自编码器实际上是由一个编码器和一个解码器两部分组成。编码器和解码器的结构都各自是一个神经网络。
从训练好的自编码器中抽取出编码器部分,就可以实现降维的效果。
通过自编码器的降维优于PCA在于其使用的是神经网络的结构。如果让神经网络中的激活函数蜕化为恒等函数,则该自编码器则就是一个PCA过程。由于激活函数的存在,自编码器能够实现非线性的降维。
神经网络是这样的一个映射f,它接受一组输入向量X,通过
输出另一组向量。其中X为N维的向量,W为一个M*N维的矩阵,b为M维的向量,f(X)的输出为一个M维的向量。
假设X为我们的观测变量,编码器网络接受X的输入,通过上述神经网络变成一个低维特征Z,记Z的维度为M,则N>>M。
Z也可以称做隐变量,因为Z并不是直接通过观测得到的变量。
解码器网络则接受低维特征Z的输入,通过另一个神经网络变成高维特征X1,X1的维度和X相同。
自编码器将原始观测变量X经过编码器后转变为低维向量Z,Z再经过解码器生成高维向量
(和X相同维度),自编码器的的训练目标是使得
和原始的高维特征X尽可能相同,也即其损失函数就是这两个高维特征的差。观测变量依次经过一个解码器和一个编码器能实现最大程度的复原,说明X经过编码器生成的中间层Z携带了X中绝大多数信息。换句话说,如果降维后的Z丢失了X中的信息较多,则不太可能从Z通过解码器还原出X的几乎所有信息。所以Z可以近似作为X的替代。由于Z的维度远小于X,所以实现了降维。
实施例五、
如图6所示,本发明还提出了一种终端用户鉴权系统,其包括:
信息获取模块,其基于当前用户请求,获取用户信息;
数据预处理模块,其用于将所述用户信息预处理为第一数据类型用户信息;
特征降维处理模块,其使用编码器对所述第一数据类型用户信息进行特征降维处理;
鉴权模块,其用于基于第一模型,对特征降维处理后的用户信息进行分析,以对所述用户进行鉴权。
其中,所述第一模型为逻辑回归模型,所述逻辑回归模型使用下式表示:
其中f为Sigmoid函数,x为基于特征降维后的数据的加权和。
如图7所示,其中,所述系统还包括:
历史信息获取模块,其用于获取数据库中的全部历史用户信息;
自编码器构建模块,其基于所述全部历史用户信息构建自编码器;
标签信息获取模块,其用于获取数据库中的标签用户信息;
模型建立模块,其基于所述编码器和标签用户信息建立逻辑回归模型。
实施例六、
本公开实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(AN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。