V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Morriaty
V2EX  ›  程序员

诸君有没有把场景需求抽象成算法的能力或者实际经历?

  •  
  •   Morriaty · 2017-09-06 12:13:25 +08:00 · 1997 次点击
    这是一个创建于 2428 天前的主题,其中的信息可能已经有所发展或是发生改变。

    程序员间常见的一个话题是『反正工作中又碰不到,我要这算法有何用?』,因而有标题所问。

    本帖的讨论范围暂时不包括那些过于典型的场景,这里的“典型”是指:当我需要做一个功能,百度或 Google 之后,大家都在用这个算法,那我就使用这个算法吧。比如垃圾词过滤的 AC 自动机(包括其他改进版)、爬虫 URL 判重的 BloomFilter (包括其他改进版)。

    我举两个我见过的例子:

    1. word2vec本身是做Word Embedding的,进而可以用来判断同义(同位)词。一个有趣的应用场景是,训练用户的商品浏览记录,用户同一个 session 内连贯的浏览,相当于一个句子,每个商品相当于一个 word,进而发现相似的商品。
    2. 话题模型和 LDA 本身也算一个“典型场景”,但我想强调的是其“抽象”的过程,有读过《 LDA 数学八卦》的朋友应该知道,从 n 的阶乘和抛硬币讲起,到最后得出文本聚类模型,无知的楼主只能表示:惊为天人
    6 条回复    2017-09-07 10:03:33 +08:00
    codermagefox
        1
    codermagefox  
       2017-09-06 12:15:57 +08:00
    翻译一下就是:我曹踏马的还可以这么写?好踏马牛逼啊!

    这就是为什么我一个狗前端还买了一本算法导论垫桌子....梦想着有一天能够有能力把它读下去.哭.
    takato
        2
    takato  
       2017-09-06 12:18:19 +08:00
    万物皆图...
    Morriaty
        3
    Morriaty  
    OP
       2017-09-06 14:23:40 +08:00
    @codermagefox 事实上,前端也是可以业务场景算法话的啊,比如分类列表,分组可以调换位置,移动。分组里边的元素也可以移动到不同分组。还有删除,增加分组;删除,增加元素…这么多操作,想高效率进行,算法绝对少不了。
    ma125125t
        4
    ma125125t  
       2017-09-06 18:28:22 +08:00
    @Morriaty 不觉得。难道有这种场景:一万个列表,每个列表里有一万个二级列表?
    winglight2016
        5
    winglight2016  
       2017-09-06 21:11:21 +08:00
    所谓场景大概指的是用户的使用场景吧?这种情况下,仅仅是应用级需求,跟抽象成算法基本没什么关系了,反过来说,需要使用算法或者优化算法的场景都是非常少见和特殊的,而且也是成熟的。至于你举的例子,都是深度学习相关吧,这一领域的确有大量算法实践,不过我也不熟
    Morriaty
        6
    Morriaty  
    OP
       2017-09-07 10:03:33 +08:00
    @ma125125t # 4 电商品类树或者 QQ 好友表,我举的例子可能更偏向与数据结构了,不过我想强调的是前端也不是完全原理算法的。

    @winglight2016 # 5 我依然觉得算法用的少,一是因为很多情况下 for 循环能解决的问题,我们懒得去想的更深入,也就是继续抽象;二是现在服务器和代码的性能做足够好,我们都感受不到时间、空间复杂度的问题。

    然后我举得例子都算不上深度学习,第一个例子里你甚至不需要理解原算法基础,只要能够意识到同义词和相似商品的对等关系就行,这个应用场景再具体一点,可以是假货识别,比如找到和 Nike 相似的商品是 Noke ;第二个 LDA 是传统一点的统计学习。

    当然,本帖想强调是第一个例子里的对等意识,和第二个例子里的从零开始的抽象意识。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2613 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:33 · PVG 22:33 · LAX 07:33 · JFK 10:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.