MOAI 2026 第二套模擬考古題

你好!我是 MOAI 2026 競賽委員會專家。根據 IOAI 2025/2026 Syllabus 中關於「卷積神經網絡 (CNN)」、「機器學習評估指標 (Evaluation of ML Models)」的要求,以及 MOAI/IOAI 的「嚴格白名單 (Whitelist)」與「無網際網路 (Offline)」競賽環境規範,我為你精心設計了以下這套模擬考古題。

為了達到最佳的測驗效果,本試卷的「標準答案與詳解」目前已鎖定在後台隱藏。請你先嘗試作答,當你完成答題,或者需要幫助時輸入「請提供詳解」,我便會為你批改並解鎖答案!


一頁看懂

區塊內容
理論題CNN 參數、維度、F1-score、ROC-AUC、感受野
編程題AQI 多分類任務
主要工具scikit-learnpandasnumpypytorch
評分重點理論計算正確、Pipeline 正確、避免 Data Leakage
常見失分類別編碼錯誤、異常值沒處理、只寫模型沒寫流程

第一部分:理論與計算題 (佔總分 25%)

本部分測試你對深度學習底層運算與機器學習評估指標的數學理解。

題號考點領域題目描述 (Question)
Q1CNN 參數計算假設輸入一張影像大小為 32×32×3 (RGB 三通道),經過一個卷積層 (Conv2D),設定 kernel_size=3x3,filters=16,並且包含偏差值 (bias)。請問該卷積層共有多少個可訓練參數 (Trainable Parameters)?
Q2CNN 維度計算承上題,若該卷積層設定 stride=1, padding=1,接著再通過一個最大池化層 (MaxPool2D),設定 pool_size=2x2, stride=2。請問經過這兩層計算後,輸出的特徵圖維度 (Output Shape: Height × Width × Channels) 為何?
Q3F1-score 計算在一個罕見疾病預測任務中,模型的測試結果如下:True Positive (TP) = 40,False Positive (FP) = 10,False Negative (FN) = 10,True Negative (TN) = 940。請寫出計算公式,並算出該模型的 Precision, Recall, 以及 F1-score
Q4ROC-AUC 概念請問 ROC 曲線的 X 軸與 Y 軸分別代表什麼評估指標?若一個模型完全無法區分正負樣本(等同隨機瞎猜),其 AUC 值約為多少?
Q5CNN 感受野在不使用 Pooling 的情況下,若連續堆疊兩層 kernel_size=3x3, stride=1, padding=0 的卷積層,請問第二層輸出的一個像素,對應回原始輸入影像的感受野 (Receptive Field) 大小為何?

理論題作答提示

題型先想什麼短例子
CNN 參數kernel_h × kernel_w × in_channels × filters + bias3×3×3×16 + 16
CNN 維度先算卷積,再算池化32 → 32 → 16
F1-score先算 Precision 和 RecallF1 = 2PR / (P + R)
ROC-AUCX 軸是 FPR,Y 軸是 TPR隨機模型 AUC 約 0.5
感受野一層 3x3 再接一層 3x3感受野會變成 5x5

第二部分:編程實戰題 (佔總分 75%)

項目任務要求與描述
任務背景預測澳門空氣質量等級 (Macau AQI Classification)。澳門環保局收集了過去數年的氣象與交通傳感器數據。由於感測器偶有故障,數據中存在缺失值與異常值。你的任務是訓練一個監督式學習分類器,根據當日的氣象與交通特徵,預測當日的空氣質量等級 (AQI Level)。
數據集描述 (Data Schema)訓練集 train.csv 包含以下欄位:date(日期字串 "YYYY-MM-DD")、temp(平均氣溫 °C,含少量 NaN 缺失值)、humidity(相對濕度 %)、wind_speed(風速 km/h)、pm25_sensor(PM2.5 傳感器數值,包含極端異常值)、traffic_volume(交通流量估算,整數)、district(測站所在區域,類別變數,如 'Macau_Peninsula', 'Taipa', 'Coloane')、aqi_level目標變數:0=優、1=良、2=輕度污染、3=重度污染)
評分標準Weighted F1-score。由於重度污染 (3) 的日子極少(嚴重 Class Imbalance),大會採用加權 F1-score 以公平評估各類別的預測表現。
限制條件1. 白名單限制:無網際網路,僅能使用 scikit-learn, pytorch, pandas, numpy。2. 不洩漏數據:必須使用正確的 Pipeline 架構,避免 Data Leakage。3. 交付格式:需輸出 submission.csv,包含 date 與預測的 aqi_level
實戰要求請用文字簡述解題策略與程式碼架構,包含:1. 如何處理 temp 的缺失值以及 pm25_sensor 的異常值?2. 針對 district 字串類別變數,你會呼叫哪一個 scikit-learn 函數?3. 針對 Class Imbalance,你在模型訓練時會加入什麼參數或策略?

編程題解題架構

步驟要做什麼短例子
1讀入資料、看缺失值df.isna().sum()
2處理 temp 缺失值SimpleImputer(strategy='median')
3處理 pm25_sensor 異常值clipping 或 IQR 過濾
4編碼 districtOneHotEncoder(handle_unknown='ignore')
5建立完整 PipelineColumnTransformer + model
6處理不平衡class_weight='balanced'
7驗證與輸出Weighted F1 + submission.csv

短範例

categorical_features = ["district"]
encoder = OneHotEncoder(handle_unknown="ignore")
model = RandomForestClassifier(class_weight="balanced", random_state=42)

🚀 挑戰開始!

請根據上述題目給出你的理論題計算過程,以及編程題的解題思路架構。如果你在計算時卡住,或是想直接看標準解答與教學,請隨時回覆「請提供詳解」!


🎬 配套影片資源

完成考題後,建議觀看以下影片對照學習:

影片說明
▶️ MOAI 第二套金獎解答影片本套題金獎解答:CNN 維度計算標準答案、澳門 AQI 編程實戰完整 Pipeline
Built with LogoFlowershow