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

中午和一前同事一起用餐,发现还是有很多碰撞点的。交流了很多正在做的事情,对方也提供了非常多的思想值得自己很好的思考。先是和他聊了下我们现在做内容标签的进展,其实就是在做内容画像。我们一般都是在谈用户画像,其实内容也是要画像的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-09-14 09:49:36

从内容/用户画像到如何做算法研发的相关文章

Qunar用户画像构建策略及应用实践

1.用户画像的构建原则 我们做用户画像的目的有两个: 必须从业务场景出发,解决实际的业务问题,之所以进行用户画像要么是获取新用户,或者是提升用户体验,或者是挽回流失用户等有明确的业务目标 .根据用户画像的信息做产品设计,必须要清楚知道用户长什么样子,有什么行为特征和属性,这样才能为用户设计产品或开展营销活动.一般常见的错误想法是画像维度的数据越多越好,画像数据越丰富越好,费了很大的力气进行画像后,却发现只剩下了用户画像,和业务相差甚远,没有办法直接支持业务运营,投入精力巨大但是回报微小,可以说得

如何实现基于内容和用户画像的个性化推荐

基于内容和用户画像的个性化推荐,有两个实体:内容和用户.需要有一个联系这两者的东西,即为标签.内容转换为标签即为内容特征化,用户则称为用户特征化. 因此,对于此种推荐,主要分为以下几个关键部分: 标签库 内容特征化 用户特征化 隐语义推荐 综合上面讲述的各个部分即可实现一个基于内容和用户画像的个性化推荐系统.如下图所示: 标签库 标签是联系用户与物品.内容以及物品.内容之间的纽带,也是反应用户兴趣的重要数据源.标签库的最终用途在于对用户进行行为.属性标记.是将其他实体转换为计算机可以理解的语言关

算法 排列组合 迭代-把一个N位的数组,每M个组成一组新的数组,内容不重复,怎么做?

问题描述 把一个N位的数组,每M个组成一组新的数组,内容不重复,怎么做? 把一个N位的数组,每M个组成一组新的数组,内容不重复. M<=N 这个排列组合问题用java迭代或者别的什么方法怎么解决. 困扰我一天了.

用户画像数据建模方法

原文http://blog.baifendian.com/?p=8015 从1991年Tim Berners-Lee发明了万维网(World Wide Web)开始,到20年后2011年,互联网真正走向了一个新的里程碑,进入了"大数据时代".经历了12.13两年热炒之后,人们逐渐冷静下来,更加聚焦于如何利用大数据挖掘潜在的商业价值,如何在企业中实实在在的应用大数据技术.伴随着大数据应用的讨论.创新,个性化技术成为了一个重要落地点.相比传统的线下会员管理.问卷调查.购物篮分析,大数据第一

干货:如何构建用户画像

一.什么是用户画像? 男,31岁,已婚,收入1万以上,爱美食,团购达人,喜欢红酒配香烟. 这样一串描述即为用户画像的典型案例.如果用一句话来描述,即:用户信息标签化. 如果用一幅图来展现,即: 二.为什么需要用户画像 用户画像的核心工作是为用户打标签,打标签的重要目的之一是为了让人能够理解并且方便计算机处理,如: 可以做分类统计:喜欢红酒的用户有多少?喜欢红酒的人群中,男.女比例是多少? 可以做数据挖掘工作:利用关联规则计算,喜欢红酒的人通常喜欢什么运动品牌?利用聚类算法分析,喜欢红酒的人年龄段

基于用户画像的实时异步化视频推荐系统

前言 这个月做的事情还是蛮多的.上线了一个百台规模的ES集群,还设计开发了一套实时推荐系统. 标题有点长,其实是为了突出该推荐系统的三个亮点,一个是实时,一个是基于用户画像去做的,一个是异步化. 实时主要体现在三个层面: 1.用户画像中的的短期兴趣模型实时构建. 也就是你看完一个视频,这个视频几秒内就影响了你的短期兴趣模型,并且反应到你下次的推荐中. 2.候选集实时变更. 在我设计的推荐系统中,候选集的概念是不同类型的待推荐给用户的视频库,一个用户并不能看到某个候选集的全部,而是能够看到经过匹配

你以为自己真的了解用户画像?其实猫腻可多了

背景: 刘路老师之前主要是做政府数据分析,目前主要服务企业.他认为政府和企业的数据分析没有本质区别,都是有目的的进行收集.整理.加工和分析数据,提炼有价值信息的过程,都是为决策提供依据.政府数据分析的工作目标为其职能服务,提高工作效率,保障工作成果,不以盈利为目的.而企业的数据分析无论是哪个部门,最终都会落在企业的营收上.企业数据在保证数据源基础上,最主要是要"走出去",去一线与客户直接交流,了解并思考业务和需求,而不是一直待在"后方". 纪实: 一.用户画像是什么

看完这篇文章后,别再说自己不懂用户画像了

用户画像是一个挺新颖的词,最初它是大数据行业言必及之的时髦概念.现在我们运营谈及用户画像,它也是和精准营销.精细化运营直接钩挂的.这篇文章主要讲产品和运营角度的用户画像. 希望看完后,解决你一切关于用户画像的疑问. 什么是用户画像 用户画像一点也不神秘,它是根据用户在互联网留下的种种数据,主动或被动地收集,最后加工成一系列的标签.比如猜用户是男是女,哪里人,工资多少,有没有谈恋爱,喜欢什么,准备剁手购物吗? 我们常把用户标签和用户画像对等.但凡用户画像的文章,类似上文图片都会出现,有用烂的趋势.

推荐系统那点事 —— 什么是用户画像?

用户画像在大数据分析中是一种很有用的系统,它可以各种不同的系统中,起到很关键的作用.比如搜索引擎.推荐系统.内容系统等等,可以帮助应用实现千人千面.个性化.精准等的效果. 下面将从几个方面来说一下,什么是用户画像,主要的内容来自<用户网络行为画像分析与内容推荐应用>这本书. 应用场景 数据来源 特性 建模 群体画像 画像的存储 画像的查询 画像的更新 图片来自京东--想要购买可以点这里跳转 应用场景 下面举几个很典型的场景: 搜索引擎 在搜索的时候考虑用户的画像标签,返回用户感兴趣的内容.比如