
# 一、任务说明

本竞赛围绕电商场景下的商品多类别分类展开。在典型电商或零售业务中，平台需要处理数百万件商品，合理的商品类别标注有助于实现高质量的搜索与推荐。本题要求参赛者构建一个机器学习模型，综合利用商品的图像信息和简短文本描述，预测其所属类别。


标签为 21 个商品类别，已被整数编码为 0–20。

---

# 二、参赛资格

本竞赛为《2025 研究生机器学习》课程大作业的一部分，仅面向本课程已选课学生及教学团队指定的参与者，不对外公开。

- 每位同学仅允许使用 **一个 Kaggle 账号** 参赛，不得代他人提交或使用多个账号刷榜。

---

# 三、数据集与使用规范

## 3.1 数据文件

根据 PPT 中的说明，本题提供以下文件与资源：

### 1. `train.csv`：训练集

- 包含每个商品的图像信息（如图像 id）及类别标签；
- 商品类别共 21 类，已编码为整数 0–20。

### 2. `train_images/`：训练集图像文件夹

- 存放训练集中所有商品图片；
- 每张图片的文件名即为对应商品的图像 id（可与 `train.csv` 中的字段匹配）。

### 3. `test.csv`：测试集

- 包含测试集中每个商品的图像信息及简要文本描述，不含类别标签；
- 测试集类别分布与训练集保持一致（覆盖同样的 21 类）。

### 4. `test_images/`：测试集图像文件夹

- 存放测试集中所有商品图片，文件名同样为图像 id。

### 5. `sample_submission.csv` / `submission.csv`：示例提交文件

至少包含两列：

```csv
id,categories
B00004TZR1,0
```

其中：

- `id`：商品的唯一标识（例如图像 id）；
- `categories`：模型预测的商品类别，取值须为整数 0–20 之一。

## 3.2 外部数据与预训练模型使用

- 允许使用公开的、与本题数据无直接标签泄露关系的外部资源（如 ImageNet 预训练视觉模型、通用预训练文本模型等），以提升特征表达能力。
- 严禁使用含有本题相同图像及其真实类别标签的外部数据集进行“查表式”训练或匹配。
- 不允许通过人工标注的方式为测试集补充标签或构造“伪标签”后再参与评测。
- 如使用外部数据或预训练模型，需在课程的实验报告中详细说明其来源、处理方式及对模型的影响。

---

# 四、提交格式与次数

提交文件须命名为 `submission.csv`，并满足以下要求：

- 必须包含 `id` 列，与 `test.csv` 中的商品 id 一一对应；
- 必须包含 `categories` 列，为预测的类别标签；
- `categories` 的取值必须是整数编码 0–20 中的一个值。

每日提交次数上限以及总提交次数限制，以 Kaggle 竞赛页面设置为准；超过限制的提交将不会被计入排行榜。

请务必在课程规定的最终截止时间前完成提交。截止时间之后的新提交将不计入课程成绩（具体时间以教学团队公告为准）。

---

# 五、评测与排行榜

## 5.1 官方评测指标：分类准确率（Accuracy）

本竞赛采用 **分类准确率（Accuracy）** 作为唯一官方评测指标。

设测试集中共有 \(N\) 个商品样本，第 \(i\) 个样本的真实类别为 \(y_i\)，参赛者提交的预测类别为 \(\hat{y}_i\)，则准确率定义为：

\[
\text{Accuracy} = \frac{1}{N} \sum_{i=1}^{N} \mathbf{1}(\hat{y}_i = y_i)
\]

其中 \(\mathbf{1}(\cdot)\) 为指示函数，当预测与真实类别一致时取值为 1，否则为 0。

直观上，Accuracy 越高，说明分类正确的样本比例越大，模型性能越好。

## 5.2 排行榜说明

- Kaggle 会基于隐藏测试集标签计算每次提交的 Accuracy，并据此生成排行榜。
- 课程成绩与排行榜之间的具体映射关系（如占比、折算方式等），以教学团队后续公布为准。

---

# 六、团队与合作规则

本竞赛默认团队参赛，每个团队仅允许一个账号参加竞赛：

- 禁止不同团队之间共享完整代码、模型权重或提交文件。
- 鼓励同学之间进行高层次的学术交流，例如：
  - 讨论特征工程思路（如如何融合图像与文本特征）；
  - 讨论模型选择、验证策略、调参方法等。

严禁以下行为：

- 直接复制他人训练脚本、完整 Notebook 或提交文件；
- 代为训练模型、代为生成结果、代为在 Kaggle 上提交；
- 未经明确允许，将不同同学/团队的预测结果简单融合后作为单独参赛结果提交。

如发现不同提交之间代码或结果存在异常高度相似，经核实属于抄袭或不当合作，将按学术诚信规定严肃处理。

---

# 七、代码与复现要求

参赛者需妥善保存完整的实验代码、环境配置说明（如依赖库版本）、关键超参数设置及训练脚本。

对于用来生成最终成绩的模型，应在课程要求的实验报告中说明：

- 输入特征设计（是否使用图像、文本及其融合方式）；
- 模型结构（如 CNN、ResNet、ViT、文本编码器、融合模块等）；
- 执行流程（损失函数、优化器、学习率、训练轮数、数据增强策略等）；
- 外部数据或预训练模型的使用情况（如有）。

教学团队有权对部分参赛者进行抽查，要求在指定环境中复现接近的成绩；若无法复现或差异异常，主办方可对相关成绩进行调整或作废。

---

# 八、学术诚信与违规处理

所有参赛者必须严格遵守学校及学院的学术诚信相关规定。

严禁的违规行为包括但不限于：

- 抄袭他人代码、提交文件或实验结果；
- 使用多个账号刷榜、代他人提交或委托他人参赛；
- 非法获取、猜测或利用测试集真实标签；
- 捏造数据、篡改评测流程或任何试图操纵排行榜的行为。

一经发现严重违规行为，主办方有权：

- 取消违规学生/团队在本竞赛中的全部成绩；
- 将情况上报学院，按学校相关规定予以处理。

---

# 九、其他

本规则未尽事宜，由课程教学团队与竞赛主办方负责解释与补充。

如竞赛期间规则有修订或补充，以课程平台和 Kaggle 竞赛页面上的最新公告为准。
