从内容/用户画像到如何做算法研发

中午和一前同事一起用餐,发现还是有很多碰撞点的。交流了很多正在做的事情,
对方也提供了非常多的思想值得自己很好的思考。

先是和他聊了下我们现在做内容标签的进展,其实就是在做内容画像。我们一般都是在谈用户画像,其实内容也是要画像的。

我之前说,内容和用户是现在互联网企业核心的两个东西,用户的行为则将内容和用户连接了起来。

很多人一上来,撸起袖子就开始做用户画像,后面会发现,如果没有对内容做好分析,其实用户画像这个东西也会做不好。因为用户的行为是以内容为承载的,只有把内容画像做好了,才能进一步提升用户画像的品质。而要做内容画像,其实有两件事情要做的:

  1. 从多个维度刻画内容的,并且形成对应的标签体系
  2. 如何将这些标签打在内容上

** 另外在如何做的这件事情上,他也谈及了自己的看法,就是要求以Spark的Mlib为载体,尽量所有人共用一个算法平台。 ** 我诧异的说,竟然和我的想法不谋而合。他说这样做的好处是大家信息共享会更快,同一个平台也更好维护。我进一步补充,其实如果每个人都有Google工程师的水准,其实倒也不用限制在一个平台上,但事实上如果每个人都坚持自己擅长的方式,其实隐形成本非常高。

比如,算法工程师写了一个巨牛逼的算法原型,然后他需要先给工程师讲懂这个算法,工程师看个人水平,先不说能否将算法实现,实现所花的时间,以及是否真的有时间和精力去帮着实现,实现的是不是有问题就是一个很大的问题了。来回一折腾,两个人都会比较累。当然,我前面也说了,如果都是Google工程师级别的,事情自然能更快。如果大家都使用spark 平台,这种交流成本小非常多。研发工程师只要将算法工程师已经写好的spark代码做些调整优化,估计就可以直接上线看效果了。所以我做的更极端一些,要求算法工程师用到的算法都必须是Spark Mlib现有的,或者有能力自己实现的,不能单机去Lib跑跑就行。

** 他还问我说,怎么才算对算法有了真正的理解。** 这个问题真的把我问住了,我之前肯定会说,知道什么场景使用什么样的算法,就足够了。但是现在真的静下心来做,发现不是这么一回事。

我们先谈谈,怎么知道什么场景,使用什么算法。首先我们要知道具体场景能对应到一个什么类别的问题上。是一个聚类的问题?一个分类的问题?还是一个回归类问题?定义了类别之后再去找对应的算法。比如聚类可以使用KMeans,LDA,K近邻等,分类可以贝叶斯,SVM等。然而你会发现,其实还是太简单了。

一个场景要解决的一个问题往往不是这么直观明显的,就如同我们上面提到的构建内容画像的问题,就得到了两个子问题,每个子问题又需要划分成好多个步骤,每个步骤可能对应一个或者多个算法问题。

但是就算这样,也还是是远远不够。因为我们即使做到了具体知道该使用哪个算法,但是一用,发现效果完全不是那回事。这个时候我们至少需要了解两方面:

  1. 算法的核心是什么,有什么潜在的需求?比如是不是对数据的分布做了什么假设么?
  2. 特征和数据集的情况是如何的

而且很多算法做了很多很粗暴的假设,这种假设会导致算法存在一些固有的问题,如果你不了解其内部的这些假设,你会以为这些是他的一个特性,其实是一个缺点。比如Gini Importance,如果你不去了解的内部思想,你在理解数据时,就会造成误解,导致错误的认为先被选中的特征是很重要的,而其余的特征是不重要的,但实际上这些特征对响应变量的作用确实非常接近的。

** 做公式推导到底重不重要呢。** 我们常常觉得那些对算法里的公式能做推导的人,很牛,能做到这点,自然值得鼓励和钦佩,但是我觉得算法和能不能推导公式是两码事。我可以把算法里的每个公式拎出来,找个数学系的人进行推导,它可能比较轻松的搞定。但是我们说他懂得这个算了么?他连算法是什么都不知道,对么? 所以从工程转过来的人,一定不要为此觉得有什么障碍,其实我们可以忽略公式的本身推导过程。

我有时候觉得,引用算法工程师最流行的一个话,就是tricky。 中文我不知道怎么翻译更合适,很多时候是需要悟性和对事物本质的了解,才能了解一个算法的,绝对不是靠几个公式就能搞定的。

协同算法是我们应用的比较广泛的一个算法。** 但是我觉得协同不应该算是一个算法,而是一种模式。 ** 我们常见的很多模型,最后都是协同模式。举个例子来说,是不是个A1用户推荐文章B1,我们可能是这么做的:

  1. 把用户用向量做表征,文章也是
  2. 观察大量的用户A2,A3...AN 是不是有点击该B1
  3. 使用逻辑回归/SVM等分类算法训练模型
  4. 把A1,B1丢进模型,得到是否推荐。

但事实上这套算法,用的就是协同。为啥的?本质上还是相近的用户做的选择互相推荐。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容