32、用于分类的判别式玻尔兹曼机原本是为二分类设计的,请说明如何将该方法扩展到多分类问题。
在多分类场景下,类标签有 $ k $ 个离散值,可视层包含对应特征和类标签的两种节点,其中对应类标签的有 $ k $ 个二进制单元,且只有一个单元值为 1,对应类标签的独热编码。
判别式变体中,目标函数设置为最大化类变量 $ y \in {1, \ldots, k} $ 的条件概率 $ P(v^{(c)}_y = 1 \mid v^{(f)}) $,通过此条件概率表达式可对多分类问题进行建模。
并且利用可微分的闭式表达式(公式 6.28),对其负对数求导进行随机梯度下降,可计算每个训练点和每个参数,以实现多分类训练。
33、考虑一个回声状态网络,其中隐藏状态被划分为K个组,每组有p/K个单元。特定组的隐藏状态在下一个时间步仅允许在其自身组内建立连接。讨论这种方法与构建K个独立回声状态网络并对这K个网络的预测结果进行平均的集成方法有何关联。
将隐藏状态分组且组内连接的回声状态网络与构建K个独立回声状态网络并平均预测的集成方法有一定相似性。
- 分组网络 中每组可看作相对独立的子网络,如同独立的回声状态网络,它们独立处理部分信息并产生局部结果。
- 对K个独立网络预测平均 是为综合各网络优势、降低方差、提高整体性能;
- 分组网络 通过组内连接和信息处理,最终也可能综合各小组信息得到整体输出,在提高模型性能和稳定性上与集成方法目标一致。
但分组网络是在一个网络内分组,单元间可能存在一定交互;而独立网络完全独立,交互仅体现在最终预测平均上。
34、考虑一个社交网络,其中发送者 - 接收者对之间发送了大量消息,我们只对包含识别关键字(称为主题标签)的消息感兴趣。使用循环神经网络(RNN)创建一个实时模型,该模型能够向每个用户推荐感兴趣的主题标签,以及该用户可能对与该主题标签相关的消息感兴趣的潜在关注者。假设你有足够的计算资源来增量训练一个RNN。
以下是一个可能的实现步骤供参考:
-
数据收集与预处理 :
收集社交网络中的消息数据,提取包含特定主题标签的消息。对消息进行清洗,如去除停用词、特殊字符等,并将文本转换为适合RNN输入的格式,如词向量表示。 -
构建RNN模型 :
选择合适的RNN架构,如LSTM或GRU。定义模型的输入层、隐藏层和输出层。输入层可以接收消息的词向量序列,隐藏层用于学习消息的上下文信息,输出层可以输出预测的主题标签和潜在关注者的概率分布。 -
模型训练 :
使用收集到的数据对RNN模型进行训练。可以采用增量训练的方式,随着新数据的到来不断更新模型参数。在训练过程中,定义合适的损失函数,如交叉熵损失,以衡量模型预测结果与真实标签之间的差异,并使用优化算法(如Adam)来最小化损失函数。 -
主题标签推荐 :
对于每个用户,将其历史消息输入到训练好的RNN模型中,模型输出预测的主题标签概率分布。选择概率较高的主题标签作为推荐结果。 -
潜在关注者推荐 :
根据用户的历史消息和预测的主题标签,在社交网络中查找可能对这些主题标签感兴趣的其他用户,作为潜在关注者推荐给该用户。 -
实时更新 :
随着新消息的不断产生,实时更新模型

最低0.47元/天 解锁文章
9万+

被折叠的 条评论
为什么被折叠?



