精华内容
下载资源
问答
  • 立体匹配算法介绍

    2018-01-31 09:10:09
    转载自计算机视觉网-AI技术供需平台-计算机视觉论坛 首先介绍一篇比较好的介绍立体匹配的综述性文章:http://wenku.baidu.com/view/5b359d7d5acfa1c7aa00cc7b.html 而后有一个较好的介绍立体...

    转载自计算机视觉网-AI技术供需平台-计算机视觉论坛


    首先介绍一篇比较好的介绍立体匹配的综述性文章:http://wenku.baidu.com/view/5b359d7d5acfa1c7aa00cc7b.html

    而后有一个较好的介绍立体匹配的PPT:http://wenku.baidu.com/view/cabedc4bc850ad02de804124.html

    下面的内容转载自:http://www.360doc.com/content/12/0621/19/10004630_219681094.shtml,具体介绍了立体匹配十个方面的概念:

    一、概念

            立体匹配算法主要是通过建立一个能量代价函数,通过此能量代价函数最小化来估计像素点视差值。立体匹配算法的实质就是一个最优化求解问题,通过建立合理的能量函数,增加一些约束,采用最优化理论的方法进行方程求解,这也是所有的病态问题求解方法。

    二、主要立体匹配算法分类

    1)根据采用图像表示的基元不同,立体匹配算法分为:

           A、区域立体匹配算法(可获取稠密视差图。缺点:受图像的仿射畸变和辐射畸变影响较大;像素点约束窗口的大小与形状选择比较困难,选择过大,在深度不连续处,视差图中会出现过度平滑现象;选择过小,对像素点的约束比较少,图像信息没有得到充分利用,容易产生误匹配。)

           B、基于特征的立体匹配算法(可获得稀疏的视差图,经差值估计可获得稠密视差图。可提取点、线、面等局部特征,也可提取多边形和图像结构等全局特征。缺点:特征提取易受遮挡、光线、重复纹理等影响较大;差值估计计算量大)

           C、基于相位立体匹配算法(假定在图像对应点中,其频率范围内,其局部相位是相等的,在频率范围内进行视差估计)

    2)依据采用最优化理论方法的不同,立体匹配算法可以分为:

           A、局部的立体匹配算法

           B、全局的立体匹配算法

    三、匹配基元(match primitive)

    目前匹配算法中所采用的匹配基元可以分成两大类:

    1)在所有图象像素点上抽取量测描述子

          A、像素灰度值(最简单、直接,但必须在同一光照条件下获得)

          B、局部区域灰度函数(主要是利用求得在各种大小不同窗口中灰度分布的导数信息,描述像素点周围的结构矢量。)

          C、卷积图象符号(利用各种大小算子与图象进行卷积,用灰度梯度局部极大值或极小值作为特征信息,描述整个图像)

    2)图像特征

          A、过零点

          B、边缘(由于边缘是图像特征位置的标志,对灰度值的变化不敏感,边缘是图像匹配的重要特征和描述子)

          C、角点(虽然其没有明确的数学定义,但大家普遍认为角点,即二维图像亮度变化剧烈的点或边缘曲线上曲率极值点)

    四、区域匹配算法

            基本原理是给定在一幅图像上的某一点,选取该像素点邻域内的一个子窗口,在另一幅图像中的一个区域内,根据某种相似性判断依据,寻找与子窗口图像最为相似的子图,而其匹配的子图中对应的像素点就为该像素的匹配点。

            一般单纯的区域匹配都遇到如下限制:

           1)针对弱纹理或存在重复纹理的区域,匹配结果不好

           2)该算法不适应于深度变化剧烈的场景

           3)对光照、对比度和噪声比较敏感

           4)子窗体的大小很难选择

    五、特征匹配算法

            特征的匹配算法,主要是基于几何特征信息(边缘、线、轮廓、兴趣点、角点和几何基元等),针对几何特征点进行视差估计,所以先要提取图像的特征点,尽而利用这些特征点的视差值信息来重建三维空间场景。

            匹配所需要的主要步骤:图像预处理、提取特征、特征点的匹配获取稀疏视差图,如果想得到稠密的视差图,需要采用插值的方法。

    六、全局匹配算法

            全局立体匹配算法主要是采用了全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值。

            全局匹配算法得到的结果比较准确,但是其运行时间比较长,不适合实时运行。主要的算法有图割(graph cuts)、信念传播(belief propagation)、动态规划等算法。

    七、局部匹配算法(个人觉得跟区域匹配类似,角度不同而已)

            主要是采用局部优化方法进行视差值估计,局部立体匹配算法有 SAD,SSD 等算法,与全局立体匹配算法一样,也是通过能量最小化方法进行视差估计,但是,在能量函数中,只有数据项,而没有平滑项。

           主要分为三类:自适应窗体立体匹配算法、自适应权值的立体匹配算法和多窗体立体匹配算法。

    八、立体匹配约束

    1)极线约束
    2)唯一性约束

    3)视差连续性约束

    4)顺序一致性约束

    5)相似性约束

    九、相似性判断标准

    1)像素点灰度差的平方和,即 SSD

    2)像素点灰度差的绝对值和,即 SAD

    3)归一化交叉相关,简称 NCC

    4) 零均值交叉相关,即 ZNCC

    5)Moravec 非归一化交叉相关,即 MNCC

    6) Kolmogorov-Smirnov 距离,即 KSD

    7)Jeffrey 散度

    8)Rank 变换(是以窗口内灰度值小于中心像素灰度值的像素个数来代替中心像素的灰度值)

    9)Census 变换(是根据窗口内中心像素灰度与其余像素灰度值的大小关系得一串位码,位码长度等于窗口内像素个数减一)

    十、评价参数

            立体匹配算法是一个病态问题,一般通过建立能量函数,利用最小化能量函数,和一些约束条件,采用最优化理论方法进行求解方程。

            公认的定量评价参数有:均方根误差(Root-mean-squared)和误匹配率(percentage of bad matching pixels)

      

         其中,利用极线约束、唯一性约束、顺序性约束以及特征约束的方法较为常用。对于场景连续变化,缩放、光照以及旋转变化不大的场景来说,模板匹配算法(SSD、SAD等)配合极线和特征约束可以实现快速得到稠密匹配的目的。同时为了加速可以考虑利用改进的模板匹配算法以及GPU加速。

    展开全文
  • 论文研究-供需匹配视角下基于语义相似聚类的技术需求识别模型.pdf, 在技术供需文本匹配视角下,提出了一种基于语义相似聚类的技术需求识别模型.首先,采集网络中技术...
  • 除非算法里自动匹配司机过往的行车记录,有类似行车记录的司机才进行推荐,否则将造成司机找不到路,行车体验很差的结果。Uber目前推出的最短路程游戏就是解决这个问题的。) 目前创业的项目程序员客栈...

    每次看电影中的有钱人都有专属司机接送,只要坐在车里,就有人帮忙开车门、提行李及关车门。感觉是非现实的遥远画面,现在却有机会可以在日常生活中成真!

      2009年Travis Kalanick及Garret Camp在旧金山创办Uber,利用闲置车辆让乘客享受尊贵的乘车体验。这个服务现在已经扩展到45个国家,超过100个城市,而且估值比全球两大租车公司赫兹租车(NYSE:HTZ)、埃尔维斯集团(NASDAQ:CAR)总和还高,接近182亿美元。究竟这样一个简单的接送服务是如何能在短时间内成功扩展到这么多国家,并且持续成长呢?


     

      高速扩散的关键点“让乘客享受到尊贵不凡的出租车体验”

      就是Uber能在使用者间散播这么快的关键原因。

      想体验尊荣享受,只要打开Uber专属APP,就会看到附近的空闲的车辆,只要确认订车即可看到司机姓名、照片、电话及到达时间(大概在10分钟以内),让你可以准确的评价时间。由于注册时已绑定支付宝,所以费用会直接从支付宝扣款。Uber非常重视使用者的服务体验,所以除了简化流程外,它对司机及车子也有相关要求来提升顾客满意度及品牌形象,例如:小编已经在杭州用优步打到过好几次宝马和奥迪,而且服务都非常的人性化,借此让每个只要搭乘过的顾客都能体会到「WOW」的感受,提升顾客回访(Retention)跟推荐(Referral)的机率。

      Uber利用尊荣享受来吸引使用者,用完美的服务抓住消费者,那对司机呢?它欢迎任何车主都利用闲暇时间进行载客服务,因为,一般出租车司机需经过职业考试及讲座才能领照接客,但Uber则无此规定也不限制载客数,只要你有车,打开Uber提供的iPhone即可开始上班;在初期推广招募司机甚至还提供补贴金,增加司机加入的意愿。一般车行跟司机抽取高额的费用,Uber则以收入的20 %为抽佣金额,相较之下若载客数相同,Uber可以让司机得到较高的收入。也因此降低司机门坎、弹性工时、补贴金及低于车行的抽佣来吸引司机,许多尝试过的司机也因此推荐更多的同事加入Uber行列。

      体验式成长策略

      Uber初期的曝光方式是参与各种硅谷的创业活动,因为创业家或是想创业的人,都勇于尝试新的工具及服务,尤其当这个产品能改善自己的生活质量的时候,在这些活动里Uber提供赞助或是免费搭乘来增加使用者的使用意愿,并借此来增加在硅谷的知名度。

      体验式口碑行销(Word of Mouth)也是Uber成长最主要的引擎。Uber从不使用电视广告或是大型广告牌来做营销推广,营销渠道只限于Uber Blog及社群媒体。Uber有个行销推广的模式(如下图),当它进入新城市时,会先利用赞助当地活动及免费乘车金来吸引初期使用者(Early Adopter),当使用者因为免费而体验Uber的服务时,便能感受到其尊荣式的服务(WOW体验),再加上推荐即可获得的免费乘车金,更会主动推荐Uber给亲朋好友,或是在有特别活动时就会想到Uber,然后新使用者会再推荐给他的朋友,在这良性的循环下不断增加使用者,最后又拓展至其他城市。

     

      因地制宜也是Uber的特色之一,Travis Kalanick认为,每个城市成功的商业模式不代表适用其他城市,每当Uber拓展新城市时会在当地聘请三位专职人员(总经理、社交营销及商业开发),希望深入在地经营找出最适合的营运模式及行销战略,例如:芝加哥热爱运动,所以Uber与当地NFL球队合作进行宣传活动;而Uber内部也有自己的社群,每个城市间的团队及总部都会互相分享经验,帮助新城市的团队可以快速找到扩展业务的方式。

      Uber未来的成长潜质

      或许你会觉得Uber只是城市里的交通工具,为什么公司估值可以这么高?Kalanick给Uber的愿景是:「把你需要的东西在对的时间放在你手上」。当传递渠道是汽车的时候,Uber是可以在城市里载人、载货的服务;当传递渠道是直升机或飞机的时候,Uber可以是跨国的物流业;当它提供每天数百万人物品递送配对服务时,Uber也可能会是全球最大的系统公司。

      Kalanick并不把Uber局限在小框架里,他开放API给其他业者使用,让更多有「需求」的服务可以与Uber结合,例如:餐厅、旅游及飞机;除了此之外,Uber也积极的尝试许多新的商业模式,例如:Uber Ice Cream、UberFRESH等,所以当你把车辆看成是Uber服务的载具时,它未来的可能性便无可限量。

      Uber在短时间内拓展至这么多国家,并不是因为他发明新潮又吸引人的产品,而是因为他重新定义了日常生活中每个人的「搭车体验」,满足一般大众对尊荣感的隐性需求,并让用户感受到「WOW」的体验,而「WOW」就会是你与其他竞争者的差别,也会是你是否能快速成长及使用者会不会记住你的关键。

      除了让用户拥有非凡体验外,重要的是必须建立适合自己的营销策略及管道–产品要如何让人知道、如何让人尝试使用、进而推荐你的产品。Uber用免费乘车,体验式口碑行销及社交媒体作为它主要的营销策略,每个营销策略(Strategy)及战术(Tactic)都需环环相扣才能达到最好的效果。当然Uber也并非在每个城市都可以拓展得这么顺利,因为处在法律的灰色地带,想uber在国内就没有像滴滴发展的那么好,至于具体为什么?你懂的。

      看Uber的配算法-快速响应,优良服务,顾客体验的正循环

      对于司机而言,派单是比抢单更轻松的方法。Uber在派单之前用来匹配“乘客需求-司机供给”的模型,每个订单通过算法(包括,最短到达时间,是否可用、以往评价等因素),决定了司机和车辆的推荐顺位。

      1,通过算法找到能够最短到达的司机

      2,司机看不到目的地,因此也无法拒载。

      (潜在问题是,司机如果对目的地那片区域如果不熟悉怎么办?除非算法里自动匹配司机过往的行车记录,有类似行车记录的司机才进行推荐,否则将造成司机找不到路,行车体验很差的结果。Uber目前推出的最短路程游戏就是解决这个问题的。)

    目前创业的项目程序员客栈www.proginn.com的远程开发协作是如何匹配?(下简称客栈)

      我们客栈要做的,就是尽量精准快速地匹配用户的开发需求和程序员,类比下来,我们需要解决这么几个问题:

      一,开发需求和程序员之间的“最近路径”应该由什么量化指标来确认?

      GPS定位+道路地图,是Uber能做到最近路径匹配打车者和合作司机的关键因素。

      那么有开发需求和程序员之间的“最近路径”应该由什么量化指标来决定呢?

      从目的出发,最近是为了对于司机和乘客双方而言,都能够最快实现需求(司机-接活赚钱,乘客-出发)。

      因此平台提供的开发服务也从目的出发:为了让程序员能够尽快上手开发,程序员(司机)离开发需求(乘客打车需求)的距离,应该从:程序员对于需求(技能分类,功能,行业)的了解程度,学习,以及沟通成本越低越“近”;字段:程序员的方向/语言,技能树,作品的功能,行业标签;

      二,派单推荐顺序参考因素:

      程序员是否接单:不派单给暂时处于不接单状态的签约程序员,节省派单时间降低用户等待;针对长期不接单的签约者(3个月),会暂时取消签约。

      程序员过往接单率:过往派单后半个小时内接单的比率。

      程序员过往用户评价:1-5星打分评价。

      程序员每天能够投入的开发时间;

      三,筛选出与用户发布的需求在以下几个方面最吻合的程序员:

      方向(iOS、Android、Web)

      语言(对于发布方而言是选填)

      关键功能(对应程序员过往作品功能)

      行业(对应程序员过往作品行业)

      四,然后按照以下方式排序:

      1,是否接单

      2,过往接单率

      3,过往用户评价

      4,个人每天能够投入的开发时间

      五,程序员注册客栈签约时需要填写的信息:

      1,作品,作品的功能,行业属性

      2,个人方向,语言,技能树

      3,是否接单,每日可工作时间多少

      六,系统自动计算的程序员属性:

      1,接单率

      2,用户好评率

      七,发布者发布任务的时候需要填写的信息:

      1,目前所有发布信息

      2,发布需求的关键功能,行业,语言(可选)

      3,时间要求

      八,系统自动计算的发布者属性:

      1,发布成功率

      2,程序员好评率

      目前客栈已经有40000+老司机开发者在平台接单,这中间有产品经理、设计师、前后端工程师、移动端工程师、测试工程师以及大量的武功非凡的开发者。“少侠,看你骨骼惊奇,不妨来客栈试试?”

    展开全文
  • 针对电力企业电能供应量与用户需求量之间匹配度低的问题,提出基于改进GMDH算法的电力供应智能分析系统设计,按照GMDH算法原理设计了电力供应量智能分析系统的总体框架结构,并针对传统GMDH算法泛化能力低的不足进行...
  • 比如基于邻域的算法(neighborhood-based)、隐语义模型(latent factor model)、基于图的随机游走算法(random walk on graph)等。 下面主要展开介绍基于领域的算法和隐语义模型算法。   基于领域的...

    按:本文来自陈彩华的精分享,从WHY、What到How系统性地介绍一下推荐系统的基本原理。

     

    为什么需要推荐系统

    对于信息消费者,需要从大量信息中找到自己感兴趣的信息,而在信息过载时代,用户难以从大量信息中获取自己感兴趣、或者对自己有价值的信息。

    对于信息生产者,需要让自己生产的信息脱颖而出,受到广大用户的关注。从物品的角度出发,推荐系统可以更好地发掘物品的长尾(long tail)。 

    长尾效应是美国《连线》杂志主编 Chris Anderson 在 2006 年出版的《长尾理论》一书中指出,传统的 80/20 原则(80% 的销售额来自于 20% 的热门品牌)在互联网的加入下会受到挑战。互联网条件下,由于货架成本极端低廉,电子商务网站往往能出售比传统零售店更多的商品。这些原来不受到重视的销量小但种类多的产品或服务由于总量巨大,累积起来的总收益超过主流产品的现象。

    主流商品往往代表了绝大多数用户的需求,而长尾商品往往代表了一小部分用户的个性化需求。

    推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。

    推荐系统的任务在于:

    • 一方面帮助用户发现对自己有价值的信息。

    • 另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。

     

    推荐系统的本质

    通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。

    推荐系统就是自动联系用户和物品的一种工具,它能够在信息过载的环境中帮助用户发现令他们感兴趣的信息,也能将信息推送给对它们感兴趣的用户。

     

    评价指标

    从产品的角度出发,评价一个推荐系统可以从以下维度出发:

    • 用户满意度:用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。但是,用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。

    • 预测准确度:预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标,从推荐系统诞生的那一天起,几乎 99% 与推荐相关的论文都在讨论这个指标。 
      在计算该指标时需要有一个离线的数据集,该数据集包含用户的历史行为记录。然后,将该数据集通过时间分成训练集和测试集。

      最后,通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。

    • 覆盖率:覆盖率( coverage )描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。

    • 多样性:用户的兴趣是广泛的,为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域,即推荐结果需要具有多样性。

    • 新颖性:新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。在一个网站中实现新颖性的最简单办法是,把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。

    • 惊喜度:与新颖性不同,如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。

    • 信任度:对于基于机器学习的自动推荐系统,同样存在信任度( trust )的问题,如果用户信任推荐系统,那就会增加用户和推荐系统的交互。

      同样的推荐结果,以让用户信任的方式推荐给用户就更能让用户产生购买欲,而以类似广告形式的方法推荐给用户就可能很难让用户产生购买的意愿。

      度量推荐系统的信任度只能通过问卷调查的方式,询问用户是否信任推荐系统的推荐结果。

    • 实时性:推荐系统需要实时地更新推荐列表来满足用户新的行为变化,推荐系统需要能够将新加入系统的物品推荐给用户。这主要考验了推荐系统处理物品冷启动的能力。

    • 健壮性:任何一个能带来利益的算法系统都会被人攻击,这方面最典型的例子就是搜索引擎。

      搜索引擎的作弊和反作弊斗争异常激烈,而健壮性(即 robust,鲁棒性)指标衡量了一个推荐系统抗击作弊的能力。

     

    基于用户行为推荐

    用户行为

    用户行为可以分为显性反馈行为(explicit feedback)和隐性反馈行为(implicit feedback)。

    显性反馈行为:指用户明确表示对物品喜好的行为,主要方式就是评分和喜欢/不喜欢。

    常见的显性反馈行为可以参考如下表格:

    隐性反馈行为(implicit feedback):指的是那些不能明确反应用户喜好的行为。最具代表性的隐性反馈行为就是页面浏览行为。

     

    用户浏览一个物品的页面并不代表用户一定喜欢这个页面展示的物品,比如可能因为这个页面链接显示在首页,用户更容易点击它而已。

    相比显性反馈,隐性反馈虽然不明确,但数据量更大。在很多网站中,很多用户甚至只有隐性反馈数据,而没有显性反馈数据。

    基于用户行为数据设计的推荐算法一般称为协同过滤算法。学术界对协同过滤算法进行了深入研究,提出了很多方法。

    比如基于邻域的算法(neighborhood-based)、隐语义模型(latent factor model)、基于图的随机游走算法(random walk on graph)等。

    下面主要展开介绍基于领域的算法和隐语义模型算法。

     

    基于领域的算法

    基于邻域的方法是最著名的、在业界得到最广泛应用的推荐算法,主要包含下面两种算法:

    • 基于用户的协同过滤算法(UserCF)。

    • 基于物品的协同过滤算法(ItemCF)。

     

    算法涉及的基本步骤如下:

    • 收集用户偏好,把用户对物品的偏好转换成可量化的综合评分值。

    • 找到相似的用户或物品。

    • 计算推荐。

     

    相似度计算

    计算相似度主要有以下 3 种计算方式:

     

    ①欧氏距离(Euclidean Distance)

    向量欧式距离:

    相似度:

    ②皮尔逊相关系数(Pearson Correlation Coefficient)

     

    协方差,用来衡量 2 个向量的变化趋势是否一致:

    标准差:

    皮尔逊相关系数:

    皮尔逊相关系数使用协方差除以 2 个向量的标准差得到,值的范围[-1,1]。

     

    ③Cosine 相似度(Cosine Similarity,余弦距离)

    Cosine 相似度其实就是求 2 个向量的夹角。3 种计算相关系数的算法中,皮尔逊相关系数在生产中最为常用。

     

    邻居的选择

    通过相似度计算出若干个最相似的邻居后,如何选择邻居?主要有以下方式:

    • 基于固定数量的邻居:该方式直接选择固定数量的邻居,有可能把相似度较小的对象也引入。

    • 基于相似度门槛的邻居:该方式先用相似度门槛筛选出邻居的一个集合,再从集合里面挑选出相似度较大的邻居。可以避免把相似度较小的对象引入,效果更好。

     

    基于用户的协同过滤算法(UserCF)

    简单而言,就是给用户推荐和他兴趣相似的其他用户喜欢的物品。

    在一个在线个性化推荐系统中,当一个用户 A 需要个性化推荐时,可以先找到和他有相似兴趣的其他用户,然后把那些用户喜欢的、而用户 A 没有听说过的物品推荐给 A 。这种方法称为基于用户的协同过滤算法。

    用户 A 与用户 C 的兴趣比较相似,用户 C 喜欢了物品 4,所以给用户 A 推荐物品 4。

     

    数学实现如下图:

    已知用户评分矩阵 Matrix R(一般都是非常稀疏的),推断矩阵中问号处的评分值。

     

    UserCF 模型存在问题:

    • 对于一个新用户,很难找到邻居用户。

    • 对于一个新物品,所有最近的邻居都在其上没有多少打分。

     

    基础解决方案:

    • 相似度计算最好使用皮尔逊相似度。

    • 计算用户相似度考虑共同打分物品的数目。
      比如乘上,n 为共同打分的商品数,N 为指定阈值,这样可以让 2 个用户的共同打分的商品数越少,相似度越小。

    • 对打分进行归一化处理,比如把原来分数值范围是[0,10],归一化后变成[0,1]。

    • 设置一个相似度阈值。

     

    基于用户的协同过滤不流行的原因:

    • 数据稀疏问题,数据存取困难。

    • 数百万用户计算,用户之间两两计算相似度,计算量过大。

    • 人是善变的。

     

    基于物品的协同过滤算法(ItemCF)

    基于物品的协同过滤算法(简称 ItemCF)就是给用户推荐那些和他们之前喜欢的物品相似的物品。

    比如,该算法会因为你购买过《数据挖掘导论》而给你推荐《机器学习》。

    不过,ItemCF 算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。

    该算法认为,物品 A 和物品 B 具有很大的相似度是因为喜欢物品 A 的用户大都也喜欢物品 B。

    物品 1 和物品 3 都被用户 A 和用户 B 喜欢,所以认为是相似物品,所以当用户 C 喜欢物品 1,就给用户 C 推荐物品 3。

     

    算法主要步骤如下:

    • 计算物品之间的相似度。

    • 根据物品的相似度和用户的历史行为给用户生成推荐列表。

     

    数学实现思路如下图:

    需要用户 5 对物品 1 的评分 r_15,由于物品 3、物品 6 是与物品 1 最为相似的 2 个物品,取相似度作为权重,所以 r_15 可以预测如下:

    模型优势:

    • 计算性能高,通常用户数量远大于物品数量,实际计算物品之间的相似度,可以只选择同一个大分类下的类似物品来计算,以此减少计算量。

    • 可预先保留结果,物品并不善变。

     

    UserCF 和 ItemCF 综合比较

    UserCF 给用户推荐那些和他有共同兴趣爱好的用户喜欢的物品,而 ItemCF 给用户推荐那些和他之前喜欢的物品类似的物品。

     

    从这个算法的原理可以看到:

    • UserCF 的推荐结果着重于反映和用户兴趣相似的小群体的热点。

    • ItemCF 的推荐结果着重于维系用户的历史兴趣。

    换句话说:

    • UserCF 的推荐更社会化,反映了用户所在的小型兴趣群体中物品的热门程度。

    • ItemCF 的推荐更加个性化,反映了用户自己的兴趣传承。

     

    基于用户标签推荐

    推荐系统的目的是联系用户的兴趣和物品,这种联系需要依赖不同的媒介。

     

    目前流行的推荐系统基本上通过 3 种方式联系用户兴趣和物品:

    • 基于用户推荐 UserCF:利用和用户兴趣相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。

    • 基于物品推荐 ItemCF:给用户推荐与他喜欢过的物品相似的物品。

    • 基于特征:这里的特征有不同的表现方式,比如可以表现为物品的属性集合(比如对于图书,属性集合包括作者、出版社、主题和关键词等),也可以表现为隐语义向量(latent factor vector)。

     

    标签相关问题

    标签的定义

    根据维基百科的定义,标签是一种无层次化结构的、用来描述信息的关键词,它可以用来描述物品的语义。

    根据给物品打标签的人的不同,标签应用一般分为两种:

    • 一种是让作者或者专家给物品打标签。

    • 另一种是让普通用户给物品打标签,也就是 UGC(User Generated Content,用户生成的内容)的标签应用 UGC 的标签系统是一种表示用户兴趣和物品语义的重要方式。 

    当一个用户对一个物品打上一个标签,这个标签一方面描述了用户的兴趣,另一方面则表示了物品的语义,从而将用户和物品联系了起来。

    因此下面主要讨论 UGC 的标签应用,研究用户给物品打标签的行为,探讨如何通过分析这种行为给用户进行个性化推荐。

     

    用户为什么要打标签

    从产品的角度,我们需要理解用户打标签的行为,为什么要打标签,只有深入了解用户的行为,我们才能基于这个行为设计出令他们满意的个性化推荐系统。

    用户这个行为背后的原因主要可以从 2 个维度进行探讨:

    • 社会维度,有些用户标注是给内容上传者使用的(便于上传者组织自己的信息),而有些用户标注是给广大用户使用的(便于帮助其他用户找到信息)。

    • 功能维度,有些标注用于更好地组织内容,方便用户将来的查找,而另一些标注用于传达某种信息,比如照片的拍摄时间和地点等。

     

    用户打什么样的标签

    用户常打的标签如下:

    • 表明物品是什么。

    • 表明物品的种类。

    • 表明谁拥有物品,比如很多博客的标签中会包括博客的作者等信息。

    • 表达用户的观点,比如用户认为网页很有趣,就会打上标签 funny(有趣),认为很无聊,就会打上标签 boring(无聊)。

    • 用户相关的标签,比如 my favorite(我最喜欢的)、my comment(我的评论)等。

    • 用户的任务,比如 to read(即将阅读)、 job search(找工作)等。

     

    为什么要给用户推荐标签

    用户浏览某个物品时,标签系统非常希望用户能够给这个物品打上高质量的标签,这样才能促进标签系统的良性循环。因此,很多标签系统都设计了标签推荐模块给用户推荐标签。

    一般认为,给用户推荐标签有以下好处:

    • 方便用户输入标签,让用户从键盘输入标签无疑会增加用户打标签的难度,这样很多用户不愿意给物品打标签,因此我们需要一个辅助工具来减小用户打标签的难度,从而提高用户打标签的参与度。 

    • 提高标签质量,同一个语义不同的用户可能用不同的词语来表示。这些同义词会使标签的词表变得很庞大,而且会使计算相似度不太准确。

      而使用推荐标签时,我们可以对词表进行选择,首先保证词表不出现太多的同义词,同时保证出现的词都是一些比较热门的、有代表性的词。

     

    如何给用户推荐标签

    用户 u 给物品 i 打标签时,我们有很多方法可以给用户推荐和物品 i 相关的标签。

    比较简单的方法有 4 种:

    • 给用户 u 推荐整个系统里最热门的标签(这里将这个算法称为 PopularTags),这个算法太简单了,甚至于不能称为一种标签推荐算法。

    • 给用户 u 推荐物品 i 上最热门的标签(这里将这个算法称为 ItemPopularTags)。

    • 用户 u 推荐他自己经常使用的标签(这里将这个算法称为 UserPopularTags)。

    • 前面两种的融合(这里记为 HybridPopularTags),该方法通过一个系数将上面的推荐结果线性加权,然后生成最终的推荐结果。

     

    一个最简单的算法

    基本步骤如下:

    • 统计每个用户最常用的标签。

    • 对于每个标签,统计被打过这个标签次数最多的物品。

    • 对于一个用户,首先找到他常用的标签,然后找到具有这些标签的最热门物品推荐给这个用户。

    对于上面算法,用户 u 对于物品 i 的兴趣公式如上: 

    • 是用户 u 打过的标签集合。

    • 是物品 i 被打过标签的集合。

    • 是用户 u 打过标签 b 的次数。

    • 是物品 i 被打过标签 b 的次数。

    某用户使用过“幽默”标签 10 次,“搞笑”标签 3 次,“讽刺”标签 6 次。这 3 个标签被物品 A 使用的次数分别的 4、7、2。

     

    由此计算用户对物品的兴趣值为:

    上面的计算公式会倾向于给热门标签对应的热门物品很大的权重,因此会造成推荐热门的物品给用户,从而降低推荐结果的新颖性,还有数据稀疏性的问题,可以通过计算结果除以惩罚项来进行修正。

     

    系统冷启动问题

    问题简介

    系统冷启动(cold start)问题主要在于如何在一个新开发的网站上(还没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。

    主要可以分为 3 类:

    • 用户冷启动:用户冷启动问题主要在于如何给新用户做个性化推荐。当新用户到来时,我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣,从而无法借此给他做个性化推荐。

    • 物品冷启动:物品冷启动问题主要在于如何解决将新的物品推荐给可能对它感兴趣的用户。

    • 系统冷启动:系统刚刚新上线,用户、物品数据较少。

     

    解决思路

    针对上述 3 类冷启动问题,一般来说,可以参考如下解决方案:

    • 提供非个性化的推荐:非个性化推荐的最简单例子就是热门排行榜,我们可以给用户推荐热门排行榜,然后等到用户数据收集到一定的时候,再切换为个性化推荐。这也是最常见的解决方案。

    • 利用用户注册时提供的年龄、性别等数据做粗粒度的个性化。

    • 要求用户在首次登录时提供反馈,比如输入感兴趣的标签,或感兴趣的物品。收集用户对物品的兴趣信息,然后给用户推荐那些和这些物品相似的物品。

    • 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户。

    • 在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表。

     

    评估指标

    是根据用户在训练集上的行为给用户作出的推荐列表,是用户在测试集上的行为列表。

     

    准确率 

    用于度量模型的预测值与真实值之间的误差。

    召回率

    用于度量有多个正例被分为正例,这里是正确推荐的数量占测试集合上用户行为列表的比例。 

     

    覆盖率

    用户衡量推荐的物品占全部商品的比例,一般我们推荐的物品希望尽可能覆盖更多类别 。常见有 2 种计算方法: 

    通过推荐的商品占总商品的比例

    或者通过推荐物品的熵值得到覆盖率,熵值越大,覆盖率越大:

     

    多样性

    用于衡量每次推荐里面的推送的物品占所有可能性的比率,多样性越大,每次推荐的物品越丰富。

    实际上,不同的平台还有不同的衡量标准,例如用户满意度,广告收益,需要结合实际业务情况做策略调整。

     

    系统架构

    基于特征的推荐系统

    再次回顾一下上面提到的推荐系统联系用户和物品的 3 种途径。

    将这 3 种方式都抽象一下就可以发现,如果认为用户喜欢的物品也是一种用户特征,或者和用户兴趣相似的其他用户也是一种用户特征,那么用户就和物品通过特征相联系。

    用户特征种类特别多,主要包括以下几类:

    • 用户注册属性:年龄、性别、国籍等。

    • 用户行为特征:浏览、点赞、评论、购买等。

     

    系统整体架构

    由于推送策略本身的复杂性,如果要在一个系统中把上面提到的各种特征和任务都统筹考虑,那么系统将会非常复杂,而且很难通过配置文件方便地配置不同特征和任务的权重。 

    因此,推荐系统需要由多个推荐引擎组成,每个推荐引擎负责一类特征和一种任务,而推荐系统的任务只是将推荐引擎的结果按照一定权重或者优先级合并、排序然后返回。

    这样做有 2 个好处:

    • 可以方便地增加/删除引擎,控制不同引擎对推荐结果的影响。对于绝大多数需求,只需要通过不同的引擎组合实现。

    • 可以实现推荐引擎级别的用户反馈。每一个推荐引擎其实代表了一种推荐策略,而不同的用户可能喜欢不同的推荐策略:

      • 有些用户可能喜欢利用他的年龄性别作出的推荐。

      • 有些用户可能比较喜欢看到新加入的和他兴趣相关的视频。

      • 有些用户喜欢比较新颖的推荐。

      • 有些用户喜欢专注于一个邻域的推荐。

      • 有些用户喜欢多样的推荐。

    我们可以将每一种策略都设计成一个推荐引擎,然后通过分析用户对推荐结果的反馈了解用户比较喜欢哪些引擎推荐出来的结果,从而对不同的用户给出不同的引擎组合权重。

     

    推荐引擎架构

    推荐引擎使用一种或几种用户特征,按照一种推荐策略生成一种类型物品的推荐列表,基本架构如下图: 

    如上图,推荐引擎架构主要包括 3 部分:

    • 用户行为数据模块:图中 A 部分,该部分负责从数据库或者缓存中拿到用户行为数据,通过分析不同行为,生成当前用户的特征向量。

      不过如果是使用非行为特征,就不需要使用行为提取和分析模块了。该模块的输出是用户特征向量。

    • 物品数据模块:图中 B 部分,该部分负责将用户的特征向量通过特征-物品相关矩阵转化为初始推荐物品列表。

    • 最终结果生成模块:图中 C 部分,该部分负责对初始的推荐列表进行过滤、排名等处理,从而生成最终的推荐结果。

     

    其中,有几个模块需要特别介绍一下:

    • 候选物品集合:特征-物品相关推荐模块还可以接受一个候选物品集合。候选物品集合的目的是保证推荐结果只包含候选物品集合中的物品。它的应用场合一般是产品需求希望将某些类型的电视剧推荐给用户。

      比如有些产品要求给用户推荐最近一周加入的新物品,那么候选物品集合就包括最近一周新加的物品。

    • 过滤模块:在得到初步的推荐列表后,还不能把这个列表展现给用户,首先需要按照产品需求对结果进行过滤,过滤掉那些不符合要求的物品。

      一般来说,过滤模块会过滤掉以下物品:

      • 用户已经产生过行为物品,因为推荐系统的目的是帮助用户发现物品,因此没必要给用户推荐他已经知道的物品,这样可以保证推荐结果的新颖性。

      • 候选物品以外的物品,候选物品集合一般有两个来源,一个是产品需求。比如在首页可能要求将新加入的物品推荐给用户,因此需要在过滤模块中过滤掉不满足这一条件的物品。

        另一个来源是用户自己的选择,比如用户选择了某一个价格区间,只希望看到这个价格区间内的物品,那么过滤模块需要过滤掉不满足用户需求的物品。

      • 某些质量很差的物品,为了提高用户的体验,推荐系统需要给用户推荐质量好的物品,那么对于一些绝大多数用户评论都很差的物品,推荐系统需要过滤掉。这种过滤一般以用户的历史评分为依据,比如过滤掉平均分在 2 分以下的物品。

    • 排名模块:经过过滤后的推荐结果直接展示给用户一般也没有问题,但如果对它们进行一些排名,则可以更好地提升用户满意度。实际进行排名时,可以基于新颖性、多样性、用户反馈进行排名优化。

     

    总结

    除了本文介绍的模型算法,基于用户行为推荐还有隐语义模型,基于图的模型比较常见,还有的基于上下文、社交网络推荐。实际有一些常见的算法库可以实现推荐系统运算,包括 LibRec,Crab 等。

     


    =>更多文章请参考《中国互联网业务研发体系架构指南》

    https://blog.csdn.net/Ture010Love/article/details/104381157

    =>更多行业权威架构案例、领域标准及技术趋势请关注微信公众号 '软件真理与光':

    公众号:关注更多实时动态
    更多内容关注公众号:软件真理与光
    展开全文
  • 除非算法里自动匹配司机过往的行车记录,有类似行车记录的司机才进行推荐,否则将造成司机找不到路,行车体验很差的结果。Uber目前推出的最短路程游戏就是解决这个问题的。)  目前程序员客栈www.proginn.com...

      每次看电影中的有钱人都有专属司机接送,只要坐在车里,就有人帮忙开车门、提行李及关车门。感觉是非现实的遥远画面,现在却有机会可以在日常生活中成真!

      2009年Travis Kalanick及Garret Camp在旧金山创办Uber,利用闲置车辆让乘客享受尊贵的乘车体验。这个服务现在已经扩展到45个国家,超过100个城市,而且估值比全球两大租车公司赫兹租车(NYSE:HTZ)、埃尔维斯集团(NASDAQ:CAR)总和还高,接近182亿美元。究竟这样一个简单的接送服务是如何能在短时间内成功扩展到这么多国家,并且持续成长呢?

      高速扩散的关键点“让乘客享受到尊贵不凡的出租车体验”

      就是Uber能在使用者间散播这么快的关键原因。

      想体验尊荣享受,只要打开Uber专属APP,就会看到附近的空闲的车辆,只要确认订车即可看到司机姓名、照片、电话及到达时间(大概在10分钟以内),让你可以准确的评价时间。由于注册时已绑定支付宝,所以费用会直接从支付宝扣款。Uber非常重视使用者的服务体验,所以除了简化流程外,它对司机及车子也有相关要求来提升顾客满意度及品牌形象,例如:小编已经在杭州用优步打到过好几次宝马和奥迪,而且服务都非常的人性化,借此让每个只要搭乘过的顾客都能体会到「WOW」的感受,提升顾客回访(Retention)跟推荐(Referral)的机率。

      Uber利用尊荣享受来吸引使用者,用完美的服务抓住消费者,那对司机呢?它欢迎任何车主都利用闲暇时间进行载客服务,因为,一般出租车司机需经过职业考试及讲座才能领照接客,但Uber则无此规定也不限制载客数,只要你有车,打开Uber提供的iPhone即可开始上班;在初期推广招募司机甚至还提供补贴金,增加司机加入的意愿。一般车行跟司机抽取高额的费用,Uber则以收入的20 %为抽佣金额,相较之下若载客数相同,Uber可以让司机得到较高的收入。也因此降低司机门坎、弹性工时、补贴金及低于车行的抽佣来吸引司机,许多尝试过的司机也因此推荐更多的同事加入Uber行列。

      体验式成长策略

      Uber初期的曝光方式是参与各种硅谷的创业活动,因为创业家或是想创业的人,都勇于尝试新的工具及服务,尤其当这个产品能改善自己的生活质量的时候,在这些活动里Uber提供赞助或是免费搭乘来增加使用者的使用意愿,并借此来增加在硅谷的知名度。

      体验式口碑行销(Word of Mouth)也是Uber成长最主要的引擎。Uber从不使用电视广告或是大型广告牌来做营销推广,营销渠道只限于Uber Blog及社群媒体。Uber有个行销推广的模式(如下图),当它进入新城市时,会先利用赞助当地活动及免费乘车金来吸引初期使用者(Early Adopter),当使用者因为免费而体验Uber的服务时,便能感受到其尊荣式的服务(WOW体验),再加上推荐即可获得的免费乘车金,更会主动推荐Uber给亲朋好友,或是在有特别活动时就会想到Uber,然后新使用者会再推荐给他的朋友,在这良性的循环下不断增加使用者,最后又拓展至其他城市。

      因地制宜也是Uber的特色之一,Travis Kalanick认为,每个城市成功的商业模式不代表适用其他城市,每当Uber拓展新城市时会在当地聘请三位专职人员(总经理、社交营销及商业开发),希望深入在地经营找出最适合的营运模式及行销战略,例如:芝加哥热爱运动,所以Uber与当地NFL球队合作进行宣传活动;而Uber内部也有自己的社群,每个城市间的团队及总部都会互相分享经验,帮助新城市的团队可以快速找到扩展业务的方式。

      Uber未来的成长潜质

      或许你会觉得Uber只是城市里的交通工具,为什么公司估值可以这么高?Kalanick给Uber的愿景是:「把你需要的东西在对的时间放在你手上」。当传递渠道是汽车的时候,Uber是可以在城市里载人、载货的服务;当传递渠道是直升机或飞机的时候,Uber可以是跨国的物流业;当它提供每天数百万人物品递送配对服务时,Uber也可能会是全球最大的系统公司。

      Kalanick并不把Uber局限在小框架里,他开放API给其他业者使用,让更多有「需求」的服务可以与Uber结合,例如:餐厅、旅游及飞机;除了此之外,Uber也积极的尝试许多新的商业模式,例如:Uber Ice Cream、UberFRESH等,所以当你把车辆看成是Uber服务的载具时,它未来的可能性便无可限量。

      Uber在短时间内拓展至这么多国家,并不是因为他发明新潮又吸引人的产品,而是因为他重新定义了日常生活中每个人的「搭车体验」,满足一般大众对尊荣感的隐性需求,并让用户感受到「WOW」的体验,而「WOW」就会是你与其他竞争者的差别,也会是你是否能快速成长及使用者会不会记住你的关键。

      除了让用户拥有非凡体验外,重要的是必须建立适合自己的营销策略及管道–产品要如何让人知道、如何让人尝试使用、进而推荐你的产品。Uber用免费乘车,体验式口碑行销及社交媒体作为它主要的营销策略,每个营销策略(Strategy)及战术(Tactic)都需环环相扣才能达到最好的效果。当然Uber也并非在每个城市都可以拓展得这么顺利,因为处在法律的灰色地带,想uber在国内就没有像滴滴发展的那么好,至于具体为什么?你懂的。

      看Uber的配算法-快速响应,优良服务,顾客体验的正循环

      对于司机而言,派单是比抢单更轻松的方法。Uber在派单之前用来匹配“乘客需求-司机供给”的模型,每个订单通过算法(包括,最短到达时间,是否可用、以往评价等因素),决定了司机和车辆的推荐顺位。

      1,通过算法找到能够最短到达的司机

      2,司机看不到目的地,因此也无法拒载。

      (潜在问题是,司机如果对目的地那片区域如果不熟悉怎么办?除非算法里自动匹配司机过往的行车记录,有类似行车记录的司机才进行推荐,否则将造成司机找不到路,行车体验很差的结果。Uber目前推出的最短路程游戏就是解决这个问题的。)

      目前程序员客栈www.proginn.com的远程开发协作是如何匹配?

      我们程序员客栈要做的,就是尽量精准快速地匹配用户的开发需求和程序员,类比下来,我们需要解决这么几个问题:

      一,开发需求和程序员之间的“最近路径”应该由什么量化指标来确认?

      GPS定位+道路地图,是Uber能做到最近路径匹配打车者和合作司机的关键因素。

      那么有开发需求和程序员之间的“最近路径”应该由什么量化指标来决定呢?

      从目的出发,最近是为了对于司机和乘客双方而言,都能够最快实现需求(司机-接活赚钱,乘客-出发)。

      因此平台提供的开发服务也从目的出发:为了让程序员能够尽快上手开发,程序员(司机)离开发需求(乘客打车需求)的距离,应该从:程序员对于需求(技能分类,功能,行业)的了解程度,学习,以及沟通成本越低越“近”;字段:程序员的方向/语言,技能树,作品的功能,行业标签;

      二,派单推荐顺序参考因素:

      程序员是否接单:不派单给暂时处于不接单状态的签约程序员,节省派单时间降低用户等待;针对长期不接单的签约者(3个月),会暂时取消签约。

      程序员过往接单率:过往派单后半个小时内接单的比率。

      程序员过往用户评价:1-5星打分评价。

      程序员每天能够投入的开发时间;

      三,筛选出与用户发布的需求在以下几个方面最吻合的程序员:

      方向(iOS、Android、Web)

      语言(对于发布方而言是选填)

      关键功能(对应程序员过往作品功能)

      行业(对应程序员过往作品行业)

      四,然后按照以下方式排序:

      1,是否接单

      2,过往接单率

      3,过往用户评价

      4,个人每天能够投入的开发时间

      五,程序员注册客栈签约时需要填写的信息:

      1,作品,作品的功能,行业属性

      2,个人方向,语言,技能树

      3,是否接单,每日可工作时间多少

      六,系统自动计算的程序员属性:

      1,接单率

      2,用户好评率

      七,发布者发布任务的时候需要填写的信息:

      1,目前所有发布信息

      2,发布需求的关键功能,行业,语言(可选)

      3,时间要求

      八,系统自动计算的发布者属性:

      1,发布成功率

      2,程序员好评率

      目前程序员客栈已经有40000+老司机开发者在平台接单,这中间有产品经理、设计师、前后端工程师、移动端工程师、测试工程师以及大量的武功非凡的开发者。“少侠,看你骨骼惊奇,不妨来程序员客栈试试?”“客官,你正在创业么,那你知道程序员客栈不?”

    展开全文
  • 匹配算法-快速响应,优良服务,顾客体验的正循环  对于司机而言,派单是比抢单更轻松的方法。Uber在派单之前用来匹配“乘客需求-司机供给”的模型,每个订单通过算法(包括,最短到达时间,是否可用、以往评价...
  • 干货 | 机器学习算法在饿了么供需平衡系统中的应用 image:url(https://ask.qcloudimg.com/avatar/1292807/6341kxs4h2.png?imageView2/2/w/72)">用户1292807发表于携程技术中心订阅830作者简介陈宁,饿了么人工...
  • 引力互联国际有限公司(Gravitylink)凭借在AI领域的实力积累,成功获评2021杰出技术先锋奖,旗下一站式AI算法交易及产品化平台钛灵AI算法市场荣获2021杰出产品创新奖。 深入业务场景,精准解决客户痛点 钛灵AI算法...
  • 受他所提“钱找人”的启发,我想到了2018年我曾撰写区块链存储的系列六篇文章中的第5篇:《由今日头条、拼多多想到的 & BlockChain Storage 之5、区块链存储 - 存储供需的智能匹配》》,我提到了: 为什么我们现在...
  • 浅谈滴滴派单算法

    万次阅读 多人点赞 2019-09-13 17:12:44
    本文作者:王犇 滴滴 | 首席算法工程师 导读:说到滴滴的派单算法,大家可能感觉到既神秘又好奇,从出租车扬召到司机在滴滴平台抢单最后到平台派单,大家今天的出行体验已经发生了翻天覆地的变化,面对着每天数千万...
  • 今天这篇文章会涉及到比特币披萨节,拼多多,央行姚前,算法经济,拆借,保险基金……在系列之四《SDS之BlockChain Storage系列:4、为什说区块链存储是下一个热点(下)&...
  • 将网络选择过程映射为寻找最优加权二分图的过程,用户和网络双方的需求经数学建模后进行供需最优匹配,供需匹配有二次选择机会以平衡网络负载。与其他算法相比,提出的算法可以为不同QoS业务提供满足需求的匹配结果...
  • 导读:说到滴滴的派单算法,大家可能感觉到既神秘又好奇,从出租车扬召到司机在滴滴平台抢单最后到平台派单,大家今天的出行体验已经发生了翻天覆地的变化,面对着每天数千万的呼叫,滴滴的派单算法一直在持续努力让...
  • 随着大数据和以深度学习为代表的人工智能技术的飞速发展,算法工程师这个职业逐渐成为国内互联网行业的标配。2016年3月,谷歌旗下DeepMind公司的围棋程序“AlphaGo”战胜职业九段棋手李世石。这场著名的科技秀把人工...
  • 说到滴滴的派单算法,大家可能感觉到既神秘又好奇,从出租车扬召到司机在滴滴平台抢单最后到平台派单,大家今天的出行体验已经发生了翻天覆地的变化,面对着每天数千万的呼叫,滴滴的派单算法一直在持续努力让更多人...
  • 机器学习算法应用场景

    千次阅读 2017-10-22 11:06:35
    本文整理了60个机器学习算法应用场景实例,含分类算法应用场景20个、回归算法应用场景20个、聚类算法应用场景10个以及关联规则应用场景10个。包含了天池、DataCastle、DataFountain中所有竞赛场景。 ...
  • 潜在语义分析的供求信息自动匹配算法 http://wenku.baidu.com/link?url=tGVciGTR5wVxa9iXtpqYm6JDkbhfmR1tJWs5gQjpc7xill323rgW8blx7CtDaqzWoWdUloxlf08-RU9RAWlwIbzFMPFbOIY_aPod_A-Yawm
  • 本文总结了常用的数学模型方法和它们的主要用途,主要包括数学和统计上的建模方法,关于在数学建模中也挺常用的机器学习算法暂时不作补充,以后有时间就补。至于究竟哪个模型更好,需要用数据来验证,还有求解方法也...
  • 集中供热系统是 1 个复杂的多输入多输出系统,具有非线性、强耦合...仿真结果表明,此方法可以实现热源处总热量生产问题的优化控制,并能求出其相应的供水温度和供水流量的最优控制量,达到供需匹配和节能降耗的目的。
  • 通过和一些朋友交流,发现目前一些数据分析师,其实不是很清楚机器学习可以如何应用于业务,也不清楚自己到底要不要去学习算法知识。实际业务中一些复杂算法场景例如商品推荐、内容推荐、匹配策略等,其...
  • 特别是,定价算法的使用允许企业通过监控和设置动态定价来匹配供需平衡。 消费者可以看到快速变化的价格并采取行动。 但是,不利的一面是,算法在行业中的广泛使用会改变市场的结构特征,例如价格透明、交易速度快...
  • 算法与数据中台:网约车业务实践

    千次阅读 2020-09-15 17:52:21
    在O2O 模式下,网约车平台成为其中最为经典的案例,无论是美国的 Uber 还是国内的滴滴都已经发展成为社会的基础设施。...业务和产品的快速迭代需要依靠优良的系统架构,而算法与数据中台在整体架构中又发挥了
  • 机器学习算法应用场景实例六十则

    万次阅读 多人点赞 2016-12-14 22:19:23
    本文整理了60个机器学习算法应用场景实例,含分类算法应用场景20个、回归算法应用场景20个、聚类算法应用场景10个以及关联规则应用场景10个。包含了天池、DataCastle、DataFountain中所有竞赛场景。 ——————...
  • 作者: 王犇 刘春阳 徐哲 来自:滴滴技术 导读:说到滴滴的派单...本篇文章会着重介绍我们是如何分析和建模这个问题,并且这其中面临了怎样的算法挑战,以及介绍一些我们常用的派单算法,这些算法能够让我们...
  • 第2章 《算法竞赛入门经典(第2版)》习题选解 2.1 数组和字符串 本节选解习题来源于《算法竞赛入门经典(第2版)》一书的第3章。 习题3-1 得分(Score,ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串...
  • 付出: 毫无疑问的是,算法供需失衡了。 这也意味着市场属于买方市场,竞争压力极大。 这点可以去牛客网上去搜一搜,今年算法号称诸神黄昏。 说一个事实,我某大厂算法白菜比我同学某独角兽开发白菜低 10w 左右,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,603
精华内容 641
关键字:

供需匹配算法