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

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

直接特征和间接特征

直接特征 Extacted Feature 就是比如商品的品牌,间接特征 Derived Feature 可以是从直接特征或者各种数据组合里计算推导出来的。

间接特征的一个例子还是品牌特征,拿女性服饰类举例。比如我太太很喜欢LOFT的衣服,但如果一个推荐引擎使劲给推荐LOFT牌的衣服,她也会很烦。所以品牌并不完全是一个直接特征,它可以有一些变化。比如从购买数据里面看到,购买了LOFT牌衣服的,有20%也购买了J Crew牌,15%也购买了Ann Taylor牌。所以 LOFT 这个特征应该变成一个向量[LOFT:1, J_Crew:0.2, Ann_Taylor:0.15,…]。实际效果上它提高了推荐的多样性,在多个测试函数中都有不错的提升。

间接特征另外一个高级一些的例子就是用户职业。绝大多数用户都不会填自己的职业等个人相关信息,主要是因为隐私或者就是因为麻烦。从用户的购买记录和浏览记录里面,我们可以定义几个预设的职业类型然后用户的职业预测到这几个类型里。比如用户买过一些转换插头和充电器还有旅行电脑包,所以他可能常外出旅行,所以以后推荐的商品可能是轻便携带;又比如用户买过母婴用品就知道该用户可能自己是妈妈或者家里有小孩。

关于间接特征我印象最深的是美国亚马逊上的性别特征。我有一次给我太太买了给女生修眉毛的剃刀,亚马逊的推荐内容就立刻从推荐相机鼠标键盘等男性特征较强的变成了推荐时尚杂志这种有女性特征的东西。

间接特征的提取可以用到很多 机器学习 的技术,比如根据商品的文本描述提取它的文本向量,以这些文本向量为特征训练多分类的分类器,可以把商品分类对应到各种用户职业特征上。它也可以利用人工标记的类型列表,比如时尚杂志的女性特征。它也可以利用一些统计规则,比如单反相机的购买记录里,男性的比例会高于女性,所以单反相机的性别特征向量可以是购买人数性别的比例值。

特征选择

这部分的工作就看起来比较高级一些,比较贴近 机器学习 的研究工作。一般来说是两个方法:基于领域知识的手工选择以及自动选择方法。

对于关联规则和统计规则的模型来说,手工选择的比重要大一些。比如我们已有了baseline的特征向量,现在加进去品牌偏好,给一定的权值,看评价函数输出的结果是否增强了推荐效果。对于学习的模型来说,可以通过模型自动选择每个特征的权值,按照和效果的关联来调整模型的参数。这里需要提醒的是,这个选择过程不是单增单减,很可能遇到两个特征组合A+B效果很好,A+C效果也很好,但是A+B+C效果就呵呵了。个人建议在关联和统计规则里面把最重要的几个特征放进去然后优化关于这几个特征的规则,把复杂的特征选择留给学习出来的模型。

自动选择方法就很多了,用的也是常用的各种自动选择方法,什么forward selection啊backward selection啊各种regularization等等,全写在这里篇幅就太长,推荐看看一些其他关于 机器学习 里 feature selection 的blog和综述。值得提醒的是选择方法和评价函数的关联。推荐系统的评价函数一般不是AUC曲线等按照error计算的函数,也就是说推荐的效果并不是按照“精准”来衡量,要遵循特定问题需要的评价函数比如nDCG,所以以error matrix为标准的一些方法可能效果会不好。比如说用PCA降低特征的维度很可能把那些对推荐效果很重要的长尾特征给舍弃了。

特征的组合变化

这部分工作看起来就比较碉堡,可发挥的空间就看你的想像力和经验了。这里的组合变化远不限于把已有的特征加减乘除(比如Kernel Tricks之类),我举个比较有想像力的例子。

现在市面上社交网络里面“你可能认识的人”的推荐 算法 几乎都是基于补全网络的办法,这样推荐的人可能只是单纯的补充和完善朋友圈,推荐的人可能很无趣,这样会导致推荐效果不好让用户失去接受推荐的兴趣。目测新浪微博用的还是这种补全的方法,因为整天向我推荐丁一晨李开复姚晨等人或者最近关注的人的共同关注人,所以推荐的人很无趣几乎都不会点关注。

斯坦福小帅哥教授 Jure Leskovec 在2010年的一篇文章“Predicting Positive and Negative Links in Online Social Networks”说到过一种基于用户反馈的推荐“你可能认识的人”的推荐 算法 ,他把邻近三人之间的三角关系总共16种正负反馈的组合当作特征向量用来表达用户A和被推荐目标用户C之间的正负反馈,在图里去掉一些已知正负反馈的边来构建训练数据,用简单的Logistic Regression训练模型达到了不错的效果。可以谷歌找到这篇文章的幻灯片,里面有图示讲解。

结语

这篇文章就简单提及一些特征工程的常用方法,说的是手工提取特征,从这些入手可以深入研究研究具体问题的具体做法,这是一个很细致的工作可以多钻研钻研。这里面没有说到自动提取方法比如深度学习和卷积网络等等,也没说到推荐系统的其他方面比如大规模用户聚类。构建一个推荐系统需要涉及很多东西,绝对不是GraphLab或者Mahout跑个协同过滤就能上马的,这里面特征工程是很重要的一部分工作,在很多其他数据和 机器学习 的工作里面特征工程也差不多是从根本上改变模型效果的重要办法之一。大家在欢乐调参的过程中不妨考虑考虑搞搞特征。

上一页12下一页

上一篇:中移动31.72亿元设苏州研发中心 着眼云计算和大数据
下一篇:做大数据过程中遇到的13个问题
精选推荐
谷歌《Nature》发论文称实现量子霸权 18亿倍速碾压世界最强超算
谷歌《Nature》发论文称实现量子霸权 18亿倍速碾压世界最强超算

[2019-10-23]  谷歌坚称自己已经取得了量子霸权——这标志着计算研究领域的一个重要里程碑。谷歌首次发布声明是在今年9月,虽然遭到竞争对手的质疑,但就 ...

MIT用深度学习处理3D点云数据 应用于无人汽车等领域
MIT用深度学习处理3D点云数据 应用于无人汽车等领域

[2019-10-23]  如果你见过自动驾驶汽车,也许会对车顶上那个一直在旋转的圆柱体感到好奇。这是一个雷达传感器,无人驾驶汽车依靠它在现实世界中进行导航。 ...

2018年企业数字化转型的五大趋势
2018年企业数字化转型的五大趋势

[2017-12-16]  据2016年哈佛商学院研究表明,选择进行数字化转型的企业在3年内表现出了55%的平均毛利润提升,相比之下其他企业毛利润同期降低了37%。数字化转型企业的领头羊,也曾是收入处于......

谷歌在中国成立一个新的人工智能(AI)研究中心
谷歌在中国成立一个新的人工智能(AI)研究中心

[2017-12-13]  谷歌正在中国建立一个新的人工智能(AI)研究中心,希望进一步扩展到中国,以充分利用中国高度重视的人工智能技术。人工智能是目前地球上最具竞争力的领域之一,亚马逊,微软......

Crossbar将电阻式RAM推入嵌入式AI
Crossbar将电阻式RAM推入嵌入式AI

[2018-05-17]  电阻RAM技术开发商Crossbar表示,它已与航空航天芯片制造商Microsemi达成协议,允许后者在未来的芯片中嵌入Crossbar的非易失性存储器。此举是在先进制造业节点的领先代工厂选......

什么是机器人学?机器人学简介
什么是机器人学?机器人学简介

[2017-12-14]  机器人学是工程学与科学的交叉学科,包括机械工程,电气工程,计算机科学等。机器人技术涉及机器人的设计、制造、操作和应用,以及用于控制、感官反馈和信息处理的计算机系统。...

美国Natilus公司试飞水上无人货机 设计简单成本降低
美国Natilus公司试飞水上无人货机 设计简单成本降低

[2017-12-28]  Natilus创业公司成立于2014年,其梦想是建造大型无人机,以半价提供比船舶快得多国际货运。在十二月份,Natilus计划在旧金山湾测试一个9米翼展的小型原型无人机的水上滑行能力......

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

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

本周栏目热点

[2016-08-07]     著名物理学家霍金教授说,忘了黑洞吧,女人才是宇宙最大的谜。但,未来这个最大的谜题因为大数据分析的出现而揭开谜底。人工智能是大数 ...

网友在什么时候发朋友圈可以看出贫富差距?

[2016-08-30]   收入不平等、教育不平等这些名词你都不会陌生。现在有人希望通过分析Instagram上图片分享的地理定位数据来告诉你什么叫做——社交 ...

[2018-07-23]  随着信息技术在各个领域的全面应用,数据的种类、数量、速度和价值都出现了显著变化,一个大规模生产、分享和应用数据的时代已经开启。...

个人征信机构静待发令枪响 业内:大数据并不便宜

[1970-01-01]   个人征信牌照发放在即。近日,《每日经济新闻》记者从多家机构获悉,央行对征信机构的验收工作已经收尾 ...

数据开放的经济学分析

[1970-01-01]   2009年美国启动开放政府计划,开启了国际政府机构以数据开放展开数据与信息分享的重要议题,在世界范围 ...