词嵌入技术:从基础到动态应用
1. 垃圾邮件分类器中的词嵌入模型
1.1 模型构建与编译
在垃圾邮件分类任务中,我们首先构建并编译模型。模型构建时,需要指定一些关键参数,如词汇表大小、嵌入维度、最大序列长度等。构建完成后,使用分类交叉熵损失函数和 Adam 优化器进行编译:
model.build(input_shape=(None, max_seqlen))
# compile
model.compile(optimizer="adam", loss="categorical_crossentropy",
metrics=["accuracy"])
1.2 训练与评估
由于数据集存在不平衡问题(4827 条正常邮件和 747 条垃圾邮件),为了缓解这个问题,我们设置了类别权重,将垃圾邮件错误的代价设为正常邮件错误代价的 8 倍。训练模型时,将类别权重作为额外参数传入 model.fit() 函数:
NUM_EPOCHS = 3
CLASS_WEIGHTS = { 0: 1, 1: 8 }
# train model
model.fit(train_dataset, epochs=NUM_EPOCHS,
validation_data=val_dataset,
class_weight=CLASS_WEIGHTS)
评估模型时,我们遍历测试数据集,记录真实标签和预测标签,然后计算测试准确率和混
超级会员免费看
订阅专栏 解锁全文
4320

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



