训练 LSTM 分类器
在序列上拟合门控模型
训练 LSTM 分类器 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。
从理论到实践
现在开始构建模型。您将连接一个LSTM 分类器,让它读取词语序列并预测单个标签。🛠️
文本变成整数
首先,每个词都会映射为一个整数 ID,这样句子就会变成由数字组成的列表,模型可以对其进行分词和处理。
ids = [vocab[w] for w in tokens]填充到相同长度
LSTM 需要长度统一的批次,因此您需要用 0填充较短的序列,并将较长的序列截断到固定长度。
X = pad_sequences(ids, maxlen=200)嵌入层
嵌入层会将每个整数 ID 转换为可学习的稠密向量,让 LSTM 获得丰富的词语含义,而不是只能处理原始数字。
Embedding(input_dim=10000, output_dim=128)添加 LSTM 层
接下来是 LSTM 层。它会逐步读取嵌入后的序列,并输出整段文本的摘要。
model.add(LSTM(64))输出层
最后的全连接层配合 sigmoid,将 LSTM 的摘要映射为一个概率,非常适合进行二分类,例如判断正面或负面。
model.add(Dense(1, activation='sigmoid'))编译模型
您需要使用损失函数和优化器来 compile。对于二分类文本,二元交叉熵和 Adam 是可靠的起始组合。
model.compile(loss='binary_crossentropy', optimizer='adam')在您的数据上训练
调用 fit 会运行训练:模型读取批次,将预测结果与标签进行比较,并调整权重以减少损失。
model.fit(X_train, y_train, epochs=3, batch_size=32)警惕过拟合
如果训练准确率不断上升,而验证准确率下降,那么您就出现了过拟合。加入 dropout 或提前停止训练即可修复。
model.add(LSTM(64, dropout=0.2))评估并进行预测
训练完成后,使用 evaluate 在留出的数据上评估模型,然后调用 predict 为全新的文本添加标签。
model.evaluate(X_test, y_test)完整流程
因此,完整的流程就是:分词、填充、嵌入、运行 LSTM,然后进行分类。每个环节都会顺畅地将结果传给下一个环节。
快速检查
回忆一下您刚刚构建的模型结构。
回顾
您构建了一个LSTM 分类器:进行分词、填充、嵌入、运行 LSTM,并输出标签。加入 dropout 以防止过拟合。✅
用 AI 导师学习 Python — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「训练 LSTM 分类器」课时是免费的吗?
是的 — 「训练 LSTM 分类器」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。
「训练 LSTM 分类器」这节课中我会学到什么?
在序列上拟合门控模型 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 NLP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「训练 LSTM 分类器」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 NLP Academy 课中编写并运行代码吗?
能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 控制记忆的门
- GRU:更精简的替代方案
- 训练 LSTM 分类器
- 双向层与堆叠层