范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

深度学习推荐系统之输入特征工程

  1. 前言
  从计算机视觉转换赛道到推荐系统,最令我迷惑的不是具体的网络模型,而是大多数论文中往往一笔带过的"输入层"。 就像一个厨师,知道菜谱,但是不会处理食材。 最近一段时间通过查阅资料文献,加上个人一些小小见解,撰成此文,希望借此加深自己的理解,同时也希望给有着像我一样困惑的同学带来帮助。
  图像作为一种低阶信息,其RGB矩阵(或其他形式的数字化表达)即可直接输入到神经网络之中,而文本信息(推荐系统的ID类特征也可看作一类文本信息)与图像不同,往往具备深层的含义,而且以字符串的形式进行存储,无法直接输入神经网络。因此 如何将信息从字符串转换为神经网络可以处理的实数向量(Tensor) ,是至关重要的一步。 2. 推荐算法的输入与输出
  推荐算法的输入往往包括 用户特征、物品特征以及上下文特征 ,根据输入信息,模型得到推荐结果,具体的输出一般是模型预测得到的某一用户对某一物品的"偏好程度",比如 点击率、转化率 等。
  用户特征一般包括用户性别、年龄、地域、手机型号等基础信息,用户浏览序列、点击序列、浏览时长等行为信息等;物品特征一般包括物品名称、所属类别等信息;上下文特征一般指当前时间、节假日信息、广告位信息等。分析输入的信息可以发现,大多数特征可分为两类,即类别型(也称ID型)和连续型。类别型指的是离散的,某类特征的不同特征值之间不存在数值上的大小关系的特征,比如性别就是典型的类别型特征,其特征值男、女之间不存在数值上的大小关系,再比如用户浏览序列,也是由用户浏览的物品这一类别型特征构成的。连续型特征的特征值往往是可以用实数表示的,比如年龄,30岁和31岁之间存在简单的数值上的关系,再比如浏览时长,同样是该类特征,浏览时长1h和1min,特征数值具有明确的含义。
  类别型特征 对于推荐算法的效果起着更关键的作用,一方面是因为数量上类别型特征更多,另一方面更是因为像用户行为序列等关键特征往往都是类别型的。值得注意的是,对于连续型特征,往往也可以直接当做类别型特征来处理,即一个取值就作为一个类别来看待,当取值较多时,涉及到的类别可能会很多,处理时需要注意。或者通过分桶等方式进行离散化,例如对于年龄这个特征,可以根据年龄大小,分成老、中、青等几类,而不直接使用具体的年龄数值。
  我们重点介绍类别型特征的处理方式,类别型特征在处理前,往往是字符串形式的,如下所示。
  "用户名 xxxx|用户ID A0001|性别 男|年龄 35|手机型号 APPLE6S|浏览记录 0001 00123 18930|商品名称 B牌笔记本电脑|商品ID 4567890|商品价格 5000RMB|..."
  参照文献[2]的划分,我们可以 将特征从字符串转换为实数向量的过程拆分为编码和解码两个阶段 。编码阶段指的是将字符串编码为各自对应的向量,该向量往往是稀疏的,并且不随着神经网络优化进行更新。抛开深度推荐算法,不考虑Embedding的话,该阶段产生的稀疏向量已经可以直接输入经典的推荐模型或者一些机器学习模型之中。然而上述稀疏向量存在很多缺点,尤其不适合深度学习模型,因此还需要解码阶段,解码阶段指的是将稀疏向量转换为低维稠密向量(该向量也称为Embedding)的过程,相比于稀疏向量,Embedding具有诸多优点,将在下面进行重点介绍。 3. 编码:One-Hot编码与哈希编码
  One-Hot(独热)编码是最基本的编码方式之一,一般某一特征的特征值取值有多少种,就需要多少维的向量来进行编码,例如"性别"可取值"男"或"女",则需要至少两维。独热编码存在两个明显的缺点,首先,对于用户ID等特征值极多的特征,采用独热编码会 产生维度极高的特征向量 ,由多种特征拼接产生的样本维度就会更大。其次,某一特征的编码维度往往是根据训练数据中该类特征的取值数量确定好的,并记录好了One-Hot对照表,在实际场景中,往往存在新增用户、商品等情况,以及ID化的连续型特征也会不可避免地存在"新值",固定的One-Hot对照表 可能会出现对这些新项目无码可编的问题 。
  由于One-Hot编码存在上述缺陷,在实际工业界中一般是采用哈希方法对特征进行编码,即固定哈希函数,直接将字符串形式的特征值哈希为一个固定维度的向量。采用这种方式,一方面能够 将维度限制在固定大小 ,另一方面 产生任意一个新的特征值时,哈希函数总能够得到其一个对应的编码,同时不需要存储额外的One-Hot对照表,只需存储哈希函数即可 。当然哈希方法存在碰撞的问题,因此目标维度也应根据特征值的大致数量进行合理设置,尽量减少碰撞的产生,即使有研究表明,少数的碰撞并不会导致模型性能明显的下降。另外,哈希编码不论是从哈希函数的选择还是哈希结果的选择(One-Hot还是Multi-Hot)均需要考虑和设计,相比于One-Hot直接编码,存在一定的设计难度。
  文献[2]中总结指出,一个好的编码方法应尽量满足 唯一性(U) 、 相似性(E-S) 、 高维性(H-D) 、 高熵性(H-D) 这四点,如下表所示。
  各种编码方式的特点
  编码阶段的产物大多是稀疏向量, 稀疏向量无法直接输入神经网络(效果不佳) ,因为每个特征只能在少数数据点上被激活,无法进行有效的学习。而且即使编码为稠密向量,编码阶段本质上还是对原来特征的一种直接转换, 编码后的特征不能体现特征值之间深层的关系 ,例如"领带"和"西装",虽然从字面上来看两者没有很强的关系,但是它们之间存在一定的实际关联,即买完西装很可能也会考虑领带,为了实现类似的效果,从特征表达层面就使得特征具备这样的深层关联关系,仅仅依靠不含有任何学习过程的编码阶段是不够的,还需要解码阶段的Embedding技术。而且,随着Embedding技术的发展, 编码阶段目前主要是充当为每个特征值标记ID的作用,依靠ID更容易的找到其对应的Embedding向量 。 4. 解码:从Word2Vec到万物Embedding
  解码阶段肩负的主要任务是通过学习的方式,将编码阶段的向量解码为具备深层联系的向量,除此之外,解码阶段还会完成特征的稠密化和降维,对后续送入深度学习模型更加友好 。解码阶段采用的主要是Embedding技术,该技术从Word2Vec发展而来,但是并不局限于Word2Vec的设计范式,结合图神经网络等其他技术方法可以有很多延伸和拓展。
  明确解码阶段的目的以及输入输出形式,可以从更高的层次来看待和理解一些具体的算法 。
  Word2Vec结构如下图所示,可以分别从自监督学习和监督学习角度进行理解。
  朴素的word2vec模型
  首先从自监督学习的角度来看,本身Word2Vec可以看作是一种通过自监督来生成Embedding的方式,采用的网络结构可以看成是一种Encoder-Decoder结构(这里的Encoder与Decoder不同于本文章全篇的编码和解码)。Word2Vec模型根据训练方式的不同,可以分成CBOW模型和Skip-gram模型,以后者为例,输入模型的为一句话中的一个词的One-Hot向量x,经过Encoder,也就是简单的线性变换W,得到隐层向量h,隐层向量再经过同样是线性变换的Decoder,得到输入词在句子中的相邻词的One-Hot向量y。向量x对应的隐层向量h就是它的Embedding,由于x为One-Hot向量,因此h其实也就是W矩阵中的一个行向量,行号就是x中非零元素的位置序号i。之所以称之为自监督,是因为训练模型的监督信号来自于句子本身,输入一个句子,即可通过滑动窗口的方式构建诸多训练样本对。
  如果从监督学习的角度来看训练Embedding的过程,可以总结为两步, 一是查表(lookup-table)得到对应特征值的Embedding向量,二是根据一定的监督信息更新Embedding的值 。One-Hot加特征线性变换,本质上就是一个查表的过程,即根据特征值得到其对应的Embedding。Embedding未经学习时,是按照随机或者固定值等设定的方式初始化的,为了学习每个特征值的Embedding向量的每个值,需要设计合理的监督信号,朴素的Word2Vec采用的是"一个单词的相邻单词可以由中心单词决定"的先验,其实很多时候采用其他的监督信号或者直接将Embedding输入推荐模型,学习模型参数的同时端到端学习Embedding向量参数也未尝不可。
  Embedding技术思想其实与计算机视觉中应用在再识别、人脸识别中的度量学习或者小样本学习中的原型(Prototype)思想异曲同工。 Embedding技术本质就是一种将输入信号转换为具备深层信息的稠密(低维)向量的一类方法 。因此Embedding不仅仅可以通过简单的查表与原始输入构建一对一联系,也可以像计算机视觉中的图像Embedding一样, 通过神经网络生成 ,这也是KDD2021中的DHE[2]的思路,见下图。
  两种embedding得到方式
  当然查表和通过神经网络生成是各有利弊的,比较突出的就是,查表的方式需要得到和存储具体的Embedding表,从而导致参数量过大(推荐模型参数量大,很多时候是Embedding表导致的,模型逻辑本身参数量并不是特别大),但是牺牲空间,带来的确是时间效率的提升,通过查表的方式直接得到输入向量的Embedding是很快的。而另一种方式,通过神经网络逐层计算,得到输入向量的Embedding向量,虽然仅需存储少量的神经网络参数,但是计算效率却大大下降。而在最终性能上两种方法目前没有显著区别,所以并无绝对的优劣之分。  5. 小结
  深度学习推荐算法虽然不像以往的经典方法需要复杂的手工特征工程(只能说在一定程度上,深度学习推荐算法需要的特征工程变少了,或者形式变了,但是其依旧是推荐算法设计的重中之重),但是如何处理字符串形式的输入信息,将其转换为有效的神经网络友好的输入Tensor却是一个重要的课题,解决这一问题目前主要采用的是如火如荼的Embedding技术。Embedding技术本质上与NLP、计算机视觉等领域有很多关联之处,推荐算法中的Embedding技术也有其特点和难点,同时还需要兼具效率等诸多工业实践上的考量。 参考
  1. 推荐系统精排之锋(11):再论特征与embedding生成 - 知乎 (zhihu.com):https://zhuanlan.zhihu.com/p/432118382
  2. DHE:Learning to Embed Categorical Features without Embedding Tables for Recommendation,KDD,2021:https://arxiv.org/pdf/2010.10784.pdf
  3. 无中生有:论推荐算法中的Embedding思想 - 知乎 (zhihu.com):https://zhuanlan.zhihu.com/p/320196402
  4. hash trick在机器学习中的使用_juary_的专栏-CSDN博客:https://blog.csdn.net/wm_1991/article/details/50463237
  5. 推荐系统的特征工程 - 小小小的程序猿 - 博客园 (cnblogs.com):https://www.cnblogs.com/x739400043/p/12394135.html
  6. 求通俗讲解下tensorflow的embedding_lookup接口的意思?- qiao的回答 - 知乎:https://www.zhihu.com/question/48107602/answer/715028211

你了解多动症吗?儿童保健门诊经常会碰到忧心忡忡的家长我家孩子特别好动,是得了多动症吧!到底什么是多动症?如何早期识别多动症?ADHD的高危因素有哪些?让我们看看专家怎么说。到底什么是多动症?儿童多宝宝能不能吃冰淇淋?2022育儿季头条创作挑战赛冰淇淋好不好吃?好吃!你看小朋友每次看到冰淇淋,眼睛跟腿都挪不开了,他眼巴巴的望着你,不给他吃呢,看着他又可怜兮兮的,给他吃呢,又怕他吃了拉肚子。所以到孕妇怎样加速胎儿的脑部发展?把握3个关键点,并做到以下六点一不小心进入了一个聊天群,里面的内容都是关于孩子的智力开发,这大概是每个家长都会头疼的问题,毕竟每个家长都想要自己的孩子是人中龙凤,所以很受欢迎。当然,关于孩子的智力发展,我们可以出现了糖尿病足,糖友的饮食该注意什么?1营养膳食,合理搭配。五谷为养,五果为助,五蓄为益,五菜为充。糖尿病饮食治疗是所有2型糖尿病治疗的基础,是糖尿病的自然病程中,任何阶段预防和控制必不可少的措施。每天在家定时定量进餐人睡三觉,命比纸薄!古人睡觉的一些讲究,多学学老了,老了,觉越来越少了,现在每天一到三点左右就醒,也不知道为什么,63岁的李阿姨向朋友们诉说着自己的烦恼。和李阿姨有相同困扰的人或许不在少数。随着年岁的增长,睡眠质量逐渐下降,一入睡难?半夜醒?多做这5件事让你每天睡的香入睡难?半夜醒?睡眠不好?随着社会竞争愈发激烈,生活节奏不断加快,越来越多的人出现睡不好睡眠时间短甚至整晚无法入睡的问题。2020中国睡眠质量报告显示中国人均睡眠时长为6。82小时集装箱空箱在港口堆积深圳集卡司机没有单,空架子车停满路边经济观察网记者张锐12月5日,中国港口协会(简称中港协)官网发布港口生产运行监测与分析报告称,11月,八大枢纽港集装箱外贸重箱(通常指装了货的箱子)吞吐量同比下降9。7,外贸空箱同12月5日评述看好深圳成指和创业板很少有人对深证成指和创业板指数做分析,也包括我自己,今天简单做篇技术分析供大家参考。11月初开始的行情,深证成指和创业板指数走势明显偏弱,下图中深圳成指和创业板指数日k线都处于区间荣耀将借壳?多家深圳国资系上市公司公开澄清后,股价仍大涨近日,荣耀将借壳上市的消息不断发酵,涉及深振业A(000006。SZ)深城交(301091。SZ)深纺织A(000045。SZ)等多家深圳国资系上市公司。短期内,上述公司股价均出现11月新能源销量国补即将取消,年末却难翘尾?环比下滑者众,年末难再翘尾?11月,与行业预期有所出入。按理说,春节前3个月,都会是销量旺季。但从不少终端销售的反馈,以及陆续公布的车企销量来看,11月的车市不甚理想,新能源同样跌晚间公告全知道温氏股份11月肉猪销售收入环比增8。39福田汽车11月新能源汽车销量2385辆同比增255金融界12月6日消息今日晚间重要公告抢先看正虹科技11月生猪销售收入同比减少41。72科兴制药人干扰素2b喷雾剂I期临床试验完成首例受试者入组格林美GDR存续数量所对应基础股票数量
长盈精密再度加码东莞,成立移动终端设备制造研发全新子公司南方财经全媒体见习记者程浩东莞报道长盈精密再度加码东莞。近日,东莞新美泰精密技术有限公司在东莞松山湖成立。该公司由长盈精密100控股,是长盈精密在东莞布局消费电子零组件工业机器人电北京环球度假区开园一周年九成游客表示还要再来9月20日,北京环球度假区开业一周年欢庆秀在好莱坞景区举行,在北京环球度假区主题曲ThisIsUniversal的伴奏下,14位经典的电影角色与游客团队成员合作伙伴等欢聚一堂,共同外媒芬兰准备限制或完全阻止俄罗斯游客入境法新社9月21日报道称,芬兰政府当天表示,它正在准备一个限制或完全阻止俄罗斯游客入境的全国性解决方案。据报道,芬兰外交部长佩卡哈维斯托在新闻发布会上说这个全国性解决方案可能包括新的中兴Axon30S全面屏手机预热重192克,厚7。8毫米IT之家9月22日消息,今年5月9日,中兴发布了Axon40ProUltra两款全面屏手机。昨日,中兴官宣将于9月26日发布中兴Axon30S全面屏手机。今日,中兴官方带来了该机的宏碁传奇Edge笔记本发布16英寸4KOLED屏,仅重1。17kgIT之家9月22日消息,宏碁现已上架传奇Edge笔记本,搭载16英寸4KOLED屏,R76800U16G512G配置6999元,10月1日开卖。IT之家了解到,宏碁传奇Edge笔记这6款皮肤科药膏,能解决最常见的皮肤问题1阿达帕林凝胶适应类型闭口黑头红肿痘痘痘印痘坑用法用量每天一次,睡前清洁患处并待干燥后使用,涂一薄层于皮肤患处2咪喹莫特乳膏适应类型扁平疣手足疣尖锐湿疣寻常疣丝状疣肉粒用法用量每周王者荣耀9。22更新新赛季开启,9位英雄调整,五款新皮肤上架王者荣耀正式服将在9月22日凌晨开启停机更新,本次更新的主要版本内容有1新赛季开启2王者峡谷调整3英雄装备调整4新英雄海月上线5五款新皮肤上架6大量BUG修复。具体内容如下1新赛季英雄联盟全球总决赛版本更新,毒菇梦魇系列皮肤加入IT之家9月21日消息,英雄联盟将在9月22日凌晨1点开始全区停机维护,发布12。18版本。据介绍,这将是2022全球总决赛版本。跟随上两个版本的节奏,12。18版本将聚焦于削弱那王者荣耀王者之锤限定皮肤将绝版!新增全国大赛限定皮肤王者荣耀8月25日更新的内容有1扁鹊刘邦等5个英雄调整2干将莫邪的专精装表现太强势,被削弱3赏金赛改动王者之锤赏金赛限定皮肤即将绝版4电竞商店更新新增全国大赛限定皮肤。01。hr英王者荣耀9。22更新新赛季开启,六款新皮肤上线,荣耀典藏皮上架王者荣耀正式服将在9月22日凌晨开启大版本更新,本次更新的主要活动有1S29战令奖励上架2新英雄海月上架3六款新皮肤上线4积分夺宝限时折扣5充值活动开启,等等。具体内容如下1S29徐璐的身材太绝了,穿人鱼裙都没勒出赘肉,花瓶腰太惹眼如果要说什么样的礼服裙最值得每个女孩都人手拥有一件,那么必须是徐璐的人鱼裙。在一组礼服裙的写真中,身穿人鱼裙的徐璐,身材曼妙,如此紧身的裙子都没有勒出一丝的赘肉,尤其是和花瓶一般纤