美文网首页
DeepFM:A Factorization-Machine b

DeepFM:A Factorization-Machine b

作者: 命运交叉的城堡 | 来源:发表于2018-06-02 22:01 被阅读0次

    来源:IJCAI17,DeepFM论文链接

    DeepFM

    由FM component和Deep component组成

    1. FM提取低阶组合特征,Deep提取高阶组合特征。不需要进行预训练以及人工特征工程。
    2. 共享feature embedding。FM和Deep共享输入和feature embedding。不但使得训练更快,而且使得训练更加准确。

    优点:

    1. 不需要预训练FM得到隐向量
    2. 不需要人工特征工程
    3. 能同时学习低阶和高阶的组合特征
    4. FM模块和Deep模块共享feature embedding

    数据

    原始数据 = 种类特征(eg. gender, location) + 连续特征(eg. age) + label

    • 种类特征进行one-hot编码
    • 连续特征可直接使用,或者先进行离散化在进行one-hot编码
    • 特征按照field分组

    综上:原始数据-> (x, label)
    x = [xfield1,xfield2,xfield3,...,xfieldm]

    DeepFM结构图:

    DeepFM

    计算公式:

    $$y = sigmoid(y_{FM} + y_{DNN})$$
    

    其中yFM为FM component的输出,yDNN为DNN component的输出。y∈{0,1} ,为CTR预测概率。

    FM component

    FM component
    $$y_{FM} = \left< x,y \right> + \sum_{i=1}^d\sum_{j=i+1}^d\left< V_{i},V_{j} \right>x_{i}\cdot x_{j}$$
    

    FM component包含了加法单元和内积单元。
    加法单元:提取一阶特征,直接从原始特征提取。
    内积单元:原始特征先进行embedding,然后由embedding后的输出经过内积单元提取二阶组合特征。

    最终维度:field_size + embedding_size
    embedding_size对应的是:!$\sum_{i=1}^d\sum_{j=i+1}^d\left< V_{i},V_{j} \right>x_{i}\cdot x_{j}$

    FM component总结:

    1. 实现了对一阶和二阶组合特征的建模
    2. 没有使用预训练
    3. 没有人工特征工程

    Deep component

    Deep component

    用来提取高阶组合特征。
    原始特征首先经过embedding层降维后,然后经过多个全连接隐藏层输出,即yDNN

    DeepFM:一阶特征(FM)+二阶特征(FM)+高阶特征(DNN)

    在DeepFM之前有其他几个模型:

    FNN与PNN的不足之处:
    仅能提取高阶组合特征,低阶组合特征无法获取。

    Wide&Deep的不足之处:
    在Wide部分还需要进行人工特征工程。

    相关文章

      网友评论

          本文标题:DeepFM:A Factorization-Machine b

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