爱吧机器人网 » 技术 > 大数据 > 正文

关于推荐系统中的特征工程

在多数数据和机器学习的blog里,特征工程 Feature Engineering 都很少被提到。做模型的或者搞Kaggle比赛的人认为这些搞feature工作繁琐又不重要不如多堆几个模型,想入手实际问题的小朋友又不知道怎么提取feature来建模型。我就用个性化推荐系统做个例子,简单说说特征工程在实际的问题里是怎么做。

定义

特征工程 Feature Engineering 在一篇Kaggle blog上有很好的定义:

By feature engineering, I mean using domain specific knowledge or automatic methods for generating, extracting, removing or altering features in the data set.

基本上说是,用目标问题所在的特定领域知识或者自动化的方法来生成、提娶删减或者组合变化得到特征。这些特征可能是显而易见比如说商品的品牌,也有可能需要复杂的模型计算,比如Facebook上用户A和用户B之间关系的紧密程度(FB使用了一个决策树来生成一个描述这个程度的向量,这个向量决定了他们News Feed推荐内容。)。这篇blog覆盖了一些用领域知识的方法,自动化方法在这里没有提及。

推荐系统

背景

个性化推荐系统 Personalized recommender system 比其他的机器学习方法更依赖特征工程,所以我拿它来当作问题的背景,结合我之前做过的一个推荐系统里相关经验来说说特征工程具体是个什么东西。

关于推荐系统和个性化推荐系统,可以参看wikipedia具体不赘述,以下的要点也尽量点到为止,否则这篇又成了“收藏了Mark了”但是不会读的冗余长文。以下如果不特别指出,我就用推荐系统作为“个性化商品推荐系统”的简称。简单来说,推荐系统就是你买了商品A,我们给你算出来个推荐列表 B C D E 等等。商业上来说个性化的推荐比一般化的推荐更能吸引顾客点击或购买,所以利用特征功能提取这些“个性化”的特征放到推荐模型里就很重要,比如在我们的推荐系统里,把“品牌”的特征加进去,相对于 baseline 提高了20%左右的nDCG。推荐系统可以是机器学习的模型也可以是基于关联或者统计规则的模型,对后者来说特征对推荐效果的提升占的比重更大。

利用领域知识生成和提取特征

这几乎是特征工程里占大半时间的工作了:如何描述个性化并且用变量表示成特征。一般方法就是,想想你就是该商品的目标用户,你会想要什么样的个性化。

比如说我们做一个女性衣服类的推荐引擎,这个网站卖各种牌子颜色尺寸等。我们列出可能相关的一些特征,然后在实际购买数据里面检查他们是否对购买结果产生影响和关联性。比如,从购买数据里可以看出,女性对衣服的品牌多数有固定偏好,比如我太太就很喜欢LOFT的衣服。这些能对购买产生影响的因素都可以成为特征。

这部分工作需要很多领域知识,一般需要一组的研究人员讨论,要认真的思考这个特定问题有些什么和别的问题不同的特征,也建议和市场部销售部等有领域知识的专家讨论。经验上来说,这些特征提取的越多越好,并不用担心特征过多,因为推荐系统的数据量都比较大,并且基于一些规则可以很好的筛选特征。

很多机器学习的方法也可以拿来提取一些比较不容易得到的直接特征,比如说原始数据里面没有人工标记过商品的颜色,这些颜色可以通过图像识别得到。统计规则也可以从销售数据里得到一些特征,比如该商品的流行程度。

注意,这些特征可能是固定不变的,比如颜色,品牌等。它也有可能随着时间变化,比如商品的销售排名。实际经验来说,时间变化采样的颗粒度要按照实际推荐效果来决定,很可能过去三个月的销售排名对推荐效果来说可以很稳定,也或许昨天的排名对今天的推荐效果比三个月平均更好。

特征的表达

大家都知道特征可以是“红”“绿”“蓝”这些离散特征,也可以是1.57这样的连续值特征。一个特征具体如何表达,要看在它在具体模型上怎么用。某些特定问题更倾向于离散特征,因为像推荐系统这样数据很大的情况可以利用模型训练这些特征得到比连续值表达更好的效果。

比如说,商品的流行度可以是一个特征,因为对于某些流行的商品大家都抢着买,喜欢跟风买热门商品这一特性可以作为推荐的特征。我们可以按照销量排名然后归一化得到每个商品的流行度值,但是直接用这个连续值会有一些问题,比如说用户甲买了流行度分数为 0.75 0.5 0.2 0.1的四个商品,用户乙买了流行度为0.7的一个商品,他们两个怎么比?

如果还记得算法书上说的,定义几个桶buckets,把流行度分到这几个buckets里面,可以解决这个问题。比如定义三个桶:很流行1-0。95,较流行0.95-0.75,普通0.75-0.4。这样用户甲的特征就是[0,1,1]用户乙的特征就是[0,1,0],这样你的推荐模型就可以做一些对比他们俩的相似度或者其他推荐计算了。

顺道提一下就是,为什么在这里直接把0.4之后的丢掉了以及为什么取了三个buckets。这个要看具体问题里面具体特征的用处。

  1. 如果这个模型是学习训练出来的,可以用一些feature selection的办法自动去掉一些不需要的bucket。对于那些不是学习出来的模型比如是简单的相似性模型,按照实际推荐效果思考一下用户的行为特征,需要丢弃一些特征。我之前包含过0.4以下的部分但是实际测试的时候发现推荐结果会恶化,也就是说对于我们的问题,用户喜欢跟风买热门的,但是不喜欢一直买冷门的。
  2. 特征需要按照实际购买数据进行修正和理解。三个buckets是我们系统里效果最好的。

一个比较高级的例子是 Facebook 在他们的 Machine Learning meetup 上提到的推荐News feed的特征。每个用户对于其他用户的 news 的点赞和留言以及其他的动作都会得到一个评价值,这是一系列的连续值,直接拿来训练模型效果不好。他们的做法是做了一个简单的决策树,训练的输入是这些连续值,训练目标是看对于用户A是否应该显示用户B的 news 。这个决策树显然很粗糙,但是树的每个叶子节点可以成为一个特征,那么这些叶子节点就可以当作用户A的特征向量,拿来训练其他模型比如Logistic Regression,效果不错。

上一页12下一页

上一篇:中移动31.72亿元设苏州研发中心 着眼云计算和大数据
下一篇:做大数据过程中遇到的13个问题
精选推荐
深度神经网络揭示了大脑喜欢看什么
深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...

助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出
助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出

[2017-12-25]  本文提出了一个大型的、长序列的、用于行人重识别的视频数据集,简称LVreID。与现有的同类数据集相比,该数据集具有以下特点:1)长序列:平均每段视频序列长为200帧,包含丰......

美国人工智能公司Skymind进入福建全面开展业务
美国人工智能公司Skymind进入福建全面开展业务

[2017-12-11]  人工智能在当今这个时代对大家来说想必是非常熟悉的,这也是我国近十几年来一直追求的目标,未来的时间里这也将是全人类追求的目标。就目前来看,近年来,人工智能或在我国迎......

哈佛大学《自然》发表新驱动技术,让飞行机器人悬停且不受损伤
哈佛大学《自然》发表新驱动技术,让飞行机器人悬停且不受损伤

[2019-11-06]  哈佛大学研究人员发表在《自然》杂志上的一项最新研究,他们开发了一种由柔软的人造肌肉驱动的机器人蜜蜂(RoboBee),这种机器人在撞墙、 ...

MIT研制出可以像植物一样生长的机器人
MIT研制出可以像植物一样生长的机器人

[2019-11-09]  麻省理工学院开发了一种新型机器人,这种机器人可以本质上自我延伸,其生长方式与植物幼苗向上生长的方式惊人相似。值得注意的是,研究人员 ...

这些人型机器人是如此真实,你的肉眼几乎无法区分
这些人型机器人是如此真实,你的肉眼几乎无法区分

[2017-09-03]   我们生活在一个区分现实与幻想变得越来越困难的世界。由于机器人技术的进步,创造人工的人类正在逐渐接近完美的最终目标。我们现在看到的机器人不再只是一块发光二极管,......

2022年全球工业机器人市场将达到790亿美元
2022年全球工业机器人市场将达到790亿美元

[2017-09-04]  预计到 2022年, 全球工业机器人市场将达到790亿美元, 并在预测期内登记11 5% 的复合年增长率。随着发展中国家中小型企业需求的不断增长, 采用自动化技术以确保生产质量......

MIT最新“人机”互连系统 让双腿机器人复制人体技能
MIT最新“人机”互连系统 让双腿机器人复制人体技能

[2019-11-01]  MIT的小爱马仕想借用你的大脑 ,图片来自: João Ramos爱吧机器人网消息,麻省理工学院(MIT)的研究人员展示了一种新型遥操作系 ...

本周栏目热点

[1970-01-01]   这可能是未来最具发展潜力的职业之一,我们从职场角度为你解读如何成为 大数据 工程师,以及它的职业发展 ...

从Facebook社交媒体情绪实验看大数据道德困境

[1970-01-01]   今年曝光的Facebook私自进行社交媒体用户情绪实验的新闻引起了不小的争议,这把很多数据实验卷入到社会 ...

大数据时代的美国隐私权保护制度

[1970-01-01]   2014年5月,美国总统执行办公室(Executive Office of the President)发布2014年全球大数据白皮书 ...

那些年,曾经被我们误读的大数据

[1970-01-01]   如今,业界和学术界一直在热议大数据,不管是学术圈还是IT圈,只要能谈论点儿大数据就显得很高大上。然 ...

未来农业将在田里处理大数据

[1970-01-01]   基普·汤姆(Kip Tom)是第7代家庭农场主,他的农场种植的主要农作物是玉米和大豆,他同时也在进行玉 ...