计算方法及计算系统与流程

文档序号:12597759阅读:238来源:国知局
计算方法及计算系统与流程

本发明关于一种计算方法及计算系统,特别是关于基于参数调整进而挑选数学模型的计算方法及计算系统。



背景技术:

现行的百货及零售商场提供智能型的商品推荐引擎,该些商品推荐引擎通常是利用后台的数据(例如会员数据、产品数据、交易纪录等),运用数学模型演算出顾客及产品相关的相似度信息,再搭配网络舆情数据及短距离传输技术进一步提供用户推荐的产品。然而,数学模型的种类很多,每一数学模型在不同情形下所演算出的结果也会不同,也就是每一数学模型于不同情况下各有优缺点,所推荐的商品不一定符合使用者的预期。



技术实现要素:

根据本发明的一实施态样提出一种适用于多个输入数据的计算方法包含将输入数据拆分为训练数据与测试数据,将训练数据个别输入多个数学模型进行运算获得运算结果,比对运算结果与测试数据得到相似程度并根据相似程度反复调整该些数学模型的参数组合,根据相似程度及参数组合于多个数学模型挑选其中一者。

根据本发明的另一实施态样提出一种计算系统包含数据库、分割单元、处理模块及选择单元。数据库用于存储多个输入数据,分割单元用于将输入数据拆分成训练数据以及测试数据,处理模块包含存储模块、运算单元以及比对单元。存储模块用于存储多个数学模型并将数学模型加载运算单元,运算单元用于将训练数据个别输入数学模型进行运算得到运算结果,比对单元用于比对运算结果与测试数据获得相似程度,根据相似程度反复调整数学模型的参数,选择单元用于根据相似程度及参数组合挑选多个数学模型中一者。

附图说明

图1绘示本发明的一实施例的计算系统的方块图。

图2绘示本发明的一实施例的适用于多个输入数据的计算方法的方法流程图。

图3绘示本发明的一实施例的输入数据的示意图。

图4绘示本发明的一实施例的输入数据分割的示意图。

图5本发明的一实施例的运算结果的示意图。

图6绘示本发明的一实施例的测试数据的示意图。

组件标号说明:

100:数据库

120:分割单元

130:处理模块

131:存储模块

132:运算单元

133:比对单元

140:选择单元

200:计算方法

S202~S212:步骤

U1~U3:用户

I1~I10:电影

1~10:评分

IPT:输入数据

TRN:训练资料

TST:测试资料

EST1~EST9:运算结果

M1~M3:数学模型

P1、P2:参数

具体实施方式

图1绘示本发明的一实施例的计算系统100的方块图。计算系统100包含数据库110、分割单元120、处理模块130以及选择单元140。

数据库110用于存储多笔的输入数据,这些输入数据报含了已存在的产品数据、顾客数据或是交易纪录。其中产品数据可以是属于任何类型产品所包含的数据,例如家电用品、书籍、服饰、食品等。顾客数据可以包含顾客的姓名、地址、电子信箱、电话号码等。交易纪录可以是顾客曾经所购买产品的类型、购买数量、购买次数或是针对购买过的商品的评价等。

分割单元120用于将多个输入数据分成训练数据以及测试数据。于一实施例中,可以将输入数据切分成80%的训练数据及20%的测试数据,也可以将输入数据切分成90%的训练数据及10%的测试数据。上述分割的比例仅作为举例说明,本发明所涵盖的范围不限定于上述的实施例。

处理模块130包含了存储单元131、运算单元132以及比对单元133。存储单元131用于存储各种不同算法的数学模型并将该些数学模型加载运算单元132(例如CPU),其中这些数学模型是用于计算一群集合对象之间的相似度。常见的数学模型例如Euclidean Distance、Pearson correlation、Tanimoto coefficient、log-likelihood ratio、singular value decomposition、alternating least squares等。

运算单元132用于将训练数据输入至数学模型中得到运算结果。举例来说,每一用户针对购买过的多个产品给予评分,将这些评分数据其中一部分当成训练数据输入数学模型,通过数学模型进行相似度运算,便可以得到用户与用户之间、产品与产品之间的相似度,也就是运算结果。,于一些实施例中,运算单元132可为具有运算能力的装置,例如中央处理器(CPU)。

比对单元133用于将在运算单元132得到的运算结果比对测试数据得到相似程度。根据相似程度对数学模型的参数反复地进行调整。也就是说根据相似程度调整参数,基于调整后的新参数进行演算会得到新的运算结果,再将新的运算结果比对测试数据得到新的相似程度,比对单元133持续地以上述手法以自动化的方式调整数学模型的参数直到达到最高的相似程度。

选择单元140用于根据相似程度及参数组合(也就是调整后的参数)在多个数学模型中挑选出最适合之一者,也就是挑选上述所说达到最高相似程度的参数组合所对应的数学模型。 关于如何根据相似程度自动地调整数学模型的参数及挑选最适合的数学模型,将于下列段落中有详细描述。

请一并参照图2,其绘示本发明的一实施例的适用于多个输入数据IPT的计算方法200的方法流程图。在步骤S202中,由数据库110中提取多个输入资料,如上述所说,输入数据可以包含产品数据、顾客数据或是交易纪录等已经存在的历史资料。

请一并参照图3,其绘示本发明的一实施例的输入数据IPT的示意图。如图3所示,用户U1~U3针对观看过的电影I1~I10进行了评分。其中数字代表用户U1~U3对于电影I1~I10的满意度评价,数字越大代表满意度越高,用户越喜欢该电影,反之,数字越小代表用户越不喜欢该电影。于实施例中,用户与用户之间、产品与产品之间的相似度是通过用户评分数据进行运算。于其他实施例中,用户与用户之间、产品与产品之间的相似度可以通过其他的数据(例如产品数据/类型、客户基本数据或是历史交易纪录等)来进行运算。

在步骤S204中,分割单元120将输入数据IPT分割成训练数据与测试数据。于一些实施例,训练数据与测试数据分割的比例为70%与30%、80%与20%或是90%与10%等。请一并参照图4,其绘示本发明的一实施例的输入数据IPT分割的示意图。如图4所示,用户对十部电影I1~I10皆进行了评分并且将评分数据(也就是上述的输入数据IPT)依比例70%与30%分割成训练数据TRN与测试数据TST,其中黑色方方框所包含的就是测试数据TST,未被黑色方框所包含的就是训练数据TRN。要注意的是,针对训练数据与测试数据分割的比例以及方式,本发明所涵盖的范围并不限于上述实施例中。

将输入数据IPT分割成训练数据TRN与测试数据TST后,在步骤S206中,运算单元132将训练数据TRN输入数学模型中进行运算可以得到运算结果。如上述段落所说,数学模型为目前相关领域中常用的相似度模型,例如Euclidean Distance、Pearson correlation、Tanimoto coefficient等,其中每一种数学模型皆有其可调整的参数。基于这些参数,通过这些模型的运算,进行客户比对进程或产品比对进程分别可以得到客户与客户(于实施例中也就是用户U1~U3)之间的相似度或是产品与产品(于实施例中也就是电影I1~I10)之间得相似度。

举例来说,请一并参照图5,其绘示本发明的一实施例的运算结果的示意图,如图5所示,将训练数据TRN(也就是图4中未被黑色方框所包含的数据)输入数学模型M1来运算用户U1~U3之间的相似度,其中数学模型M1具有可调整的参数P1及P2,数学模型M1基于参数P1及P2 经过运算后可以得到运算结果EST1~EST9,也就是说运算结果EST1~EST3所代表的就是经由数学模型M1基于这一些训练数据推测出用户U1对电影I3、I6、I9的喜好程度。

同样地,运算结果EST4~EST6所代表的就是经由数学模型M1基于这一些训练数据推测出用户U2对电影I1、I5、I8的喜好程度。运算结果EST7~EST9所代表的就是经由数学模型M1基于这一些训练数据推测出用户U3对电影I2、I7、I10的喜好程度。

请一并参照图6,其绘示本发明的一实施例的测试数据TST的示意图。在步骤S208中,比对单元133将运算结果与测试数据进行比对。于实施例中,也就是将图5的运算结果EST1~EST9与图6的测试数据TST比对得到相似程度。换句话说,运算结果EST1~EST3比对图6的用户U1对电影所做的评分U1:[I3:2,I6:3,I9:5],运算结果EST4~EST6比对图6的用户U2对电影所做的评分U2:[I1:2,I5:9,I8:7],运算结果EST7~EST9比对图6的用户U3对电影所做的评分U3:[I2:8,I7:3,I10:9]。

由于数学模型M1基于参数P1及P2所运算出来的运算结果EST1~EST9(也就是第一运算结果)与实际上的测试数据TST之间的相似程度(也就是第一相似程度)低,运算结果EST1~EST9(也就是第一运算结果)与测试数据之间的误差相当大。也就是说,数学模型M1的初始参数P1及P2的组合并不是最适合此次的输入数据。

此时在步骤S210中,比对单元133自动地根据第一运算结果与测试数据TST之间的第一相似程度将数学模型所包含的可调整的参数进行调整,基于调整过后的参数(也就是第一参数组合),再一次进行运算并得到新的运算结果(也就是第二运算结果),再将第二运算结果与测试数据TST比对可以得到第二相似程度,若第二相似程度仍然很低,此时再一次调整参数,可再一次得到新的参数(也就是第二参数组合)。

于此实施例中,根据运算结果EST1~EST9(也就是第一运算结果)与测试数据TST之间的相似程度(也就是第一相似程度)对数学模型M1的初始参数P1及P2进行适当的调整可以得到第一参数组合,基于该第一参数组合再一次将图4的训练数据TRN输入数学模型M1得到新的运算结果EST1~EST9(也就是第二运算结果)。比对单元133再将新的运算结果EST1~EST9(也就是第二运算结果)与测试数据TST进行比对进而得到第二相似程度。

倘若将参数P1及P2调整之后,得到的新的运算结果EST1~EST9与测试数据之间的第二相似程度仍然很低,此时比对单元133可以自动地根据上述的第二相似程度,再一次对调整后的参数P1及P2再进行一次的调整。要注意的是,于不同实施例中,调整参数的次数不一 定相同。

上述所说基于运算结果EST1~EST9与测试数据TST之间的相似程度反复进行参数的调整,其实施的方式为一自动化的过程。也就是说,当第一次所得到的相似程度很低时,比对单元133会自动地根据该相似程度,对数学模型内的可允许调整的参数进行调整,并且根据调整后的新参数再进行第二次运算得到第二运算结果EST1~EST9,将第二运算结果EST1~EST9比对测试数据TST得到第二相似程度。应该了解到的是第二相似程度高于第一相似程度。换句话说,比对单元133每次自动调整一次参数,其所得到新的相似程度会比前一次所得到的相似程度更高。运算结果EST1~EST9与测试数据TST之间的相似程度随着多次自动化的运算及调整后会越来越高,直到运算结果EST1~EST9趋近于实际的测试数据TST。

上述实施例仅针对数学模型M1来做描述,实际上,于实施例中,存储模块131内存储了其他的数学模型M2及M3。依照上述相同的做法,将相同的训练数据TRN输入数学模型M2及M3得到运算结果,并且比对运算结果与测试数据得到相似程度,再针对数学模型M2及M3的可调整的参数进行反复调整。于不同实施例,其调整数学模型参数的次数皆不相同(例如3次、5次、20次)。

实施例中所述的数学模型M1、M2及M3皆可能具有不同的可调整参数,也就是说其参数的属性或是参数调整的方式皆可能不同(例如将参数比重或权重向上调整)。本发明所涵盖的范围不限定于上述实施例。

当每一数学模型所包含的可调整的参数经过多次反复的调整之后,在步骤S212中,选择单元140依照相似程度以及参数组合自动地挑选出一个数学模型,其中该数学模型具有优选的参数组合而且基于该参数组合得到的运算结果与测试数据TST具有最高的相似度。对应

举例来说,于实施例中,数学模型M1所包含的可调整的参数P1及P2经过多次调整后,基于该多次调整后的参数P1及P2所得到的运算结果EST1~EST9与测试数据TST比对,发现运算结果EST1~EST9与测试数据TST之间的相似程度很高,也就是运算结果EST1~EST9与测试数据之间所具有的误差相当低。

另一方面数学模型M2及M3以相同手法经过多次的参数调整,其运算结果EST1~EST9与测试数据之间的相似程度也很高,此时将数学模型M2及M3所得到的相似程度与数学模型M1所得到的相似程度相比较,基于多次调整后的参数组合的数学模型M1,其运算结果与实际的测试数据之间的相似程度为三个模型中最为相近的,上述多次调整后的参数P1及P2即为优 选参数组合,此时选择单元140便挑选数学模型M1。

上述所说的运算结果是以用户I1~U3的角度来做运算得到用户U1~U3之间的相似度,于另一个例子,运算结果是以产品的角度来做运算,也就是运算产品之间的相似度。于实施例中,也就是以电影I1~I10的角度来做运算得到电影I1~I10之间的相似度。其挑选数学模型的实施方式与上述实施例相同,在此不另赘述。

综合以上,可以了解当输入资料不同时,其所分割出的训练数据以及测试数据会不同,运算结果也会不同,参数调整的方式及次数也会有差异,最后挑选出的数学模型也不同。

举例来说,若图3的输入数据IPT的内容改变,其训练数据TRN以及测试数据TST也有所改变,此时将训练数据TRN输入同样的数学模型M1、M2及M3,其运算结果EST1~EST9及各个数学模型的参数调整也会不同,依此道理,最后挑选到的对应优选参数的数学模型不一定是数学模型M1(可能是数学模型M2或M3)。

换句话说,于本发明的实施例所述的数学模型M1、M2及M3并无绝对的好坏差异,在一些情形下,数学模型M2比数学模型M1、M3更适合,在另一些情形下,数学模型M3比数学模型M1、M2更适合。因此本发明所揭示的内容强调考虑特定的输入数据,通过自动化的过程于不同的数学模型中挑选出最适合此次输入数据内容的数学模型。

通过以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的权利要求范围的范畴内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1