《Wide & Deep Learning for Recommender Systems》论文笔记

论文笔记

1.wide模型:一种浅层模型,通过大量的单层网络节点实现对训练样本的高度拟合(memorization),但泛化(generalization)能力很差;
deep模型:一种深层模型,通过多层的非线性变化,使模型具有很好的泛化性,但拟合度欠缺。
将两者结合起来,用联合训练方法共享反向传播的损失值来进行训练
2.memorization大致可以定义为学习事物和特征之间的频繁共性,并利用历史数据中的相关项;
ganaralization:基于相关性的传递并探索在历史数据中未出现或很少出现的特征
learn a low-dimensional dense embedding vector for every query and item feature
对每一个查询和事物特征对学习一个低维密度嵌入矩阵
当矩阵是稀疏的、高秩的,例如有特定喜好的用户或具有窄吸引力的小众事物时,很难学习到查询和事物的有效低维表示—>过度泛化(over-generalize),相关性较低的对之间建立联系
通过cross-product特征转换,线性模型可以在很少的参数条件下拟合这些“异常”情况
通过

3.wide component:
y=w*x+b
cross-product transformation
cross-product transformation
捕获特征之间的关系,并向线性泛化模型中增加非线性。
4.deep component:
deep
5.joint learning and emsemble
集成训练中,每个模型彼此不知道对方存在,独立训练,训练时各部分的预测不结合,只在应用时才结合;每个模型的规模都比较大,从而获得合理的准确性
联合训练,通过同时使用所有的参数,将wide和deep部分及其和在训练时都纳入考虑;wide部分只需要通过少量的cross-product 特征转换,补足deep部分的不足即可
从输出向wide和deep模型同时反向传播,通过mini-batch stochastic optimazation(随机化)

训练算法
6.data generation数据生成
训练数据:app acquisiton:installed->1,otherwise 0.
vocabularies:将特征转换为IDs,为发生次数超过最少次数的所有Strign特性计算ID space

7.模型训练
每当有新组训练数据时,都需要重新训练模型
–>warm-starting 系统,初始化一个模型,利用embedddings and the linear model weights from the provious model。
模型应用前,需要a dry run of the model,避免产生问题

8.模型服务
google play apps recommendation
对每一个request,服务器收到一组app候选和用户特征,来给出每一个app的score,排序展示给用户
–>多线程并行,减小并行的batch
用户的选择会log下来,并反馈进模型

tensorflow API

https://github.com/tensorflow/models/tree/master/official/r1/wide_deep

1.添加python模型搜索路径
修改py文件中源代码,添加
import sys
sys.path.append(‘F:\models-master’)

参考:https://blog.csdn.net/zongza/article/details/84754958
https://my.oschina.net/u/3946357/blog/3078897/print

2.ImportRequestsError: No module named ‘requests’
打开anaconda prompt 输入activate tensorflow再输入pip install requests即可

3.export_dir
输入python census_main.py --export_dir wide_deep_saved_model即可
参考 https://blog.csdn.net/yunqiinsight/article/details/84999020
4.saved_model_cli run输入saved_model_cli run --dir wide_deep_saved_model/1567765331/ --tag_set serve --signature_def=“predict” --input_examples='examples=[{“age”:[46.], “education_num”:[10.], “capital_gain”:[7688.], “capital_loss”:[0.], “hours_per_week”:[38.]}, {“age”:[24.], “education_num”:[13.], “capital_gain”:[0.], “capital_loss”:[0.], “hours_per_week”:[50.]}]'报错,报错

尚未解决

5.python census_test.py报错
尚未解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值