当前位置: 首页 > 专利查询>天津大学专利>正文

一种基于约束条件的随机森林推荐算法制造技术

技术编号:15502279 阅读:207 留言:0更新日期:2017-06-03 23:15
本发明专利技术公开了一种基于约束条件的随机森林推荐算法,根据给定初始训练集中的数据集产生二叉决策树;随机选取特征构建随机森林;衡量决策树算法时间效能;衡量随机森林算法效能;将随机森林算法进行改进。对比其他推荐算法,本发明专利技术充分认识随机森林分类算法的优越性,并且自主实现随机森林分类算法,由此加深对推荐系统的了解;最后,从算法的构造入手,研究造成算法不足的关键点,改进算法,使算法具有更好的效能。

A stochastic forest recommendation algorithm based on Constraints

The invention discloses a random forest based on constraints of the recommendation algorithm, according to the given initial training data set to generate two binary decision tree; randomly selected characteristics of random forest; measure decision tree algorithm of time efficiency; to measure the random forest algorithm efficiency; random forest algorithm. Compared with other recommendation algorithm, the advantages of the invention realize random forest classification algorithm, and realize the random forest classification algorithm, thus to deepen understanding of recommendation system; finally, starting from the algorithm structure, study the key point algorithm, improved algorithm, so the algorithm has better performance.

【技术实现步骤摘要】
一种基于约束条件的随机森林推荐算法
本专利技术涉及数据挖掘和推荐算法
,特别是涉及一种改进的随机森林推荐算法。
技术介绍
伴随着科技的进步,人们已经逐渐地从互联网信息时代进入了物联网时代。社交、服务业网站的崛起使得信息量以指数级的速度快速增长,互联网的数据量早已今非昔比,而且信息来源还在不断地增加。对于互联网所面临的挑战——信息过载,推荐系统在机器学习领域掀起了一片热潮。推荐系统拥有着极高的应用价值,已经被广泛地应用于多个领域。例如:近年来电子商务的发展及其迅猛,在网上购物已成为主流,商家所提供的商品种类和数量增长十分迅速,清楚自己需求的客户可以通过搜索购买自己想要的商品。但是,用户需求通常具有不确定性和模糊性,因此推荐系统便成为客户的依赖。推荐系统的核心是推荐算法,推荐算法的优劣直接影响系统的性能。就目前流行的推荐算法而言,以分类为基础的推荐算法获得了较好的效果,比如SVM算法、协同过滤算法、以及随机森林算法等。协同过滤算法存在一定的可扩展性问题,并且协同过滤推荐的质量取决于历史数据集,这导致系统开始时推荐质量较差,影响推荐结果的准确性。在如今推荐系统应用越来越广泛,推荐算法作为其支撑核心,其重要性不言而喻,而随机森林分类算法又是推荐算法中性能较好,潜力较强的算法之一,它可以处理大量的输入变量,对于很多种资料它可以产生高准确度的分类器,且对于不平衡的分类资料集来说,它可以平衡误差,整个过程不容易产生过拟合问题。随机森林算法主要是由决策树算法改进而来。决策树算法存在一定的缺点,由于进行深度优先搜索,所以算法受内存大小限制,难于处理大训练集。为了处理大数据集或连续量的种种改进算法(离散化、取样)不仅增加了分类算法的额外开销,而且降低了分类的准确性,对连续性的字段比较难预测,当类别太多时,错误可能就会增加的比较快,对有时间顺序的数据,需要很多预处理的工作。
技术实现思路
基于现有技术,本专利技术提出了一种基于约束条件的随机森林推荐算法,从算法构造原理入手对算法进行深刻解析,通过算法完成数据的分类,并在此基础上对于算法的不足进行分析,将算法进行改进。本专利技术提出了一种基于约束条件的随机森林推荐算法,该方法包括以下步骤:步骤101、根据给定初始训练集中的数据集、在CART算法中利用基尼指数构造二叉决策树,基尼系数定义如公式(1)所示:其中,GiniR(S)是集合S以R分裂产生的基尼系数,S1和S2分别是用样本特征R分裂后得到的子集,定义基尼增益如公式(2)所示:Gini(R)=Gini(S)-GiniR(S)(2)步骤201、从初始训练集抽取训练子样本,每个子样本特征维度为M,每次树进行分裂时指定一个常数m<<M作为子样本特征个数,从m个子样本特征中选择最优的子样本特征去分裂;每棵树都最大程度的生长,组合成随机森林;步骤301、分类指的是根据样本记录所具有的特征将样本映射到预先定义好的类标号。通过从精确率、召回率和F值分析训练模型所用的时间,衡量算法时间效能,其中:精确率定义如公式(3)所示:其中,TP表示把正类预测为正类的案例个数,FP表示把负类预测为正类的案例个数;召回率定义如公式(4)所示:其中,FN表示把正类预测为负类的案例个数;F值定义如公式(5)所示:其中,Precision为精确率,Recall为召回率;步骤401、以同样的初始训练集中的数据集,分别构造拥有10棵和100棵决策树的随机森林,利用该模型对测试集进行分类,即将各个记录映射到预先定义的类标号,在训练集占比例不同情况下研究算法性能,记录模型训练时间;步骤501、将随机森林算法进行改进。具体步骤如下:假设有S1,S2,…Sn,n个样本作为随机森林n棵树的训练样本,用Si样本建立决策树模型,Oi为袋外数据,将Oi作为测试集进行预测,计算袋外数据误差EOi;对于特征Fj,将Oi中Fj的值进行噪声化,形成新测试集new_Oi;用新测试集new_Oi进行预测,记录新的袋外数据误差new_EOi,重要特征Fj重importancej要度量如公式(6)所示按重要性降序排列,确定删除比例,从当前的特征中剔除相应比例排在最后的不重要特征,每次选出一个重要特征Fj,以新特征作构造随机森林,递归重复上述步骤,直到剩余m个特征;依据通过上述方法所得到的各个新的重要特征构成重要特征集合和袋外数据,计算分类精确度,选取最优的作为最终特征集。对比其他推荐算法,本专利技术充分认识随机森林分类算法的优越性,并且自主实现随机森林分类算法,由此加深对推荐系统的了解;最后,从算法的构造入手,研究造成算法不足的关键点,改进算法,使算法具有更好的效能。附图说明图1为本专利技术的一种基于约束条件的随机森林推荐算法整体流程示意图;图2为随机森林模型训练集样本比例与精确率、召回率、F值关系曲线示意图;图3为原始算法与改进算法的能量对比示意图。具体实施方式下面结合附图对本专利技术作进一步详细描述:如图1所示,为本专利技术的一种基于约束条件的随机森林推荐算法整体流程示意图,包括:步骤101:根据给定的训练数据产生一棵决策树。在此过程中用到了CART算法解决ID3算法和C4.5算法生成的决策树分支规模较大、建模缓慢的问题,采用一种二分递归分割的技术;在CART算法中利用基尼指数构造二叉决策树。CART算法生成的决策树是结构简洁的二叉树。在CART算法中主要分为两个步骤(1)将样本递归划分进行建树过程;(2)用验证数据进行剪枝。实际的递归划分过程如下:如果当前节点的所有样本都不属于同一类或者只剩下一个样本,那么此节点为非叶子节点,尝试对该节点进行分裂,基尼指数反映了类别的杂乱程度,基尼指数越大,则类别越混乱。通过计算基尼指数计算样本的每个属性以及每个属性对应的分裂点,然后计算基尼增益,将基尼增益最小对应的特征作为分割点。最好的划分就是基尼增小的划分。基尼系数定义如公式(1)所示:其中,GiniR(S)是集合S以R分裂产生的基尼系数,S1和S2分别是用样本特征R分裂后得到的子集。类比于信息增益,定义基尼增益如公式(2)所示:Gini(R)=Gini(S)-GiniR(S)(2)步骤201:由给定的训练数据随机选取特征,构建随机森林:从初始训练集抽取训练子样本,每个样本特征维度为M,每棵树对应一个训练子样本,进行分裂时指定一个常数m<<M,从m个特征中选择最优的特征去分裂;每棵树都最大程度的生长,组合成随机森林;步骤301:通过分析训练模型所用的时间,衡量算法时间效能:主要从精确率(P)、召回率(R)和F值三个特征进行分析;假设预测有两种可能,一种就是把正类预测为正类有TP个案例,另一种是把负类预测为正类有FP个案例,精确率就是被识别为该分类的正类记录数/被识别为该分类的记录数,精确率定义如公式(3)所示:而召回率是针对原样本而言,它表示样本中的正类有多少被预测正确了。假设把原来的正类预测成正类有TP个案例,把正类预测为负类的有FN个案例,召回率定义如公式(4)所示:精确率和召回率在某些情况下是矛盾的,因此加入F值(F-Score)综合衡量精确率和召回率,Precision为精确率,Recall为召回率,F值定义如公式(5)所示:步骤401:用同样的数据集,分别构造拥有10棵和100本文档来自技高网
...
一种基于约束条件的随机森林推荐算法

【技术保护点】
一种基于约束条件的随机森林推荐算法,其特征在于,该方法包括以下步骤:步骤(101)、根据给定初始训练集中的数据集、在CART算法中利用基尼指数构造二叉决策树,基尼系数定义如公式(1)所示:

【技术特征摘要】
1.一种基于约束条件的随机森林推荐算法,其特征在于,该方法包括以下步骤:步骤(101)、根据给定初始训练集中的数据集、在CART算法中利用基尼指数构造二叉决策树,基尼系数定义如公式(1)所示:其中,GiniR(S)是集合S以特征R分裂产生的基尼系数,S1和S2分别是用样本特征R分裂后得到的子集,定义基尼增益如公式(2)所示:Gini(R)=Gini(S)-GiniR(S)(2)步骤(201)、从初始训练集抽取训练子样本,每个子样本特征维度为M,每次树进行分裂时指定一个常数m<<M作为子样本特征个数,从m个子样本特征中选择最优的子样本特征去分裂;每棵树都最大程度的生长,组合成随机森林;步骤(301)、分类指的是根据样本记录所具有的特征将样本映射到预先定义好的类标号。通过从精确率、召回率和F值分析训练模型所用的时间,衡量算法时间效能,其中:精确率定义如公式(3)所示:其中,TP表示把正类预测为正类的案例个数,FP表示把负类预测为正类的案例个数;召回率定义如公式(4)所示:其中,FN表示把正类预测为负类的案例个数;F值...

【专利技术属性】
技术研发人员:喻梅安永利于健高洁徐天一马雄
申请(专利权)人:天津大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1