CN107292321A - 用于获得模型的方法和设备 - Google Patents
用于获得模型的方法和设备 Download PDFInfo
- Publication number
- CN107292321A CN107292321A CN201610197405.8A CN201610197405A CN107292321A CN 107292321 A CN107292321 A CN 107292321A CN 201610197405 A CN201610197405 A CN 201610197405A CN 107292321 A CN107292321 A CN 107292321A
- Authority
- CN
- China
- Prior art keywords
- group
- data
- parameter
- latent
- model
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开的实施例涉及用于获得模型的方法和设备。该方法包括获取模型的第一组参数,第一组参数基于数据流中的第一组数据而生成,该数据流中的数据与至少两个维度相关联,至少两个维度与至少两组潜特征分别关联,第一组参数描述包括第一组数据在内的该数据流在至少两组潜特征上的分布。该方法还包括基于第一组参数,确定该数据流中在第一组数据之后观察到的第二组数据的与至少两组潜特征相关联的概率。该方法还包括基于第一组参数和该概率来确定模型的第二组参数,第二组参数描述包括第一组数据和第二组数据在内的该数据流在至少两组潜特征上的分布。此外,该方法还包括基于第二组参数和该概率来确定模型对该数据流的拟合度。
Description
技术领域
本公开的实施例涉及机器学习领域,并且更具体地,涉及用于获得模型的方法和设备。
背景技术
随着信息技术的飞速发展,数据规模的增长十分迅速。在这样的背景和趋势下,机器学习受到越来越广泛的关注。聚类分析是机器学习领域重要的基础性问题,它将样本点划分到不同的簇中,使得特征相似的样本点在相同的簇中。针对例如用于描述用户对电影的评分的二元数据(dyadic data)而言,二值矩阵分解(Binary MatrixFactorization,BMF)模型是一种常见的聚类分析方法。BMF模型通过寻找表示数据的组成部分的两个二值特征矩阵及表示这些组成部分之间的混合关系的一个权重矩阵来拟合原始数据。此外,可以在经典的分解渐进贝叶斯(Factorized Asymptotic Bayesian,FAB)推理方法中使用随机优化技术(Stochastic FAB,简称为sFAB)来获得BMF模型的参数,以提高计算的速度。
然而,上述的方法需要足够大的存储器来存储所有的样本数据,并且需要预先知道样本数据的总数目。这对于其中样本数据为无止尽的数据流的应用场景而言是不现实的。
发明内容
本公开的实施例提供了一种用于获得模型的方法和设备。
根据本公开的第一方面,提供了一种用于获得模型的方法。该方法包括获取模型的第一组参数,第一组参数基于数据流中的第一组数据而生成,该数据流中的数据与至少两个维度相关联,至少两个维度与至少两组潜特征分别关联,第一组参数描述包括第一组数据在内的该数据流在至少两组潜特征上的分布。该方法还包括基于第一组参数,确定该数据流中在第一组数据之后观察到的第二组数据的与至少两组潜特征相关联的概率。该方法还包括基于第一组参数和该概率来确定模型的第二组参数,第二组参数描述包括第一组数据和第二组数据在内的该数据流在至少两组潜特征上的分布。此外,该方法还包括基于第二组参数和该概率来确定模型对该数据流的拟合度。
根据本公开的第二方面,提供了一种用于获得模型的设备。该设备包括至少一个处理单元以及至少一个存储器。至少一个存储器耦合至至少一个处理单元并且具有在其上存储的指令,该指令在由至少一个处理单元执行时使得该设备执行以下动作:获取模型的第一组参数,第一组参数基于数据流中的第一组数据而生成,该数据流中的数据与至少两个维度相关联,至少两个维度与至少两组潜特征分别关联,第一组参数描述包括第一组数据在内的该数据流在至少两组潜特征上的分布;基于第一组参数,确定该数据流中在第一组数据之后观察到的第二组数据的与至少两组潜特征相关联的概率;基于第一组参数和该概率来确定模型的第二组参数,第二组参数描述包括第一组数据和第二组数据在内的该数据流在至少两组潜特征上的分布;以及基于第二组参数和该概率来确定模型对该数据流的拟合度。
根据本公开的第三方面,提供了一种计算机可读存储介质。该计算机可读存储介质具有在其上存储的计算机可读程序指令。这些计算机可读程序指令用于执行根据以上第一方面所描述的方法的步骤。
本公开的实施例能够对流入的一组数据进行即时处理并且丢弃之前流入的数据,而无需在存储器中存储所有数据,因此适合于其中样本数据为无止尽的数据流的应用场景。此外,本公开的实施例通过模型扩展和模型收缩的机制能够很好地体现最近流入的数据中的特征,从而提高数据处理的效率。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的用于获得模型的架构100的框图;
图2示出了根据本公开的实施例的用于获得模型的方法200的流程图;
图3示出了根据本公开的实施例的用于模型扩展的方法300的流程图;
图4示出了根据本公开的实施例的用于模型扩展的方法400的流程图;
图5示出了根据本公开的实施例的用于模型收缩的方法500的流程图;以及
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本公开的实施例中,术语“二元数据”是指由两个相互关联的对象集合所构成的数据,并且观察值(也称为样本值或者样本数据)基于二元组而产生,其中二元组具有来自每个对象集合的一个元素。二元数据的示例可以包括例如一组用户对一组电影的评分,其可以表示为I行J列的数据矩阵X,例如I行中的每一行可以表示一个用户,J列中的每一列可以表示一部电影,并且X的每个元素xij的值可以表示第i个用户对第j部电影的评分。特别地,当xij的取值为“0”或“1”时(例如,“1”可以表示第i个用户喜欢第j部电影,而“0”可以表示第i个用户不喜欢第j部电影),数据矩阵X可以被称为“二值二元数据”(binary dyadic data)。
类似地,“多元数据”是指由相互关联的多个对象集合所构成的数据,并且观察值(也称为样本值或者样本数据)基于多元组而产生,每个对象集合贡献观察值中的一个元素。注意,在本公开的上下文中,将主要结合二元数据来阐述本公开实施例的原理和思想。但是,本公开的实施例同样适用于更高维度的多元数据。
在本公开的实施例中,术语“模型”一般是指针对参照某种系统的特征,采用数学语言概括地或近似地表述出的该系统的关系结构。模型一般可以通过对已知数据进行训练来生成。生成的模型可以包括模型结构和模型参数等等。模型参数可以根据具体模型的类型不同而不同。举例而言,对于针对二值二元数据的BMF模型而言,模型参数可以包括表示数据的组成部分的两个二值特征矩阵及表示这些组成部分之间的混合关系的一个权重矩阵。
在本公开的以下描述中,将针对二值二元数据来具体描述本公开的实施例,并且“获得模型”一般是指根据观察到的数据来确定模型参数的过程,其中“模型”例如为BMF模型。然而,应当理解,上述示例仅仅是出于说明的目的,不旨在以任何方式限制本发明的范围。
在现有技术中,当使用FAB或者sFAB来获得BMF模型的参数时,需要足够大的存储器来存储所有的样本数据,并且需要预先知道样本数据的总数目。这对于其中样本数据为无止尽的数据流的应用场景而言是不现实的。
为了解决上述问题以及其他潜在问题中的一个或者多个,根据本公开的实施例,提出了一种用于获得模型的方案,该方案对流入的一组数据进行即时处理并且丢弃之前流入的数据,因此无需在存储器中存储所有数据。
图1示出了根据本公开的实施例的用于获得模型的架构100的框图。如图1所示,架构100可以包括模型获取系统110。模型获取系统110被配置为接收数据流120,基于数据流120来确定模型参数以及向模型130提供所确定的模型参数。模型获取系统110可以包括数据观察模块111和参数确定模块112。
数据观察模块111被配置为接收数据流120并且向参数确定模块112提供从数据流120观察到的数据。仍以一组用户对一组电影的评价这一场景为例,数据流120中的数据可以表示为I行J列的数据矩阵X,其表示I个用户对J部电影的评价。例如,在数据矩阵X中,I行中的每一行可以表示一个用户,J列中的每一列可以表示一部电影。X的每个元素xij的值可以为“0”或“1”,其中“1”例如可以表示第i个用户喜欢第j部电影,而“0”例如可以表示第i个用户不喜欢第j部电影。
在此示例中,数据观察模块111可以向参数确定模块112提供从数据流120观察到的第一组数据Xt-1(t=1,2,3……),并且然后可以向参数确定模型112提供数据流120中的在第一组数据Xt-1之后观察到的第二组数据Xt等等。第一组数据Xt-1可以表示为It-1×Jt-1的数据矩阵,其表示It-1个用户对Jt-1部电影的评价;并且数据流120中的第二组数据Xt可以表示为It×Jt的数据矩阵,其表示It个用户对Jt部电影的评价。
参数确定模块112被配置为基于接收到的观察数据以及在接收到该观察数据之前所确定的模型参数来迭代地确定当前的模型参数。例如,参数确定模块112可以基于第二组数据Xt和对应于第一组数据Xt-1的模型参数Pt-1来确定与包括第一组数据Xt-1和第二组数据Xt的数据流120相对应的模型参数Pt,其中模型参数Pt-1基于第一组数据Xt-1而生成等等。
图2示出了根据本公开的实施例的用于获得模型的方法200的流程图。例如,方法200可以由如图1所示的参数确定模块112来执行。应当理解的是,方法200还可以包括未示出的附加步骤和/或可以省略所示出的步骤。本公开的范围在此方面不受限制。
方法200开始于步骤210。在步骤210中,由参数确定模块112获取模型130的第一组参数Pt-1。第一组参数Pt-1是基于数据流120中的第一组数据Xt-1而生成的。例如,第一组参数Pt-1可以基于第一组数据Xt-1以及在接收到第一组数据Xt-1之前所确定的模型参数Pt-2来生成。
数据流120中的数据可以是二元数据或者多元数据。也就是说,数据流120可以与至少两个维度相关联,这至少两个维度可以与至少两组潜特征分别关联。在本公开的实施例中,“潜特征(latentfeature)”可以表示不能被直接观测到、而需要通过样本数据推导得出的数据特征。仍以一组用户对一组电影的评价这一场景为例,数据流120中的数据可以与用户和电影两个维度相关联,其中“用户”维度可以与一组潜特征相关联,而“电影”维度可以与另一组潜特征相关联。与“用户”维度相关联的潜特征可以包括与用户的性别、年龄等属性相关联的特征,例如,男性、女性、老年(例如,70岁及以上)、中年(例如,40~69岁)、青年(例如,18~39岁)、未成年(例如,0~17岁),等等。每个潜特征(诸如,男性)可以对应于一个类别的用户。
将会理解,同一用户可以被同时划分到两个或更多个类别中,即同时与两个或更多个不同的潜特征相关联,例如一名23岁的男性用户可以被同时划分到“男性”和“青年”这两个类别中,即同时与“男性”和“青年”这两个潜特征相关联。类似地,与“电影”相关联的潜特征可以包括与电影的场景、情绪、形式等属性相关联的特征,例如,历史片、战争片、科幻片、喜剧、悲剧、卡通片、纪录片等,其中每个潜特征(诸如,历史片)可以对应于一个类别的电影。将会理解,同一电影可以被同时划分到两个或更多个类别中,即同时与两个或更多个不同的潜特征相关联。
针对利用I×J的数据矩阵X来表示的数据流120而言,与“用户”维度相关联的潜特征可以用潜特征矩阵U来表示,其中U是I×K的数据矩阵(以下也被称为“行潜特征矩阵”),K表示与“用户”维度相关联的潜特征(以下也被称为“行潜特征”)的数目。U中的每个元素uik的值可以为“0”或“1”,其中当数据矩阵X中的元素xij具有第k个行潜特征时uik等于“1”。类似地,与“电影”维度相关联的潜特征可以用潜特征矩阵V来表示,其中V是J×L的数据矩阵(以下也被称为“列潜特征矩阵”),L表示与“电影”维度相关联的潜特征(以下也被称为“列潜特征”)的数目。V中的每个元素ujl的值可以为“0”或“1”,其中当数据矩阵X中的元素xij具有第l个列潜特征时vjl等于“1”。具体地,与第一组数据Xt-1相对应的行潜特征矩阵可以用Ut-1来表示,Ut-1为It-1×K的数据矩阵;并且与第一组数据Xt-1相对应的列潜特征矩阵可以用Vt-1来表示,Vt-1为Jt-1×L的数据矩阵。
模型130的第一组参数Pt-1可以描述包括第一组数据Xt-1在内的数据流120在至少两组潜特征上的分布。例如,第一组参数Pt-1可以包括第一组向量{αt-1,βt-1},其中αt-1为K个元素的向量,用于指示包括第一组数据Xt-1在内的数据流120在行潜特征(即,与“用户”维度相关联的潜特征,诸如男性、女性、老年、中年、青年、未成年等)上分布的比例。也即,αt-1是与第一组数据Xt-1相对应的行潜特征矩阵Ut-1的先验。βt-1为L个元素的向量,其用于指示包括第一组数据Xt-1在内的数据流120在列潜特征(即,与“电影”维度相关联的潜特征,诸如历史、战争、科幻、喜剧、悲剧、卡通、纪录片等)上分布的比例。也即,βt-1是与第一组数据Xt-1相对应的列潜特征矩阵Vt-1的先验。此外,第一组参数Pt-1还包括第一组权重Wt-1。Wt-1为K×L的矩阵,其用于描述与包括第一组数据Xt-1在内的数据流120相对应的行潜特征和列潜特征之间的关系。
接下来,方法200进行到步骤220。在步骤220中,由参数确定模块112基于第一组参数Pt-1,确定数据流120中在第一组数据Xt-1之后观察到的第二组数据Xt的与至少两组潜特征相关联的概率。在一些实施例中,可以通过确定与第二组数据Xt相对应的行潜特征矩阵Ut(其中,Ut为It×K的数据矩阵)的变分分布q(Ut)来确定第二组数据Xt的与行潜特征相关联的概率并且可以通过确定与第二组数据Xt相对应的列潜特征矩阵Vt(其中,Vt为Jt×L的数据矩阵)的变分分布q(Vt)来确定第二组数据Xt的与列潜特征相关联的概率。在本公开的实施例中,潜特征矩阵(例如,行潜特征矩阵或者列潜特征矩阵)的变分分布可以用于描述样本数据被聚类到与潜特征(例如,行潜特征或者列潜特征)相对应的类别的概率。在一些实施例中,可以基于第一组参数Pt-1和第二组数据Xt来确定q(Ut)和q(Vt)。附加地或者备选地,可以利用与sFAB(例如,被记载在由刘春辰等所著的“Scalable Model Selection for Large-Scale Factorial RelationalModels”,International Conference on Machine Learning,2015:1227-1235中)中的“期望步骤(E-step)”相同的方式来确定q(Ut)和q(Vt),在本文中不再作进一步的描述。
在步骤230中,由参数确定模块112基于第一组参数Pt-1和第二组数据Xt的与至少两组潜特征相关联的概率(即,q(Ut)和q(Vt))来确定模型130的第二组参数Pt。
类似地,模型130的第二组参数Pt可以描述包括第一组数据Xt-1和第二组数据Xt在内的数据流120在至少两组潜特征上的分布。例如,第二组参数Pt可以包括第二组向量{αt,βt},其中αt为K个元素的向量,用于指示包括第一组数据Xt-1和第二组数据Xt在内的数据流120在行潜特征上分布的比例。也即,αt是与第一组数据Xt相对应的行潜特征矩阵Ut的先验。βt为L个元素的向量,其用于指示包括第一组数据Xt-1和第二组数据Xt在内的数据流120在列潜特征上分布的比例。也即,βt是与第一组数据Xt相对应的列潜特征矩阵Vt的先验。此外,第二组参数Pt还包括第二组权重Wt。Wt为K×L的矩阵,其用于描述与包括第一组数据Xt-1和第二组数据Xt在内的数据流120相对应的行潜特征和列潜特征之间的关系。
在一些实施例中,在步骤230,可以基于第一组向量{αt-1,βt-1}和第二组数据Xt的与至少两组潜特征相关联的概率(即,q(Ut)和q(Vt))来确定第二组向量{αt,βt},以作为第二组参数Pt的一部分。例如,可以基于向量αt-1、第二组数据Xt和与第二组数据Xt相对应的行潜特征矩阵Ut的变分分布q(Ut)来确定向量αt;并且可以基于向量βt-1、第二组数据Xt和与第二组数据Xt相对应的列潜特征矩阵Vt的变分分布q(Vt)来确定向量βt。
在一些实施例中,在步骤230,还可以基于第二组数据Xt、第二组数据Xt的与至少两组潜特征相关联的概率(即,q(Ut)和q(Vt))和第一组参数来确定第二组权重Wt,以作为第二组参数Pt的一部分。
接下来,方法200进行到步骤240。在步骤240,由参数确定模块112基于第二组参数Pt和第二组数据Xt的与至少两组潜特征相关联的概率(即,q(Ut)和q(Vt))来确定模型130对数据流120的拟合度。在一些实施例中,模型130对数据流120的拟合度可以由与模型130相关联的目标函数来表征。在这样的实施例中,在步骤240,可以通过确定这样的目标函数的收敛性来估计模型对数据的拟合度。
目标函数Lt可由多个项构成,例如至少包括第一项和第二项。第一项用于控制模型130对数据流120的拟合。例如,第一项可以包括对数似然的期望、熵和正则项的和。可以利用sFAB中所使用的目标函数作为目标函数Lt的第一项,因此在本文中不再作进一步的描述。第二项用于将信任域方法引入到目标函数中以约束第一组参数和第二组参数之间的差异。例如,第二项可以被表示为-εtDKL(Pt-1||Pt),其中εt用于控制目标函数的正则化的强度,并且DKL(Pt-1||Pt)表示第一组参数Pt-1和第二组参数Pt之间的KL散度(Kullback–Leiblerdivergence)。DKL(Pt-1||Pt)越小表明第一组参数Pt-1和第二组参数Pt越接近。
例如,在一个实施例中,至少可以基于第一组参数Pt-1来计算目标函数的第二值Lt-1,并且至少可以基于第二组参数Pt来计算目标函数的第二值Lt。响应于两者的差值小于预定收敛阈值δ,即Lt-Lt-1<δ,可以确定目标函数收敛;并且响应于两者的差值不小于预定收敛阈值,即Lt-Lt-1≥δ,可以确定目标函数不收敛。
在一些实施例中,响应于目标函数不收敛,可以多次迭代地执行方法200中的步骤220至240,直到目标函数收敛或者达到预先设定的最大迭代数目。附加地或者备选地,响应于目标函数收敛,可以继续重新执行方法200,例如,可以针对数据流120中的在第二组数据Xt后观察到的第三组数据Xt+1来确定模型130的第三组参数Pt+1。
从上述描述可以看出,根据本公开的实施例的用于获得模型的方案可以对流入的一组数据进行即时处理并且丢弃之前流入的数据,因此无需在存储器中存储所有数据。然而,由于每次流入一组新数据,当前模型可能不能够很好地体现新数据中的新特征。根据本公开的实施例,如果当前模型的数据表示能力已经接近其最高值,可以对当前模型进行扩展。
图3示出了根据本公开的实施例的用于模型扩展的方法300的流程图。方法300可以由如图1所示的参数确定模块112来执行。例如,方法300可以在方法200之后被执行,并且方法300可以响应于确定与模型130相关联的目标函数收敛而执行。附加地或者备选地,方法300可以可选地被执行。本公开的范围在此方面不受限制。
方法300开始于步骤310。在步骤310,响应于确定第二组向量{αt,βt}中的第一向量中的元素的值大于第一阈值,确定与该元素相对应的潜特征为有效潜特征。在此使用的术语“有效潜特征(validlatent feature)”表示与该潜特征相关联的样本数据足够多的潜特征。也就是说,与有效潜特征相关联的样本数据超过了一个阈值量。
在一些实施例中,在上文描述的例子中,第一向量可以为向量αt,其中的每个元素指示包括第一组数据Xt-1和第二组数据Xt在内的数据流120在每个行潜特征上分布的比例。例如,向量αt中的每个元素可以指示被聚类到与该元素对应的用户类别(如上文所述,一个用户类别与一个行潜特征相对应)的数据在数据流120中所占的比例,诸如男性所占的比例、女性所占的比例、老年所占的比例等等。应当理解,向量αt中的各个元素可以仅反映各个用户类别所占的相对比例,即所有元素的和不一定等于1。可以响应于确定αt中的元素的值大于第一阈值δ1,确定与该元素相对应的行潜特征为有效行潜特征。
备选地,第一向量也可以为向量βt,其中的每个元素指示包括第一组数据Xt-1和第二组数据Xt在内的数据流120在每个列潜特征上分布的比例。例如,向量βt中的每个元素可以指示被聚类到与该元素对应的电影类别(如上文所述,一个电影类别与一个列潜特征相对应)的数据在数据流120中所占的比例,诸如历史片所占的比例、战争片所占的比例、卡通片所占的比例等等。应当理解,向量βt中的各个元素可以仅反映各个电影类别所占的相对比例,即所有元素的和不一定等于1。可以响应于确定βt中的元素的值大于第一阈值δ1,确定与该元素相对应的列潜特征为有效列潜特征。
接下来,方法300进行至步骤320。在步骤320,响应于有效潜特征的数目超过阈值数目而扩展模型。在一些实施例中,可以基于向量αt来计算有效行潜特征的数目,并且响应于有效行潜特征的数目超过行潜特征的阈值数目Kmax来扩展模型。在此方面,图4示出了根据本公开的实施例的用于模型扩展的方法400的流程图。方法400例如可以由如图1所示的参数确定模块112来执行。
在步骤410,根据预定增量来增加阈值数目。例如,可以根据预定增量dK来增加行潜特征的阈值数目Kmax。也即,行潜特征的阈值数目被更新为Kmax=Kmax+dK。
在步骤420,根据预定增量增加至少两组潜特征中与第一向量相关联的潜特征的数目。例如,可以根据预定增量dK来增加与向量αt相关联的行潜特征的数目。也即,行潜特征的数目被更新为K=K+dK。
在步骤430,根据预定增量增加第一向量的维度。例如,可以根据预定增量dK来增加向量αt的维度。也即,将向量αt从K个元素的向量变为K+dK个元素的向量。另外,可以对增加的dK个元素赋初值。
在某些实施例中,在步骤440,根据预定增量增加第二组权重的维度。例如,可以根据预定增量dK来增加第二组权重Wt的维度。也即,将第二组权重Wt从K×L的矩阵扩展为(K+dK)×L的矩阵,并且可以对增加的dK个行赋初值。
附加地或者备选地,可以基于向量βt来计算有效列潜特征的数目,并且在有效列潜特征的数目超过列潜特征的阈值数目Lmax的情况下扩展模型。可以根据预定增量dL来增加列潜特征的阈值数目Lmax(410)。也即,列潜特征的阈值数目被更新为Lmax=Lmax+dL。可以根据预定增量dL来增加与向量βt相关联的列潜特征的数目(420)。也即,列潜特征的数目被更新为L=L+dL。还可以根据预定增量dL来增加向量βt的维度(430)。也即,将向量βt从L个元素的向量变为L+dL个元素的向量,并且可以对增加的dL个元素赋初值。
在某些实施例中,还可以根据预定增量dL来增加第二组权重Wt的维度(440)。也即,将第二组权重Wt从K×L的矩阵扩展为K×(L+dL)的矩阵,并且可以对增加的dL个列赋初值。
由于本公开的实施例的特征在于始终尽可能地拟合流入的新数据而丢弃之前流入的数据,因此可能存在针对之前流入的数据的特征对于当前流入的数据不适用的情况。根据本公开的实施例,针对上述问题,为了避免使得当前模型的规模越来越大而导致数据处理的效率降低,可以对当前模型进行收缩。
图5示出了根据本公开的实施例的用于模型收缩的方法500的流程图。方法500可以由如图1所示的参数确定模块112来执行。例如,方法500可以在方法200之后被执行,并且方法500可以响应于确定与模型130相关联的目标函数收敛而执行。在某些实施例中,方法500可以与方法300顺序地执行,例如在方法300之前或者之后被执行。本公开的范围在此方面不受限制。
方法500开始于步骤510。在步骤510,响应于确定第二组向量{αt,βt}中的第二向量中的元素的值小于第二阈值,确定与该元素相对应的潜特征为无效潜特征。在此使用的术语“无效潜特征(invalidlatent feature)”表示与该潜特征相关联的样本数据足够少的潜特征。也就是说,与有效潜特征相关联的样本数据低于阈值量。
在一些实施例中,在上文描述的例子中,第二向量可以为向量αt,其中的每个元素指示包括第一组数据Xt-1和第二组数据Xt在内的数据流120在每个行潜特征上分布的比例。例如,向量αt中的每个元素可以指示被聚类到与该元素对应的用户类别(如上文所述,一个用户类别与一个行潜特征相对应)的数据在数据流120中所占的比例,诸如男性所占的比例、女性所占的比例、老年所占的比例等等。应当理解,向量αt中的各个元素可以仅反映各个用户类别所占的相对比例,即所有元素的和不一定等于1。可以响应于确定αt中的元素的值小于第二阈值δ2,即具有某个行潜特征的数据所占的比例太小,确定与该元素相对应的行潜特征为无效行潜特征。
备选地,第二向量也可以为向量βt,其中的每个元素指示包括第一组数据Xt-1和第二组数据Xt在内的数据流120在每个列潜特征上分布的比例。例如,向量βt中的每个元素可以指示被聚类到与该元素对应的电影类别(如上文所述,一个电影类别与一个列潜特征相对应)的数据在数据流120中所占的比例,诸如历史片所占的比例、战争片所占的比例、卡通片所占的比例等等。应当理解,向量βt中的各个元素可以仅反映各个电影类别所占的相对比例,即所有元素的和不一定等于1。可以响应于确定βt中的元素的值小于第二阈值δ2,即具有某个列潜特征的数据所占的比例太小,确定与该元素相对应的列潜特征为无效列潜特征。
接下来,方法500进行至步骤520。在步骤520,响应于确定存在无效潜特征而收缩模型。
在一些实施例中,可以基于向量αt来确定是否存在无效行潜特征,并且响应于确定存在无效行潜特征来收缩模型。可以从与向量αt相关联的行潜特征中去除无效行潜特征,以收缩模型。假设无效行潜特征的数目为Kinvalid,则行潜特征的数目被更新为K’=K-Kinvalid。此外,可以从向量αt中去除与无效行潜特征对应的元素,以收缩模型。在某些实施例中,还可以从第二组权重Wt中去除与无效行潜特征对应的行,以收缩模型。
备选地,可以基于向量βt来确定是否存在无效列潜特征,并且响应于确定存在无效列潜特征来收缩模型。可以从与向量βt相关联的列潜特征中去除无效列潜特征,以收缩模型。假设无效列潜特征的数目为Linvalid,则行潜特征的数目被更新为L=L-Linvalid。此外,可以从向量βt中去除与无效列潜特征对应的元素,以收缩模型。在某些实施例中,还可以从第二组权重Wt中去除与无效列潜特征对应的列,以收缩模型。
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200、300、400和/或500,可由处理单元601执行。例如,在一些实施例中,方法200、300、400和/或500可以被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法200、300、400和/或500中的一个或多个步骤。
本公开的实施例能够对流入的一组数据进行即时处理并且丢弃之前流入的数据,而无需在存储器中存储所有数据,因此适合于其中样本数据为无止尽的数据流的应用场景。此外,本公开的实施例通过模型扩展和模型收缩的机制能够很好地体现最近流入的数据中的特征,从而提高数据处理的效率。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (16)
1.一种用于获得模型的方法,包括:
获取所述模型的第一组参数,所述第一组参数基于数据流中的第一组数据而生成,所述数据流中的数据与至少两个维度相关联,所述至少两个维度与至少两组潜特征分别关联,所述第一组参数描述包括所述第一组数据在内的所述数据流在所述至少两组潜特征上的分布;
基于所述第一组参数,确定所述数据流中在所述第一组数据之后观察到的第二组数据的与所述至少两组潜特征相关联的概率;
基于所述第一组参数和所述概率来确定所述模型的第二组参数,所述第二组参数描述包括所述第一组数据和所述第二组数据在内的所述数据流在所述至少两组潜特征上的分布;以及
基于所述第二组参数和所述概率来确定所述模型对所述数据流的拟合度。
2.根据权利要求1所述的方法,其中所述第一组参数包括第一组向量,所述第一组向量中的每个向量指示包括所述第一组数据在内的所述数据流在所述至少两组潜特征中的一组潜特征上分布的比例,并且确定所述第二组参数包括:
基于所述第一组向量和所述概率来确定第二组向量,所述第二组向量中的每个向量指示包括所述第一组数据和所述第二组数据在内的所述数据流在所述至少两组潜特征中的一组潜特征上分布的比例。
3.根据权利要求2所述的方法,其中所述第一组参数还包括第一组权重,所述第一组权重描述与包括所述第一组数据在内的所述数据流相对应的所述至少两组潜特征之间的关系,并且确定所述第二组参数还包括:
基于所述第二组数据、所述概率和所述第一组参数来确定第二组权重,所述第二组权重描述与包括所述第一组数据和所述第二组数据在内的所述数据流相对应的所述至少两组潜特征之间的关系。
4.根据权利要求2所述的方法,还包括:
响应于确定所述第二组向量中的第一向量中的元素的值大于第一阈值,确定与所述元素相对应的潜特征为有效潜特征;以及
响应于所述有效潜特征的数目超过阈值数目而扩展所述模型。
5.根据权利要求4所述的方法,其中扩展所述模型包括:
根据预定增量增加所述阈值数目;
根据所述预定增量增加所述至少两组潜特征中与所述第一向量相关联的潜特征的数目;以及
根据所述预定增量增加所述第一向量的维度。
6.根据权利要求2所述的方法,还包括:
响应于确定所述第二组向量中的第二向量中的元素的值小于第二阈值,确定与所述元素相对应的潜特征为无效潜特征;以及
响应于确定存在所述无效潜特征而收缩所述模型。
7.根据权利要求6所述的方法,其中收缩所述模型包括:
从所述至少两组潜特征中与所述第二向量相关联的潜特征中去除所述无效潜特征;以及
从所述第二向量中去除所述元素。
8.根据权利要求1-7中任一项所述的方法,其中确定所述拟合度包括:
确定与所述模型相关联的目标函数的收敛性,所述目标函数包括用于控制所述模型对所述数据流的拟合的第一项,以及指示所述第一组参数和所述第二组参数之间的差异的第二项。
9.一种用于获得模型的设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器耦合至所述至少一个处理单元并且具有在其上存储的指令,所述指令在由所述至少一个处理单元执行时使得所述设备执行动作,所述动作包括:
获取所述模型的第一组参数,所述第一组参数基于数据流中的第一组数据而生成,所述数据流中的数据与至少两个维度相关联,所述至少两个维度与至少两组潜特征分别关联,所述第一组参数描述包括所述第一组数据在内的所述数据流在所述至少两组潜特征上的分布;
基于所述第一组参数,确定所述数据流中在所述第一组数据之后观察到的第二组数据的与所述至少两组潜特征相关联的概率;
基于所述第一组参数和所述概率来确定所述模型的第二组参数,所述第二组参数描述包括所述第一组数据和所述第二组数据在内的所述数据流在所述至少两组潜特征上的分布;以及
基于所述第二组参数和所述概率来确定所述模型对所述数据流的拟合度。
10.根据权利要求9所述的设备,其中所述第一组参数包括第一组向量,所述第一组向量中的每个向量指示包括所述第一组数据在内的所述数据流在所述至少两组潜特征中的一组潜特征上分布的比例,并且确定所述第二组参数包括:
基于所述第一组向量和所述概率来确定第二组向量,所述第二组向量中的每个向量指示包括所述第一组数据和所述第二组数据在内的所述数据流在所述至少两组潜特征中的一组潜特征上分布的比例。
11.根据权利要求10所述的设备,其中所述第一组参数还包括第一组权重,所述第一组权重描述与包括所述第一组数据在内的所述数据流相对应的所述至少两组潜特征之间的关系,并且确定所述第二组参数还包括:
基于所述第二组数据、所述概率和所述第一组参数来确定第二组权重,所述第二组权重描述与包括所述第一组数据和所述第二组数据在内的所述数据流相对应的所述至少两组潜特征之间的关系。
12.根据权利要求10所述的设备,其中所述动作还包括:
响应于确定所述第二组向量中的第一向量中的元素的值大于第一阈值,确定与所述元素相对应的潜特征为有效潜特征;以及
响应于所述有效潜特征的数目超过阈值数目而扩展所述模型。
13.根据权利要求12所述的设备,其中扩展所述模型包括:
根据预定增量增加所述阈值数目;
根据所述预定增量增加所述至少两组潜特征中与所述第一向量相关联的潜特征的数目;以及
根据所述预定增量增加所述第一向量的维度。
14.根据权利要求10所述的设备,其中所述动作还包括:
响应于确定所述第二组向量中的第二向量中的元素的值小于第二阈值,确定与所述元素相对应的潜特征为无效潜特征;以及
响应于确定存在所述无效潜特征而收缩所述模型。
15.根据权利要求14所述的设备,其中收缩所述模型包括:
从所述至少两组潜特征中与所述第二向量相关联的潜特征中去除所述无效潜特征;以及
从所述第二向量中去除所述元素。
16.根据权利要求9-15中任一项所述的设备,其中确定所述拟合度包括:
确定与所述模型相关联的目标函数的收敛性,所述目标函数包括用于控制所述模型对所述数据流的拟合的第一项,以及指示所述第一组参数和所述第二组参数之间的差异的第二项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610197405.8A CN107292321A (zh) | 2016-03-31 | 2016-03-31 | 用于获得模型的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610197405.8A CN107292321A (zh) | 2016-03-31 | 2016-03-31 | 用于获得模型的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107292321A true CN107292321A (zh) | 2017-10-24 |
Family
ID=60087602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610197405.8A Pending CN107292321A (zh) | 2016-03-31 | 2016-03-31 | 用于获得模型的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107292321A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113056715A (zh) * | 2019-01-08 | 2021-06-29 | 动态Ad有限责任公司 | 自主运载工具的基于场论的感知 |
-
2016
- 2016-03-31 CN CN201610197405.8A patent/CN107292321A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113056715A (zh) * | 2019-01-08 | 2021-06-29 | 动态Ad有限责任公司 | 自主运载工具的基于场论的感知 |
CN113056715B (zh) * | 2019-01-08 | 2022-06-03 | 动态Ad有限责任公司 | 用于操作运载工具的方法、运载工具和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933789B (zh) | 一种基于神经网络的司法领域关系抽取方法及系统 | |
CN111125358B (zh) | 一种基于超图的文本分类方法 | |
Contaldi et al. | Bayesian network hybrid learning using an elite-guided genetic algorithm | |
CN109816032B (zh) | 基于生成式对抗网络的无偏映射零样本分类方法和装置 | |
CN109783666B (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
CN107004159A (zh) | 主动机器学习 | |
CN107766320A (zh) | 一种中文代词消解模型建立方法及装置 | |
CN110175469A (zh) | 一种社交媒体用户隐私泄漏检测方法、系统、设备及介质 | |
CN113806560A (zh) | 一种电力数据知识图生成方法及系统 | |
CN113377964A (zh) | 知识图谱链接预测方法、装置、设备及存储介质 | |
CN109582774A (zh) | 自然语言分类方法、装置、设备及存储介质 | |
CN110378543A (zh) | 离职风险预测方法、装置、计算机设备和存储介质 | |
CN107292323A (zh) | 用于训练混合模型的方法和设备 | |
CN113077237B (zh) | 一种自适应混合算法的排课方法及系统 | |
KR20210064817A (ko) | 상이한 딥러닝 모델 간의 전이 학습방법 | |
CN116302088B (zh) | 一种代码克隆检测方法、存储介质及设备 | |
CN107292321A (zh) | 用于获得模型的方法和设备 | |
CN111415265A (zh) | 生成式对抗网络的社交关系数据生成方法 | |
Li et al. | Integrating sample similarities into latent class analysis: a tree‐structured shrinkage approach | |
Silvestri et al. | Embedded-model flows: Combining the inductive biases of model-free deep learning and explicit probabilistic modeling | |
Chang | Latent variable modeling for generative concept representations and deep generative models | |
JP7306432B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
CN115908600A (zh) | 基于先验正则化的大批量图像重建方法 | |
CN112507185B (zh) | 用户肖像的确定方法和装置 | |
CN115544307A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171024 |
|
WD01 | Invention patent application deemed withdrawn after publication |