皮盼资讯网移动版

皮盼资讯网 > 潮流时尚 >

NovelCart智能购物车系统关键技术研究(4)

KLM400模块通讯协议内定义的单次轮询指令的通知帧为:“BB00220000227E”。芯片接收到单次轮询指令后,如果能够读到CRC校验正确的标签,KLM400返回包含RSSI、PC、EPC和CRC的数据。读到一个标签EPC就返回一条指令响应,读到多个标签则返回多条指令响应。如表2所示。

上表中“Header”代表帧头,“Type”代表帧类型,“Command”代表指令,“PL”代表指令参数长度,“RSSI”代表信号强度,“PC”代表PC码,“EPC”代表EPC码,“CRC”代表循环校验码,“Checksum”代表校验位,“End”代表帧尾。

ARM主控制器与KLM400模块通过FT232RL USB转串口模块连接,波特率为115200bps,校验位一位。设置每隔2s进行一次单次轮询。假设进行单次轮询时车内有n个商品,则ARM主控制器会收到一个由n个以“BB0222”开头、“7E”结尾的子帧构成的通知帧。RFID信号的EPC解算流程图如图4-4所示。

第五章  算法设计

5.1关联规则挖掘算法Apriori

NovelCart针对超市采集到的用户历史购买数据进行预处理,并使用关联规则挖掘算法Apriori进行数据挖掘。Apriori算法是一种用于关联规则挖掘(Association Rule Mining)的代表性算法,采用Apriori算法能够有效获得频繁项集,并根据数据特征设置相应的阈值,向用户推荐相关度高的商品。

表3给出了一个交易数据集的例子通常称其为购物篮交易记录(Market Basket Transaction)。图中每一行对应一个交易,包含一个唯一标识TID和特定顾客购买的商品集合。

关联规则挖掘任务:对于给定的交易记录列表, 寻找其中存在的固有的项目之前的联系:

支持度 ≥ minsup threshold

置信度 ≥ minconf threshold

因此,将关联规则挖掘任务分解为频繁项集产生和强规则产生两个子任务。格结构(Lattice Structure)常被用来枚举所有可能的项集。如图5-1所示。

图5-1为I={a,b,c,d,e}的项集格。一般来说,排除空集后,一个包含k个项的数据集可能产生2k?1个频繁项集。在实际情况下k的值可能非常大,需要探查的项集搜索空集可能是指数规模的。结合Apriori所利用的第一条先验原理,利用支持度对候选项集进行剪枝。

Apriori定律1:如果一个集合是频繁项集,则它的所有子集都是频繁项集。

Apriori定律2:如果一个集合不是频繁项集,则它的所有超集都不是频繁项集。

图5-2表示{A,B}是非频繁集时,其超集也是非频繁集,可以将它们都剪除。

5.2 协同滤波算法

协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(User-based Collaborative Filtering),和基于物品的协同过滤算法(Item-based Collaborative Filtering)。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。可利用Apriori算法所得的关联规则挖掘结果,采用基于用户的协同滤波算法对相似用户进行匹配并预测推荐。

基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜好(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐。

我们模拟了5个用户对两件商品的评分,来说明如何通过用户对不同商品的态度和偏好寻找相似的用户。在示例中,5个用户分别对两件商品进行了评分。这里的分值可能表示真实的购买,也可以是用户对商品不同行为的量化指标。例如,浏览商品的次数,向朋友推荐商品,收藏,分享,或评论等等。这些行为都可以表示用户对商品的态度和偏好程度。将5个用户对两件商品的评分用散点图表示。

欧几里德距离评价是一个较为简单的用户关系评价方法。原理是通过计算两个用户在散点图中的距离来判断不同的用户是否有相同的偏好。5个用户相互间的欧几里德系数,也就是用户间的距离如表4所示。系数越小表示两个用户间的距离越近,偏好也越是接近。如表5所示,用户偏好关系与图5-4一致。

(责任编辑:admin)