2019-11-24
传统的机器学习方法
- 落地难,发文章可以,试验数据集干净,效果也不错。
- 生产中,实际数据五花八门,模型泛化能力不足,准确率不能得到保证。
深度学习的应用模型:
- 判别模型:照片,视频,音频,深度学习技术比传统方法提高30-50%。
NLP, - 生成模型:无中生有,图片生成,GAN网络,最热的子方向,看好的方向,取代人的创造。
CRT 的定义
CTR:给定用户,给定场景,指定产品,预估用户的行为。
数据的类别
- ID类数数据,使用的方法是用一个向量One-Hot,向量只有一分量为1,其它均为0。
- 数据值类数据,可归一化后使用。如电影的打分。
- 时间类数据。
CRT任务的特点
- 大量离散特征,与连续性特征不同。
- 大量高维稀疏特征,如USER ID。
- 特征工程:特征组合对效果非常关键。找新特征,找有效组合特征。
CTR预估的传统方法:
Linear,或 LR ,
输出值,实数域;LR,压缩到0到1之间。
特点是简单,可解释,易扩展(另一个特征容易),效率高,易并行。但是难以捕获特征组合:只是简单相加单个特征。加入特征组合:两两组合后,泛化能力弱。也可学习一个低维向量组合。
FM因子分解机
对每一个特征,学习到一个向量来表示,再把两个特征得到向量组合相乘起来,这就是因子分解机的意思。
GBDT树模型
推导出来表明你深入理解。
回归树,走完树后,得到一个分值。
有多棵特征树,每走一个树,得到一个分值,最后再加起来。
很直观地找到GBDT的组合特征。
LR+GBDT模型,由2014年Facebook提出。
FM+GBDT模型,由2014年Baidu提出。
深度学习基础
- MLP 前向神经网络,连接关系,全连接;隐层节点,权值乘再累加和,套上一个激活函数,非线性变换,找一个合适激活函数,ReLU,将负值置为零,反向传播更容易
- CNN 卷积神经网络,卷积层+下采样层+全连接;一个卷积核在捕获一个特征,MaxPooling 就是下采样,数据量减少,简单模型不容易过拟合;边缘线、纹理、模式、部件逐层地抽象
- RNN 序列型,隐层之间有传递,上一次隐层输出做为下一次隐层的输入之一,上下文引入。LSTM 模型是 RNN 改进。
CTR 模型的问题:
- 离散特征的表示问题?
- 大量高维稀疏特征的处理?
- 如何手动到自动的特征筛选?
- 如何捕获表达的两两组合(多组组合)特征?
连续特征,身高,年龄,适合 DNN,可以插入到 Dense 层后面。
离散特征,职业,学校,不适合 DNN。使用 One-hot 特征,全连接会造成输入层参数太多,训练不可行,改成 Dense Vector,输入只和部分 Dense 层的结点连接。
把两两组合的低阶特征单独剥离出来,但是端到端的呀?
可以并行放入到网络里面,到输出层在合起来。
可以串行在 Dense 层后面。
抽象到高层比较容易做创新。注意力模型,其实就是哪些值有效。
Dense 层的预训练,先学到一些权重值。
结构:平行结构和菱形结构比较好,和数据集有关。
层深:CTR 两三层。
embeding 其是做向量表示吗?
谷歌的启示,其实在GAN中,上线后的数据,其实是可以被用户标记的,其实就是交互的特征。其实,数据的表示可能还要研究者研究,也许是NN自己学习到的。特征是手工筛选的,还是NN学习到的?
诸多兴趣中的一个,等价于局部的激活。等价的原则是解题的基本原则。













网友评论