You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Keras手写数字分类任务中,model.fit()里y_train的作用是什么?

MNIST分类任务中model.fit()里y_train的作用

问题背景

我正在处理手写数字数据集,数据加载方式如下:

(X_train, y_train), (X_test, y_test) = keras.datasets.mnist.load_data()

用于数字分类的神经网络代码如下:

model = keras.Sequential([
    keras.layers.Dense(10, input_shape=(784,), activation='sigmoid')
])

model.compile(
    optimizer='adam', 
    loss = 'sparse_categorical_crossentropy',
    metrics = ['accuracy']
)
model.fit(X_train_flattened, y_train, epochs=5)

我的问题是:**在model.fit()中,y_train的作用是什么?**这是一个分类任务,我认为网络训练只需要输入X_train_flattened即可。

解答

你的这个理解有误,这个场景下的神经网络训练属于监督学习,没有y_train(真实标签)的话,模型根本无法完成有效训练。

具体到这个MNIST任务:

  • X_train_flattened是输入的手写图像特征(扁平化后的784维像素值),模型会基于这些特征输出10维的预测结果(对应0-9每个数字的概率)。
  • y_train是每一张训练图像对应的真实数字标签(比如某张图是数字"3",对应的标签就是3)。

训练过程中,模型会把自己的预测结果和y_train里的真实标签做对比,通过你设置的sparse_categorical_crossentropy损失函数计算两者的差异,再借助adam优化器根据这个差异反向调整网络中的权重参数,让模型后续的预测结果越来越接近真实标签。

说白了,y_train就是模型训练时的"参考答案"——没有它,模型就是在无目标地瞎猜,根本学不到区分不同手写数字的规律。

内容的提问来源于stack exchange,提问作者levi mungai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 16:07:15