数学算法与其他行业的结合及发展探索_第1页
数学算法与其他行业的结合及发展探索_第2页
数学算法与其他行业的结合及发展探索_第3页
数学算法与其他行业的结合及发展探索_第4页
数学算法与其他行业的结合及发展探索_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学算法与其他行业的结合及发展探索

摘要数学的发展历史悠久,数学算法也在不断发展和完善。如今,算法渗透到我们社会生活的各个领域。做事有一个好的方法和思维是提高效率的关键,而算法正是实现这些关键的一种工具。古有秦九韶算法,到神奇的外观数列,再到如今的决策树和向量机,数学算法无时无刻都在焕发神奇的力量。本文讨论数学算法在行业中的应用,介绍各行业中的主流算法。如购物APPAPP的推荐算法,旅行路线规划的蚁群算法,大型角色扮演游戏中的寻路算法。推荐算法发展至今,经历了几套发展模式,拥有了推荐高度个性化内容的能力。从最初的依据历史喜好推荐,到如今的用户群特征推荐,相邻爱好推荐。本文结合了京东推出的一系列APP帮助解释新推荐系统的优秀之处。蚁群算法应用领域非常的广,公交线路规划,地图APP的寻路功能,车辆调度问题等,在本文,主要探索的是蚁群算法基本原理及应用典例。算法在游戏行业的应用也越来越广,算法是游戏人工智能领域的基石,搜寻路径是游戏的基本功能,但也是表现游戏制作精良的一个指标,目前主流的寻路算法是Astar算法。关键词:数学算法,行业,原理,推荐算法,蚁群算法,Astar

AbstractThedevelopmentofmathematicshasbeenalonghistory,andmathematicalalgorithmsaredevelopingandperfectingconstantly.Today,algorithmspermeateallareasofoursociallife.Thereisagoodwaytodothingsandthinkingisthekeytoimprovingefficiency,andalgorithmsarejustoneofthekeytoolstoachievethese.Inancienttimes,therewereQinJiuyialgorithms,tothemagicalappearanceoftheseries,andnowtothedecisiontreeandvectormachine,themathematicalalgorithmisfullofmagicalpowerallthetime.Thisarticletalksabouttheapplicationofmathematicalalgorithmsintheindustryandintroducesmainstreamalgorithmsinvariousindustries.SuchastherecommendationalgorithmofshoppingAPPAPP,theantcolonyalgorithmoftravelrouteplanning,andthepathfindingalgorithminlargerole-playinggames.Therecommendedalgorithmhasbeendevelopedsofar,andhasexperiencedseveraldevelopmentmodelsandhastheabilitytorecommendhighlypersonalizedcontent.Fromtheinitialrecommendationbasedonhistoricalpreferences,tothecurrentusergroupfeaturerecommendation,neighboringhobbiesarerecommended.ThisarticlecombinesaseriesofAPPslaunchedbyJingdongtohelpexplaintheexcellenceofthenewrecommendationsystem.Theapplicationofantcolonyalgorithmisverywide,busrouteplanning,pathfindingfunctionofmapAPP,vehicleschedulingproblem,etc.Inthisarticle,theexamplesofantcolonyprinciplesalgorithmaremainlyexplored.Theseareplayinganmoreandmoreimportantroleinsomeindustries,suchasgames.ThealgorithmbecomethecornerstoneofthegameAIfield.Thesearchpathisthebasicfunctionofthegame,butitisalsoanindicatoroftheexcellentgameproduction.ThecurrentmainstreampathfindingalgorithmistheAstaralgorithm.Keywords:Mathematicalalgorithm,industry,principle,recommendationalgorithm,antcolonyalgorithm,Astar

目录1绪论 绪论1.1现状及问题的提出时代变迁,很多东西都在变,技术在更新,我们的生活也发生了翻天覆地的变化。现在很火的JAVA,或者有淘汰危险的iOS,似乎就在说明这个变化。但是,算法是永恒的,这一点没有争议。算法,就好比数据结构、编译原理、关系型数据库原理、计算机体系结构等等这些,远比日新月异的语言重要的多。这些都是本质,是万变不离其宗的东西。通俗来说算法是数学理论和工程的结合,是一门十分十分神奇的学问,自上个世纪九十年代,全世界就流行着一种“算法竞赛”—即ACM\ICPC,一项以三个人为一支队伍,在有限时间内对题目通过编程进行解决的同场竞技。可喜的是,发展到如今,很多人加入了进来,这说明算法已经的到他们的重视。并且优秀的人不光顾着自己,更是想着整个ACM的前途。但同时可悲的是,因为ACM受到足够的重视,这种初衷为提高自身算法功力的比赛,逐渐变得功利。到如今,计算机运算这么快,还需要算法吗?我们对计算机的要求一直在提高,计算机的计算能力每年都在飞快增长。但同时需要处理的信息量也呈指数增长,现在每人每天都会创造出大量数据(视频、录音,图片等等)。在量子研究领域,实验产生的许多数据几乎是以TB为单位的,但硬件设施不够先进,计算能力和存储能力欠佳,导致科学家要将大量未经处理过得数据舍弃。不限于此,在众多科研领域,科学技术的进步,研究方法的改进和发展,实验产生的数据量更是达到新的高度,机器学习,语音识别,仍只能等等,都需要极大的数据量和计算量。在其他方面,算法也逐渐成为舞台主角。医疗方面,人类已经探索基因治疗多年,算法可能会帮助科学家发明新的治疗办法,拯救生命。在国防领域,恐怖事件的预防进一步提升了成功概率。据悉,“911”事件的发生本可以预防发生,但因为美国情报局每天收到的消息量巨大,无法及时有效处理,遗漏了重要的“举报邮件”,间接导致了袭击事件的发生。在气象领域,合理运用算法能够预测大自然气象灾害,地震,海啸,风暴。我们需要认识的是,创新对创造价值及提高生活水平都起到关键作业,所以算法自大规模运用以来的信息技术系统就为人们创造了数万亿美元,技术的更新应用,使得行业的规模迅速扩大,数据爆发式增长。有目的的对这些数据进行搜集及高性能计算机技术使得算法在各个行业的应用成为可能,且在近几年得到快速发展。所以,把社会的发展放到数据爆发增长的大环境里,算法的重要性显而易见。1.2研究的目的和意义大数据包时代蕴藏着巨大的深度知识和价值,我们要采取有效的技术和运用不同的算法对数据进行分析、处理、整理,从而发现数据隐藏规律即数据价值。在互联网和其他行业,每个推荐内容,每位新用户的进入,出行的每条路线,游戏中的每次寻路都是算法在当中搭线,研究算法,使我们在分析、处理问题时显得得心应手,高效率,搞精度,大大提高输出价值,最终实现各种高附加值的增值服务和应用,为行业带来源源不断的经济效益和社会效益。2相关理论和研究回顾2.1算法的概念简单来说,算法是计算机解决问题的步骤。除了数据处理,在现实世界里,各种问题也需要结合算法的概念来解决,最生动的有代表性的就是烹饪中的食谱,食谱是各种料理的制作方法,需要一定步骤表示出来算法必须具备两个重要条件,有效性和终止性。有效性,即算法必须要为给定的任务给出正确的结果,即,当有满足条件的输入值,算法一定要保证正常的工作(能返回正确的输出值)。判断算法有的效性就是断点。断点在算法的任意位置上,判断此位置是否满足条件,即,程序能否正确运行。终止性,算法不会永无止境的执行,即,不会无限循环,不返回答案的情况。算法的终止性需要用反复处理结束条件的判断变量,或经过有限次的反复后,肯定能达到结束条件等证明方法。2.2算法的发展历程中文“算法”的概念来自古文《\t"/item/%E7%AE%97%E6%B3%95/_blank"周髀算经》,算法意识在中国古代就存在,先辈创造了许多充满智慧的数学运算法,如秦九韶算法,可以描述一组特殊序列的外观数列...西方数学界第一次出现算法概念是在9世纪,由al-Khwarizmi提出。对当今世界算法发展起推动作用的主要是在西方科学界,阿拉伯语中,“算法”是运算法则的意思,世界上第一个算法是欧几里得算法,AdaByron编写了第一个程序,用来解决伯努利问题。在20世纪,著名数学家图灵提出了一个著名的理论——“图灵理论”,是用来描述宇宙中存在的自相似性的。图灵还提出了一种计算机假象模型——“图灵机”,这解决了算法定义难的问题,对算法的发展起了巨大的推动作用2.3算法的特点和要素2.3.1特点首先,一个算法是有限的,也就是它的步骤是有限的,只执行有限次运算。然后,算法的任一步骤都要有严格地定义,执行时不能出现歧义。再者,在运行算法之前,要给变量赋值,也可以在运行过程中动态地赋给变量值。除此三个特点,还有两个简单但必要的点,一是算法运行结束的时候可以输出结果,而是算法所有的步骤可以在人工用纸和笔,在有限时间内正确运算出结果有效性。即五个特点:有限性,确定性,输入,输出,有效性。2.3.2要素算法的要素包括两大点,数据对象的运算和操作,和算法的控制结构。前者包括四个点,“加、减、乘、除”的算术运算,“或、且、非”等逻辑运,“大于,小于、等于”等关系运算,“输出和输出、赋值”等数据传输。后者决定了算法的各操作之间的执行顺序[1]2.4算法应用概述算法在互联网行业的应用可谓是十分火热,各种阅读APP使用的推荐算法,购物APP的分类聚类算法等等。除了互联网,公共生活的方方面面也有算法的存在,比如公交线路的分配的遗传算法,信息检索当中的语义分析算法...在游戏行业,算法也是一个游戏的生命源泉,算法界流传着这样一句话,“没有算法,就没有马化腾的游戏帝国”。接下来本文将介绍目前交流性的几类算法,及游戏行业中十分重要的几类算法。3推荐算法在互联网行业的应用传统互联网分为上半场和下半场,上半场是在竞争消费互联网,互联网大头们都在争夺C(costume消费者)端的用户,用户的生活信息具有极高的价值。人们用手机打车、购物、看新闻、聊天BATJTMD互联网公司一跃成为独角兽,在1、2级市场收货资本的红利。互联网大头肆无忌惮地消耗着C端人口红利,消费互联网的高利益期将成为过去产业互联网即将接手。未来的红利将来自产业互联网,它的体量是消费互联网的百倍之多,纵观互联网发展历史,无论是消费互联网,还是产业互联网,说到底,都是企业、厂家在找人,连接人,服务人。消费互联网问世之前,倘若没有产业互联网做好了铺垫,消费互联网也只能是浮云,始终是幻想的东西。在互联网战争的上半部分,互联网公司是主角,他们主导发展的趋势,人们的口味,他们身上的标签是颠覆者。但在下半场。服务者成为了互联网公司的角色,不限于互联网公司,各种企业,无论新型企业还是传统企业,都将自己置于互联网的根基之上,运用数字化完成转型,形成新的竞争力。[2]互联网企业要有竞争力,现阶段的有力武器,就是算法!微博在2017年率先加入发现流,内容分发逻辑大变天。正因为看到算法类内容的强势崛起,网易、腾讯、京东、虎扑都推出信息流产品。将推荐算法实际运用的第一人是豆瓣,在PC时代,它的推荐内容已经是以算法为基础形成的内容刘,虎扑APP也在2017年首页改版后实行了以关注内容为基础的推荐分发。但局限于当时的技术,特别是深度学习这方面,内容的个性化和推荐精度备受网友批评。随着算法的发张,AI也逐渐成熟起来,将之应用于推荐系统也越来越熟练,推荐效率高,精准度高,实现网友千人千面,比网友更懂网友。3.1主流的推荐算法目前行业内主流的推荐算法有两种,一个是基于内容推荐,另一个是协同过滤推荐,前者以产品关联度作为基础,将历史购买商品作为规则的前提,通过大数据挖掘寻找用户的潜在关系而进行的规则推荐;后者通过收录后台用户交易历史记录和挖掘用户评论,对其做语义分析的,得出用户的兴趣特征,将这作为用户未来的购物趋势,同时,可以得到用户历史购买商品的特征,通过商品的特征匹配度和最邻近用户匹配机制,向用户推荐内容。[3]3.1.1基于内容的推荐算法(CB)以用户历史喜好商品,向用户推荐相似的商品,是CB算法的思想,这种思想的关键是得到物品相似性。原理分为三步:构建物品的属性资料,然后是用户的喜好资料,最后是计算属性资料和喜好资料相似度,值越高,说明物品与用户的匹配度越高。现在,选择用户U,遍历用户,计算每个物品的属性资料和用户U的喜好资料的相似度并排序,将相似度最高的K个物品推荐给用户U第一步:Itemprofile推荐的物品(Item,一本书)和要推荐物品出版时间等等的属性(itemprofile,它必须是详细和具体的,如作者,出版机构,书的类别)第二步:RepresentingItemProfile例如一本书,ABCbook,假设itemprofile里只有作者,这样itemprofile就可以表示为{A,B,C}(作者A,B,C);再将itemprofile映射为程序能读懂的数据结构,此时将itemprofile转换为0,1矩阵,1)构建一个1位矩阵,n表示全部作者,将所有元素设置为0,[0,0,0,0],一共有n个02)假设0号元素代表作者A,1号元素代表B,2号元素代表C,3号元素代表D,等等3)将itemsprofile里的内容对应到1个一维矩阵,如果作者名是A,B,C,那么ABCbook的0,1矩阵是[1,1,1,0,0,0,0,0,0,0,0],那么可以看出,ABCbook的作者是0,1,2号元素,即作者。第三步:UserProfile模型建立完成后,要为构造UserProfile,即用户建模,这相当于用户的偏好,偏好可以设定为对作者的喜好程度。例如,一个评分数据(满分5分,对每本书的评价,空的表示没有评分)。[4]《JAVA设计》《操作系统》《算法分析》小力453小森14可以看出,小力更喜欢《算法分析》和《操作系统》这两本书,假设两本书的作者都包含A,那我们可以推出小力更喜欢作者A的书。然后,构建小力的UserProfile,如下所示:算出小力的平均分,ACG=(3+5+4)/3=4利用公式求出小力对作者A的喜好程度,Xi是涉及作者A的所有因素,也是小力评过书的分数,AVG是平均分,n是所有涉及作者A的且是小力评过分的书的数量:(4-4+5-4)/2=0.5,即小力对作者A的喜好程度可以用值0.5来表示同样可以建立1个矩阵,其中的元素表示每个演员的喜好程度[0.5,x,y,,z],首个元素“0.5”表示小力对作者A的喜好度第四步:计算推荐依据利用余弦相似度公式计算用户U和ItemL之间的距离:相似度越大,U越可能喜欢L,公式如下:其中,Ai为Ui,表示U对作者i的喜好度(即UserProfile矩阵的作者A对应值,0.5)Bi表示书本的作者里是否包含i(即1为ItemProfile矩阵中作者a的对应值)第五步:推荐计算余弦相似度,即小力与每位作者之间的余弦相似度,将值最高的前K个本书推荐给小力。这种推荐算法的优点是具有用户独立性,推荐结果只和当前用户的兴趣模型有关,与其他用户无关,可避免恶意作弊行为;二是推荐具有解释性,推荐给用户的内容是根据用户之前的行为产生的;三是可以推荐特征与用户兴趣匹配的物品。但缺点也很明显。首先,项目特征是难获取的,电影和网络中的人的特征不好抽取;其次,推荐内容只根据用户的历史喜好产生,缺乏新意;最后,这种算法无法为新用户作推荐,因为新用户没有喜好历史,不能建立兴趣模型。[4]3.1.2协同过滤推荐协同过滤推荐算法( CF)是推荐系统中应用最成功和应用范围最广的一种算法,它假设前提是用户A与用户B均感兴趣与相同的一系列物品,那么A很有可能也喜欢B用户喜好的物品。该算法的思想:用户先为每个项目打分,通过计算不同用户的评分之间的相似度(评分结果相似的),找到最邻近的评分,产生推荐。下面举例说明。一种有4位用户,7本书,每位用户对每本书的评价矩阵如下(满分为5分)book1book2book3book4book5book6book7小力451小森55442小张2154小赵33第一步:寻找与小力品味最接近的用户即分数最接近的用户,如上表,小力对book1和book4两本书的评价极高,book5极低,通过观察可以发现,小森对book1和book4评价也很高,对book5评价也较低,因此,小力和小森的品味较为接近,小森就是小力的最邻近用户。当用户数量多起来时,就不能简单地找到小力的邻居用户了,所以建立一个模型来寻找小力的邻居用户,如果把表格中每一行看作是一个向量,这个向量就用来表示用户的喜好,此时可以继续用余弦相似度来衡量两个用户的喜好相似度。此时得分公式为:R为评定矩阵,用来表示用户对书的评分,ui和y表示某用户对某本书的评分,cos表示u1和u2的相似度。分母的y表示u1和u2各自的评价集合,分子中的y表示u1与u2评分的交集。第二步:以最近邻居用户为依据来预测小力的评分制遍历所有的用户,小力与每个用户都计算出一个相似度,排序后选择前10个最高的用户来作为小力的邻近用户,并用这10个邻居用户的评分来给小力作推荐。公式如下:Predict(u,i)表示用u对音乐i的分数预测值,U就是用户u的最邻近用户集合(如前10个最邻近用户集合),R是评定矩阵;Rv,i表示邻近用户v对书i的评分,cos(u,v)就表示用户u对v的余弦相似度第三步:推荐将一些小力从未听过的书本(小力未评过分的书),利用Predict(u,i)排序,选择前1个P值高的书本推荐给小力。这种推荐算法的优点,一是能过滤掉及其难以自动分析的信息,艺术品,音乐;二是参考了他人的喜好,能够过滤掉感性方面的因素;三是可推荐新信息,挖掘潜在爱好;四是推荐个性化搞,能有效利用其他相似用户的反馈信息,加速个性化学习进程。但这种算法同样存在缺点。首先,推荐的初期,因为缺少足够的用户,系统推荐质量差;其次,它也受限于历史数据。[5]3.2互联网的智能推荐系统挖掘用户潜在价值,增加用户对商品的体验,缩短用户与商品间的距离,是电商领域关注的重点。京东可以作为这一领域的代表,京东起步于2012年,它的购物APP页面里的推荐内容是基于规则匹配的。内容松散,没有依据,没有算法发挥作用。2013,大数据算法应用快速普及,飞速发展,京东的业务也上升迅速,推荐团队为应对此大环境,设计了全新的、专门的推荐系统。[6]互联网时代来临,多屏互通(app,PC商城,微信小程序),推荐内容从商品推荐慢慢转向其他类型的推荐,如分类、活动、优惠券、文章、好货等等。基于大数据,向不同用户展示不同内容。16年“双11”期间个性化推荐大放异彩,特别是“个性化卖场”,实现活动会场的智能分发,不仅降低了人工成本,商家从中获利,用户的购物体验和流量分配效率也极大的增强和提高。另外,此产品也获得了集团2016年优秀产品称号。推荐产品的发展历程主要经历了几个阶段。费费首页猜你喜欢购物车拆你喜欢免运费凑单2016京东秒杀智能卖场东家校园看了还看买了还买看相似找搭配LOREMIPSUM3.2.1多屏互通产品多屏互通是非常流行的推荐类型,包括了各种类型的推荐。在互联网时代,特别是移动端互联网发展迅速的年代,多屏互通场景应用非常普遍,不同用户在多屏中产生的信息,被后台收集,使推荐内容更加精确,更有个性化。多屏互通的技术基础是在前端记录用户触发的隐藏点,用户触发了这些隐藏点,也可称为隐藏事件,触摸系统会反馈这些信息。这些行为数据在实时流量计算平台用标签记为行为偏好,从而根据用户的行为偏好对推荐内容重排序,达到个性化推荐的目的。京东多屏终端如下展示。3.2.2推荐系统架构 通过全面精准的数据分析用户未来的购买倾向,设计并推荐用户有购买意图的项目,吸引用户的注意力,提高订单的成功率,增强用户的粘性。推荐系统的业务体系结构如下。在开发的初始阶段,推荐系统相对简单,每个推荐产品都是独立服务的实现。设计新的推荐系统是系统工程,需要算法和人机交互及数据结构架构的帮助。它的目标,是通过特殊的数据挖掘、机器学习,将千人一面变为千人千面,提高用户的依赖度和用户体验,提高用户购物的效率,提升网站关联销售能力,减小用户购物复杂度。最新的个性化推荐系统支持多种类型,不再限于商店和优惠券,还包括关联喜好品牌,活动和历史购买的定制服务。新版推荐系统的架构如下。[7] 上图中的不同颜色代表不同的业务场景:数据处理(低级绿色),包括数据预处理,机器学习,在线实时数据访问,实时特征计算。推荐平台(蓝色)反映了推荐系统的模块之间为响应用户请求而建立的关系。推荐系统需要做到以下几点才能称之为优秀,支持产品快速迭代、推荐引擎计算和解耦、存储资源和解耦、系统架构算法和解耦、自定义隐藏事件设立和埋点。解耦即为将运动分离开,再进行分析和处理。3.2.3数据收集与处理用户数据得收集与处理要用到一个重要的数据平台BPRCSS,数据得采集一般与平台应用有关,在京东方面,京东PC端,移动端的用户操作都和数据采集有关。触摸流收到请求后,会定期自动发送实时消息和本地日志到大数据平台,实时消息用于业务实时计算,本地日志用于计算离线模型。平台仲裁员使用机器学习的方法训练模型,并将之用于推荐系统。系统会根据之前的训练影响用户的购物决定,帮助用户做决策,用户完成购物后,购物的行为数据将会发回触控流,实现环绕式数据收集。离线模型和功能,用户和产品肖像,用户行为比较多的结合搭配离线计算平台,Hadoop的MapReduce是主要的运算工具,也有一些是在Spark上进行的,计算的结果利用共享衍生工具传入数据库中。考虑到各种业务类型,复杂类型和多种存储类型,该团队开发了插件衍生工具,以降低离线数据开发和维护的成本。数据离线计算架构如下图所示。与离线计算相比,在线计算的应用对象主要是实时数据,包括用户实时行为,画像,反馈,产品的人机交互特征计算等。由业务需求获取用户感兴趣的产品和,在线计算可以实时反馈用户的建议和排名,为用户设计独特的个性化服务,并推到redis集群和hbase集群进行储存。Kafka和JMQ的消息订阅是在线计算主要的实时信息来源。3.2.4推荐引擎个化推荐的关键是推荐引擎,引擎的常规处理过程是召回候选集,过滤,使用算法模型评分,模型融合排序,结果多样化展示。主要使用的技术是机器学习模型,挖掘商品间的关系,按用户场景,计算高维特征,大量排序模型,进行个性化推荐,提升排序效果,给用户良好的购物感受。推荐引擎的技术架构如下。3.2.5合并在用户肖像信息和用户对应最年轻行为的相应反馈之后并且,选择过滤器的各种提醒,规则,商品候选,商品特征,用户和交叉特征,算法根据这些特征在每个商品之后计算候选人得分。关于商品分类的结果和丰富的理由是建议的,考虑到用户体验,推荐的最终结果顺序-适应性,如多样性展示。3.2.6用户画像与其他制造商不同,京东拥有最长的价值链和数据积累的整个过程。京东数据的特点非常全面。数据链接记录每个用户操作的每一步:从登录到搜索,浏览,选择商品,页面停留时间,阅读阅读,是否关注促销,以及添加购物车,下订单,付款,分发方法,是否有售后和维修。记录整个用户购物行为的完整数据。通过对这些用户行为和相关场景的分析,构建了京东的用户肖像。如下图所示。其中,不仅有用户的性格,性别,购物习惯,还有大量基于购物行为的数据,如是否结婚,是否有孩子,是否对促销敏感等等。此外,实时用户肖像可以在几秒钟内分析用户的购买意图和实时兴趣偏好。用户肖像广泛应用于北京和华东地区各种终端的推荐产品。在618中推出的智能商店是用户肖像的典型应用场景。智能商店的产品包括寻找好产品,个性化地板,秒杀,活动,优惠券,分类,标签等。以secondkill为例,推荐结果将根据当前用户肖像的肖像模型(性别,年龄,促销敏感度,类别偏好,购买力)进行加权,以便用户最有趣的产品排名第一。用户肖像也是场景推荐的核心基础。以业主庭院为例,根据用户的历史行为聚合了许多场景标签,并根据当前用户的肖像模型调整场景标签的顺序。如果用户选择“治愈所有疾病”的标签,推荐的产品将根据用户肖像中的性别,年龄,类别和促销敏感度的肖像模型进行重新排序。特征是推荐系统是否体现个性化的基础,其中,共同特征是重要的一点,它分为单边和多边特征,多变特征一般是双边特征。前者指对象属性的描述,如颜色;后者描述两个对象的交互程度,例如用户在历史记录浏览过的品牌与候选集中的品牌之间的匹配程度。而生成特征的场景里,可以分为离线和实时特征。无论是离线特征还是实时特征,推荐内容的效果和特征玩哪个计算能力都受到特征的直接影响,也影响个性化推荐的处理能力。此外,共享和重用特征可以提高迭代速度并节省人力成本。特征数据的计算是服务管理平台的职能,平台有效地进行声明和管理数据,实现特征资源的共享和重用。特色服务平台可以快速满足有效申报,在线,测试和A/B实验效果比较的不同特征要求,使特征得以维护,解释和验证。特征服务平台的主要特征如下:离线特征的定制使用,在线特征的自定义使用,定制特征生成的新功能,一些特征和模型的在线申报,不同特征的快速A/B。建议的一般处理逻辑是在每个请求时调用一批货物,然后根据用户的行为数据和用户模型计算每个产品的特征。由特征计算得到商品得分,算法模型根据每种商品的得分,选择得分最高的几种商品推荐给用户。在线计算特征是一次性行为,不会被记录。因此,如果我们想在离线培训模型中使用上述特征,我们需要在离线机器上再次计算这些特征。不幸的是,离线计算的特征通常与在线计算的特征不同,这导致模型训练效果不佳。推荐服务呼叫推荐引擎。推荐引擎通过功能回放服务记录方案功能,并将它们输入到大数据平台。机器学习模型会根据特征数据训练新的算法模型,对推荐内容进行重排序,形成场景的闭环推荐,以实现更准确的个性化推荐。场景特征回放技术的实现过程如下。在线功能通常是一系列数值。我们根据某些规则将这些功能组合成一个字符串,然后使用HTTP的POST方法将这些功能异步发送到服务器。 随着企业的进步和发展和人们生活方式的变化,推荐系统的更新换代一直在进行中。在个人电脑时代到手机移动端的过度,从固化的推荐相关内容到个性推荐,由纯商品推荐到多种推荐,个性化推荐系统已经实现了数千人。实际上,个性化的效果需要提高,经验类型的一些问题逐渐得到改善。目前,还有很多方面需要改进,如:丰富的知识地图和深入学习算法的广泛应用;更好地支持推荐系统中的大规模召回,高维特征计算和在线学习;更实时,更准确的推荐;产品已朝着“全屏智能推荐”的方向发展。最后,我希望个性化推荐系统可以使购物更简单,更人性化,更丰富,更好。[8]4公共生活中的蚁群算法4.1蚁群算法(ACO)蚁群算法源自观察大自然中蚂蚁种群的工作行为,如移穴和觅食行为,单只蚂蚁的工作效率极低,只能通过漫无目的的搜索来寻找目标,而蚂蚁群体却可以在巢穴和目标之间找到最优路径。学者在对自然状态下的蚁群做了大量观察和研究之后,发现蚂蚁可以产生一种名为信息素的物质,这种物质是蚂蚁个体间信息交流的载体。蚂蚁会在通过的路径留下这种物质,其他蚂蚁可以感受和追踪这种物质。在蚁群行进道路上的信息素越多,其他蚂蚁在该道路通过的概率越大。正是通过这种间接沟通机制,蚂蚁种群可以实现搜寻目标的最优化路线。4.1.1旅行商(TSP)路径规划问题

旅行商路径规划问题属于车辆调度问题,也可以称为推销员问题。该问题是选定一个起点,通过需要驻留或其他进行活动的需求点,再返回原点(起点),目标是寻求完成改路径活动的最小成本。如公交线路运营调度问题就是典型的TSP问题4.1.2基本原理A是初始状态,蚂蚁从A出发。想要到达E,需要绕过路上的障碍才能到达那里。围绕障碍的两条路线BC和BH。已校准每条路径的距离D.B图是t=0时的蚂蚁状态,假设它是15,每侧有相同的信息素浓度。C图是在t=1时刻蚂蚁的状态,信息素浓度发生变化。从蚂蚁觅食的原理可以看出,个体蚂蚁的行为非常简单。蚂蚁只知道跟踪信息素爬行和释放信息素,但组合的群体智能非常高。在复杂的地理分布下,蚂蚁可以很容易地找到蚂蚁的食物和食物来源之间的最短路径。路径长度和信息素浓度成反比例关系,长度越短,浓度越高,蚂蚁会更大概率的选择更短的路径到达目的地。在蚂蚁种群大量的路径训练后,巢穴到目标的最优路径被找到。整个过程可以概括如为,选择路径的概率与信息素浓度相关;路径越短,信息素更新速度越快,即浓度增加越快;蚂蚁通过群体协同工作传递信息。蚁群算法是对这种自然现象的模仿和改进,自然蚂蚁被人工蚂蚁取代。4.2基本步骤在抽取蚂蚁路径之前,根据每个时期的客流量,应该进行整天。所有时段均根据客流的峰值,平峰和低峰进行分类。根据经验每个好班级都定义了一个离职研讨会间隔。每个相应的时间段都很方便。对应一个可供选择的发车间隔区间。在编程过程中,为了方便的计算,有必要将每个周期中的备选间隔数设置为相同,这是不够的。部分由大量补充。假设每个间隔内的可选出发间隔元素的数量是6,并且第k个周期的离开研讨会间隔中的元素的数量由delta表示。选择性元素校正构建了下图所示的人工智能蚂蚁搜索。通过上面构建的总线运行调度网络图,完成了总线运行调度。将该问题转化为“TSP”问题,建立了总线调度的蚁群算法模型。公共交通运营调度及相关业务和公共交通的蚁群算法中的变量已经付诸实践。[9]4.3应用案例车辆路径问题。限制每一个客户点上的需求量,保证车辆路线上的载量在一定程度之内,将每条路线上的总好时间设定在一定范围之内。当车辆到达时间限制的范围之内时,应该满足客户对于供应的特殊要求,保障求解算法的继续提出。在实际的应用中,利用精确算法可以有效地获得逻辑模型,并且可以建立一些数学表达式,得出数目众多的限制条件。选用基本的蚁群算法模型,可以保证每条路径上的信息素不会相差过多,同时也不会影响对应的搜索能力于每条路径上的信息素浓度受到了限制,在一定程度上就会导致信息浓度造成算法能力下降,为了可以保证在有效时间内做出判断,必须要兑现的策略进行适当的修改。每一只蚂蚁必须要经历所有路径的节点,这样才可以确保每一只蚂蚁移动的次数是在一定步数之内。以四个城市间的TSP问题为例,用蚁群算法解决问题。距离矩阵和城市图示如下:设共有3只蚂蚁,记为1、2、3号,参数分别为:信息启发式因子α=1,期望启发式因子β=2,信息素强度θ=0.5。首先,使用贪心算法求得路径的(ACDBA),Cnn=1+2+4+3+=10,求得T0=m/Cnn=0.3T(0)=(Tij(0))=然后,为每只蚂蚁随机地选择出发点,设一号选择A作为出发点,2号选择B作为出发点,3号选择D作为出发点。为使每个蚂蚁访问下一个城市,以1号为例,当前城市i=A,可以访问城市有B,C,D。计算1号访问各个城市的概率:用轮盘法选择下一个访问城市。假设产生的随机数q=0.05,则1号会选择城市B,2号选择城市D,三号选择城市A。同理,随机数q=0.68,则1号会选择城市D,2号选择城市C,3号选择城市D。此时所有蚂蚁都已经选择好路径。1号:A-B-D-C-A2号:B-D-C-A-B3号:D-A-C-B-D接着计算每号蚂蚁的路径,更新每条边上的信息素。C1=3+4+2+1=10C2=4+2+1+3=10C3=3+2+5+4=12最后,如果满足结束条件,则输出全局最优路径。否则,回到第二部继续搜寻。在实际操作调度中,调度员可以首先结合每个时段的经验。设置一定数量的备用出发间隔,然后根据调查数据使用该纸张。采用的方法是根据乘客的要求,在全天路线上生成公交时刻表。通过滚动更新流量和交通流量。[10]5数学算法的新应用领域5.游戏中的算法作为一名魔兽争霸等MMOARPG游戏的资深玩家,我发现人们走路很有趣。为了模仿人们行走的真实体验,他们将选择最近的路线到达目的地,避开山脉或湖泊,绕过箱子或树木直到他们到达目的地。这个看似普通的路径需要一定的路由算法来解决程序何时实现。如何在最短时间内找到最短路径是路由算法的首要考虑因素。游戏中,玩家可以自己编辑游戏地图和资源分配,而开发者需要将地图转换为数据对象。数据结构图是我们算法运算的基础。从某种意义上说,网格也是图形的演变,但图形已经发生了变化。5.1搜索算法在游戏开发初期,深度优先、宽度优先和Dijkstra算法是三种应用较广泛的算法,第一种用于遍历树或图的算法,第二种是图形搜索算法,常用语探索最短路径,第三种是有第一种改进得来的,使用贪婪算法计算,最后生成最短路径。这三种算法在游戏寻路中还需要改进,综合这些算法的优点,形成现在游戏行业地图寻路使用最广的A*寻路算法.5.2Astar算法A*的基本原理为,当角色要从A地移动到B地,B地被墙阻拦。如下图所示,蓝色部分为墙,红色方块为终点。首先,简化搜索区域是寻路的第一步。整个搜索区域为矩阵,矩阵由正方形方块组成,这些正方形分成两种,开通过和不可通过。从A点到达B点经过的方块记为路径,只要存在这种路径,角色就可以从A点到达B点,换言之,游戏中角色就可以从一个NPC(电脑控制的角色)到达另一个NPC处。[11]5.2.1开始搜索接下来寻找最短路径。检查A点块附近的方块:记A为“打开列表中”处理的点,通过情况为会通过或不会通过。寻找A附近的所有方块,忽略墙壁与河流等无法通过的地方,并添加到“打开列表”中。以上所有的方块都是父方块。绿色是起点,周围每个方块都有指针指向父方块。5.2.2路径评分选择路径中要通过的正方形的关键是以下方程式:F=G+HG=从起点A沿路径移动到网格上的正方形。H=从指定的正方形到B端的预计移动成本。路径是由最小的f值平方生成的。选择十个方块作移动,十四个方块作对角线,g表示从起点到当前位置的成本。设定一条指向g的路线,用父节点的g值计算,相对于父节点的对角线或直角分别增加14和10。求解h值,当前网格到目标网格的水平和垂直平方和。得到的结果扩大十倍。这类似与计算角色从一个NPC到另一个NPC的方块数,角色是斜插过区域的。f的值等于g+h,首次搜索结果如下图显示,f,g,h的值分别位于每个方块中。在字母框中,G=10.这是因为它在水平方向上仅偏离起始点阵一个空格。在初始晶格的顶部旁边,左下方和左方的G值等于10.对角线方向的G值为14。H值是通过求解红色目标点阵的曼哈顿距离获得的,该距离仅水平和垂直移动,并忽略中间墙。这样,起点附近的正方形距离红色正方形3个方格,H值为30.该正方形上方的正方形有四个网格距离(记住,它只能水平和垂直移动),H值为40。通过添加G和H简单地获得每个晶格的F值。5.2.3继续搜索按以下程序处理选定的网格,将其从打开列表转移到关闭列表中,打开列表中最低的f值。1.对所有的临近网格进行检查。越过已关闭列表中或无法访问的内容(墙,水或其他无法访问的地形)并将其补充到打开列表中。如果不存在,使用所选网格作为新网格的父节点。中式2.如果相邻单元格已在打开列表中,请检查当前路径是否更好。如果新G值较低,将之前相邻网格的父节点更改为选定的网格,再重新计算F和G的值。在前9个方格中,在起点切换到关闭列表后,打开列表中剩下8个。在这种情况下,F的最低值是40,位于父方块右侧的相邻方块。故将该方块当作下一个移动方块。如下图的蓝色边框方块。首先,我们将它从开放列表中取出并将其放入封闭列表中,然后检查相邻的网格。跳过右边的网格和左边的晶格其他四个单元格已经在打开列表中,检查g值判断角色能否搞笑通过网格。它的值为14,使g值增加到20,此时g值超过14,不是更好的路径。再检查有所临近网格,移动下一块网格。在打开列表中检索,现在只有7个网格,仍选择其中f值最低的方块。这一次,有两个格子,值为54.考虑到速度,选择要添加到列表的最后一个网格会更快。这导致优选在接近目标时首先使用新发现的晶格。然后我们选择起始网格右下角的点阵。检查相邻的细胞,会发现右侧的墙壁并跳过它。这样,剩下五个其他方格。当前晶格下的其他两个晶格当前不在开放列表中,因此我们添加它们并将当前晶格指定为其父节点。其余三个单元格,有两个存在与关闭列表中(起始网格和当前网格,用蓝色在表格突出显示)会被跳过。将检查当前网格左侧的最后一个网格,以查看此路径中的G值是否较低。起始网格下方的网格的父节点与前一个网格不同。之前,G值为28,并指向右上方的网格。现在G值为20,指向上面的点阵。应用新路径时,检查G值,并重新分配父节点且重新计算G和F的值。简单地说,从红色目标细胞开始,沿箭头方向向父节点移动,最终会回到起跑线。从起始点A移动到目标点阵B只是从每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论