模型设计介绍

    根据第一章中对建模思路的分析,神经网络模型的设计包含如下步骤:

    • 分别将用户、电影的多个特征数据转换成特征向量。
    • 对这些特征向量,使用全连接层或者卷积层进一步提取特征。
    • 将用户、电影多个数据的特征向量融合成一个向量表示,方便进行相似度计算。

    依据这个思路,我们设计一个简单的电影推荐神经网络模型:

    图1:网络结构的设计

    该网络结构包含如下内容:

      • 用户特征包含四个属性信息,分别是用户ID、性别、职业和年龄。
      • 电影特征包含三个属性信息,分别是电影ID、电影类型和电影名称。
    • 提取用户特征。使用Embedding层将用户ID映射为向量表示,输入全连接层,并对其他三个属性也做类似的处理。然后将四个属性的特征分别全连接并相加。

    • 得到用户和电影的向量表示后,计算二者的余弦相似度。最后,用该相似度和用户真实评分的均方差作为该回归模型的损失函数。

    • 如何将“数字”转变成“向量”?

    如NLP章节的介绍,使用词嵌入(Embedding)的方式可将数字转变成向量。

    • 如何合并多个向量的信息?例如:如何将用户四个特征(ID、性别、年龄、职业)的向量合并成一个向量?

    最简单的方式是先将不同特征向量(ID 32维、性别 16维、年龄 16维、职业 16维)通过4个全连接层映射到4个等长的向量(200维度),再将4个等长的向量按位相加即可得到1个包含全部信息的向量。

    电影类型的特征是多个数字转变成的多个向量(6个),也可以通过该方式合并成1个向量。

    • 如何处理文本信息?

    如NLP章节的介绍,使用卷积神经网络(CNN)和长短记忆神经网络(LSTM)处理文本信息会有较好的效果。因为电影标题是相对简单的短文本,所以我们使用卷积网络结构来处理电影标题。

    第一章的设计思想结合上面几个细节方案,即可得出上图展示的网络结构。