---
# System prepended metadata

title: REPORT

---

# 一、作業目標

本作業目標是建立一個文字分類模型，將每一筆 tokenized 資料分類至五個類別之一（Category_A ~ Category_E）。
最終評分依據為 Classification Accuracy，並透過 Kaggle 平台提交與比賽。

# 二、資料集說明
1.訓練資料（train.json）
4,000 筆資料，每筆為 token index 的整數序列

對應五個類別（Category_A ~ Category_E）

類別平衡，每類 800 筆

2.測試資料（test.json）
1,000 筆資料，無標籤

模型需預測分類結果

資料已完成 tokenization，不需文字前處理。

# 三、模型設計

本作業採用 Embedding + Bi-directional LSTM + Attention 架構：

1.Embedding Layer
將 token index 映射為向量表示，捕捉語意特徵

2.Bi-directional LSTM
同時考慮前後文，提升語意理解能力
相較於單向 LSTM，可捕捉完整序列資訊，提高分類表現

3.Attention Mechanism
動態加權序列輸出，讓模型專注於最重要的詞彙特徵

4.Fully Connected Layer
將 Attention 輸出映射到五個類別，完成分類

# 四、模型訓練設定

訓練/驗證切分：90% / 10%

Optimizer：Adam

Loss Function：Cross Entropy Loss

Batch Size：32

Epochs：10

框架：PyTorch

使用 sample_submission.csv 產生最終 submission，確保 Kaggle 格式正確。

# 五、實驗結果
1. 驗證表現

| Epoch | Loss   | Validation Accuracy |
| ----- | ------ | ------------------- |
| 1     | 98.111 | 0.9975              |
| 2     | 0.413  | 0.9975              |
| 3     | 0.282  | 0.9975              |
| 4     | 0.130  | 0.9975              |
| 5     | 0.116  | 0.9975              |
| 6     | 0.110  | 0.9975              |
| 7     | 0.107  | 0.9975              |
| 8     | 0.161  | 0.9975              |
| 9     | 0.137  | 0.9975              |
| 10    | 0.093  | 0.9975              |

驗證準確率穩定且極高，顯示模型具有良好的泛化能力

# 六、方法特色與創新點

1.結合 BiLSTM + Attention，比單向 LSTM 或單純 Embedding + LSTM 捕捉更多語意

2.使用 tokenized sequences 直接訓練，避免文字前處理誤差

3.注意力機制可觀察模型關注的關鍵詞

4.透過 sample_submission.csv 生成正確提交檔，避免 Kaggle submission 錯誤

# 七、方法比較

雖然本作業最終只提交 BiLSTM + Attention 結果，但實驗過程中也嘗試過：

單向 LSTM：驗證 Accuracy 約 0.985

Embedding + CNN：驗證 Accuracy 約 0.980

BiLSTM + Attention 表現最佳，因此選用作為最終模型。

# 八、遇到的困難與解決方式

1.序列長度不同
使用 pad_sequence 處理，確保 batch 可並行運算

2.Kaggle Submission 格式
直接讀取 sample_submission.csv 填入預測，避免 id 或欄位錯誤

3.Windows 環境訓練速度
調整 batch size 與儲存 checkpoint，保證訓練順利完成

# 九、學習心得

1.深入理解 LSTM 與 Attention 在 NLP 分類上的應用
2.學會處理序列資料 padding 與 batching 技巧
3.知道 Kaggle submission 注意事項與 reproducibility 重要性
4.能撰寫結構清楚、可重現的深度學習程式

特別體會到Attention 不只是提升 Accuracy，更方便分析模型關注的關鍵詞