美文网首页
分类阶段

分类阶段

作者: 雨宝_f737 | 来源:发表于2019-03-11 17:50 被阅读0次

    1.模型分类:

    单一的浅层模型:lr和fm,需要特征处理

    FM其实是浅层的Wide-deep模型,一阶部分相当于wide部分,二阶部分相当于deep部分

    浅层模型的组合:GBDT,GBDT+LR

    非线性模型(CART/RF(特征随机样本随机)/GBDT)/FM)

    CART/RF(特征随机样本随机)/GBDT不适合处理高维特征例如ID,树的高度很高,而且就是记忆过去的事件。使用GBDT为顺序类特征和类别类特征编码,就变成id类特征,然后用FM为每个特征得到embedding,可以再将embedding进行拼接,拼接的结果放进lr中训练,便得到最终结果。

    GBDT+LR:特征经过每一颗树处理后相当于对特征进行转换形成了新的特征,对每个叶子结点进行编码,比如落到某个叶子结点便是1, 其他叶子结点为0,将这些新的特征放进LR中进行处理。这两个模型是分开训练,首先训练树模型,得到特征后训练lr。当新的样本来时,树的参数和lr模型的参数都进行保存了,这时候来新的特征我们只需要运行这两个模型即可得到分数。优缺点:利用树的特征进行特征转换,不用手动选特征;缺点时两个模型单独训练不是联合训练,没有统一目标函数,可解释性差。

    深度模型需要一个tf server用来rank,浅层模型可以直接将参数load进rank server:DSSM(使用DNN分开获取embedding然后计算cos相似度)/Deep Crossing

    WDL/Youtube DNN:tf.estimator.DNNLinearCombinedClassifier

    本身就是离散特征和连续特征离散化后的离散特征和离散特征的组合放入W,将连续特征放入DNN,对于本身是离散型特征做hash蓝后embedding放入dnn。

    tf.feature_column.numeric_column连续性特征

    tf.feature_column.categorical_column_with_hash_bucket离散性特征

    tf.feature_column.bucketized_column连续性特征离散化

    tf.feature_column.crossed_column交叉特征

    tf.feature_column.embedding_column

    a_out = h(w_wide, w_deep) = sigmoid(w_wide[x, xcross]+w_deep*a_out+b)

    PNN/NFM/AFM/FFM

    Deepfm

    DCN

    2.特征

    特征数目:样本数目=1:100

    用户特征:用户静态特征,年龄/地域/简单的统计特征(浏览的商品数等)

    高维特征,根据用户浏览点击购买历史给用户打标签(品牌)

    商品特征:商品名称/上线日期/统计特征(被购买的次数,点击率)

    高维特征,被哪个年龄段喜欢

    上下文:时间/地理位置等

    用户和Item关系特征:点击购买记录

    预处理:缺省值填充/归一化/离散化

    离散特征就是one-hot

    连续特征要统计一下分布,describe()函数,离散化

    类别特征(id)

    序数特征

    数值特征

    对于高维特征,类别特征等用FM来拟合,对于序数和数值可以先用GBDT来得到叶子节点值

    对于embedding,相关性得分例如cos距离,比较鲁棒,直接用embedding直接输入,强依赖模型。

    相关文章

      网友评论

          本文标题:分类阶段

          本文链接:https://www.haomeiwen.com/subject/ttbvpqtx.html