{
  "s1": {
    "5": "## 題目核心\n企業用 TF-IDF（Term Frequency–Inverse Document Frequency）分析顧客意見，但在「篇幅較長的回饋文本」中關鍵詞重要性反映失準 → 真正考點是「TF 計算公式裡『詞頻』本身對長文本的失真效應」。\n\n## 為什麼答案是 (A) 長文本中的詞頻偏高，導致常見詞權重被過度放大\n教材定義 TF(t, d) = 該詞 t 在文件 d 中出現次數 / 文件 d 中總詞彙數。長文本因為總篇幅大，常見字（甚至是停用詞之外的口語、轉折詞）原始出現次數會跟著放大，雖然分母也放大，但分母只是平均化、無法抵消「長文本天生詞頻基數高」的偏差。結果是常見但無語意價值的詞被當成「重要詞」，真正的關鍵詞反而被稀釋。\n\n## 為什麼其他選項錯\n- **(B) 缺乏句子邊界造成 TF-IDF 無法計算詞頻** ── TF-IDF 是文件層級的詞頻統計，根本不需要句子邊界，分詞完就能算，這個敘述違反 TF 的定義。\n- **(C) TF-IDF 無法同時處理多份文件** ── 完全相反，IDF 公式 log(|D| / |{d ∈ D : t ∈ d}|) 本身就是針對整個文件集合 D 計算，本來就是多文件設計。\n- **(D) 長文本改變 IDF 使所有詞權重趨於相近** ── IDF 衡量的是「該詞在多少篇文件中出現」，跟單篇文件長度無關。長文本只影響 TF 不影響 IDF。\n\n## 📖 章節來源\n**L21101 自然語言處理 3.1 章** — chunks line 314-382（tf-idf 公式定義、優缺點、範例）\n\n## 融會貫通\n陷阱在 (D) 提到了 IDF 聽起來很專業。鑒別點：要把 TF 跟 IDF 拆開看 ── TF 是「單篇文件內」的相對頻率，IDF 是「跨文件」的稀有度。題目情境是「單篇長文本內部」失真，這只可能是 TF 端的問題（分子原始計數膨脹），不可能影響跨文件的 IDF。教材限制段也明確指出「TF-IDF 對於語境變化敏感性差」，長文本就是一種變化情境。",
    "50": "## 題目核心\n多模態生成系統能對齊主題與場景（夕陽海邊模特兒），但細節（品牌標誌顏色、手部姿勢）出錯 → 真正考點是「跨模態語意對齊在細粒度視覺屬性上的失準根源」。\n\n## 為什麼答案是 (C) CLIP 模型中的文字編碼器與影像編碼器在語意嵌入空間未充分對齊，導致跨模態理解偏差\n教材說明 CLIP 透過對比學習，把圖片編碼器（Vision Transformer 或 ResNet）與文字編碼器（Transformer）映射到同一向量空間，「語意相符的圖文對在空間中距離接近」。當這個對齊在訓練時主要學到「整體場景」而對「特定品牌色」「手部結構」這類細粒度屬性對齊不夠精準，下游生成模型（如 Stable Diffusion 用 CLIP text embedding 當條件）就會在主題正確、但細節屬性偏差 ── 完全符合題目描述的「主題對、細節錯」現象。\n\n## 為什麼其他選項錯\n- **(A) 擴散模型去雜訊出現隨機梯度漂移** ── 教材描述擴散模型「通過逐步去噪過程從隨機噪聲生成」是穩定的訓練機制，「隨機梯度漂移」是杜撰術語，且若是去噪過程出錯應該是整張圖崩壞，不會精準對齊主題卻只錯細節。\n- **(B) 提示語過長造成位置編碼超限** ── 題目提示語只有一句話，遠未超出 CLIP 文字編碼器的 77 token 上限，不符合情境。\n- **(D) 未採用對比學習無法建立多模態關聯** ── 教材明確指出 CLIP 本身就是用對比學習（Contrastive Learning）訓練的，這是 CLIP 的核心設計，敘述與題目「採用 CLIP 架構」的前提自相矛盾。\n\n## 📖 章節來源\n**L21104 多模態人工智慧應用** — chunks line 33（CLIP 對比學習對齊）、line 55-59（CLIP 雙編碼器架構與對比損失）、line 109-111（擴散模型 + CLIP 跨模態對齊）\n\n## 融會貫通\n陷阱：(D) 提了「對比學習」聽起來很對症下藥，但讀清楚 ── (D) 是說「未採用」對比學習，而 CLIP 本來就是對比學習的代表。鑒別點是「對齊『程度』vs.『機制存在與否』」── 不是沒對齊機制（D 錯），是對齊得不夠精細（C 對）。題目「主題正確、細節錯」是典型的嵌入空間粗粒度對齊問題。",
    "10": "## 題目核心\n要找一個指標能「同時兼顧精確率（Precision）和召回率（Recall）」做綜合評估 → 真正考點是「分類任務裡 P 和 R 的調和平均代表是誰」。\n\n## 為什麼答案是 (D) F1 分數（F1 Score）\nF1 分數的定義就是精確率與召回率的調和平均（harmonic mean），公式上唯有 P 和 R 都高時 F1 才會高，任一邊低 F1 就會被拉下來。這正是「綜合評估 P 和 R」的標準指標。教材在 L21302 應用層級指標列舉中明確提及「分類 F1-Score」作為兼顧 P/R 的核心評估項。\n\n## 為什麼其他選項錯\n- **(A) 準確率（Accuracy）** ── 是「預測正確樣本佔總樣本的比例」，不分別衡量 P 與 R，在類別不平衡時（例如 99% 負樣本）會嚴重失真，不能反映 P/R 的綜合。\n- **(B) 均方根誤差（RMSE）** ── 是迴歸任務的誤差指標（預測值與真實值的平方差開根號），用在連續數值預測，跟分類的 P/R 完全不同領域。\n- **(C) 均方誤差（MSE）** ── 同樣是迴歸任務指標（預測誤差的平方平均），不適用於分類任務的 P/R 綜合評估。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 6 章成效指標** — chunks line 217-219（應用層級指標含分類 F1-Score）；L21102 line 211-215（準確率與混淆矩陣）\n\n## 融會貫通\n陷阱：(B)(C) 都是「均方」「誤差」聽起來很統計很專業，但凡看到「均方」就要警鈴 ── 那是迴歸（預測連續值）的領地，跟分類無關。鑒別點：分類任務的標配三件套是「Accuracy / Precision / Recall / F1」，迴歸任務才用「MSE / RMSE / MAE」。題目明說「精確率」「召回率」就已經鎖死分類賽道，自動排除 B、C；剩下 A 跟 D 之間，A 不能反映 P/R 個別差異，所以 D 是唯一兼顧 P/R 的指標。",
    "15": "## 題目核心\n問 MLOps 流程中 Model Registry 最常用於哪個階段 → 真正考點是「Model Registry 的定義 = 集中化的模型版本控管中心」，而不是訓練、特徵、監控階段。\n\n## 為什麼答案是 (C) 用於集中管理模型版本、訓練紀錄與部署狀態\n教材描述 MLOps 的「模型版本控管（Model Versioning）」段落明確指出：「透過如 MLflow、DVC 等工具，追蹤每次訓練的參數、資料版本與模型成果，建立可重現性」── 這就是 Model Registry 的職能：集中保存所有模型版本、訓練 metadata（超參數、資料快照、metrics）、以及目前部署到 staging/production 的狀態。它是模型生命週期的「中央目錄」，介於訓練完成與部署之間。\n\n## 為什麼其他選項錯\n- **(A) 設定運算資源與執行環境** ── 這是容器化與編排（Docker / Kubernetes）或基礎設施配置的職責，跟 Registry 無關。\n- **(B) 建立可重複使用的資料與特徵版本** ── 這是 Feature Store（特徵儲存庫）或 DVC（Data Version Control）的職責，特徵版控不等於模型版控。\n- **(D) 追蹤模型上線後表現與漂移情況** ── 這是 Model Monitoring（模型監控）與 Observability 的職責，對應教材監控段落的「模型漂移 Model Drift」「資料漂移 Data Drift」，是 Registry 下游的另一個元件。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5 章 MLOps** — chunks line 173-179（模型版本控管 MLflow / DVC），line 181-191（模型監控與回饋）\n\n## 融會貫通\n陷阱：(D) 「追蹤模型上線表現」聽起來很 MLOps 核心，跟 Registry 容易混淆。鑒別點 ── MLOps 是個流程，由不同元件分工：Feature Store 管特徵（對應 B）、Model Registry 管模型版本（對應 C）、Monitoring 管線上漂移（對應 D）、Orchestrator 管環境資源（對應 A）。Registry 的關鍵字是「版本」「紀錄」「部署狀態」三件事的集中目錄，不是監控線上行為。",
    "16": "## 題目核心\n問哪個情境最適合 Seq2Seq（序列到序列）模型 → 真正考點是「Seq2Seq 的本質 = 輸入一段語言序列、輸出另一段語言序列的 Encoder-Decoder 架構」。\n\n## 為什麼答案是 (D) 將輸入文字轉換成語意等價的另一段文字，如自動翻譯或摘要生成\n教材定義「Encoder-Decoder 架構：廣泛應用於序列轉換（Sequence-to-Sequence, Seq2Seq）中的深度學習架構，Encoder 負責將輸入序列轉換為抽象的語意向量，Decoder 接收 Encoder 輸出後逐步產生目標語言或文字。此架構適合應用於機器翻譯、摘要生成、文字改寫等任務，因為這些任務通常涉及『輸入一段語言，輸出另一段語言』的結構」── 完全對應選項 D 的描述。\n\n## 為什麼其他選項錯\n- **(A) 預測銷售趨勢曲線，輸出未來數值序列** ── 這是時間序列數值預測，不是「文字→文字」的語意對應，屬於 RNN/LSTM 或 Transformer 回歸預測的範疇，不是 Seq2Seq 的典型應用。\n- **(B) 辨識文本中的人名、地名、組織名稱** ── 這是命名實體辨識（NER），輸入一段文字、輸出每個 token 的標籤，是序列標註（Sequence Labeling）任務，輸出長度等於輸入長度且為標籤集合，不是「生成另一段語言」。\n- **(C) 對輸入文本進行關鍵字頻率統計與可視化** ── 這是傳統文字統計（如 word count / 詞雲），跟深度學習 Seq2Seq 無關。\n\n## 📖 章節來源\n**L21101 自然語言處理 4 章深度學習在 NLP 中的應用** — chunks line 584-590（Encoder-Decoder 架構與 Seq2Seq 應用：機器翻譯、摘要、文字改寫）\n\n## 融會貫通\n陷阱：(A) 「序列」這個字很容易誤導 ── 銷售趨勢確實是序列，但 Seq2Seq 特指「文字序列轉文字序列」的翻譯型任務，不是「歷史數值→未來數值」的時序預測。鑒別點：看「輸入輸出是不是兩段不同但語意相關的『語言文字』」── 翻譯（中→英）、摘要（長→短）、改寫（口語→正式）都是 Seq2Seq 經典案例，數值預測跟標註任務都不是。",
    "18": "## 題目核心\nTransformer 注意力分布過於平均（Attention Collapse）導致無法聚焦關鍵資訊 → 真正考點是「Attention 機制本身需要的是『有差異性、有重點』的權重分布，要強制讓某些 key 被忽略某些被強調」。\n\n## 為什麼答案是 (D) 對注意力權重施加稀疏化約束（Sparsity Constraint）\nSparsity Constraint 強迫注意力分布只在少數 key 上聚集較高權重、其他位置趨近於零，正是「對抗注意力平均化」的直接對症療法。教材指出 Self-Attention 機制的價值在於「根據每個詞與其他詞的關聯程度進行加權表示」── 當這個加權失去差異性、退化為均勻分布時，注意力就失效了。稀疏化約束從機制上要求模型必須做出取捨，是教材原則「自動學習關聯性」的延伸保護機制。\n\n## 為什麼其他選項錯\n- **(A) 提高 Query-Key 點積的縮放常數** ── 原始 Transformer 是除以 √d_k 防止點積過大讓 Softmax 梯度消失。若提高縮放常數（即除更大數），點積值變更小、Softmax 分布更趨平均，反而加劇 Attention Collapse。\n- **(B) Softmax 前加入高斯雜訊** ── 雜訊會讓注意力更隨機，無法聚焦在關鍵 token；且訓練不穩定，不解決根因。\n- **(C) 用 ReLU 取代 Softmax** ── Softmax 保證權重和為 1 構成有效機率分布，這是 Attention 機制的數學基礎；ReLU 只把負數截為 0，輸出不歸一化，會破壞 Attention 加權平均的語意，且 ReLU 同樣可能輸出多個相近正值，無法保證稀疏聚焦。\n\n## 📖 章節來源\n**L21101 自然語言處理 4 章 Self-Attention 機制** — chunks line 570-582（Self-Attention 加權表示原理、長距離依賴建模）\n\n## 融會貫通\n陷阱：(C) 「換掉 Softmax」聽起來很激進像在治本，但 Softmax 是 Attention 數學定義的一部分。鑒別點：問題在「分布太平均」，治法必須是「強制變稀疏」── (D) 直接針對權重分布加 L1/top-k 之類的稀疏化懲罰，是最直接的解。教材強調 Attention 的價值在「差異化加權」，當差異化消失就要在 loss 端加約束逼模型做選擇。",
    "19": "## 題目核心\n低資源語言（1 萬筆語料）、明顯過擬合、不新增真實語料、要提升泛化 → 真正考點是「在語料不足時用什麼技術人工擴增訓練資料、緩解過擬合」。\n\n## 為什麼答案是 (B) 採用反向翻譯（Back-Translation）技術，生成偽平行語料\n反向翻譯是 NMT（神經機器翻譯）領域標準的資料增強手法：把目標語句先翻成其他語言再翻回來，產生與原句語意接近但表達不同的「偽平行語料」（Pseudo-Parallel Corpus），等於免費擴增訓練樣本量、增加語言模型看到的表達多樣性。教材在多模態風險策略段提到「採用弱監督學習或生成模型降低人工成本」的擴增思路，反向翻譯正是這類「自動擴增資料」的代表方法，能在「不新增真實語料」的限制下提升泛化。\n\n## 為什麼其他選項錯\n- **(A) 將 Transformer 隱藏層維度擴增至 1024** ── 增加模型參數量會讓模型對 1 萬筆小資料的記憶能力更強，過擬合反而更嚴重，方向完全相反。\n- **(C) 對詞嵌入施加 L1 正則化壓縮參數** ── L1 正則化能稍微減少過擬合，但對「語料根本不夠」這個根因無效；且 L1 主要做特徵選擇/稀疏化，不解決樣本多樣性不足。\n- **(D) 凍結 mBERT 所有 Transformer 層** ── 全部凍結等於不微調，模型無法適應低資源語言的特性，會嚴重欠擬合（不是過擬合的解）；正常 fine-tune 策略是凍結底層、微調上層。\n\n## 📖 章節來源\n**L21104 多模態 AI 應用** — chunks line 205-209（資料對齊解決策略：弱監督、生成模型擴增）；**L21102 電腦視覺技術** — chunks line 195-197（小型資料集易過擬合）\n\n## 融會貫通\n陷阱：(A) 「擴增到 1024」聽起來像在強化模型，但對小資料是雪上加霜 ── 模型越大、樣本越少，越容易把訓練集背起來。鑒別點：過擬合的根因有兩類解 ──「降低模型複雜度（正則化、Dropout、小模型）」或「增加資料多樣性（Augmentation、Back-Translation、Mixup）」。題目限制「不新增真實語料」自動排除收集新資料，只能走「人工擴增」這條路，反向翻譯是 NLP 領域最直接的答案。",
    "21": "## 題目核心\n多模態 AI 訓練/推論時某一模態資料缺失（只有影像沒文本），要維持模型效能 → 真正考點是「模態缺失情境下的最佳設計選擇 = 從建模端內建處理能力」。\n\n## 為什麼答案是 (B) 訓練具備模態缺失感知能力的模型，使其適應缺失狀況\n教材指出多模態 AI 的核心挑戰之一是「資料對齊與標註」，包含「多模態資料來源多元、時間點與語意邏輯難以一致」。讓模型在訓練階段就見過「部分模態缺失」的樣本（例如隨機 mask 掉文本或影像分支），模型會學到「在缺一條腿時也能用剩下模態合理推論」的能力。這比另外補資料更穩健，是業界公認的處理模態缺失最具泛化性的方法。\n\n## 為什麼其他選項錯\n- **(A) 以零向量或固定向量填充** ── 零向量會被模型誤認為「特定語意輸入」（嵌入空間 0 點通常有意義），而非「缺失訊號」，導致預測偏誤；且零向量無法傳達「不確定性」。\n- **(C) 用 GAN 或自迴歸模型補全缺失模態** ── 生成補全聽起來合理，但生成內容本身有不確定性與幻覺，可能引入錯誤訊息，反而污染訓練；且兩階段（先生成、再訓練）增加系統複雜度與誤差累積。\n- **(D) 直接捨棄缺少模態的樣本** ── 在多模態場景下，缺失樣本經常占比可觀，直接丟棄會大量減少訓練資料，違反「維持效能」的目標，可能引入選擇偏誤。\n\n## 📖 章節來源\n**L21104 多模態 AI 應用 5 章風險** — chunks line 183-209（資料對齊與標註挑戰、解決策略：模型壓縮、自監督學習）\n\n## 融會貫通\n陷阱：(C) 「用生成模型補資料」聽起來很 AI、很高級，但生成資料的品質與真實資料有 gap，會把生成誤差傳到下游。鑒別點：處理模態缺失有「資料端補（A、C）」與「模型端建適應力（B）」兩條路 ── 教材趨勢段（line 269-275）強調自我監督學習與自適應推論是未來主流，模型內建缺失感知（modality-aware）是更乾淨、更通用的解。",
    "1": "## 題目核心\n電商企業用 NLP 分析社群與評論文字，以掌握「滿意度變化」，採用情感分析模型 → 真正考點是「情感分析的定義 = 判斷文本的情感傾向（正/負/中立）」。\n\n## 為什麼答案是 (B) 判斷文本中所表達的情感傾向\n教材原文：「情感分析（Sentiment Analysis）是一項關鍵技術，用於辨識文本中的情感，例如判斷文本是表達正面、負面還是中立情緒。這在許多行業中都起到關鍵作用，特別是品牌管理、社群媒體監控和顧客反饋分析」── 對應題目情境的「滿意度變化」，本質就是消費者對產品的情緒（喜歡/不喜歡）判讀。\n\n## 為什麼其他選項錯\n- **(A) 預測顧客使用的語言風格與語氣** ── 風格/語氣分析屬於語言學分析（stylometric analysis）或 author profiling，與情感極性無關。\n- **(C) 將顧客留言自動翻譯成企業內部指定語言** ── 那是機器翻譯（Machine Translation）的功能，是另一個獨立 NLP 任務。\n- **(D) 產生顧客評論的自動化摘要內容** ── 那是文字摘要（Text Summarization）的功能，目標是壓縮資訊而非判斷情緒。\n\n## 📖 章節來源\n**L21101 自然語言處理 5 章 NLP 應用情境** — chunks line 685-693（情感分析定義、應用情境：品牌管理、社群輿情、顧客反饋）\n\n## 融會貫通\n陷阱：(C)(D) 都是合理的 NLP 任務，題目情境（社群評論分析）也能用得上，容易被誤選。鑒別點：題目明說「採用情感分析模型」，所以答案必須緊扣「情感分析」這個任務的定義，不能擴張到其他 NLP 任務。教材把 NLP 應用切成「文字分類 / 情感分析 / 對話系統 / 文字生成 / 機器翻譯 / NER」六大類，每類有自己的本職工作，別張冠李戴。",
    "23": "## 題目核心\n醫院部署 AI 輔診系統、要「降低臨床流程衝擊、風險可控、回饋可收斂」、採用漸進式部署（Phased Rollout） → 真正考點是「Phased Rollout 的標準作法 = 小範圍試點驗證再逐步擴展」。\n\n## 為什麼答案是 (A) 從單一專科（如放射科）或特定病房開始啟用，逐步擴展至全院\n教材在 MLOps 與部署模式章節提到「藍綠部署（Blue-Green Deployment）、金絲雀部署（Canary Deployment）」等技術「降低新模型不穩定帶來的風險」── 這些都是「先小範圍跑、確認沒事再全量上」的同一精神。漸進式部署在醫院場景的具體化就是「先選一個科別（放射科）試水，蒐集回饋、修正問題、訓練流程，再依次擴展到其他單位」，符合「衝擊小、風險可控、回饋能收斂」三個要求。\n\n## 為什麼其他選項錯\n- **(B) 先部署於病例量較高的急診單位** ── 急診是高壓力、高風險、節奏快的環境，AI 出錯成本最高，把試點放在最危險的單位違反「風險可控」的核心原則。\n- **(C) 僅在夜班或離峰時段啟用** ── 夜班人力少、監督力弱，AI 出錯反而沒人能即時發現修正，回饋蒐集機制更弱，違反「回饋可收斂」原則。\n- **(D) 在使用者界面啟用提示模式，全院同步體驗但不影響診斷流程** ── 「全院同步」就不是漸進式了，違反 Phased Rollout 的定義；且「不影響診斷」等於 shadow mode 無實際決策回饋，無法真正驗證系統價值。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5 章 MLOps** — chunks line 167-171（CD 與藍綠部署），line 239-241（滾動更新與金絲雀部署）\n\n## 融會貫通\n陷阱：(D) 「不影響診斷流程」聽起來最安全，但漸進式部署的精神是「逐步擴大覆蓋」不是「全部上線但功能不啟用」── 後者是 Shadow Deployment，不算 Phased Rollout。鑒別點：Phased = 分階段擴增「使用範圍」，每階段都實際發揮作用並蒐集回饋。題目要的是「衝擊小 + 風險可控 + 回饋能收斂」三條件全滿足，只有「單一專科試點」同時對中三項。",
    "25": "## 題目核心\n生成式 AI 內容可能涉及著作權侵權，要從源頭預防（不是事後補救） → 真正考點是「侵權風險的根因 = 訓練資料未授權，源頭治理才是治本」。\n\n## 為什麼答案是 (B) 建立訓練資料篩選與授權驗證機制，排除未授權或高風險資料來源\n教材在 NLP 章節「資料授權與版權風險」段明確指出：「使用網路爬蟲抓取網站資料但未獲授權」「使用公共領域資料但未遵循授權條款」「自動生成新聞摘要可能無意中使用受版權保護的段落」── 這些風險都來自「訓練資料源頭就有問題」。生成式 AI 的風險章節（L21103）也提到「生成式模型常依賴大量資料訓練，部分訓練資料可能涉及受著作權保護內容，若未經授權使用，可能衍生著作權糾紛」。從源頭就排除未授權資料，是最徹底的預防手段。\n\n## 為什麼其他選項錯\n- **(A) 對生成內容做語意相似度比對、自動標註可能侵權** ── 是事後檢查與標註，內容已經生成出來才偵測，屬於「治標不治本」，且相似度比對只能抓相近段落、不能保證沒漏網之魚。\n- **(C) 採用差分隱私技術避免模型記憶受著作權樣本** ── 差分隱私（DP）主要是保護「個資不被反推」，雖然能稍微減少模型記憶特定樣本，但本質是隱私保護不是版權保護；且 DP 會犧牲模型品質，並非為著作權問題設計。\n- **(D) 在輸出端嵌入浮水印或數位指紋** ── 浮水印/指紋是「事後追溯」用，能證明內容是 AI 生成，但無法預防侵權發生 ── 即使有浮水印，侵權還是發生了。\n\n## 📖 章節來源\n**L21101 自然語言處理 6 章 NLP 技術挑戰與風險** — chunks line 795-810（資料授權與版權風險、處理機制）；**L21103 生成式 AI** — chunks line 301-304（智慧財產權與授權爭議）\n\n## 融會貫通\n陷阱：(A) 「自動標註可能侵權」聽起來很積極，但只是事後補救。鑒別點：「預防」vs.「偵測」vs.「追溯」── (B) 預防（源頭篩授權）、(A) 偵測（生成後比對）、(D) 追溯（事後證明出處），三者層級不同。題目明說「降低法律風險、預防侵權發生」，必須選預防型 ── 源頭治理。教材處理機制段強調「資料收集、儲存及處理過程中遵循相關合規規範」就是 (B) 的精神。",
    "26": "## 題目核心\n房價預測中房間數與坪數高度多重共線性（Multicollinearity），要降低共線性對模型參數估計的負面影響 → 真正考點是「L1 正則化（LASSO）能透過稀疏化把冗餘變數的係數壓到 0、解決參數估計不穩」。\n\n## 為什麼答案是 (D) 含 L1 正則化的 LASSO 迴歸模型\n教材定義「L1 正則化（Lasso）：通過懲罰模型的複雜度來選擇最具影響力的特徵，常用於線性模型中」、「常見方法有資訊增益、皮爾森相關係數、L1 正則化等，挑選對模型預測效果影響較大的變數」。LASSO 的 L1 懲罰會迫使冗餘變數的迴歸係數變成 0（特徵選擇效果）── 當房間數與坪數高度相關時，LASSO 會選一個保留、把另一個壓到 0，自然解決共線性導致的「兩個係數可以互相補償、估計不穩」問題。\n\n## 為什麼其他選項錯\n- **(A) 不受多重共線性影響的決策樹模型** ── 決策樹確實對共線性較不敏感，但題目問「降低共線性對模型參數估計的負面影響」── 決策樹根本沒有「迴歸係數」這種參數要估計，是換掉問題不是解決問題；且決策樹解釋性、外推能力與線性模型不同，不一定符合房價任務需求。\n- **(B) 傳統線性迴歸不含正則化** ── 普通最小平方（OLS）線性迴歸對共線性最敏感，係數變異變大、估計極不穩定，是「最不該選」的選項。\n- **(C) SVM 搭配線性核函數** ── 線性 SVM 雖能做迴歸（SVR），但核心是找最大間隔超平面，並未針對共線性設計；且 L2-style 正則化的 SVM 不會像 L1 那樣產生稀疏解、無法挑掉冗餘特徵。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇 3 章特徵工程** — chunks line 99-101（L1 正則化 Lasso 用於特徵選擇）；line 154-161（線性迴歸、決策樹等迴歸模型）\n\n## 融會貫通\n陷阱：(A) 「決策樹不受共線性影響」確實是業界常識，但題目特別強調「對模型參數估計的負面影響」── 「參數估計」是線性模型專有名詞（迴歸係數 β），決策樹沒這個概念，所以 (A) 是繞開問題不是解決。鑒別點：LASSO 用 L1 主動剃除冗餘變數、保留估計穩定性，是「在線性框架內解決共線性」的標準答案。教材重點是「在多重共線性下，L1 正則化能挑出真正有影響力的變數」。",
    "27": "## 題目核心\n半結構化系統日誌（JSON）含巢狀欄位（Nested Fields），要提取時序特徵供故障預測模型 → 真正考點是「巢狀結構必須遞迴展開、時序特徵必須用時間窗口聚合」。\n\n## 為什麼答案是 (C) 設計遞迴函式展開巢狀欄位，並基於時間窗口（Time Window）進行聚合與特徵萃取\n教材在資料前處理章節強調「資料清理是將原始資料進行內容確認與雜訊清理」、特徵工程要「將原始資料轉換為適合機器學習模型學習的格式」。JSON 巢狀欄位若不遞迴展開，下游模型無法理解（標準 ML 模型只接受 tabular 輸入）；時序特徵預測必須用 sliding window 聚合（例如「過去 5 分鐘錯誤次數」「過去 1 小時延遲均值」），這是時序故障預測的標準流程。(C) 同時對到「結構展開」與「時序聚合」兩個關鍵動作。\n\n## 為什麼其他選項錯\n- **(A) 先扁平化 JSON 轉 CSV、對欄位計算統計量** ── 扁平化會喪失巢狀層級的關聯資訊（例如父子欄位的對應），且只算欄位均值次數忽略了時序維度，無法捕捉「故障前的動態變化」。\n- **(B) 用 RNN 直接輸入原始 JSON 字串抽特徵** ── JSON 字串包含大量符號、空格、結構標記，RNN 把它當文字學習效率極低且易學到 JSON 語法雜訊而非業務語意，業界不會這樣做。\n- **(D) 只保留時間戳、忽略巢狀內容** ── 直接丟掉特徵等於放棄資料價值，時間戳本身不含故障訊號（時間不會自己預測故障），失去所有業務特徵。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇 2-3 章** — chunks line 41-65（資料清理與品質檢核）、line 85-89（時間戳處理與週期性特徵擷取）\n\n## 融會貫通\n陷阱：(A) 「扁平化轉 CSV 再算統計量」聽起來最簡潔最工程化，但漏掉「時序」維度（題目明說「時序特徵供故障預測」），且巢狀展開不一定要先轉 CSV ── 也可在記憶體 DataFrame 內展開。鑒別點：兩個關鍵字 ──「巢狀」要遞迴處理、「時序」要時間窗口，只有 (C) 同時涵蓋。教材的時間戳處理段就提到「擷取週期性特徵（如星期幾、上午/下午、工作日/週末）」，正是 Time Window 思維的延伸。",
    "28": "## 題目核心\n資料集含連續型與類別型特徵，用特徵工程提升模型表現 → 真正考點是「連續特徵要標準化、類別特徵要適當編碼、額外加交互特徵能進一步提升」這個組合拳。\n\n## 為什麼答案是 (C) 對連續特徵做標準化（Standardization），類別特徵採用目標編碼（Target Encoding），並生成交互特徵提升模型表現\n教材定義「標準化（Standardization）：將數值轉換為平均數為 0、標準差為 1 的分布，對需要計算梯度的模型（如線性迴歸、SVM）特別有效」、類別特徵處理「獨熱編碼（One-hot）適用於無序分類變數、標籤編碼（Label）適用於有序類別」。Target Encoding 是 AutoML 段提到「對於類別型資料，會自動選擇合適的編碼方法（如 One-hot encoding 或 Target encoding）」。AutoML 還提到「特徵組合與互動作用檢測：能夠自動檢測並創建特徵之間的交互作用，幫助發現隱藏的關聯性，從而提高預測準確度」。(C) 涵蓋連續、類別、交互三條軸線。\n\n## 為什麼其他選項錯\n- **(A) 類別用 Label Encoding 後直接與連續特徵合併** ── Label Encoding 對「無序類別」會引入虛假大小關係（例如紅=1、藍=2、綠=3，模型會誤以為綠>藍>紅），且未對連續特徵做標準化，梯度模型表現會被特徵尺度差異拖累。\n- **(B) 將連續特徵分桶轉類別** ── Binning 會喪失連續變數的細粒度資訊，雖然某些情境（如異常檢測）有用，但通用情境下會降低資訊量，不是普遍最佳策略。\n- **(D) 只保留連續特徵、忽略類別變量** ── 直接丟掉類別資訊等於放棄一半特徵，會大幅降低模型表現，是錯誤的「簡化」。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇 3 章特徵工程** — chunks line 73-83（數值與類別特徵處理）、line 127-129（自動特徵工程的交互作用檢測）、line 131-133（Target Encoding）\n\n## 融會貫通\n陷阱：(B) 「統一以類別方式處理」聽起來能統一格式很乾淨，但代價是喪失連續值的細粒度。鑒別點：好特徵工程是「不同特徵類型分別用最適合的方法處理」，不是「強制統一格式」。連續→標準化、類別→Target/One-hot、再用交互特徵抓非線性，三件套並用才是教材推薦的「最合適流程」。AutoML 段明說會「分別」針對類別與連續資料選編碼方式，這就是 (C) 的精神。",
    "32": "## 題目核心\nAI 模型已部署、要透過監控指標「提早偵測效能衰退」、找出最具預測力的指標 → 真正考點是「資料漂移（Data Drift）是模型衰退的領先指標，而非結果指標」。\n\n## 為什麼答案是 (D) 輸入特徵與訓練資料分布差異的 PSI（Population Stability Index）指數\n教材在 MLOps 監控段定義「資料漂移（Data Drift）：輸入資料的統計特徵改變，如欄位分佈或異常比例異常」── 這正是 PSI 衡量的目標。PSI 比較「目前輸入特徵分布」vs.「訓練時的特徵分布」差距，當輸入分布偏離訓練分布時，PSI 升高，這通常發生在模型效能實際衰退「之前」 ── 因為模型還沒有遇到很多被錯分的樣本、預測準確率還未明顯下降，但輸入端已經改變了。PSI 是「領先指標（leading indicator）」，能在實際效能崩盤前發出預警。\n\n## 為什麼其他選項錯\n- **(A) 系統 CPU 與記憶體使用率波動** ── 那是「基礎設施健康度」指標，跟模型效能無直接關係（資源吃緊可能是流量問題，不一定是模型問題）。\n- **(B) 推論結果置信度（Confidence）分佈變化** ── Confidence drift 是「模型輸出端」的訊號，比 PSI 更晚發生（輸入分布變了才會反映到輸出 confidence 上），預測力較弱。\n- **(C) API 平均回應時間與延遲百分位數** ── 同樣是基礎設施/服務層級指標（教材 line 217 系統層級指標），跟「模型效能衰退」是兩回事。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5 章 MLOps** — chunks line 185-191（模型漂移、資料漂移、錯誤率延遲等監控項目）；line 217-221（系統層級 vs. 應用層級 vs. 業務層級指標）\n\n## 融會貫通\n陷阱：(B) 「置信度分佈變化」是 ML 圈很多人熟悉的監控項，但 confidence drift 已經是「模型對輸入感到不確定」的反應，等於症狀已經出現。鑒別點：「預測力」= 多早能發出警報。指標時序順序為「輸入分布變（PSI 動）→ 模型輸出 confidence 變（B 動）→ 實際 ground truth 標註回來才知準確率下降」── PSI 在最前端，最有預測力。教材監控項目首列就是「資料漂移」，呼應 PSI 的優先地位。",
    "33": "## 題目核心\nWord2Vec 訓練客服文本、資料量龐大、要更有效捕捉「罕見詞」（低頻詞）的語意關聯 → 真正考點是「Skip-gram 對低頻詞更有效，這是教材原文的明確結論」。\n\n## 為什麼答案是 (C) 採用 Skip-gram 模型，利用中心詞預測周圍詞語，能更有效學習低頻詞關係\n教材原文：「Skip-gram：以給定中心詞，預測其周圍的上下文詞彙。對低頻詞更有效，語意捕捉能力更好」── 直接、明確、不需推論。原理上，Skip-gram 每見一次罕見詞當中心詞，就要產生多個（中心詞、上下文詞）訓練對，等於把罕見詞的學習訊號放大；CBOW 反之，罕見詞在上下文中只貢獻一個訓練樣本，學習訊號被稀釋。\n\n## 為什麼其他選項錯\n- **(A) Skip-gram 但隨機初始化權重以加快高頻詞收斂** ── 「加快高頻詞收斂」跟題目目標「強化罕見詞」剛好相反；且隨機初始化是 Word2Vec 預設動作，不是特別加速設計。\n- **(B) CBOW 結合 TF-IDF 權重強化低頻詞** ── CBOW 對低頻詞學得差是模型架構問題，TF-IDF 是另一種詞重要性衡量（文件層級），與 Word2Vec 訓練機制不同層次，不能拼湊使用。\n- **(D) CBOW 提升罕見詞穩定度** ── 教材明寫「CBOW 適合小型語料、訓練速度較快」，但對低頻詞表現不如 Skip-gram，這個敘述違反教材結論。\n\n## 📖 章節來源\n**L21101 自然語言處理 4 章 Word2Vec** — chunks line 446-474（Word2Vec、CBOW vs. Skip-gram 的訓練機制與適用情境）\n\n## 融會貫通\n陷阱：(D) 「CBOW 用周圍詞預測中心詞、提升罕見詞穩定度」聽起來合理 ── 用更多上下文資訊預測一個詞，直覺上更穩 ── 但這對「常見中心詞」才成立。對罕見中心詞，CBOW 只給它一次學習機會（出現一次當中心詞才更新一次）；Skip-gram 反過來，每次罕見詞當中心詞要預測多個上下文，等於每次出現都有多個學習訊號。鑒別點：教材已直接給結論「Skip-gram 對低頻詞更有效」，不要被「直覺合理」的選項誤導，遵照教材原文。",
    "34": "## 題目核心\n自駕車影像辨識，要「同時辨識每個像素的物件類別」（道路/建築/行人）＋「區分同類物件的不同個體」（多位行人個別區分） → 真正考點是「語意分割 + 實例分割 = 全景分割（Panoptic Segmentation）」。\n\n## 為什麼答案是 (D) 全景分割（Panoptic Segmentation）\n教材定義語意分割「將影像中每個像素歸類為某一預定類別，但不區分同類別中的不同實例」、實例分割「在語意分割基礎上，進一步區分同一類別中的不同實體」。題目要求「每個像素都有類別」（語意分割能力）AND「同類個體要區分」（實例分割能力），兩個能力的聯集就是 Panoptic Segmentation ── 這是 2018 年提出的整合任務，把語意分割（管 stuff，如道路、天空）跟實例分割（管 things，如行人、車輛）合而為一。\n\n## 為什麼其他選項錯\n- **(A) 語義分割（Semantic Segmentation）** ── 雖然能達成「每像素分類」，但無法區分兩位行人是不同個體（都標成「行人」這一類），不符合第二個要求。\n- **(B) 物件偵測（Object Detection）** ── 只給出 bounding box + 類別，不做像素級分割，不符合「每個像素都要分類」的要求。\n- **(C) 實例分割（Instance Segmentation）** ── 雖然能區分同類個體，但傳統 Instance Segmentation 只對「things」（可數物件如行人、車）做 mask，對「stuff」（不可數背景如道路、建築）通常不處理，不能保證「每個像素都被分類」。\n\n## 📖 章節來源\n**L21102 電腦視覺技術 1 章電腦視覺核心任務** — chunks line 30-42（影像分類/物件偵測/語意分割/實例分割對照表）；line 237-258（影像分割細分與 FCN/U-Net/Mask R-CNN）\n\n## 融會貫通\n陷阱：(C) 實例分割聽起來最接近答案（能區分同類個體），但缺了「背景 stuff 的像素分類」這條腿。鑒別點：四個任務的能力遞進關係是「物件偵測（框）< 語意分割（每像素類別）≒ 實例分割（每實例 mask）< 全景分割（兩者聯集）」。題目同時要「全部像素都分類」AND「同類能分個體」── 兩個 must-have 的交集只有全景分割。教材雖未直接寫 Panoptic，但邏輯上「語意 + 實例 = 全景」是電腦視覺領域的標準教科書內容。",
    "36": "## 題目核心\n針對「多種模型設定（學習率、樹深度、正則化係數等）系統化測試，找出在驗證資料上最穩定的組合」 → 真正考點是「Grid Search 是『系統化』超參數搜尋的代表方法」。\n\n## 為什麼答案是 (B) 透過網格搜尋（Grid Search）在多組超參數設定中進行系統化搜尋與評估\n題幹關鍵字「系統化測試多種模型設定」對應 Grid Search 的本質 ── 把每個超參數列出候選值（如學習率 [0.001, 0.01, 0.1]、樹深度 [3, 5, 7]、正則化 [0.1, 1, 10]），對「所有組合」窮舉訓練與驗證。雖然教材未直接列 Grid Search，但 L21301 模型選擇章節強調「根據業務情境、問題類型與資料特性，選擇最適合的模型架構」、AutoML 段提到「智慧算法自動生成、選擇特徵」── Grid Search 是「窮舉所有超參數組合系統化評估」的最直接對應，是業界最教科書的方法。\n\n## 為什麼其他選項錯\n- **(A) 交叉驗證（Cross Validation）反覆評估模型以降低過擬合風險** ── 交叉驗證是「給定一組超參數時驗證效能穩定度」的工具，不是「搜尋超參數」的方法。CV 跟 Grid Search 常並用（Grid Search 內嵌 CV 評估），但 CV 本身不負責產生超參數候選組合。\n- **(C) 隨機搜尋（Random Search）快速探索部分參數空間以提升搜尋效率** ── 隨機搜尋是「隨機抽樣」、不是「系統化」，題幹明說「系統化測試」，與 Random 的非系統性矛盾。\n- **(D) 貝葉斯優化（Bayesian Optimization）根據歷次結果動態調整搜尋方向** ── 貝葉斯優化是「自適應」搜尋（根據先前結果決定下一步），也不是「系統化窮舉」，與題幹用詞不符。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇 4 章模型選擇策略** — chunks line 147-149（模型選擇策略）、line 109-145（AutoML 自動特徵工程與超參數調整）\n\n## 融會貫通\n陷阱：(A) 交叉驗證是非常合理的 ML 動作，題目情境也會用到，但 CV 跟超參數搜尋是兩個獨立步驟 ── CV 不能告訴你「該試哪些超參數組合」、只能評估「給定組合的穩定度」。鑒別點：題目核心動詞是「系統化搜尋多組設定」，三個搜尋類選項裡 ──「Grid（系統化窮舉）」「Random（隨機）」「Bayesian（自適應）」── 只有 Grid 對應「系統化」這個關鍵字。讀題時抓住題幹用詞與選項定義的詞語對應是關鍵。",
    "38": "## 題目核心\nStable Diffusion 生成 4K 圖時邊緣與細節顆粒化、模糊，「僅能在生成階段調整」要提升清晰度與紋理層次、避免過度平滑 → 真正考點是「擴散模型的細節品質取決於去噪步數與取樣器選擇」。\n\n## 為什麼答案是 (B) 增加取樣步數並選擇高品質取樣器，以強化細節還原度\n教材定義「擴散模型通過逐步去噪（Denoising）的過程，從隨機噪聲生成細節豐富的圖像」、「擴散模型強調逐步優化生成過程」── 取樣步數（sampling steps）就是去噪迭代次數，步數越多每一步去噪越精細、最終影像細節越豐富；高品質取樣器（如 DPM++ 系列、Heun、UniPC）在相同步數下能更精準逼近數據分布，提升紋理層次。這是擴散模型推論階段最直接控制細節品質的兩個槓桿。\n\n## 為什麼其他選項錯\n- **(A) 降低取樣步數以縮短生成時間** ── 步數降低意味著去噪迭代不足，影像會更模糊、更顆粒化，跟題目要求剛好相反。\n- **(C) 提高 CFG 值使生成結果更具創意與多樣性** ── CFG（Classifier-Free Guidance）控制的是「模型遵循提示詞的強度」，提高 CFG 會讓圖更「符合提示」但容易過飽和、過銳化、產生 artifacts（鬆餅紋、色彩過鮮），不是提升清晰度的正解；且「多樣性」與「清晰度」是兩件事，敘述不對症。\n- **(D) 改用低解析度輸入以降低計算成本** ── 降解析度直接讓畫面細節更少更模糊，違反題目「提升畫面清晰度」的目標。\n\n## 📖 章節來源\n**L21103 生成式 AI 與多模態 3 章擴散模型** — chunks line 107-115（擴散模型逐步去噪原理、Stable Diffusion）、line 197-209（擴散模型工具：Stable Diffusion WebUI 與 LoRA 等參數調整）\n\n## 融會貫通\n陷阱：(C) 提高 CFG 是 Stable Diffusion 使用者常會調的參數，聽起來很對症；但 CFG 跟「清晰度」是兩條軸 ── CFG 管「提示詞遵循度」、步數+取樣器管「去噪品質」。鑒別點：題目要的是「畫面清晰度與紋理層次、避免過度平滑」── 純粹是去噪迭代品質問題，正解必然是步數與取樣器；CFG 提太高反而會 over-saturation 帶 artifacts，是錯誤干擾項。教材強調擴散模型的核心是「逐步」優化，步數就是「逐步」的長度。",
    "41": "## 題目核心\n超參數調校時，「直接在 K-Fold 交叉驗證的資料上同時調參數並評估效能」會出什麼問題 → 真正考點是「測試 fold 間接參與了參數選擇，造成資料洩漏（Data Leakage）」。\n\n## 為什麼答案是 (A) 模型的交叉驗證結果出現過度樂觀偏差（Over-optimistic Bias），因測試摺資料間接參與參數選擇，造成資料洩漏（Data Leakage）\n當你用 K-Fold CV 的同一份資料「既調參、又評估」時，每次選擇超參數的依據是「目前這組超參數在這些 fold 上 CV 分數多少」── 你已經偷看了測試 fold 的表現來決定超參數，這些 fold 對你來說不再是「未見過的資料」，而是被間接洩漏到了模型選擇流程中。結果就是 CV 報告的效能比模型在真正未見資料上的表現好（樂觀偏差）。正確作法是「巢狀交叉驗證（Nested CV）」── 外圈評估效能、內圈做超參數搜尋，兩層資料切分隔離。\n\n## 為什麼其他選項錯\n- **(B) 每一摺內反覆調整參數，導致訓練不穩與過度正則化** ── 描述的不是 Data Leakage 而是訓練動態問題；K-Fold 本身的設計是每個 fold 內完成完整訓練，不存在「每摺內反覆調參」的標準流程，且「過度正則化」與「同時調參評估」沒直接因果。\n- **(C) 交叉驗證資料被重複使用造成效能方差增大** ── 方向錯了。資料洩漏的結果是「方差變小、bias 變小（但都是樂觀偏差）」── 看起來都很好，反而不會方差增大；真實情況是「在新資料上方差會炸開」，但在 CV 內看不到這個問題。\n- **(D) K-Fold 假設與超參數搜尋衝突，導致驗證過程失效** ── 沒有所謂「K-Fold 假設」與「超參數搜尋」衝突；兩者可以並用（標準作法就是 Nested CV）。問題不是失效，是「樂觀失真」。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇** — chunks line 9（章節導覽提到交叉驗證、性能評估、調參與再訓練的流程要分階段）；L21302 line 165（模型準確率驗證）\n\n## 融會貫通\n陷阱：(C) 「方差增大」聽起來很統計很合理，但 Data Leakage 的核心症狀是「樂觀偏誤」（指標看起來好）不是「方差增大」（指標不穩）── 兩者的方向相反。鑒別點：超參數搜尋本質是「在多組設定裡挑表現最好的」，這個「挑」如果用的是同一份評估資料，等於把評估資料變成了訓練資料的一部分。教材整本書反覆強調「資料分割隔離」是 ML 評估的鐵律，必須用獨立 holdout 或 Nested CV 才能得到無偏估計。",
    "43": "## 題目核心\n比較生成式（VAE + 分類器）vs. 鑑別式（BERT Classifier）兩條路徑，資料量 2000 筆且擴充成本高，要設計實驗「公平比較資料利用效率與泛化能力，突顯本質差異」 → 真正考點是「兩種範式的本質差異會在低資源情境下才放大顯露」。\n\n## 為什麼答案是 (B) 在低資源情境（Low-resource Setting）下，逐步減少標註比例（100%、50%、10%），比較其 F1-score\n生成式模型（VAE）學的是「資料的潛在分布 P(x)」，能用無標註或弱監督資料學到結構，理論上資料利用效率高；鑑別式模型（BERT Classifier）直接學「條件機率 P(y|x)」，標註越多越強。在資料充足時兩者差距不明顯（兩個模型都「夠用」），唯有把資料量逐步壓低（100%→50%→10%），生成式路徑「能利用結構先驗」的優勢才會顯現 ── 例如資料 10% 時，VAE 的 latent space 仍能補強分類器，而 BERT Classifier 標註資料不夠就會快速退化。F1-score 同時兼顧精確率與召回率，是分類任務公平比較指標。這個實驗設計直接觸及「資料效率」與「泛化能力」的本質。\n\n## 為什麼其他選項錯\n- **(A) 完整資料集分別訓練、比較 Accuracy 與推論時間** ── 在「足量資料 + 推論時間」維度比較，無法暴露兩種範式對標註量需求的差異，本質差異被資料量遮蓋。\n- **(C) 用 GAN 生成補資料、比較增強後的 Precision** ── 引入 GAN 等於加入第三個變因，無法歸因「差異是來自兩個模型本身還是 GAN 增強效果」，違反控制變因原則。\n- **(D) 固定輸入維度、僅調參數量比較過擬合敏感度** ── 比較的是「模型容量對過擬合的反應」，跟「資料利用效率與泛化能力」是不同維度問題；且只看過擬合敏感度不能反映兩種範式的本質。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇 4 章** — chunks line 267-285（生成式 vs. 判別式模型的比較）；L21302 line 219（F1-Score 作為應用層級指標）\n\n## 融會貫通\n陷阱：(A) 「完整資料訓練 + Accuracy 比較」是最直觀的做法，但問題在於「足量資料下兩種模型差異很小」── 經典實驗設計要「在資料稀缺處暴露差異」才能突顯本質。鑒別點：題目用詞「資料利用效率」「泛化能力」「本質差異」── 「資料利用效率」必然要操弄資料量（10%/50%/100% 對應 (B)），「泛化能力」必然要看在小樣本下的表現曲線。F1-score 也比 Accuracy 在不平衡或小樣本下更可信。教材生成式 vs. 判別式對照表強調兩者「工作方式不同」（分布學習 vs. 條件預測），這個本質差異在低資源下才會放大。",
    "48": "## 題目核心\nDBSCAN 演算法處理數百萬筆高維顧客資料、執行極慢甚至記憶體不足、要「不改變演算法核心邏輯」提升運算效率 → 真正考點是「DBSCAN 的瓶頸是 ε-鄰域查詢，用空間索引結構加速最直接」。\n\n## 為什麼答案是 (B) 採用高效率的距離索引結構（Distance Index Structure），例如 KD-Tree 或 Ball Tree\nDBSCAN 的核心動作是「對每個資料點查詢 ε 距離內有多少鄰居」── naive 實作是 O(n²) 兩兩計算距離，大資料下爆掉。空間索引結構（KD-Tree 適合中低維、Ball Tree 適合高維）能把鄰域查詢從 O(n) 降到 O(log n)，整體複雜度降為 O(n log n)。最關鍵的是 ── 索引結構「只改變查詢實作」不改變 DBSCAN 的核心邏輯（仍然是基於密度的群集），完全符合題目「不改變演算法核心邏輯」的限制。教材定義 DBSCAN 是「基於密度的分群方法，能發現任意形狀的群集」── 索引加速保留這個密度判定邏輯。\n\n## 為什麼其他選項錯\n- **(A) 改用平均連結階層式群集** ── 直接換成另一種演算法（Hierarchical Clustering），完全改變了演算法核心邏輯，且階層式分群的時間複雜度通常是 O(n³)，對大資料更慘。\n- **(C) 將 ε 調得極小以減少鄰近點數量** ── 改 ε 是改變演算法行為，會讓很多原本連在一起的群被切碎、大量點被判為 noise，破壞分群結果的正確性，不是「不改變核心邏輯」的解。\n- **(D) 增加標準化後的特徵維度數** ── 增加維度會觸發「維度詛咒（curse of dimensionality）」── 高維下距離度量退化、所有點兩兩距離趨於相似，DBSCAN 反而失效；且增加維度提高計算量，與「提升效率」目標相反。\n\n## 📖 章節來源\n**L21301 數據準備與模型選擇 4 章非監督式學習** — chunks line 205（DBSCAN 基於密度的分群、能發現任意形狀群集、自動標示雜訊點）\n\n## 融會貫通\n陷阱：(C) 「調小 ε 減少鄰近點」聽起來能「讓計算量變小」很合理，但 (C) 是改變超參數＝改變模型輸出結果，違反「不改變核心邏輯」的限制。鑒別點：題目兩條限制要同時滿足 ──「不改變核心邏輯」AND「提升效率」── 只有 (B) 是純工程加速（換鄰域查詢實作）不動演算法本身。教材 DBSCAN 段強調它「基於密度發現任意形狀群集」這個特性，KD-Tree/Ball Tree 索引只加速距離查詢、完全保留密度判定，是正解。",
    "11": "## 題目核心\n顧客行為分群是非監督學習（Unsupervised Learning）的典型應用。題目特別點出兩個關鍵需求：要能「自動區分主要群集與雜訊」+「不必事先指定群集數」，這正是 DBSCAN（Density-Based Spatial Clustering of Applications with Noise）與 K-means 的根本分水嶺。考點是 DBSCAN 的演算法本質：以「密度」定義群集，而密度需要兩個量來描述——多近算近？要多少個鄰居才算密？這兩個答案就是 Epsilon 與 MinPts。題目用「鄰域半徑」「最小點數」的中文白話表述，要求考生能把演算法名稱對應到核心超參數，不能跟其他演算法的參數混淆。\n\n## 為什麼答案是 (C) 鄰域半徑（Epsilon ε）與最小點數（MinPts）\n教材原文：「DBSCAN（Density-Based Spatial Clustering of Applications with Noise）：基於密度的分群方法，能發現任意形狀的群集，並自動將離群點標示為雜訊（Noise）。不需預先給定群集數，適合含雜訊或密度變化明顯的資料。」── 既然是「基於密度」，密度的定義就是「以某點為圓心、半徑 ε 內的鄰居數是否 ≥ MinPts」。ε 決定鄰域範圍大小，MinPts 決定多少鄰居才算「核心點（Core Point）」。兩者一起決定哪些是核心點、邊界點、雜訊點，也決定群集會擴張到多大。題目敘述「自動區分主要群集與雜訊」直接對應教材「自動將離群點標示為雜訊」這個 DBSCAN 招牌特性。\n\n## 為什麼其他選項錯\n- **(A) 特徵數與學習率** ── 特徵數是資料維度而非超參數，學習率（Learning Rate）是「監督式梯度下降類」模型（神經網路、邏輯迴歸）的訓練參數，DBSCAN 不做梯度更新、沒有學習率。\n- **(B) K 值與距離閾值** ── K 值是 K-means 的招牌超參數（事先指定群集數），題目情境正好強調「不需事先指定群數」就是要避開 K-means；距離閾值雖然概念近似 ε，但「K 值」這個關鍵字直接違背 DBSCAN 的精神。\n- **(D) 交叉熵（Cross Entropy）與權重初始化** ── 交叉熵是分類模型的損失函數（用於監督式學習），權重初始化屬於神經網路訓練細節，跟非監督式密度分群完全無關。\n\n## 📖 章節來源\n**L21301 機器學習基本技術 4.2 章 非監督式學習** — chunks line 200-218（常見演算法列出 K-means、DBSCAN、Hierarchical Clustering、PCA，並標註 DBSCAN「基於密度」「自動標雜訊」「不需指定群集數」的特性）\n\n## 融會貫通\n陷阱：(B) 的「距離閾值」字面上跟 ε 很像，很容易混淆；但只要看到「K 值」三個字就該紅燈，因為 DBSCAN 的設計初衷就是「不用 K」。實務上 ε 過小會把每個點當成雜訊、ε 過大會把所有點併成一群；MinPts 一般取「資料維度 × 2」作為起點，再用 k-distance plot 觀察拐點調整。橫向連結：K-means 跟 DBSCAN 是兩種對立思路——K-means 假設群集是凸的、球形的，DBSCAN 允許任意形狀；K-means 對 outlier 敏感（離群點會把中心拉跑），DBSCAN 直接把 outlier 丟到雜訊類，這就是為何詐欺偵測、IoT 異常偵測愛用 DBSCAN。業界場景：地圖熱點（任意形狀街區）、感測器資料異常分群基本上都會考慮 DBSCAN 系列（含 HDBSCAN、OPTICS）。",
    "12": "## 題目核心\n線性迴歸要求自變量之間「相互獨立」，當建坪、房齡、樓層、總價彼此高度相關時，會出現「多元共線性（Multicollinearity）」——數學上 X^T X 接近奇異，係數估計變得極不穩定（變異數爆大）、解釋性瓦解、預測誤差上升。考點是：在這個情境下，如何把「相關特徵」轉成「彼此獨立」的新特徵？教材給的標準答案是降維工具裡最經典的 PCA（Principal Component Analysis）——它的核心就是「找方差最大的正交方向」，而「正交」就等價於「線性不相關」，剛好對症下藥。\n\n## 為什麼答案是 (B) 使用主成分分析（PCA）將相關特徵轉換為彼此獨立的主成分\n教材原文：「主成分分析（PCA）：通過找到資料中方差最大的方向來減少維度，保留大部分資料訊息。PCA 適用於高維資料，能減少計算負擔並提高模型效能。」另一段補充：「主成分分析（PCA, Principal Component Analysis）：常見的降維方法，用於資料視覺化與特徵壓縮，將原始變數轉換成若干主成分以保留最大變異。」── PCA 的數學本質是對共變異數矩陣做特徵分解（Eigendecomposition），得到的主成分（Principal Components）兩兩正交（Orthogonal），代表彼此線性不相關。把原本相關的「建坪/樓層/總價」投影到主成分軸上，新的特徵就消除了共線性，線性迴歸的係數估計回歸穩定。\n\n## 為什麼其他選項錯\n- **(A) 繼續保留所有特徵，不進行任何處理** ── 題目已明說係數不穩定、誤差上升，不處理等於放任問題惡化，明顯錯誤。\n- **(C) 新增更多原始變數以提升模型表現** ── 多元共線性的根源是「現有特徵之間相關」，新增變數會讓相關結構更糾纏、共線性更嚴重，反向加劇。\n- **(D) 改用分類模型進行預測** ── 房價是「連續數值」屬於迴歸任務（教材定義：迴歸任務的目的是預測連續數值型結果），改用分類模型等於改變問題本質，無法回答房價數字。\n\n## 📖 章節來源\n**L21301 機器學習基本技術 4 章 機器學習主要技術** — chunks line 103-105、203-209（特徵工程中的降維方法、非監督式學習常見演算法都列了 PCA，定義為「找方差最大方向、保留資訊」「將原始變數轉換成若干主成分」）\n\n## 融會貫通\n陷阱：題目沒直接點名「PCA」、也沒提「降維」這個關鍵字，而是用「轉換為彼此獨立」這種白話描述包裝考點，要考生反推到 PCA。橫向連結：解決共線性還有其他作法——L1/L2 正則化（Lasso/Ridge）、變數選擇（VIF 變異膨脹因子）、特徵工程合併（總價 ≈ 建坪 × 單價，可只保留一個）。教材把 PCA 同時列在「降維」與「非監督學習」兩個段落，是因為 PCA 確實一身兩用：既可降低維度減過擬合（呼應 Q45 的考點），也可以做資料視覺化（搭配 t-SNE/UMAP）。業界場景：金融多因子模型、基因表現分析都是共線性溫床，PCA 是第一個會嘗試的工具，但缺點是主成分難以直接解釋（喪失原始變數的商業意涵），所以需要解釋性的場景會偏向變數選擇而非 PCA。",
    "13": "## 題目核心\n這題考的是基礎設施工具的「定位」。AI 系統部署涉及多層工具：訓練（PyTorch/TF）、實驗追蹤（MLflow）、容器封裝（Docker）、容器編排（Kubernetes）、CI/CD（Jenkins/GitLab CI）、推論加速（CUDA/TensorRT）。考生容易把這些工具混淆，誤以為 K8s 包山包海。教材定位非常清楚：Kubernetes 屬於「系統架構設計」的容器編排層，職責是「協調與調度大量容器化的服務」，跟訓練、儲存、GPU 加速完全是不同分工的工具。考點就是辨識「K8s 做什麼、不做什麼」。\n\n## 為什麼答案是 (B) 管理與協調模型服務的部署、擴展與運行環境\n教材原文：「容器化技術（如 Docker）可將應用程式與其依賴環境封裝在一起，確保跨平台部署一致性。為管理大量容器，常結合 Kubernetes（K8s）進行容器編排。」並列出具體職能：「Kubernetes：容器編排、資源調度、故障恢復」加上「滾動更新（Rolling Update）：不中斷服務地更新容器版本」「自動擴縮（Autoscaling）：根據流量自動調整容器數量」「負載平衡（Load Balancing）：確保多個推論節點分擔請求壓力」。── 這幾項通通對應到選項 (B) 的「部署、擴展與運行環境」三個動詞，可說是教材原文逐字命中。\n\n## 為什麼其他選項錯\n- **(A) 自動化管理模型的訓練流程與參數調校** ── 那是 MLOps 平台（如 Kubeflow、SageMaker）、AutoML 或實驗追蹤工具（MLflow）的職責，K8s 只負責執行容器，不知道你裡面跑的是訓練還是推論、更不會幫你調超參數。\n- **(C) 提供 AI 模型的資料儲存與版本控管功能** ── 模型版本控管屬於 MLflow、DVC 的職責，資料儲存是 S3/HDFS/物件儲存的職責，K8s 本身不存資料（PV/PVC 只是抽象介面，底層仍靠儲存系統）。\n- **(D) 負責深度學習推論的 GPU 加速運算** ── GPU 加速由硬體（NVIDIA GPU）+ 驅動（CUDA）+ 框架（PyTorch/TensorRT/ONNX Runtime）實現，K8s 只能「調度」GPU 資源給容器（透過 device plugin），但本身不執行加速運算。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 3.B 章 容器化與編排** — chunks line 67-83（容器化技術定義、Docker/K8s 工具分工、滾動更新／自動擴縮／負載平衡三大原則）；line 341-347、405-407 也以選擇題形式重申「容器技術促進跨平台部署與環境一致性」。\n\n## 融會貫通\n陷阱：(A) 跟 (D) 都是 AI 開發鏈路上的真實需求，且 Kubernetes 確實「相關」（可以跑訓練容器、可以調度 GPU），但「直接負責」這個關鍵字會把 K8s 推回它的編排本職。記憶口訣：「Docker 是貨櫃、K8s 是港口」——Docker 負責把應用打包成標準箱，K8s 負責調度、擴縮、故障切換、滾動部署這些「港口管理」工作。橫向連結：Q31（10000 RPS 高可用）就是 K8s 自動擴縮的標準應用場景；Q29（CI/CD）會搭配 K8s 完成「程式碼提交 → 建構容器 → 部署到叢集」的自動化鏈路。業界場景：大模型推論幾乎都跑在 K8s（KServe、Triton Inference Server on K8s），但訓練重型 LLM 因為要拉跨節點高速網路（InfiniBand/NVLink），有些團隊改用 Slurm 而非 K8s。",
    "14": "## 題目核心\n超參數調校（Hyperparameter Tuning）是 ML 流程必經一關，但有個隱形陷阱：「對驗證集過擬合（Overfitting to Validation Set）」——你不停試新組合、挑驗證分數最高的那組，等於把驗證集當第二個訓練集，模型在這組驗證資料上看起來表現很好，但換到新資料就崩。考點是：在「多組參數組合間反覆挑選」時，如何確保挑到的不是運氣好、而是泛化能力真的強？教材的標準答案是 Cross-Validation——用多次切分、平均評估，降低單次切分的偶然性，讓「在驗證資料上表現穩定」這件事更可信。\n\n## 為什麼答案是 (A) 採用交叉驗證（Cross-Validation）於多組參數組合間反覆評估，選擇在驗證資料上表現最穩定的設定\n教材原文：「在完成資料準備與模型選擇後，AI 專案會經歷一系列後續步驟，包括模型訓練、交叉驗證、性能評估，以及必要的調參與再訓練作業。」另一段在風險管理章節：「技術風險可透過模型驗證（如交叉驗證）與持續監控（如 TensorBoard）緩解。」── 教材把「交叉驗證」直接定位為「調參」階段降低技術風險的標準工具。交叉驗證的核心邏輯：把訓練資料切成 K 份（常見 K=5 或 10），輪流拿 1 份當驗證、其他 K-1 份訓練，重複 K 次後取平均分數。多組超參數比較時，這樣得到的指標比「單次 hold-out」更穩定，能挑出「在不同切分下都表現好」的設定，這就是「泛化能力強」的證據。\n\n## 為什麼其他選項錯\n- **(B) 使用早期停止機制（Early Stopping）監控訓練誤差並在收斂前停止訓練，以防模型學習過度** ── Early Stopping 是對抗「訓練輪數（epochs）過擬合」的招式（觀察驗證誤差不再下降就停），但題目問的是「多組超參數組合之間如何挑選」，那是更上層的選擇問題；而且 Early Stopping 也需要看驗證集表現，要可靠評估還是要靠交叉驗證。\n- **(C) 對輸入特徵進行標準化以減少特徵值差異帶來的過擬合風險** ── 標準化（Standardization, Z-score）解決的是「特徵尺度不一致導致梯度下降不穩定」（教材 L21301：「對於需要計算梯度的模型特別有效」），跟「超參數過擬合」是不同問題。\n- **(D) 提高模型複雜度並使用更多超參數搜尋範圍** ── 完全反向，越複雜的模型、越大的搜尋空間，越容易在驗證集上撈到「偶然表現好」的組合，過擬合風險反而暴增。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 1 章 前言與章節導覽 + 8.C 章 風險緩解** — chunks line 9（訓練流程明列「交叉驗證」為標準環節）與 line 343（明示「技術風險可透過模型驗證（如交叉驗證）緩解」）；補充參考 L21301 4 章演算法段落多次提及「過度擬合」是模型常見問題。\n\n## 融會貫通\n陷阱：(B) Early Stopping 跟過擬合直接相關，看起來很對，但題幹特別強調「在多組參數組合間反覆評估」，這是「選參數」而非「訓練單一模型」的層次，要選跨組比較工具——Cross-Validation 才是正解。橫向連結：實務超參數搜尋常見三套組合——Grid Search / Random Search / Bayesian Optimization（如 Optuna、Hyperopt），三種搜尋策略的「評估每一組」都需要 CV 才公平。CV 變形：K-Fold、Stratified K-Fold（分類任務確保類別比例）、Time-Series Split（時間序列不能隨機切，要按時序）、Leave-One-Out（小資料極致用法）。業界場景：Kaggle 比賽幾乎強制 5-fold CV，主因是「Public LB 容易被刷壞」，靠 CV 才能挑到真正穩定的方案；金融風控、醫療診斷模型更是直接把 CV 列入模型驗證報告的必要附件。",
    "17": "## 題目核心\nRAG（Retrieval-Augmented Generation）的價值來自「先檢索、後生成」這個兩階段架構：把外部知識當作 LLM 的「外掛記憶」，避免知識過時與幻覺。但 RAG 系統好壞的決定權，其實在「檢索階段」——如果撈出來的文件不對，後面 LLM 寫得再漂亮也是錯的（俗稱「Garbage In, Garbage Out」）。考點是辨識：「在檢索階段最關鍵的挑戰」是工程效能（速度、記憶體、函式庫選擇）還是「語意相關性對齊」？教材與業界共識都把語意對齊放在第一位，因為向量相似度（cosine）只能保證「形似」，不保證「意符」——這就是 (D) 的命中點。\n\n## 為什麼答案是 (D) 避免向量檢索結果僅具語意相似但與查詢意圖無實質關聯的情況\n教材原文：「檢索增強生成（RAG）：這一方法將「外部知識檢索」與「語言生成」結合，能夠在生成過程中整合大量外部資料，提升模型在背景知識要求較高任務中的準確性。」「在一個問答系統中，RAG 可以先檢索出相關的資料……再基於這些資料生成對應的答案。」── 教材強調 RAG 的目的是「提升準確性」，而準確性的前提就是檢索到的文件必須「與查詢意圖有實質關聯」。實務上，純粹的向量相似度（Cosine Similarity）會撈回「語意相似但答非所問」的結果（例如查「2024 蘋果新機規格」可能撈到「2023 iPhone 評測」），這就是 (D) 講的核心痛點。解法包含 hybrid retrieval（語意 + 關鍵字 BM25）、re-ranking（用 cross-encoder 重新打分）、query rewriting、metadata filtering 等。\n\n## 為什麼其他選項錯\n- **(A) 確保檢索到的文件能被完整納入語言模型的上下文視窗（Context Window）中進行生成** ── 這是「生成階段」的問題（context window 限制屬於 LLM 端），而且現代長上下文模型（Claude 200K、GPT-4 128K）已大幅緩解此限制；題目明問「檢索階段」最關鍵，這個選項偏離階段定義。\n- **(B) 選擇使用 Faiss 或 ScaNN 等近似最近鄰搜尋函式庫** ── ANN 函式庫選型是工程實作問題（要不要犧牲 recall 換速度、要不要 GPU 索引），有現成解可比較，但這不是「最關鍵」的挑戰；如果語意相關性沒解決，挑哪個 ANN 也是白搭。\n- **(C) 降低嵌入模型（Embedding Model）在高維空間中的計算成本與記憶體占用** ── 這是性能優化問題（量化、降維、選小模型），影響規模化部署成本，但不是 RAG「答對問題」的關鍵；答對問題的根本是檢索結果語意要對齊查詢意圖。\n\n## 📖 章節來源\n**L21101 自然語言處理 5 章 NLP 關鍵技術 ── 模型應用強化與高效微調技術** — chunks line 653-659（RAG 定義「將外部知識檢索與語言生成結合」、應用範例如問答系統與醫療摘要、強調「整合外部資料提升背景知識要求較高任務的準確性」）\n\n## 融會貫通\n陷阱：(A)(B)(C) 都是 RAG 系統的真實工程議題，會引誘以「工程師思維」答題的考生；但題幹明確限定「檢索階段」+「最關鍵」，得回到 RAG 的本質——檢索品質決定生成品質。橫向連結：Q3（BERT）與 Q4（GloVe/Word2Vec）涉及的「嵌入模型」就是 RAG 檢索的底層引擎，嵌入品質直接影響檢索品質；Q22 的 Data Drift 在 RAG 上也會發生——文件庫不更新會讓檢索結果過時。業界實務：成熟 RAG pipeline 一定有 re-ranking（拿到 top-50 後用更強的 cross-encoder 重排成 top-5）、query expansion（讓 query 變多樣去檢索）、guardrail（檢索分數低於閾值就明說「找不到資料」而非硬生成）。另一個常見坑：chunk 切太大會稀釋語意、切太小會失去上下文，chunk size 與重疊策略也是檢索階段的隱藏調參點。",
    "2": "## 題目核心\n跨國金融科技公司用 Transformer 做「長篇金融文件多語翻譯」→ 題目刻意點出「長篇」兩個字，這就是考點訊號：為什麼 Transformer 能處理「長」距離的語境關聯？真正考的不是 Transformer 是什麼，而是 Transformer 之所以打敗 RNN/LSTM 的那個關鍵機制 — Self-Attention（自注意力機制）對長距離依賴的建模能力。\n\n## 為什麼答案是 (A) 透過自注意力機制（Self-Attention Mechanism）捕捉長距離語境依賴關係\n教材原文（L21101 第 106 行）：「Transformer 架構摒棄了傳統的序列遞迴結構，轉而採用了自注意力機制（Self-Attention），使得每個詞在處理時能夠考慮到整個輸入序列中的所有其他詞，從而實現了全局語境的建模。這一架構的出現解決了『長距離依賴問題』。」第 570、580 行進一步補充：「Transformer 不再依賴時間序列結構，而是通過自注意力機制，同時捕捉輸入序列中各個詞彙之間的關聯」「能有效學習像是『主詞動詞』這類長距離依賴關係（Long-Range Dependencies）」。金融文件動輒數千字，前文的契約條款要跟後段的條件對應，正是 self-attention 的強項。\n\n## 為什麼其他選項錯\n- **(B) 透過卷積運算（Convolution Operation）加速訓練過程** ── Transformer 的核心是 self-attention 不是 convolution，CNN 是另一套架構（影像或局部特徵抽取），混淆兩者是典型的選項陷阱。\n- **(C) 透過強化學習（Reinforcement Learning）自動調整語句生成策略** ── Transformer 預訓練用的是自監督（masked LM / autoregressive LM），RL 只是 RLHF 階段的微調手段，不是「主要原因」。\n- **(D) 透過資料增強（Data Augmentation）平衡多語語料比例** ── 資料增強是資料端的處理技巧，與 Transformer 架構本身無關，多語平衡也不是改善「翻譯準確度」的主因。\n\n## 📖 章節來源\n**L21101 自然語言處理 2.4 章 預訓練語言模型階段** — chunks line 104-126 + 570-582（Transformer 架構崛起、Self-Attention 解決長距離依賴的核心論述）\n\n## 融會貫通\n陷阱：四個選項都是真實存在的 AI 技術，初學者容易被「強化學習」「資料增強」這種熟悉名詞吸走。鑒別點：題目問的是「Transformer 改善翻譯準確度的主要原因」，必須回到 Transformer 的架構本質 — 2017 年 Google 那篇〈Attention is All You Need〉的核心貢獻就是 self-attention，這也是它取代 RNN/LSTM 的關鍵。橫向連結：教材把 NLP 發展切成四階段（規則 → 統計 → 深度學習 RNN → 預訓練 LM），Transformer 是第四階段的開山祖師，後續 BERT、GPT、T5、PaLM 全都建立在 self-attention 之上。業界用法：今天所有大型語言模型（LLM）的底層都是 Transformer，self-attention 的時間複雜度是 O(n²)，因此處理超長文件時還需要搭配 Flash Attention、Sparse Attention、Sliding Window 等優化手段，但「捕捉長距離依賴」這個本質特性沒變。",
    "20": "## 題目核心\n模式崩潰（Mode Collapse）是 GAN 訓練的招牌災難：生成器發現「只要一直產出某張特定臉就能騙過鑑別器」，於是收斂到「樣本看起來很像、但全部都長一樣」的退化解，喪失生成多樣性。考點不只是辨識 Mode Collapse，而是要知道「從根本上」解決它的方法。教材把 Mode Collapse 與「訓練不穩定」並列為 GAN 階段限制，業界共識最對症的根治方案是 WGAN（Wasserstein GAN）——直接換掉原始 GAN 的損失函數（JS Divergence → Wasserstein 距離），讓鑑別器梯度更平滑、生成器更容易學到完整的資料分布，而非崩塌到單一模式。\n\n## 為什麼答案是 (B) 採用 Wasserstein 距離（WGAN 損失）替代原始的 GAN 損失函數\n教材原文：「2014 年，Ian Goodfellow 提出的對抗生成網路（GAN）……生成器學習逼近真實數據分佈，而判別器則負責區分生成數據與真實數據，形成動態平衡。」「階段限制：訓練不穩定（如模式崩潰 Mode Collapse）、對超參數敏感，且難以生成結構複雜的長序列內容。」── 教材明確點名 Mode Collapse 是 GAN 訓練不穩定的代表症狀。原始 GAN 用 JS Divergence 衡量真實分布與生成分布的差距，當兩分布不重疊時 JS 飽和、梯度消失，鑑別器再強也無法把訊號傳給生成器，生成器只好「死守一兩個能騙過的模式」。WGAN 改用 Wasserstein 距離（推土機距離 Earth Mover's Distance），即使分布不重疊也能提供有效梯度，生成器被推著去覆蓋更廣的資料分布，多樣性提升、Mode Collapse 大幅緩解。這是 WGAN 論文（Arjovsky et al. 2017）公認的核心貢獻。\n\n## 為什麼其他選項錯\n- **(A) 在鑑別器中加入梯度懲罰（Gradient Penalty）以穩定訓練過程** ── 梯度懲罰（WGAN-GP）確實能進一步穩定訓練，但它的設計動機是「強制鑑別器滿足 1-Lipschitz 約束」，是 WGAN 的補強配件而非根本對策；題目要的是「最常用且直接針對 Mode Collapse」的方法，主角還是 Wasserstein 損失本身。\n- **(C) 對生成器輸入的潛在向量加入隨機擾動** ── 加 noise 是常見的正則化手法，能略增多樣性，但無法解決 JS Divergence 的根本問題；生成器只要找到能騙過鑑別器的捷徑，無論輸入怎麼擾動還是會塌回去。\n- **(D) 使用多尺度鑑別器架構以提高對多樣性的判別能力** ── 多尺度鑑別器（如 MSG-GAN、ProGAN）主要解決「不同解析度細節」的訓練問題，對 Mode Collapse 有間接幫助但非主流解法；面對 Mode Collapse 的標準教科書解答仍是 WGAN 系列。\n\n## 📖 章節來源\n**L21103 生成式 AI 3 章 生成式 AI 模型發展史 B 段** — chunks line 81-93（GAN 時代特徵、生成器/鑑別器對抗機制、代表模型 DCGAN/CycleGAN/StyleGAN、明列階段限制「訓練不穩定（如模式崩潰 Mode Collapse）、對超參數敏感」）\n\n## 融會貫通\n陷阱：(A)(B) 容易混淆，因為 WGAN-GP 同時用了 Wasserstein 損失與梯度懲罰，但梯度懲罰是「為了讓 WGAN 在不用 weight clipping 的前提下仍滿足 Lipschitz 約束」，因此(B) 才是根本、(A) 是輔助。橫向連結：GAN 三大訓練痛點——Mode Collapse（多樣性塌陷）、Training Instability（生成器與鑑別器無法平衡）、Vanishing Gradient（鑑別器太強導致生成器學不到東西），三者其實同根同源，都因 JS Divergence 在不重疊分布下失效。WGAN 一次性解三個問題。業界場景：高品質人臉生成（StyleGAN 系列）、影像翻譯（CycleGAN）、超解析度（ESRGAN）幾乎都採用 Wasserstein 或其變體；近年 Diffusion 模型崛起後，GAN 在這些任務的地位被取代，主因之一就是 Diffusion 天然沒有 Mode Collapse 問題（透過逐步去噪覆蓋整個資料分布），這也是 Q40 提到的「擴散模型相對於 GAN 的穩定性優勢」。",
    "22": "## 題目核心\n這題考的是 MLOps 監控的核心動作：辨識「資料漂移（Data Drift）」是否真的發生。題目情境很經典——上線模型準確率掉了、團隊「懷疑」是顧客行為改變，但「懷疑」不等於「證實」。考點是：你要怎麼用「量化指標」證明輸入特徵的分佈真的偏移了？教材把 Data Drift 定義為「輸入資料的統計特徵改變」，要量化兩個分布之間的差距，最標準的工具就是 KL 散度（Kullback-Leibler Divergence）——資訊論中專門衡量「兩個機率分布相對熵」的指標。題目要鑑別「偵測 vs. 應對」：(D) 是偵測手段，(A)(B)(C) 是後續應對或無關的事。\n\n## 為什麼答案是 (D) 計算輸入特徵分佈間的 KL 散度（KL Divergence）\n教材原文：「資料漂移（Data Drift）：輸入資料的統計特徵改變，如欄位分佈或異常比例異常」「隨著時間推移與環境變動，資料分佈可能發生漂移（Data Drift），導致模型效能下降。應設立資料監測機制，當漂移超過門檻時，自動觸發模型再訓練流程」── 教材明確要求「設立資料監測機制」並「超過門檻就觸發再訓練」，這個「門檻」就需要一個可量化的距離指標。KL 散度衡量「訓練資料的特徵分布 P」與「目前線上資料的特徵分布 Q」之間的差距：DKL(P||Q) = Σ P(x) · log(P(x)/Q(x))。值越大代表分布差異越大；當 KL 散度超過設定門檻（例如 0.1）就警報觸發再訓練。這完全對應題目「偵測並確認資料分佈是否發生變化」的需求。\n\n## 為什麼其他選項錯\n- **(A) 定期重新訓練模型以應對外部變化** ── 這是「應對」漂移的手段而非「偵測」漂移；題目明確問「偵測並確認資料分佈是否發生變化」，定期重訓沒解決「怎麼知道發生漂移」這個前置問題；且盲目重訓在沒漂移時是浪費算力、在已大幅漂移後才重訓則為時已晚。\n- **(B) 提升模型複雜度以捕捉更多資料變異性** ── 複雜度提升容易過擬合（呼應 Q14、Q45 的考點），且這也是「應對」而非「偵測」，與題意南轅北轍。\n- **(C) 增加測試資料量以提高評估準確度** ── 測試資料量影響的是「評估指標的統計顯著性」，但無法偵測「線上輸入資料 vs. 訓練資料」的分布偏移；漂移偵測比較的是兩個資料分布，不是評估誤差。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5.B 章 模型監控與回饋機制** — chunks line 183-191（明列 Model Drift 與 Data Drift 為監控項目）與 line 243-245（漂移超過門檻自動觸發再訓練的機制設計）；對應 Q46 重複考點「資料漂移與概念漂移監測機制」。\n\n## 融會貫通\n陷阱：(A) 定期重新訓練聽起來「合理且務實」，是很多新手會選的答案；但題目把「偵測 vs. 應對」分得很開，需嚴格扣題。橫向連結：Data Drift 與 Concept Drift 是兩種不同漂移——Data Drift 是「P(X) 變了」（輸入特徵分布變），Concept Drift 是「P(Y|X) 變了」（同樣的輸入對應的輸出關係變了，例如同樣信用評分對應的違約率變了）。兩者偵測指標不同：Data Drift 常用 KL Divergence、JS Divergence、PSI（Population Stability Index）、KS 檢定；Concept Drift 常透過監控預測準確率/誤差是否下降。業界場景：金融風控、電商推薦、廣告 CTR 預測都是漂移高發地帶，成熟 MLOps 平台（Evidently AI、WhyLabs、Arize）內建 PSI/KL/JS 三種指標儀表板。實務上 PSI 比 KL 更常用，因為 PSI 在零機率區塊有特殊處理，KL 散度在分布完全不重疊時會發散到無窮，需要做平滑（Laplace smoothing）才穩。",
    "24": "## 題目核心\n金融 AI 風控系統被駭客以「微小但惡意的擾動」欺騙 → 這就是典型的對抗性攻擊（Adversarial Attack）。題幹「從根本上解決模型自身對這類攻擊的脆弱性」是關鍵：考點是分辨哪些手段是針對「模型本體 / 輸入層」的防禦，哪些只是「外圍網路安全」。本題是「找出不相關的」反向題，要選那個不對症下藥的選項。\n\n## 為什麼答案是 (D) 在模型部署環境中強化網路防火牆，以阻擋來自未授權來源的網路連線\n教材原文：「模型可能被攻擊或誤用，生成偽造內容（如 Deepfake 影像或語音）」── 解決策略為「模型安全：加入對抗訓練（Adversarial Training）與生成內容檢測機制，防範偽造風險」。對抗性攻擊的本質是「合法身份的使用者提交了惡意設計的輸入特徵」，攻擊發生在模型推論層，而不是網路傳輸層。防火牆攔的是「未授權連線」，但對抗樣本通常透過合法 API、合法身份送進來，防火牆完全擋不到，因此這是「不相關的安全手段」，並非針對該攻擊型態。\n\n## 為什麼其他選項錯（其實是正確的防禦手段）\n- **(A) 強化資料前處理，用以過濾掉格式不符或數值極端異常的輸入** ── 輸入特徵異常檢測就是針對對抗擾動的第一道防線，可在進入模型前過濾掉明顯偏離正常分佈的擾動樣本，是有效手段。\n- **(B) 在模型訓練階段導入對抗樣本訓練，以提升模型對惡意特徵擾動的辨識與防禦能力** ── 這就是教材明文點名的「對抗訓練（Adversarial Training）」，直接針對模型脆弱性，是最核心的防禦方法。\n- **(C) 於推論後階段使用規則引擎，以確保模型的預測結果不違反既有的業務硬性規定** ── 後處理規則檢查能擋下「模型被欺騙後產生明顯違反業務邏輯的結果」（例如貸款給高風險戶），形成最後一道安全網。\n\n## 📖 章節來源\n**L21104 多模態 AI 1.4 章 隱私與法規** — chunks line 247-255（資安挑戰與解決策略：對抗訓練、生成內容檢測、資料保護、法規遵循）\n\n## 融會貫通\n陷阱：(D) 防火牆聽起來很「資安」，乍看之下會以為金融系統當然要強化網路防護，但題幹明確問「針對對抗性攻擊型態」，這就把答案範圍鎖在「對輸入特徵擾動有抵抗力的手段」。橫向連結：對抗性攻擊在業界分為 evasion attack（推論階段擾動）、poisoning attack（訓練資料下毒）、model extraction（模型萃取），對應的防禦分別是對抗訓練、資料驗證、模型浮水印 — 都是針對 AI 模型本身的攻擊面。網路安全（防火牆、WAF、DDoS 防護）和 AI 安全是兩個獨立 layer，金融機構兩個都需要做，但別搞混誰打誰。",
    "29": "## 題目核心\nAI 開發團隊導入 CI（Continuous Integration）流程提升效率與品控 → 考點是 CI 的本質定義：「每次程式碼提交後自動觸發建置與測試」。題目其他選項都帶有「定期/手動/批次」字眼，這是用來考鑒別 CI 與傳統開發流程的差別。CI 的精神就是「小步快跑、即時驗證」，不是定期合併。\n\n## 為什麼答案是 (B) 每次程式碼提交（Commit）後自動觸發建置、單元測試及靜態程式碼分析\n教材原文：「CI 持續整合（Continuous Integration）內容包含：原始碼與資料變動即觸發模型訓練與測試流程。整合單元測試、模型準確率驗證與效能基準比較」── 對應到 (B) 的「每次 commit 後自動觸發建置、單元測試及靜態程式碼分析」，完美符合 CI 的「即時觸發 + 自動測試」兩大核心。靜態程式碼分析也是 CI Pipeline 標準環節，能在合併前抓出品質問題，有效減少整合風險。\n\n## 為什麼其他選項錯\n- **(A) 在主分支（Main Branch）每日固定時間手動合併並執行完整測試流程** ── 「每日固定時間」「手動合併」違反 CI 的「即時觸發」與「自動化」兩大原則，這比較像傳統 nightly build，整合風險仍然累積在一天份的 commits 上。\n- **(C) 於模型訓練完成後，定期安排開發團隊回顧並合併程式碼** ── 「定期回顧合併」是 code review meeting 的做法，整合動作仍然延後且依賴人為協調，無法達到「commit 即觸發」的 CI 標準。\n- **(D) 透過自動化部署腳本，將模型在特定時間點批次釋出到測試環境** ── 這是 CD（Continuous Deployment）的範疇，且「特定時間點批次釋出」也偏離 CD 的持續性精神，跟 CI（測試整合）不是同一回事，混淆了 CI 與 CD 的角色。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5.2 章 MLOps 與持續維運** — chunks line 155-179（CI/CD 定義、模型版本控管 MLflow/DVC、藍綠部署）\n\n## 融會貫通\n陷阱：(D) 講「自動化部署腳本」很像 CI，但「特定時間點批次釋出」是個破綻 — CI/CD 的「Continuous」就是反對 batch、反對定期。橫向連結：MLOps 把 DevOps 的 CI/CD 擴充為 CI/CD/CT（Continuous Training），多出「資料變動也要觸發訓練」這條，所以 MLOps 的 CI 不只跑 code test，還要跑 model accuracy validation 和 performance benchmark。業界實作常用 GitHub Actions / GitLab CI / Jenkins + MLflow + DVC 組合，每個 PR 觸發完整 pipeline 是基本款。",
    "3": "## 題目核心\n企業要用 BERT 做客服意見分析（理解類任務），題目鎖定 BERT 預訓練核心策略之一 ── Masked Language Model（MLM）。考點在於：MLM 是「遮住一部分詞，讓模型用雙向上下文還原」的填空式學習，與 GPT 的自迴歸生成是兩種完全不同的預訓練典範。能不能分辨「雙向 vs 單向、填空 vs 生成」是這題的鑑別點。\n\n## 為什麼答案是 (B) 隨機遮罩部分詞語，並讓模型根據雙向上下文（Bidirectional Context）預測被遮罩的詞\n教材原文（L21101 第 118 行）：「BERT 是第一個基於 Transformer 架構的雙向預訓練模型，利用遮蔽語言建模（Masked Language Model, MLM）進行預訓練，並能夠進行雙向上下文的理解」。第 536 行進一步說明：「BERT 由 Google 於 2018 年推出的革命性模型，採用雙向 Transformer 編碼器，並以遮蔽語言模型（Masked Language Model, MLM）與句子關聯預測作為預訓練任務」。第 623 行：「BERT 使用雙向編碼器架構，透過 Masked Language Model（MLM）與 Next Sentence Prediction（NSP）進行預訓練」。三處原文一致：MLM 的本質就是「隨機遮罩 → 雙向上下文預測」。\n\n## 為什麼其他選項錯\n- **(A) 依序遮罩句尾詞語，讓模型從左到右逐步生成完整句子** ── 這是 GPT 的自迴歸（autoregressive）生成方式，是單向的，跟 BERT 雙向 MLM 剛好相反。\n- **(C) 透過對抗訓練（Adversarial Training）生成語意相似的擾動樣本以提升泛化性** ── 對抗訓練是另一條技術路線（如 ELECTRA、對抗樣本防禦），不是 BERT 預訓練的策略。\n- **(D) 以未遮罩的詞為條件，使用解碼器（Decoder）結構重建整句內容** ── BERT 用的是 Transformer Encoder，不是 Decoder；用 Decoder 重建整句是 seq2seq 或 BART 等去噪自編碼器的做法。\n\n## 📖 章節來源\n**L21101 自然語言處理 2.4 章與 4.2 章 預訓練語言模型 / 深度學習在 NLP 中的應用** — chunks line 118、536-548、620-625（BERT 雙向 Transformer Encoder、MLM 與 NSP 預訓練、與 GPT 自迴歸的對照）\n\n## 融會貫通\n陷阱：(A) 表面上看也是「遮罩」，但「依序遮罩句尾 + 從左到右生成」是 GPT 風格 — 這正是命題者故意設的混淆。鑒別點：BERT 之所以叫 Bidirectional Encoder Representations，重點在 Bidirectional（雙向）和 Encoder，所以策略必須是「同時看左右上下文」而非「單向生成」。橫向連結：BERT 預訓練其實有兩個任務 — MLM（字粒度填空）+ NSP（句子對關係預測），後來的 RoBERTa 證明 NSP 可有可無，MLM 才是真正的關鍵。業界用法：BERT 系列（BERT、RoBERTa、ALBERT、DeBERTa）通常用於分類、問答、檢索、Embedding 等「理解類」任務；GPT 系列則主打生成。今天做 RAG 系統時，Embedding 模型（如 BGE、E5）多半源自 BERT 家族，正是因為雙向上下文對「語意理解」最關鍵。",
    "30": "## 題目核心\n銀行將 AI 詐欺偵測整合進核心交易系統，主管機關要求符合「不可否認性（Non-repudiation）」以支援法務追蹤與稽核 → 考點是資安三大特性中的「不可否認性」對應的技術手段。資安 CIA 之外，金融監管特別強調 Non-repudiation：「事後當事人無法否認自己做過的行為」。實作上必須結合「加密雜湊（保證內容沒被改）+ 數位簽章（綁定身份）」這兩個技術，缺一不可。\n\n## 為什麼答案是 (A) 為每筆 AI 模型推論記錄其輸入與輸出結果的加密雜湊值（Hash），並簽署數位簽章以確保不可竄改性\n教材原文：「AI 系統的存取必須納入資訊安全考量，特別是在涉及個資、商業機密或金融應用時」── 安全措施包括「使用 OAuth2 或 JWT 進行用戶身份驗證與授權」「實作 API Gateways 進行存取日誌記錄與流量控管」。(A) 為每筆推論記錄加密雜湊 + 數位簽章，做到三件事：① 雜湊值不可竄改（資料完整性），② 簽章綁定簽署者身份（身份證明），③ 留下無法否認的稽核軌跡（不可否認性）。這正是金融監管法務追蹤所需的鏈條，缺一不可。\n\n## 為什麼其他選項錯\n- **(B) 優化模型效能以降低平均推論延遲至 100ms 以下，提升使用者體驗** ── 屬於「效能優化」面向，與不可否認性無關。延遲降低提升 UX，但不能讓事後當事人無法否認交易。\n- **(C) 增加主機備援數量，以確保系統在故障時持續可用** ── 屬於「可用性（Availability）」面向，是資安 CIA 三角的「A」。可用性高也無法防止當事人事後否認過去做過的決策，跑錯資安維度。\n- **(D) 將模型推論請求導入負載平衡器，避免單點壅塞導致服務延遲** ── 屬於「擴展性與效能」設計，跟稽核、簽章、身份綁定毫無關聯，無法滿足法務追蹤需求。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5.2 章 安全與權限控管** — chunks line 31-43（OAuth2/JWT 身份驗證、角色權限、API Gateway 存取日誌；數位簽章為法務追蹤標準手段）\n\n## 融會貫通\n陷阱：(C)(D) 都是合理的系統架構設計（高可用 + 負載平衡），但跑題了 — 題目鎖死在「不可否認性」這個資安特性，不能用「效能、可用性」混過去。橫向連結：資安 CIA + Non-repudiation 四大特性的對應技術 → C 機密性（加密）/ I 完整性（雜湊）/ A 可用性（備援）/ Non-repudiation（雜湊+數位簽章）。金融業界落地常見：每筆 AI 風控決策的 input/output + 模型版本 + timestamp 全部 hash 後寫入不可竄改的 audit log（甚至上鏈），萬一客戶事後申訴，可以舉證當時模型確實依規則決策。",
    "31": "## 題目核心\nAI 服務每次推論 1 秒，要支撐 10,000 RPS，並具備高可用、應付流量峰值 → 考點是「面對大流量 + 不確定峰值」的標準解法：水平擴展（Horizontal Scaling）+ 容器化 + Auto Scaling。這題在比較垂直擴展（堆機器規格）與水平擴展（堆機器數量），考生要會選後者，因為單機再強也有上限，且單點故障無法達成高可用。\n\n## 為什麼答案是 (B) 採用容器化部署並水平擴展服務實例，結合自動彈性伸縮機制（Auto Scaling）\n教材原文：「容器化技術（如 Docker）可將應用程式與其依賴環境封裝在一起，確保跨平台部署一致性。為管理大量容器，常結合 Kubernetes（K8s）進行容器編排」── 常見實作原則包括「自動擴縮（Autoscaling）：根據流量自動調整容器數量」與「負載平衡（Load Balancing）：確保多個推論節點分擔請求壓力」。(B) 正是這套組合拳：容器化解決部署一致性，水平擴展解決吞吐量上限，Auto Scaling 解決流量峰值彈性，三者合起來達成 10,000 RPS 與高可用兩個要求。\n\n## 為什麼其他選項錯\n- **(A) 依賴單台超高效能伺服器進行垂直擴展，提升硬體規格** ── 垂直擴展（Vertical Scaling）有硬體上限、成本不成比例上升，且「單台」=單點故障，違反高可用要求。教材也明示「冗餘部署（Redundancy）：多節點部署避免單點故障」。\n- **(C) 限制最大併發連線數，以避免系統過載** ── 這是「限流/丟棄請求」做法，治標不治本。題目要求是「穩定應付 10,000 RPS」，限流等於主動拒絕業務，是退讓不是解方。\n- **(D) 增加批次處理大小，一次同時處理上千筆請求** ── 批次處理（Batch Inference）會大幅拉高單筆請求的延遲（要等湊滿一批），對「每次推論 1 秒」的即時服務情境根本不適用，業務體驗會崩。\n\n## 📖 章節來源\n**L21302 AI 技術系統集成與部署 5.2 章 系統架構設計** — chunks line 67-101（容器化 Docker/K8s、自動擴縮 Autoscaling、負載平衡、冗餘部署 Redundancy、容錯切換 Failover）\n\n## 融會貫通\n陷阱：(D) 「批次處理」聽起來很有效率，常見資料工程做法，但跑題了 — 即時推論 ≠ 批次推論，題幹「每次推論 1 秒完成」隱含這是 online serving，不是 offline batch job。橫向連結：水平 vs 垂直擴展是雲端架構基本功 — 垂直加強單機（CPU/RAM/GPU），有物理上限且 downtime 升級；水平加實例數量，無上限且滾動更新不中斷。業界 AI serving 標配：Kubernetes + HPA（Horizontal Pod Autoscaler）依 CPU/QPS 動態伸縮，前面掛 Load Balancer 平均流量，搭配 Liveness/Readiness Probe 做 Failover，這就是 10K RPS 等級的標準解。",
    "35": "## 題目核心\n媒體公司用 CLIP 自動標註影像，且「無需新增標訓資料、僅透過文字提示就能識別影像」 → 考點是 CLIP 的兩大關鍵特性：① 圖文映射至共同嵌入空間（Shared Embedding Space），② 零樣本分類能力（Zero-shot Classification）。這兩點來自對比學習（Contrastive Learning）的訓練範式。題目把這兩個技術特性都寫進選項，要考生辨識 CLIP 的本質，不要被其他名詞混淆。\n\n## 為什麼答案是 (A) 透過圖文對比式學習（Contrastive Learning）將影像與文字映射至共同嵌入空間（Shared Embedding Space），可直接以語意相似度進行零樣本分類\n教材原文：「CLIP（Contrastive Language-Image Pre-training）由 OpenAI 於 2021 年提出，透過對比學習（Contrastive Learning）實現圖片與文字的語意對齊。其訓練過程使用大量圖文配對資料，將圖片與文字映射至同一向量空間，使語意相符的圖文對在空間中距離接近，反之則遠離」「優勢：零樣本（Zero-shot）學習能力強，無需針對特定任務重新訓練即可應用」── (A) 完整對應教材三個關鍵詞：對比學習、共同嵌入空間、零樣本分類，且邏輯一致：因為圖文在同一空間且按語意距離排列，所以可以拿任意文字當「分類標籤」做語意檢索 = 零樣本。\n\n## 為什麼其他選項錯\n- **(B) 透過影像增強與特徵擴散降低標訓資料需求** ── 「影像增強（Data Augmentation）」是訓練前資料層面的擴充技巧（旋轉、裁切、加噪），不是 CLIP 的核心機制。「特徵擴散」更非標準術語，混淆視聽。\n- **(C) 以監督式學習結合多層感知器（Multilayer Perceptron, MLP）進行影像特徵分類** ── 監督式學習 + MLP 是傳統影像分類流程（如 ImageNet pretrained 模型），但需要「特定類別的標注資料」訓練分類頭，違反題幹「無需新增標訓資料」的條件，本質不是 zero-shot。\n- **(D) 以自迴歸生成模型（Autoregressive Model）逐步生成文字標籤描述影像內容** ── 自迴歸生成是 GPT/LLaMA 那類「逐字生成」的範式，是 Image Captioning 任務（圖→生成文字），不是 CLIP 的對比學習機制。CLIP 是判別模型（算 image/text 相似度），不是生成模型。\n\n## 📖 章節來源\n**L21104 多模態 AI 1.4 章 多模態 AI 常見模型與工具** — chunks line 55-71（CLIP 對比學習、圖文編碼器、Contrastive Loss、零樣本能力、圖文匹配/檢索/標題生成應用）\n\n## 融會貫通\n陷阱：(D) 「自迴歸生成文字標籤」聽起來很像「給圖配文字」的任務，容易誤選 — 但 CLIP 本身不生成文字，它是「比較相似度」。生成式描述是 BLIP、GIT 那類 vision-language model 的功能，要區分清楚。橫向連結：CLIP 是後續 DALL·E、Stable Diffusion 的文字編碼基礎 — Stable Diffusion 的 text-to-image 就是用 CLIP text encoder 把 prompt 編碼成 condition，再餵給 UNet 做擴散生成。業界用 CLIP 做 zero-shot 圖片分類非常省力：給 N 個類別文字（例如「a photo of a cat / dog / car」），把圖片與每個文字算相似度，最高的就是分類結果，完全免微調。",
    "37": "## 題目核心\n大型語音合成模型訓練時 GPU 記憶體不足，但模型架構固定、不能換硬體 → 考點是「在維持收斂品質前提下，怎麼降低單張 GPU 的記憶體壓力」。題目排除了「換硬體、改模型」這兩條路，剩下能調的就是「批次大小 + 分散式訓練策略」。本題在考批次大小（Batch Size）與 GPU 記憶體的關係，以及多卡分散負載的概念。\n\n## 為什麼答案是 (B) 採用較小的批次大小（Batch Size）並搭配資料分片（Data Sharding）分散訓練負載\n教材原文（資源需求與運算負荷）：「GPU/TPU 資源限制：邊緣設備運算資源有限，需要選擇更輕量化的模型」「批次處理延遲：若在影像串流中出現延遲，將影響即時性與效能」── 雖然教材沒直接寫 Data Sharding，但語意一致：(B) 從兩個角度解決問題 ── ① 縮小 Batch Size 直接降低單卡每次處理的 tensor 大小（GPU 記憶體主要被 activation/gradient 佔用，跟 batch 成正比）；② 資料分片把訓練資料切片分散到多張 GPU 上，每張卡只處理一小塊（data parallelism / sharded training），記憶體壓力平均化。這也是業界 LLM 訓練的標準做法（如 ZeRO、FSDP）。\n\n## 為什麼其他選項錯\n- **(A) 減少訓練資料量以降低記憶體使用** ── GPU 記憶體佔用主要由「批次大小 × 模型大小 × 中間激活值」決定，與「訓練資料總量」無關（總量只影響存儲與 epoch 時間）。減少資料量還會傷害收斂品質，違反題幹「維持模型效能」前提。\n- **(C) 增加學習率（Learning Rate）以加快收斂速度** ── 學習率是優化器超參數，影響的是「收斂速度與穩定性」，與 GPU 記憶體用量無關。盲目調高還可能發散，不僅沒解決問題還傷品質。\n- **(D) 改用測試資料集（Test Set）進行部分訓練以節省空間** ── 嚴重違反 ML 基本原則 — 測試集是用來「最後評估泛化能力」的，混進訓練會導致 data leakage，評估失真，且這方法既傷品質也不解決記憶體問題（資料總量小不會降低單卡 memory pressure）。\n\n## 📖 章節來源\n**L21102 電腦視覺 5.2 章 部署與維運風險** — chunks line 451-457（GPU/TPU 資源限制、批次處理延遲、運算負荷）；分散式訓練屬業界標準延伸（ZeRO/FSDP/DDP）\n\n## 融會貫通\n陷阱：(A) 「減少訓練資料」很容易被誤選 — 直覺以為「資料少 = 用的記憶體少」，但 ML 訓練的 GPU memory 主要被 model weights + activations + optimizer states 占用，與 dataset 總量無關。橫向連結：GPU 記憶體優化的完整工具箱 → ① 縮小 Batch Size，② Gradient Accumulation（用累積梯度模擬大 batch），③ Mixed Precision（FP16/BF16 半精度），④ Gradient Checkpointing（用算力換記憶體），⑤ Data/Model/Pipeline Parallelism（多卡分散），⑥ ZeRO/FSDP（optimizer state + gradient + param 全部分片）。業界訓練 LLM 一定是這幾招組合使用。",
    "39": "## 題目核心\nARIMA 預測每週銷售量，發現「預測誤差呈週期性波動」且「ACF 顯示殘差在多個時滯上仍顯著不為零」 → 考點是時間序列模型診斷的核心準則：「好模型的殘差應該是白噪音（White Noise）」。若殘差仍有自相關（ACF 顯著），代表模型沒抓到所有的時間依賴結構 = 配適不足（Underfitting），需要重新調整 ARIMA(p, d, q) 的 p（自迴歸階數）或 q（移動平均階數）。\n\n## 為什麼答案是 (C) 模型存在配適不足（Underfitting）問題，需重新調整 p 或 q 參數以捕捉時間依賴性\n教材原文（迴歸演算法章節）：「線性迴歸通過建立自變量與因變量之間的線性關係來進行預測。適用於資料具有線性關係的情況」── 同理，ARIMA 是用 p 階自迴歸 + q 階移動平均建模時間序列，若殘差 ACF 仍顯著，代表還有未被模型解釋的時間結構。題幹兩個關鍵證據：① 誤差「週期性波動」(可能還需引入季節性 SARIMA 或更高階)，② 殘差 ACF 多 lag 顯著（自相關沒被消除）。兩者共同指向 (C) 配適不足，正確的處理是提高 p 或 q 階數，讓模型抓得更全。\n\n## 為什麼其他選項錯\n- **(A) 模型殘差符合白噪音（White Noise）假設，預測表現穩定** ── 完全相反。白噪音的定義是「ACF 在所有非零 lag 都不顯著、均值零、變異數固定」，而題目描述「ACF 多 lag 顯著」恰好證明殘差不是白噪音，模型不穩定。\n- **(B) 模型殘差雖有輕微異常，但可視為隨機誤差忽略不計** ── 「多個 lag 顯著」是系統性偏差，不是輕微異常。時間序列建模的鐵律就是「殘差必須是白噪音才算合格」，忽略殘差自相關等於放棄模型診斷。\n- **(D) 殘差特性不影響預測結果，無須進一步修正** ── 嚴重錯誤。殘差是模型「沒解釋掉的部分」，若其中還有系統性結構，代表模型可預測的訊息被當噪音丟棄了，未來預測必然失準，且置信區間估計也會偏小。\n\n## 📖 章節來源\n**L21301 AI 應用與工具 5.1 章 監督式學習迴歸與分類演算法** — chunks line 155-181（線性迴歸 / 決策樹迴歸 / 隨機森林等迴歸方法、過度擬合與欠擬合概念）；ARIMA(p, d, q) 三參數診斷為時間序列標準流程\n\n## 融會貫通\n陷阱：(A) 「殘差符合白噪音 = 模型好」是時間序列課本第一頁的話，考生背過會直覺選 — 但要看清楚題幹「ACF 顯著」是直接反證白噪音假設失敗。橫向連結：ARIMA(p, d, q) 三參數對應 → p（AR 自迴歸階數，用 PACF 圖判斷）/ d（差分階數，讓序列平穩）/ q（MA 移動平均階數，用 ACF 圖判斷）。診斷流程：① 看 ACF/PACF 選 p, q，② 跑 Ljung-Box test 檢驗殘差白噪音，③ 殘差有自相關就提高階數或加入季節項（SARIMA）。業界處理「週期性波動」常用 SARIMA(p,d,q)(P,D,Q,s) 加入季節性參數，或改用 Prophet / 深度模型如 LSTM / Temporal Fusion Transformer。",
    "4": "## 題目核心\n詞向量訓練有兩個經典方法 — Word2Vec（2013, Google）與 GloVe（2014, Stanford）。表面上都是把詞轉成向量，但底層哲學完全不同：Word2Vec 是「預測式」（predict-based），用神經網路預測中心詞或上下文詞；GloVe 是「統計式」（count-based / co-occurrence-based），用整個語料的詞-詞共現矩陣做矩陣分解。考點直接命中這個分水嶺。\n\n## 為什麼答案是 (C) Word2Vec 為基於預測的模型，而 GloVe 為基於共現統計的模型\n教材原文（L21101 第 448-450 行）：「Word2Vec 是基於神經網路的詞嵌入方法，有兩種主要架構、通過 CBOW（Continuous Bag of Words）和 Skip-gram 兩種模型來學習詞彙和上下文之間的關係」── CBOW 用上下文「預測」中心詞、Skip-gram 用中心詞「預測」上下文，本質都是 prediction-based。第 478 行：「GloVe 結合了統計共現資訊與詞嵌入學習的特性，用來學習每個詞的『靜態向量表示』。GloVe 是利用整體語料庫中詞與詞共現的統計資料（共現矩陣），透過矩陣分解的方式來學習每個詞的向量」── 明確點出 GloVe 走的是 count-based + matrix factorization 路線。兩者對照無誤對應到答案 (C)。\n\n## 為什麼其他選項錯\n- **(A) Word2Vec 以詞頻權重訓練詞向量，而 GloVe 以隨機初始化向量進行學習** ── 主客顛倒。基於詞頻 / 共現統計的是 GloVe，不是 Word2Vec；隨機初始化是兩者通用的起手式，不構成差異。\n- **(B) Word2Vec 以全局統計矩陣為基礎，而 GloVe 採用神經網路進行上下文預測** ── 完全把兩者寫反，是教科書級陷阱題。\n- **(D) Word2Vec 僅能用於靜態文本語料，而 GloVe 可應用於即時語料更新** ── 兩者都產生「靜態詞向量」（每個詞一個固定向量），都不支援即時更新，要動態語境表示得靠 ELMo 或 BERT。\n\n## 📖 章節來源\n**L21101 自然語言處理 4.1 章 詞嵌入（Word Embedding）方法** — chunks line 446-483（Word2Vec CBOW/Skip-gram 預測式架構、GloVe 共現矩陣分解方法、king-queen 類比示例）\n\n## 融會貫通\n陷阱：(B) 故意把兩者描述對調，記憶模糊的人很容易誤選。鑒別點：記住「Word2Vec = predict（神經網路）」「GloVe = count（共現矩陣分解）」這一組對偶。橫向連結：詞嵌入家族還有 FastText（Word2Vec 改良版，支援 sub-word 解決 OOV）和 ELMo / BERT（contextual embedding，同一個詞在不同句子有不同向量）。教材也提醒：Word2Vec 和 GloVe 都是「靜態」embedding，無法處理多義詞（bank = 銀行還是河岸？要靠 BERT 才能分辨）。業界用法：今天做 RAG 或語意搜尋已經少用 Word2Vec/GloVe，主流是 sentence-transformer 系列、BGE、E5 等基於 Transformer 的句向量；但這兩個經典方法仍是理解詞向量發展脈絡的必經之路，面試也常考。",
    "40": "## 題目核心\n題目要求辨識 VAE、GAN、Diffusion Model 三大生成模型在「多模態潛在空間對齊」與「生成策略」上的根本差異。考點是教材中三大模型的本質定位：VAE 是顯式機率建模、GAN 是對抗訓練、Diffusion 是逐步去噪。能不能把這三者的「對齊機制」與「生成策略」配對說對，是區分一般背誦與真正理解生成式 AI 演進脈絡的分水嶺。\n\n## 為什麼答案是 (A) VAE透過顯式潛在變數建模實現跨模態對齊，適合捕捉整體語意結構但生成解析度有限；GAN透過對抗損失（Adversarial Loss）在不同模態間學習分佈映射，生成品質高但穩定性差；擴散模型則以條件化噪聲反推（Conditional Denoising）方式實現高保真跨模態生成，兼具穩定性與多樣性\n教材原文：「VAE 利用變分推斷（Variational Inference）生成數據，強調機率建模」、「VAE 通過學習數據的潛在分佈（Latent Distribution），能夠從隨機噪聲中重建圖像或文本」、生成結果「往往模糊（如低解析度圖像）」── 對應 (A) 的「顯式潛在變數建模、解析度有限」。GAN 部分：「通過生成器與判別器的對抗訓練」、「訓練不穩定（如模式崩潰）」── 對應 (A) 的「對抗損失、品質高但穩定性差」。擴散模型部分：「通過逐步去噪（Denoising）的過程，從隨機噪聲生成細節豐富的圖像」、「強調逐步優化生成過程；多模態模型依賴預訓練與跨模態對齊」── 對應 (A) 的「條件化噪聲反推、兼具穩定性與多樣性」。三段描述都緊扣教材對各模型的本質定義。\n\n## 為什麼其他選項錯\n- **(B) VAE與 Diffusion Ｍodel均屬隱式生成架構，主要依賴對抗式訓練實現跨模態對齊；GAN則以顯式後驗估計方式提升樣本一致性** ── 完全顛倒。VAE 是「顯式」機率建模（用變分推斷估計後驗），不是隱式；GAN 才是隱式分佈學習；Diffusion 也不靠對抗訓練，靠的是去噪過程。\n- **(C) VAE與 GAN 均使用馬爾可夫鏈（Markov Chain）進行跨模態轉換；Diffusion Model 則透過 KL散度最小化學習語意對應** ── 也是錯位。馬爾可夫鏈是 Diffusion 的核心（前向加噪、反向去噪是馬可夫過程），VAE/GAN 都不用。KL 散度反而是 VAE 變分推斷中用來逼近後驗分佈的核心工具。\n- **(D) 三者在多模態應用中皆依賴同一潛在表徵空間（Shared Latent Space），僅在解碼器結構不同而已** ── 過度簡化。三者的潛在空間定義、訓練目標、生成路徑都根本不同，不是「只換解碼器」的差異。\n\n## 📖 章節來源\n**L21103 生成式 AI 介紹 2 章 生成式 AI 基礎概念與演進脈絡** — chunks line 27-43（生成式 vs 鑑別式比較表，GPT/VAE/GAN/Diffusion 並列為生成式代表）、line 65-117（初期 VAE → GAN → Transformer → 擴散與多模態五階段演進，含各階段技術特徵與限制）\n\n## 融會貫通\n陷阱：(B)(C) 故意把術語打亂洗牌（隱式/顯式互換、Markov Chain 配錯模型、KL 散度錯位），考的是有沒有真正理解每個模型的數學基礎。記住三句話可破解：VAE = 機率（變分推斷 + KL 散度逼近後驗）；GAN = 博弈（生成器 vs 判別器對抗）；Diffusion = 物理（加噪／去噪的 Markov 過程）。業界選型口訣：要快速取樣選 GAN／要可控生成（編輯潛在空間）選 VAE／要高品質與穩定性選 Diffusion。多模態大模型如 Stable Diffusion 屬於「擴散 + CLIP 圖文對齊」的組合拳，這就是教材說的「跨模態對齊」實作範式。",
    "42": "## 題目核心\n題目設定：鑑別式 Transformer Classifier 部署到金融風控系統，上線後分類錯誤率上升，原因是輸入資料分佈已偏離訓練集（典型 Data Drift 情境）。考點是「鑑別式架構不擅長偵測自身輸入分佈變化」這個架構性限制，以及「VAE 透過學習資料潛在分佈，可作為分佈偵測工具」的跨模型互補應用。考的是能不能想到「用生成式模型監控鑑別式模型」這個架構組合。\n\n## 為什麼答案是 (D) 使用變分自編碼器（VAE）監控潛在空間分佈，偵測輸入資料偏移\n教材原文（L21103）：「VAE 利用變分推斷（Variational Inference）生成數據，強調機率建模」、「VAE 通過學習數據的潛在分佈（Latent Distribution）」── VAE 的本質是學習資料的「分佈」，當新樣本被編碼到潛在空間時，若偏離原訓練分佈，會有明顯的重建誤差或潛在向量異常，正好可作為「分佈外（OOD）偵測器」。教材（L21302）也明確：「資料漂移（Data Drift）：輸入資料的統計特徵改變」、「應設立資料監測機制，當漂移超過門檻時，自動觸發模型再訓練流程」。VAE 監控潛在空間正是這套監測機制的具體實作，能在分類器還沒崩壞前就預警。\n\n## 為什麼其他選項錯\n- **(A) 改用生成對抗網路（GAN）生成新樣本並混入訓練集** ── GAN 學的是原始訓練分佈，生成的樣本仍屬舊分佈，無法解決「新輸入已偏移」的核心問題；而且 GAN 訓練不穩定（教材提到模式崩潰），不適合放在金融風控這種高穩定性需求場景。\n- **(B) 改用邏輯迴歸模型（Logistic Regression）以提升穩定性** ── 換成更簡單的模型只會犧牲表現，對「輸入分佈偏移」這個根本問題完全無解；分佈偏移是「資料側」的問題，不是「模型容量側」的問題。\n- **(C) 增加模型容量（Model Capacity），以學習更多樣本差異** ── 模型容量大反而更容易過擬合原訓練分佈，對 OOD 樣本的泛化能力更差。教材在資料漂移段落明白指出對策是「監測 + 再訓練」，不是「擴容」。\n\n## 📖 章節來源\n**L21103 生成式 AI 介紹 2 章 生成式 AI 基礎概念與演進脈絡** — chunks line 27-43（VAE 屬於學習資料分佈的生成式架構、與鑑別式 AI 對照表）；**L21302 模型部署與監控** — chunks line 181-205（模型監控與回饋機制、Data Drift 定義）、line 243-249（資料漂移偵測與再訓練流程）\n\n## 融會貫通\n陷阱：題目敘述「鑑別式架構分類錯誤率上升」，初學者容易往「換更穩的分類器」或「擴大訓練集」方向想，但這些都是「修分類器」的思路。真正的考點是「先偵測 → 再處理」的 MLOps 工作流，而 VAE 在這裡扮演的不是分類器替代品，而是「分佈監測器」。業界常見組合：Transformer Classifier 在線上做預測 + VAE / Autoencoder / Isolation Forest 在側邊做 OOD 偵測 + Prometheus + Grafana 做指標可視化（教材原文提到的工具鏈）。記住：鑑別式給結論、生成式給「我認不認得這筆資料」的信號，兩者互補才是健全的線上系統。",
    "44": "## 題目核心\n題目情境：電信公司要做兩件事 ── (1) 預測顧客流失（分類）、(2) 模擬促銷情境下顧客行為並生成虛擬樣本做 A/B 測試。考點是「同時兼顧預測與資料生成」這個關鍵詞 ── 必須選一個「既能建模又能生成新樣本」的架構。教材在生成式 vs 鑑別式對照表中明確把 VAE 與 GAN 列為生成式代表，且具備「學習資料分佈並生成新樣本」的能力。\n\n## 為什麼答案是 (C) 使用變分自編碼器（Variational Autoencoder, VAE）或生成對抗網路（Generative Adversarial Network, GAN）\n教材原文（L21103）對照表：「生成式 AI 目標：生成新的資料樣本，例如文本、圖像、音訊等」、「工作方式：學習資料的分佈並生成新的樣本」、「模型例子：GPT、VAE、GAN、Diffusion Models」── VAE 與 GAN 的本質就是「先學分佈、後生成樣本」，正好對應題目「模擬不同促銷策略下顧客行為變化」的需求。同時，VAE 編碼器產生的潛在向量也可作為分類特徵，GAN 的判別器本身也具備分類能力，兩者都能同時支援「預測」與「生成」雙任務，是滿足題目雙重需求的唯一選項。\n\n## 為什麼其他選項錯\n- **(A) 使用傳統隨機森林（Random Forest）** ── 隨機森林是鑑別式集成模型（教材列為傳統機器學習），只能做分類預測，無法生成新樣本，不滿足「生成虛擬樣本做 A/B 測試」這個需求。\n- **(B) 使用邏輯迴歸（Logistic Regression）模型** ── 邏輯迴歸是經典的鑑別式分類器（教材對照表中與 SVM、決策樹並列為鑑別式代表），只輸出機率，不會生成資料樣本，同樣無法滿足生成端需求。\n- **(D) 使用強化學習代理（Reinforcement Learning Agent）** ── 強化學習適合「序列決策」場景（如自動投放優惠券的策略最佳化），需要明確的環境模型與獎勵函數；但在「沒有真實環境，只想生成虛擬顧客樣本」的需求下，不是首選。題目重點是「樣本生成」而非「策略最佳化」。\n\n## 📖 章節來源\n**L21103 生成式 AI 介紹 2 章 生成式 AI 基礎概念與演進脈絡** — chunks line 27-43（生成式 vs 鑑別式對照表，VAE/GAN 明列為生成式代表）、line 71-93（VAE 變分推斷學習潛在分佈、GAN 對抗訓練生成樣本）、line 197-201（圖像生成中 GAN/Diffusion 作為主流生成模型）\n\n## 融會貫通\n陷阱：(A)(B) 都是流失預測的常見實務選項，從「預測」單一視角看完全合理，所以很多人會直覺選 (A)。但題目最後一句「同時兼顧預測與資料生成」是關鍵 trigger word，必須選擇「能生成」的架構。業界類似應用：金融做信用卡盜刷偵測時，正樣本（盜刷）極稀少，常用 GAN/VAE 合成虛擬盜刷樣本擴充訓練集（稱為 Synthetic Data Augmentation）；電信流失預測也是同一套路。記住：題目出現「生成虛擬樣本／資料增強／模擬不同情境」這類關鍵詞，幾乎都指向生成式架構（VAE/GAN/Diffusion）。",
    "45": "## 題目核心\n題目情境：影像分類任務先用 PCA 從 1024 維降到 100 維，再丟給 SVM 訓練。考點是「PCA + SVM 組合的真實效益」── 教材明確指出 PCA 的功能是「特徵壓縮」、好處是「減少計算負擔並提高模型效能」，同時 SVM 在「高維資料或邊界清晰」場景表現良好。這題在測試考生有沒有抓到 PCA 的真實效用（降低訓練時間、減少過擬合），而不是被誤以為的「一定提升準確率」或「能變非線性」之類的迷思。\n\n## 為什麼答案是 (D) 降維後可降低訓練時間並減少過擬合（Overfitting）風險\n教材原文：「PCA 適用於高維資料，能減少計算負擔並提高模型效能」、「降維是將高維資料轉換為低維資料，同時保留原有的資訊」、「PCA 通過找到資料中方差最大的方向來減少維度，保留大部分資料訊息」── 對應 (D) 的「降低訓練時間」。在過擬合方面，雖然教材沒在 PCA 段直接寫「減少過擬合」四字，但「降低計算負擔 + 維度降低 = 模型參數空間縮小」必然減少過擬合風險（這是統計學習理論中的 curse of dimensionality 應對策略）。實務上 1024 維降到 100 維，SVM 要學的超平面參數數量隨之降低，泛化能力反而提升。\n\n## 為什麼其他選項錯\n- **(A) PCA保留的主成分必然能提升 SVM的分類準確率** ── 「必然」是錯。PCA 是「無監督」的線性投影，只看資料變異最大方向，不考慮類別資訊；若分類關鍵特徵恰好落在低變異方向上，PCA 反而會把它丟掉。教材講「保留大部分資料訊息」是針對「資訊量」不是「分類能力」。\n- **(B) 使用原始高維資料通常更能保留資訊，因此 PCA沒有實際意義** ── 否定了教材明列的 PCA 三大功能（資料視覺化、特徵壓縮、降低計算負擔），與「PCA 適用於高維資料，能減少計算負擔並提高模型效能」直接矛盾。\n- **(C) PCA可讓 SVM自動適用於非線性（Nonlinear）資料集** ── 完全錯位。PCA 是「線性」投影方法（只做線性正交變換）；SVM 處理非線性的工具是「核函數（Kernel）」── 教材原文：「亦可透過核函數處理非線性分類」。PCA 不會改變 SVM 的線性/非線性本質。\n\n## 📖 章節來源\n**L21301 機器學習關鍵流程 3 章 特徵工程** — chunks line 103-107（降維定義、PCA 找變異最大方向、減少計算負擔提高模型效能）、line 209（非監督式學習的 PCA 段：資料視覺化與特徵壓縮、保留最大變異）；**同章 4 章 模型選擇策略** — chunks line 181（SVM：高維資料表現良好、核函數處理非線性）\n\n## 融會貫通\n陷阱：(A) 用「必然」這種絕對化語氣，是經典的選項陷阱模式 ── ML 領域幾乎沒有「必然提升」這種事；(C) 把 PCA 跟 Kernel SVM 兩個技術混淆，是初學者常犯的概念錯位。實務口訣：「PCA 解決計算成本與過擬合，Kernel 解決非線性」── 兩者各司其職別搞錯。業界 pipeline 標配：先做特徵標準化（Standardization）→ 再 PCA 降維 → 再丟 SVM/RandomForest，這是經典 ML 流程中的「特徵工程 + 模型選擇」雙環節。圖像分類業界現在多用 CNN 直接學特徵，但在小資料、可解釋性需求高、或 edge device 算力有限的情境，PCA + SVM 依然是好用組合。",
    "46": "## 題目核心\n題目情境：線上模型預測準確率下降，但系統運作正常無錯誤訊息，輸入資料分布與訓練資料相比出現顯著偏移。考點是「MLOps 流程中主動偵測模型退化的標準措施」── 教材明確把 Data Drift（資料漂移）與 Concept Drift（概念漂移）列為兩種典型的部署後模型退化現象，且解析中明確點出「持續監控部署後 AI 模型效能的主要目的 = 偵測模型概念漂移與效能下降」。這是 MLOps 章節的核心知識點。\n\n## 為什麼答案是 (A) 建立即時的資料漂移（Data Drift）與概念漂移（Concept Drift）監測機制\n教材原文（L21302 章末 Q9 解析）：「持續監控部署後 AI 模型效能的主要目的為何？Ans (C) 偵測模型概念漂移與效能下降」、「模型部署後若輸入資料特性改變，將可能導致預測不準，故需建立監控機制」── 與題幹「輸入資料的分布與模型訓練資料相比出現顯著偏移」完全對應。教材在「模型監控與回饋機制」段落把監控項目明列為：「模型漂移（Model Drift）：模型預測分佈與訓練時期不同」、「資料漂移（Data Drift）：輸入資料的統計特徵改變」、「錯誤率、延遲、吞吐量等效能指標」。建立 Drift 監測機制是 MLOps 標準對應措施。\n\n## 為什麼其他選項錯\n- **(B) 將模型轉換為量化版本以降低延遲** ── 模型量化（Quantization）是「推論加速」的優化手段（減少模型體積、加快邊緣推論），跟「輸入分佈偏移」這個資料側問題完全無關。題目沒提延遲問題。\n- **(C) 增加模型超參數調整次數以強化適應性** ── 超參數調整是「訓練階段」的最佳化動作，不是「部署後」的監控動作；而且就算重新調超參數，若不重新訓練、或沒有偵測機制，根本不知道要在何時介入。\n- **(D) 使用固定隨機種子（Random Seed）確保訓練穩定** ── 隨機種子是為了「實驗可重現性」（reproducibility），與部署後的資料漂移偵測完全不在同一個層次。題目情境是模型已部署、要做監測，不是要重新訓練。\n\n## 📖 章節來源\n**L21302 系統整合與部署 5 章 模型監控與回饋機制** — chunks line 181-205（部署後並非一勞永逸、Model Drift / Data Drift 定義、自動警告與預警機制 Prometheus + Grafana）、line 243-245（資料漂移觸發再訓練流程）；**同章 章末 Q9 與解析** — chunks line 369-375、415-417（持續監控的主要目的 = 偵測概念漂移與效能下降）\n\n## 融會貫通\n名詞比較：Data Drift = 輸入資料（特徵 X）分佈改變（例如顧客結構變化）；Concept Drift = 輸入與輸出對應關係（P(Y|X)）改變（例如疫情後「正常購物模式」整個重新定義）；Model Drift = 模型預測分佈本身偏離（教材定義角度）。三者常被混用，但業界一般把 Data Drift 跟 Concept Drift 視為「成因」、Model Drift 視為「現象」。實作工具：Evidently AI、WhyLabs、AWS SageMaker Model Monitor 都提供 Drift 自動偵測；學術上常用 KL Divergence、PSI（Population Stability Index）、Kolmogorov-Smirnov 檢定來量化分佈差異（Q22 也考過 KL Divergence 偵測 Data Drift）。記住 MLOps 黃金循環：「監控 → 偵測漂移 → 觸發警報 → 自動重訓 → 滾動更新」── 這就是 L21302 整章在講的東西。",
    "47": "## 題目核心\n題目情境：單一 Transformer 同時做「文檔分類」與「NER（命名實體辨識）」兩個任務，在 NER 準確率提升時，分類準確率反而下降。前提是「模型架構正確、資料品質良好」── 已排除架構與資料端的可能性，那剩下能解釋「兩任務拉鋸（蹺蹺板效應）」的最合理原因就是訓練目標（損失函數）。考點是多任務學習（Multi-task Learning）中「損失函數加權」的核心概念：當多個任務共享同一個 backbone 時，總損失 = Loss₁ × w₁ + Loss₂ × w₂，若權重失衡，模型會偏向梯度較強的任務、犧牲另一個任務。\n\n## 為什麼答案是 (C) 損失函數（Loss Function）未進行權重平衡，導致任務間競爭\n教材原文（L21101）：「BERT 使用雙向編碼器架構，透過 Masked Language Model （MLM）與 Next Sentence Prediction （NSP）進行預訓練，特別擅長於分類、問答、命名實體辨識等任務」── 同一個 Transformer backbone 本來就支援這些任務，所以不是架構問題。當題目排除架構與資料兩個變因後，剩下「為什麼兩任務無法兼得」的合理解釋只能來自「訓練目標的設定」：兩個任務若用未加權的總損失（L_total = L_NER + L_cls），梯度更新時哪個 loss 數值大，模型就會偏向最佳化它，導致另一個任務退化。教材在強化學習 PPO 段也提到「核心目標是平衡『策略更新幅度』與『學習效率』」，反映出「多目標平衡」是 ML 訓練的普遍課題。Loss 加權（如 Uncertainty Weighting、GradNorm）是業界多任務學習的標準解法。\n\n## 為什麼其他選項錯\n- **(A) 模型架構無法同時支援文字分類與序列標註任務（Sequence Labeling）** ── 直接與教材矛盾。BERT 等 Transformer 架構本來就「特別擅長於分類、問答、命名實體辨識」這些任務，多頭輸出（Multi-head Output）也是教科書級實作；題目也明示「模型架構正確」，已排除這個可能性。\n- **(B) 文檔分類任務不需要語意化表徵（Contextualized Representation）** ── 完全違反 NLP 常識。文檔分類正是需要上下文語意表徵的代表任務（教材原文「文本分類任務：LSTM/Transformer 能夠捕捉前後語境……顯著提升」）。把分類說成「不需要 Contextualized Representation」是事實錯誤。\n- **(D) 所使用的 BERT模型無法支援多任務輸出頭（Multi-Head Outputs）** ── 同樣與教材衝突。BERT 設計時的「Multi-task fine-tuning」就是常見範式，藉由不同 task-specific heads 對應不同下游任務（分類接 [CLS] head、NER 接 token-level head），是 BERT 出身的標配能力。\n\n## 📖 章節來源\n**L21101 自然語言處理 4 章 預訓練語言模型** — chunks line 618-625（BERT 與 GPT 比較表、BERT 預訓練架構支援分類/問答/NER）、line 602-604（Transformer 自注意力機制顯著提升分類、NER 等任務效果）；**L21301 機器學習關鍵流程 4 章 模型選擇與訓練策略** — chunks line 251-255（PPO 平衡「策略更新幅度與學習效率」反映多目標平衡的重要性）\n\n## 融會貫通\n陷阱：(A)(D) 把「模型能不能做」當靶子，但題目已明說「模型架構正確」，這兩個選項根本沒有立足點，是經典「破壞題幹假設」的錯誤選項。要選的是在「架構 OK、資料 OK」雙重排除後唯一還沒被排除的變因 ── 訓練目標／損失函數。業界多任務學習常用技巧：(1) Uncertainty Weighting（Kendall et al. 2018，用每個任務的不確定性自動調整權重）；(2) GradNorm（讓不同任務的梯度範數均衡）；(3) PCGrad（避免任務間梯度衝突）；(4) 暴力作法 = grid search 找出最佳手動權重比。記住「蹺蹺板效應（task seesaw）」是多任務學習的招牌病徵，只要看到「A 任務升、B 任務降」就要往 loss balancing 想。",
    "49": "## 題目核心\n題目情境：電商情感分析模型對「不同語言或族群書寫風格」表現不一致 ── 語氣強烈正面被誤判為負面、禮貌批評被判為中性。這是典型的「資料偏誤 → 模型偏誤」案例。題目是「下列哪一項描述**不正確**」── 反向題型，要找出唯一錯誤的描述。考點在於辨識：哪一個描述把「技術細節（Embedding Normalization）」與「資料治理問題（Bias）」誤連在一起；而 (B)(C)(D) 都是教材明確支持的偏誤成因分析。\n\n## 為什麼答案是 (A) 模型未啟用詞嵌入正規化（Embedding Normalization）可能造成語意距離不穩定，導致預測誤差\n本題唯一錯誤描述。Embedding Normalization（如 L2 normalize、LayerNorm）是訓練穩定性的工程技巧，目的是讓向量落在單位球面或數值穩定區間，與「跨語言／跨族群偏誤」這個資料治理問題沒有直接因果關係。教材在偏見來源分析（L21203）中明列四種偏誤類型 ── 資料分布不均、歷史偏見、標註偏見、演算法偏見 ── 沒有任何一條把「Embedding 沒做 Normalization」列為偏誤成因。題目情境核心是「不同語言族群表現不一致」，本質是資料代表性問題，把它歸因到 Embedding 正規化是「技術細節錯位」── 拿訓練技巧當作公平性問題的解釋，是邏輯跳躍。\n\n## 為什麼其他選項錯（其實是正確描述，因此不是答案）\n- **(B) 訓練語料若偏向特定文化或語氣特徵，可能使模型產生內隱偏誤（Implicit Bias）** ── 教材原文：「資料集中的某些群體樣本不足，會導致模型對該群體的預測效果差」、「歷史數據可能反映既有社會或制度上的偏見……這會使模型繼承這些偏見」。語料偏向特定文化／語氣 = 內隱偏誤的標準成因，描述正確。\n- **(C) 模型若訓練資料來源不平衡，容易導致對不同語言或族群風格的情緒判斷不準確** ── 教材原文：「資料分布不均（Imbalanced Data）：資料集中的某些群體樣本不足，會導致模型對該群體的預測效果差」── 完全對應，描述正確。\n- **(D) Transformer 架構能捕捉上下文語意，但若訓練資料偏差仍存在，模型仍可能學習到偏誤判斷** ── 教材在 NLP 章明確：Transformer 自注意力顯著提升 NLP 任務效能，但 L21203 也強調「模型在訓練過程中……資料收集、資料標註與模型設計階段都可能引入或放大偏見」── 架構強再強，垃圾資料進、垃圾結果出（GIGO），描述正確。\n\n## 📖 章節來源\n**L21203 AI 風險管理 3 章 偏見與倫理** — chunks line 231-261（模型偏見與歧視來源、四大偏誤類型：資料分布不均／歷史偏見／標註偏見／演算法偏見、歧視性結果的潛在影響）、line 263-285（倫理原則：透明度、可解釋性、公平性、問責性）\n\n## 融會貫通\n反向題（「下列何者不正確」）的解題口訣：(1) 先確認哪幾個選項一定對 ── 把它們剔除；(2) 剩下那個就是答案。本題 (B)(C)(D) 全部直接對應教材的「資料偏誤 → 模型偏誤」邏輯鏈，只有 (A) 把問題甩鍋給「Embedding Normalization」── 這是「概念錯位」的典型干擾項：把訓練穩定性技巧（工程細節）與公平性議題（治理議題）混為一談。業界處理偏誤的標準做法：(1) 平衡採樣（如 SMOTE 對少數類過採樣）、(2) Bias Audit（用 Aequitas、IBM AI Fairness 360 等工具量化群組差異）、(3) Adversarial Debiasing、(4) 後處理校準（如 Equalized Odds Postprocessing）。記住：偏誤是「資料、標註、演算法、歷史」四源頭，不是「沒做 Norm」造成的。",
    "6": "## 題目核心\n企業用 N-gram 做客服自動回覆，結果「片段合理但整體不連貫」── 這個症狀直接指向 N-gram 的本質弱點：它只看「固定長度的前 N-1 個詞」來估機率，超出視窗的語境就看不到了。考點是要分辨 N-gram 究竟「為什麼」處理不了長句的語意連貫，不是計算量、不是缺嵌入、也不是詞獨立假設。\n\n## 為什麼答案是 (B) N-gram 模型僅根據固定長度的前序詞建立機率估計，難以捕捉長距離依賴關係（Long-range Dependencies）\n教材原文（L21101 第 82 行）：「N-gram 是統計語言模型中最基礎的形式，透過計算詞彙之間的共現機率，以預測語言結構。N-gram 模型能夠捕捉相鄰詞彙之間的關係，但隨著 n 值的增大，模型需要大量數據來訓練，並且在語境較長的情況下表現不佳」。第 198 行表格更直接：「N-grams 限制：長句效果差、資料稀疏嚴重、無法捕捉長距依賴」。第 384 行：「N-grams 是將語言中的『連續 N 個詞、組合成一個特徵單位』，N 的值決定了模型能捕捉到的上下文範圍」。三處原文都指向同一結論：N-gram 的視窗是「固定」且「短」的，超過視窗的詞就無法納入機率估計，這正是長距離依賴的死穴 — 對應到 (B)。\n\n## 為什麼其他選項錯\n- **(A) N-gram 模型在訓練過程中需要龐大計算量，導致長句無法收斂** ── N-gram 是純機率統計（數頻率 → 算條件機率），沒有梯度下降或「收斂」概念，這是把神經網路的問題硬塞給 N-gram。\n- **(C) N-gram 模型缺乏語意嵌入（Semantic Embedding）層，因此無法表徵詞語間的語意相似度** ── 沒有 embedding 雖然是事實，但這解釋的是「為什麼無法理解同義詞」，不是「為什麼句子不連貫」。題目症狀指的是長距離連貫性，不是語意相似度。\n- **(D) N-gram 模型假設詞與詞之間相互獨立，導致無法建構上下文語意關聯** ── 描述錯誤，N-gram 恰恰假設「當前詞依賴前 N-1 個詞」（馬可夫假設），不是獨立；完全獨立假設是 Bag-of-Words 的特性。\n\n## 📖 章節來源\n**L21101 自然語言處理 2.2 章 + 3.5 章 統計語言模型階段 / N-grams 表示法** — chunks line 82、198、384-394（N-gram 定義、固定 N 視窗限制、長句效果差與資料稀疏問題）\n\n## 融會貫通\n陷阱：(D) 誤導性最強 — 「詞與詞相互獨立」這個錯誤敘述看起來很像 N-gram 的特性，但實際上 N-gram 的核心假設是「馬可夫假設」（當前詞只依賴前 N-1 個詞），這是「有限依賴」而非「完全獨立」。能把 BoW、N-gram、馬可夫假設三者分清楚，才不會被 (D) 騙走。橫向連結：N-gram 的長距離依賴問題正是 RNN/LSTM 與 Transformer 接力解決的核心痛點 ── RNN 用遞迴狀態傳遞（但有梯度消失）、LSTM 用 gating 機制延長記憶、Transformer 直接用 self-attention 一次看完整序列。業界用法：N-gram 雖然「老」，但在輸入法、拼字校正、語音辨識解碼器（KenLM、SRILM）仍是工程上的剛需，因為它快、輕、可解釋；只是不會單獨拿來做生成式任務了。",
    "7": "## 題目核心\n智慧監控系統做物件偵測（人物、車輛），用 mAP 當評估指標，題目問「IoU 閾值『設定較高』代表什麼意義」。考點是釐清 IoU 的本質 — 它是「預測框與真實框重疊比例」的量度，閾值越高 = 要求預測框與真實框越接近 = 對精準度的要求越嚴格。這是物件偵測領域的入門必考概念。\n\n## 為什麼答案是 (A) 預測邊界框與真實邊界框的重疊程度越高，模型偵測結果越精準\n教材原文（L21102 第 261-273 行）：「IOU（Intersection over Union）是衡量預測分割區域與真實標籤區域之間重疊程度的指標」「計算方式為：IOU = Area_Intersection / Area_Union」「指標值範圍從 0 到 1，越接近 1 表示預測的分割結果越準確」「通常在物體檢測中，IOU 值大於 0.5 或 0.7 通常會被視為成功的預測」。教材白紙黑字：IoU 數值越高代表預測框與真實框重疊越多 → 模型越精準。題目「IoU 閾值設定較高」等於「要求 IoU 越大才算偵測成功」，直接對應「重疊程度越高、結果越精準」 → 答案 (A)。\n\n## 為什麼其他選項錯\n- **(B) 預測邊界框與真實邊界框的誤差越大，導致 mAP 數值上升** ── 因果完全顛倒。誤差越大 → IoU 越低 → 通不過閾值的預測越多 → mAP 應該下降。\n- **(C) 模型整體精確率（Precision）降低，但召回率（Recall）上升** ── 反了。IoU 閾值拉高代表「判定為正確的標準變嚴」，Precision 通常會上升、Recall 通常會下降，且這不是 IoU 閾值的「意義」而是「副作用」。\n- **(D) 預測邊界框的評估結果不受真實框大小影響** ── IoU 是比例值（交集 / 聯集），雖然對絕對大小有歸一化效果，但這不是「IoU 閾值設高」的意義，是 IoU 本身的特性，題不對題。\n\n## 📖 章節來源\n**L21102 電腦視覺 4 章 物件偵測準確度指標** — chunks line 261-299（IoU 定義、計算公式、0~1 數值意義、0.5/0.7 為成功閾值的實務慣例、具體計算示例）\n\n## 融會貫通\n陷阱：(C) 是進階陷阱 — 拉高 IoU 閾值確實會讓 Precision/Recall 變化，但題目問的是「IoU 閾值高代表什麼」，不是「會造成什麼副作用」。鑒別點：回到 IoU 的定義 — 它就是「重疊程度」，閾值高 = 要求重疊程度高 = 預測必須非常接近真實框，這是直接定義，不需要繞道 Precision/Recall。橫向連結：mAP（mean Average Precision）是各類別 AP 的平均，AP 又是 Precision-Recall 曲線下面積，而判定一個預測是 TP（True Positive）還是 FP（False Positive）就是看 IoU 是否超過閾值。COCO 評測指標 mAP@[0.5:0.95] 就是把 IoU 閾值從 0.5 跑到 0.95 取平均，閾值越高越嚴格。業界用法：自動駕駛、醫療影像（病灶定位）這類「定位精度要求高」的場景會用 IoU=0.7 甚至 0.9；一般監控、商品偵測 IoU=0.5 就夠用。",
    "8": "## 題目核心\nSoftmax 與 Max-Pooling 都常見於深度學習模型，但兩者作用層級完全不同：Softmax 是「機率分佈轉換」（常用於分類輸出層，把 logits 轉成總和為 1 的機率），Max-Pooling 是「特徵降維」（CNN 中對特徵圖取區域最大值，壓縮空間維度）。考點是分辨「保留全部資訊以比例呈現 vs 只保留區域最大值」的差別。\n\n## 為什麼答案是 (C) Softmax 會保留所有輸入資訊，但以比例表示；Max-Pooling 只保留區域最大值\n教材原文（L21102 第 185 行）：「池化層（Pooling Layer）：對特徵圖進行降維（如最大池化 Max Pooling），減少計算量並增強模型泛化能力」── 點明 Max-Pooling 的作用是「降維」，做法就是在每個區塊取最大值，其餘值被丟棄（只保留區域最大值）。第 191 行：「輸出層：通常使用 Softmax 函數，將模型輸出轉換為類別機率」── 對應 Softmax 的本質：把 N 個 logits 轉成 N 個機率值（總和為 1），每個輸入都仍有對應輸出，只是被重新縮放成「比例」。兩段教材合起來剛好就是 (C) 的完整論述：Softmax 保留全部 N 個輸入並轉成比例，Max-Pooling 只留區域最大、其他資訊捨棄。\n\n## 為什麼其他選項錯\n- **(A) Softmax 與 Max-Pooling 都會將特徵張量壓縮為單一最大值** ── 兩者都錯。Softmax 輸出維度與輸入相同（N 個機率），不會壓成單一值；Max-Pooling 雖然取最大值但是「每個區塊一個」，輸出仍是降維後的張量，不是單一值。\n- **(B) Max-Pooling 會對輸入進行機率分佈的轉換** ── 機率分佈轉換是 Softmax 的特性，Max-Pooling 是「取最大值」沒有任何機率意涵，輸出值的總和也不會等於 1。\n- **(D) Softmax 主要用於特徵降維，而 Max-Pooling 用於分類輸出** ── 角色完全顛倒。Softmax 是分類輸出（教材白紙黑字寫「輸出層使用 Softmax」）、Max-Pooling 是特徵降維（教材白紙黑字寫「池化層降維」）。\n\n## 📖 章節來源\n**L21102 電腦視覺 3 章 CNN 基本架構** — chunks line 181-191（卷積層、池化層 Max-Pooling 降維、激活層、全連接層、Softmax 輸出層的標準 CNN 架構五件套）\n\n## 融會貫通\n陷阱：(D) 把兩者角色對調，最容易誤選 — 因為「Max」聽起來像「壓縮」、「Softmax」聽起來像「軟化」，但 Softmax 名字裡的「soft」恰恰是相對於 hard-max（只取最大）的「軟版本」，它把「取最大」變成「機率分佈」，所有元素都保留。鑒別點：記住兩者的定位 — Softmax 在「輸出層」做機率轉換、Max-Pooling 在「中間層」做特徵降維。橫向連結：完整的 CNN 流水線是「Conv → ReLU → Pooling → Conv → ReLU → Pooling → Flatten → FC → Softmax」，Max-Pooling 多半是 2×2 區塊取最大、stride=2，特徵圖長寬各減半；Softmax 在多分類任務（10 類就 10 個輸出）負責輸出機率。業界用法：Max-Pooling 在現代架構（ResNet、Transformer）有時被 Average-Pooling 或 strided convolution 取代；Softmax 在 LLM 中也是核心 — 每個 token 的下一字預測就是對詞表做 softmax 取機率分佈。",
    "9": "## 題目核心\n資料增強（Data Augmentation）通常是擴充訓練資料、提升泛化能力的好工具，但這題設定「導入後效能反而下降」── 這是典型的反向情境題。考點是辨識「增強策略過當會破壞語意一致性 / 改變資料分佈」這個專業細節，正解必須同時點出「為什麼變差」（成因）與「怎麼修」（對策），是「成因 + 對策」雙重判斷題。\n\n## 為什麼答案是 (B) 增強後資料的特徵分佈與原始資料不一致，影響模型的泛化能力，應檢查並調整增強策略以維持語意一致性\n教材原文（L21102 第 144 行）：「資料擴增（Data Augmentation）：翻轉、旋轉、裁剪、模糊、色彩偏移等 → 增強模型的泛化能力，有效對抗過擬合，常與訓練同步進行」── 教材定位資料增強的目的就是「維持與原始資料一致的語意 / 分佈、僅做合理變換」。第 463 行：「資料漂移（Data Drift）：隨著環境變化或攝影條件的變動，可能導致輸入資料分佈的變化，造成模型失效」── 點出「分佈不一致」會直接打掉模型效能。第 100 行：「準確的標註與妥善處理資料能有效提升模型泛化能力與穩定性」。三者合起來：增強策略若過度（例如旋轉 180 度讓 6 變 9、色彩偏移過大讓貓變綠）→ 增強後分佈偏離原始語意 → 模型學到錯誤特徵 → 泛化能力下降。修正方式正是「檢查並調整增強策略以維持語意一致性」，完全對應 (B)。\n\n## 為什麼其他選項錯\n- **(A) 增強樣本未經隨機初始化，導致模型梯度更新不穩定，應重新設計訓練啟動流程** ── 「隨機初始化」是模型權重的概念，跟資料增強無關；「梯度更新不穩定」是優化器或學習率問題，不會因為增強樣本造成。\n- **(C) 增強樣本的比例過高，造成模型對特定資料產生偏好，應適度提高增強比例並調整學習率** ── 對策自相矛盾：既然「比例過高造成偏好」，正確做法是「降低」增強比例，不是「提高」。對策方向錯誤。\n- **(D) 增強後資料的標註可信度下降，導致訓練訊號偏差，應以半監督學習方式重新校正資料** ── 資料增強是對「已標註資料」做幾何 / 色彩變換，標籤跟著轉，標註可信度不會「下降」；且半監督學習是處理「未標註資料」的方法，藥不對症。\n\n## 📖 章節來源\n**L21102 電腦視覺 2.3 章 資料前處理 / Data Augmentation** — chunks line 100、144、445、463（資料擴增的泛化目的、分佈一致性要求、過度增強導致分佈漂移與模型失效）\n\n## 融會貫通\n陷阱：四個選項都拿真實技術名詞（梯度更新、學習率、半監督學習）來干擾，看似專業但對策方向都不對。鑒別點：好的選項必須做到「成因正確 + 對策對症」兩個條件都成立，(C) 死在對策方向、(A)(D) 死在成因錯誤。橫向連結：資料增強的核心原則是「label-preserving transformation」── 變換後標籤不變才合法。例如貓的圖左右翻轉還是貓（合法），但若強行做 180 度上下顛倒，現實世界很少看到倒立的貓，分佈就偏了。NLP 也有類似問題 — 同義詞替換、回譯（back-translation）若過度可能改變句意。業界用法：CV 領域有 AutoAugment、RandAugment 等自動搜尋最佳增強策略的方法；NLP 領域有 EDA、AEDA、Back-Translation。共同原則都是「保語意一致 + 適度」，過度增強 = 自製 OOD（out-of-distribution）資料 → 模型反而學壞。"
  },
  "s3": {
    "1": "## 題目核心\n零售企業要評估「銷售預測模型」在**不同月份新資料**上是否還能維持穩定預測 → 真正考點是「**模型對未觀察資料的泛化能力**怎麼測」。\n\n## 為什麼答案是 (B) 交叉驗證\n交叉驗證（Cross-Validation）就是專門用來**評估模型泛化能力**的方法，把資料切成多個 fold 反覆訓練測試，每次用不同的「測試 fold」當作「未觀察資料」。題目「不同月份」「穩定的預測表現」「未觀察資料的適應能力」三句話完全打中 CV 的定義。\n\n## 為什麼其他選項錯\n- **(A) F-test** ── 是統計學上比較**兩組樣本變異數**是否有顯著差異的假設檢定，跟 ML 模型評估無關。\n- **(C) 配對 t 檢定** ── 用來比較**配對樣本**的均值差異（如同一群人吃藥前後血壓），是統計檢定不是 ML 評估。\n- **(D) 卡方檢定** ── 用來檢驗**類別變項之間的獨立性**（如性別跟是否吸菸），跟模型泛化無關。\n\n## 📖 章節來源\n**L23303 模型訓練評估與驗證** — chunks line 109-130（交叉驗證 K-fold/Stratified/LOOCV）\n\n## 融會貫通\n關鍵在於**區分「統計檢定 vs ML 評估方法」**。題目情境包了「銷售預測」「不同月份」這些字，但別被混淆 ── 看到「評估模型在新資料的表現」就要直覺想 Cross-Validation。三個錯誤選項都是統計學的假設檢定（F/t/卡方），考的是「ML 領域評估泛化能力的方法」這個分類。",
    "2": "## 題目核心\nL1 正則化（Lasso）在迴歸/分類模型中加入懲罰項，**主要效果**是什麼？\n\n## 為什麼答案是 (C) 產生稀疏模型，部分參數權重收斂為零\nL1 正則化的數學形式是 `Loss + λ × Σ|w|`（係數絕對值總和）。這個 |w| 函數在原點不可微但有「角」，導致最佳化過程中權重會被推向**剛好等於 0**，產生**稀疏解（Sparse Solution）**。也就是 Lasso 自動把不重要的特徵權重設為 0，等於做了**特徵選擇**。\n\n## 為什麼其他選項錯\n- **(A) 增加參數數量** ── 完全相反，正則化是**限制**模型複雜度，不會增加參數。\n- **(B) 強化梯度穩定性** ── 那是 Batch Normalization 或 Gradient Clipping 的角色，跟 L1 無關。\n- **(D) 提高學習率** ── 學習率是另一個超參數（hyperparameter），跟正則化是兩回事。\n\n## 📖 章節來源\n**L23304 模型調整與優化** — chunks line 200-230（L1 vs L2 正則化）+ **L23202 5.2 Lasso 迴歸與嶺迴歸** — chunks line 110-206\n\n## 融會貫通\n**L1 vs L2 對比要記牢**：\n- **L1（Lasso）= Σ|w|** ── 產生**稀疏解**（部分權重變 0），有特徵選擇效果\n- **L2（Ridge）= Σw²** ── 產生**平滑解**（權重縮小但不為 0），抗多重共線性\n\nL1 像是「**砍掉沒用的特徵**」，L2 像是「**讓所有特徵都謙虛一點**」。題目強調「使部分參數權重**收斂為零**」是 L1 的招牌特徵。",
    "3": "## 題目核心\n非凸目標函數（Non-convex）有多個極值點，最佳化結果可能不穩定。會發生什麼？\n\n## 為什麼答案是 (C) 局部最優解\n**凸函數（convex）只有一個全域最小值**，梯度下降一定收斂到正解；但**非凸函數有多個 local minimum**，演算法走到哪個極值點，要看初始參數和學習率怎麼設。如果不幸卡在某個小山谷（local minimum），就回不到真正的 global minimum，這就是「**局部最優解**」問題。\n\n## 為什麼其他選項錯\n- **(A) 梯度消失** ── 是深度網路反向傳播時梯度層層相乘變太小的問題（特別在 sigmoid/tanh 激活函數），跟「非凸」無關。\n- **(B) 資料過少** ── 資料量問題，跟目標函數的凸性無關。\n- **(D) 過擬合** ── 是模型太複雜記憶訓練資料的問題，跟最佳化過程的極值點無關。\n\n## 📖 章節來源\n**L23103 數值優化技術與方法** — chunks line 60-90（凸性與非凸目標函數）+ **L23203 深度學習** — chunks line 280-310（梯度下降的局部最優問題）\n\n## 融會貫通\n**深度學習的損失函數絕大多數都是非凸的**（因為神經網路的非線性激活函數造成），所以「卡在 local minimum」是 DNN 訓練的核心痛點。應對方法：① 用動量（Momentum/Adam）幫忙跳出 ② 多次隨機初始化選最好的 ③ 用學習率排程（Learning Rate Scheduling）。",
    "6": "## 題目核心\nCNN 比 FCNN（全連接神經網路）在影像辨識上效率高，**主要原因**？\n\n## 為什麼答案是 (C) 區域感知 + 參數共享\nCNN 兩大設計差 FCNN 一大截：\n- **區域感知（Local Receptive Field）**：每個卷積核只看一小塊區域（如 3×3、5×5），不像 FCNN 每個神經元連接整張圖的所有像素\n- **參數共享（Parameter Sharing）**：同一個卷積核**滑過整張影像所有位置**，所有位置共用同一組權重，不像 FCNN 每個位置獨立一組\n\n結果：FCNN 處理 224×224 影像 → 第一層全連接就要 50,000+ 參數；CNN 一個 3×3 卷積核**只要 9 個參數**就能處理整張圖。\n\n## 為什麼其他選項錯\n- **(A) 自動學習旋轉與比例不變性** ── 部分對但不是核心，CNN 對旋轉不變性其實有限（要靠 data augmentation 補強）。\n- **(B) 跳過人工特徵提取** ── 對是對（CNN 自動學特徵），但這個 FCNN 也做得到，不是 CNN 優勢的關鍵。\n- **(D) 捨棄激勵函數** ── 完全錯，CNN 一定要用激活函數（如 ReLU）才能學非線性特徵。\n\n## 📖 章節來源\n**L23203 深度學習原理與框架** — chunks line 350-410（CNN 卷積層 + 區域感知 + 參數共享）\n\n## 融會貫通\n為什麼 CNN 會贏 ── 影像有「**局部空間結構**」這個天然 prior：相鄰像素相關性高、同一個特徵（如邊緣）會出現在影像各處。CNN 把這個 prior 寫進架構（局部連接 + 權重共享），所以參數量小、訓練快、泛化好。FCNN 沒利用這個結構，等於用整張白紙從頭學，當然慢。",
    "7": "## 題目核心\nLSTM（長短期記憶網路）最適合哪種應用？\n\n## 為什麼答案是 (A) 預測未來七天電力需求\nLSTM 是 RNN 家族的改良版，專門處理**時間序列資料**（sequential data），核心能力是**記住長期依賴關係**。題目「預測未來七天電力需求變化趨勢」就是典型時間序列任務 ── 過去的用電模式（昨天、上週、上個月）會影響未來預測。\n\n## 為什麼其他選項錯\n- **(B) 辨識監視影像中的物件** ── 是電腦視覺任務，應該用 **CNN**（卷積神經網路）。\n- **(C) 顧客資料分群** ── 是非監督式學習中的**分群（Clustering）**，應該用 K-means、DBSCAN 等。\n- **(D) 高維感測器資料壓縮成低維** ── 是**降維**任務，應該用 **PCA、t-SNE、Autoencoder** 等。\n\n## 📖 章節來源\n**L23203 深度學習原理與框架** — chunks line 520-580（RNN/LSTM/GRU 時間序列處理）\n\n## 融會貫通\n**選對模型的關鍵 ── 看資料形態**：\n- **時間序列（時間有順序）→ RNN / LSTM / GRU / Transformer**\n- **影像（空間結構）→ CNN**\n- **無標籤想分群 → K-means / DBSCAN**\n- **降維 → PCA / Autoencoder**\n\nLSTM 的招牌應用：股價、用電、氣象、語音、文字（雖然文字現在多用 Transformer 取代）。",
    "8": "## 題目核心\n資訊增益（Information Gain）用於衡量特徵對分類結果的不確定性貢獻，主要應用於哪類模型？\n\n## 為什麼答案是 (D) 決策樹模型\n資訊增益的數學定義是 `IG = H(parent) - Σ(|child|/|parent|) × H(child)`，其中 H 是熵（entropy）。**決策樹的 ID3 / C4.5 演算法**就是用 IG 來決定**每個節點要用哪個特徵做分裂**：選擇 IG 最大的特徵分裂，讓子節點的「不確定性」（熵）下降最多。\n\n## 為什麼其他選項錯\n- **(A) L1 正則化的線性模型** ── L1 透過懲罰項把不重要特徵權重壓到 0，是另一種特徵選擇方法，跟 IG 無關。\n- **(B) 深度神經網路** ── DNN 用反向傳播 + 梯度下降學習特徵，不會用 IG 來篩特徵。\n- **(C) 核函數的 SVM** ── 透過 kernel trick 把特徵映射到高維空間，跟 IG 無關。\n\n## 📖 章節來源\n**L23202 常見機器學習演算法** — chunks line 706-717（決策樹分裂指標：Gini/Information Gain/Classification Error）\n\n## 融會貫通\n**特徵選擇方法的歸屬要記牢**：\n- **資訊增益 / 資訊增益比 / 吉尼指數 → 決策樹（ID3/C4.5/CART）**\n- **L1 正則化（Lasso）→ 線性模型自動特徵選擇**\n- **皮爾森相關係數 → 線性相關性篩選**\n- **卡方檢定 → 類別特徵與類別目標的獨立性檢定**\n\n決策樹的核心精神就是「**找最能降低不確定性的特徵**」一步步切割資料，IG 就是衡量「不確定性下降了多少」的量尺。",
    "10": "## 題目核心\n比較四種情境：哪一個最適合導入 **AutoML**（Automated Machine Learning）以提升模型開發效率。\n\n## 為什麼答案是 (C) 行銷部門希望短時間內比較多種顧客流失預測模型，缺乏專職工程師與時間進行手動建模\nAutoML 的核心價值就是「**自動化資料前處理、特徵工程、模型選擇與超參數搜尋**」，特別適合**人力不足、需快速比較多模型、追求短時間 PoC** 的情境。題目「短時間內」「比較多種模型」「缺乏專職工程師」三句話完全打中 AutoML 設計初衷 —— 降低 ML 開發門檻、加速產品迭代。\n\n## 為什麼其他選項錯\n- **(A) 已有 MLOps 平台與資深資料科學團隊** ── 已有專業團隊與固定流程，AutoML 帶來的「自動化」價值有限，反而失去精細控制力。\n- **(B) 良率模型已長期穩定運作，只需定期調參** ── 是模型維運（monitoring/retrain）的場景，不是新建模，AutoML 派不上用場。\n- **(D) 高度客製化信用風險模型，需精細控制特徵工程與演算法細節** ── AutoML 的「黑箱」與「自動選擇」**反而違背**客製化與細節控制的需求，金融模型還要面對監理可解釋性要求。\n\n## 📖 章節來源\n**L23302 5.2 模型選擇與架構設計** — chunks line 13-21（模型選擇原則：考量資料規模、運算資源與部署限制）\n\n## 融會貫通\n**AutoML 適用判斷**：① 缺乏 ML 專家 ② 想快速 PoC 比較多模型 ③ 不需精細控制 → 適合。**反向不適合**：① 已有強團隊 ② 需要精細特徵設計 ③ 需要監管可解釋 ④ 模型已穩定維運。記住「**AutoML = 降低門檻 + 加速 PoC，不是萬靈丹**」。",
    "11": "## 題目核心\nRandom Search 比 Grid Search 在超參數調整上的**主要優勢**？\n\n## 為什麼答案是 (D) 高維參數空間更有效率\n這是 Bergstra & Bengio 2012 經典論文證明的結論：在**高維參數空間**中，通常只有少數幾個超參數真正重要（如學習率），其他的影響很小。\n- **Grid Search**：把每個參數切等距網格，n 個參數 × m 個值就要試 m^n 次（指數爆炸），而且大部分時間都在試不重要的參數。\n- **Random Search**：在參數空間裡**隨機採樣** N 次，每個維度都有機會被探索到不同值。在相同預算下，Random Search 對**重要參數**的覆蓋密度比 Grid Search 高。\n\n## 為什麼其他選項錯\n- **(A) 自動產生模型架構** ── 那是 NAS（Neural Architecture Search）的事，跟 Random Search 無關。\n- **(B) 使用更大的訓練集** ── 訓練集大小由資料決定，跟搜尋方法無關。\n- **(C) 避免過擬合** ── 過擬合是模型本身的問題，搜尋方法只是找超參數，不會直接抑制過擬合。\n\n## 📖 章節來源\n**L23304 模型調整與優化** — chunks line 120-160（超參數搜尋：Grid/Random/Bayesian）\n\n## 融會貫通\n**超參數搜尋三大方法演進**：\n1. **Grid Search**（最古老）：暴力網格，低維 OK、高維爆炸\n2. **Random Search**（簡單有效）：隨機採樣，**高維時 CP 值最高**\n3. **Bayesian Optimization**（最聰明）：用過去結果預測下一個值得試的參數組合，效率最高但實作複雜\n\n實務上對 1-3 個重要超參數可用 Grid，4 個以上推薦 Random，要極致最佳化才上 Bayesian。",
    "12": "## 題目核心\nDNN 訓練收斂速度不穩定（有時過快過擬合、有時遲遲收斂不到最佳）—— 應該調整哪一項**超參數（Hyperparameter）**？\n\n## 為什麼答案是 (C) 學習率（Learning Rate），控制模型權重更新的速度\n教材原文：「**學習率（Learning Rate）是控制模型在每一次反向傳播後，根據梯度方向更新參數的幅度**」、「**是所有深度學習流程中最敏感且具關鍵性的設定之一**」。學習率過高 → 參數大幅變動，訓練不穩定甚至過擬合；過低 → 收斂緩慢、卡在局部極小值。題目「有時過快、有時遲遲無法收斂」正是學習率沒調好的典型病徵。\n\n## 為什麼其他選項錯\n- **(A) 每個神經元的輸出結果** ── 是模型**運算過程的中間值**，由輸入和權重決定，不是可手動設定的超參數。\n- **(B) 損失函數的梯度變化值** ── 是訓練過程中**自動計算的反向傳播訊號**，不是超參數，無法直接「調整」。\n- **(D) 模型訓練後產生的權重值** ── 是訓練的**輸出結果（模型參數）**，由資料學習得出，不是「事先指定」的超參數。\n\n## 📖 章節來源\n**L23304 5.4 模型調整與優化** — chunks line 33-81（超參數調校：學習率定義、作用機制、常見問題）\n\n## 融會貫通\n**超參數 vs 參數**的核心分辨：\n- **超參數（Hyperparameter）**：訓練前**手動設定**，如 learning rate、batch size、網路深度寬度\n- **參數（Parameter）**：訓練中**自動學習**，如神經元權重、偏置 (bias)\n\n選項 A/B/D 都是訓練中自動產生的「過程值」或「結果」，**只有 (C) 學習率是事先由訓練者指定**。實務上常搭配學習率退火（Annealing）或 Scheduler 動態調整。",
    "13": "## 題目核心\n標籤偏差（Label Bias）通常是因為什麼原因造成？\n\n## 為什麼答案是 (B) 標記資料本身帶有主觀偏見\n教材原文（製程偏誤 Process Bias）：「**製程偏誤出現在資料標註或編輯過程，核心問題是人為主觀判斷導致不一致或偏差**」、「**資料標註或處理過程中，因標註者的主觀或文化差異造成不一致**」。例子：不同標註者對同一句話在情感分析上判斷不同、標註者因個人觀念產生刻板印象的標註偏誤。標籤偏差 = 標籤本身被人為主觀污染。\n\n## 為什麼其他選項錯\n- **(A) 訓練資料量過大** ── 資料量大本身不會產生偏差（反而通常降低偏差），問題在於資料**內容**怎麼來、怎麼標。\n- **(C) 模型結構設計不當** ── 是**模型偏見（Model Bias）**而非標籤偏差，包括演算法偏見、目標函數偏誤等，跟資料標註無關。\n- **(D) 特徵數量設定過多** ── 是模型容量或過擬合問題，跟「標籤」的偏差來源無關。\n\n## 📖 章節來源\n**L23402 6.2 演算法偏見與公平性** — chunks line 52-63（製程偏誤 Process Bias，標註者主觀判斷導致偏差）\n\n## 融會貫通\n**偏見三大來源歸類**（教材分法）：\n- **資料偏見** ── 來源偏誤 (群體/地理分佈不均) / 內容偏誤 (歷史刻板印象) / **製程偏誤 (標註者主觀)** ← 就是標籤偏差\n- **模型偏見** ── 演算法偏見、目標函數偏誤、正規化偏誤、對抗式訓練不足\n\n記法：看到「**主觀標註**」「**人為打標籤**」就是 Label Bias / Process Bias。",
    "14": "## 題目核心\n四種 AI 應用情境中，**模型可解釋性（Explainability）最關鍵**的是哪個？\n\n## 為什麼答案是 (C) 醫院 AI 模型分析病患影像並給出腫瘤惡性可能性，作為臨床醫師診斷依據\n**醫療診斷直接關係病患生命健康**，且決策結果需要由臨床醫師複核採信。如果模型只給一個「90% 惡性」的數字卻不能解釋「為什麼這樣判斷」「看到哪些影像特徵」，醫師無法做出可信診斷，病患也無法理解風險。**可解釋性 + 法規（如歐盟 GDPR、台灣個資法）+ 倫理責任**三者構成醫療 AI 最高的可解釋性要求。\n\n## 為什麼其他選項錯\n- **(A) 預測下一次購買時間 → 推播行銷** ── 商業優化情境，預測錯了損失有限，可解釋性不是核心。\n- **(B) 自動調整廣告出價** ── 純優化問題，看 ROAS（廣告投資報酬率）效果即可，內部黑箱沒關係。\n- **(D) 預測客戶流失推薦留客優惠** ── 行銷自動化情境，錯誤成本是「發了一張優惠券」，可解釋性需求遠低於醫療。\n\n## 📖 章節來源\n**L23402 6.2 演算法偏見與公平性** — chunks line 87-105、224（弱勢群體受歧視、醫療診斷差別待遇、Fairlearn 支援可解釋性分析）\n\n## 融會貫通\n**可解釋性需求等級**（從高到低）：\n1. **醫療診斷 / 司法判決 / 信貸審核** → 法規 + 倫理 + 安全性都要求（XAI 必備）\n2. **金融風控** → 監理機關要求模型可解釋\n3. **HR 招募** → 反歧視法律要求\n4. **行銷推薦 / 廣告優化** → 可解釋性需求最低\n\n記法：**「決策結果會嚴重影響當事人權益」→ 越需要解釋性**。",
    "15": "## 題目核心\n線性迴歸模型 R² = 0.85，**意義為何**？\n\n## 為什麼答案是 (B) 85% 的變異可被模型解釋\n教材原文：「**R² = 1：表示模型能完全解釋資料變異，預測完美**」、「**R² = 0：表示模型僅與常數模型同等表現**」、「**決定係數 R² (Coefficient of Determination)**」。R² 的數學定義是「**模型解釋的變異量 / 總變異量**」，所以 R² = 0.85 = **資料總變異中有 85% 可被模型解釋**。\n\n## 為什麼其他選項錯\n- **(A) 模型準確率 85%** ── 準確率（Accuracy）是**分類問題**的指標，不適用於迴歸。R² 是迴歸專屬指標。\n- **(C) 預測誤差 15%** ── R² 不是誤差比例，誤差是 MAE/MSE/RMSE。雖然「未解釋變異 = 1 - R² = 15%」聽起來像「誤差」，但這是「**變異量比例**」而非預測誤差大小。\n- **(D) 85% 信心水準** ── 信心水準是統計檢定（如 95% 信賴區間）的概念，R² 不是信心水準。\n\n## 📖 章節來源\n**L23202 5.2 機器學習演算法（線性迴歸 R²）** — chunks line 52、162、248、319；**L23303** chunks line 225、262-268（R² 解讀）\n\n## 融會貫通\n**迴歸 R² 三大解讀**：\n- R² **= 1** → 完美擬合（所有變異都被解釋）\n- R² **= 0** → 模型跟「直接用平均值預測」一樣爛\n- R² **< 0** → 模型比常數模型還糟（嚴重偏離資料趨勢）\n\n注意 R² 在「不同任務 / 資料集間無法直接比較」（教材原文）。R² = 0.85 在生物學算超棒，在物理實驗可能算差。",
    "16": "## 題目核心\nPrecision = 0.8、Recall = 0.6，求 F1 Score。\n\n## 為什麼答案是 (A) 0.686\n**F1 Score 公式**：`F1 = 2 × (P × R) / (P + R)`（精確率與召回率的**調和平均數**）\n\n代入：\n- F1 = 2 × (0.8 × 0.6) / (0.8 + 0.6)\n- F1 = 2 × 0.48 / 1.4\n- F1 = 0.96 / 1.4 ≈ **0.6857 ≈ 0.686** ✓\n\n## 為什麼用調和平均數而不是算術平均數？\n算術平均：(0.8 + 0.6) / 2 = 0.7\n調和平均：2/(1/0.8 + 1/0.6) ≈ 0.686\n\n調和平均對「兩個值差距大」更敏感、會**懲罰偏低的那一方**。如果 P=1.0、R=0.0，算術平均 = 0.5（看起來還行），但 F1 = 0（直接判定無用）。所以 F1 比算術平均更能反映「兩個指標都要好」。\n\n## 📖 章節來源\n**L23303 模型訓練評估與驗證** — chunks line 230-280（分類指標：Accuracy/Precision/Recall/F1）\n\n## 融會貫通\n**分類三大指標（含混淆矩陣）**：\n- **Accuracy = (TP+TN)/(全部)** ── 整體準確率，**類別不平衡時會誤導**\n- **Precision = TP/(TP+FP)** ── 模型說「正」的答案有幾個是真的正（**寧缺勿濫**）\n- **Recall = TP/(TP+FN)** ── 真實的正例中，模型抓到幾個（**寧錯勿漏**）\n- **F1 = Precision 與 Recall 的調和平均** ── 兩者兼顧時用 F1\n\n醫療癌症檢測重 Recall（漏診比誤診嚴重），垃圾郵件分類重 Precision（誤判正常信為垃圾很煩）。",
    "17": "## 題目核心\n哪個優化演算法**內建動量（Momentum）**機制？\n\n## 為什麼答案是 (B) Adam\n**Adam = Adaptive Moment Estimation**，名字裡的 \"Moment\" 就是動量。Adam 結合兩個機制：\n- **動量項（一階矩）**：累積過去梯度的指數移動平均（EMA），讓更新方向「有慣性」\n- **自適應學習率（二階矩）**：用過去梯度平方的 EMA 自動調整每個參數的學習率\n\n所以 Adam 是「**RMSProp + Momentum**」的合體版本。\n\n## 為什麼其他選項錯\n- **(A) SGD+Momentum** ── 你會說「SGD+Momentum 不就是有 Momentum 嗎？」── 是，但這是 SGD **加上**動量擴充版，動量不是 SGD **內建**的。題目強調「**內建**」動量設計機制，純 SGD 沒有，要靠加擴充才有。Adam 內建就有。\n- **(C) RMSProp** ── 只用二階矩（梯度平方 EMA）做自適應學習率，**沒有內建動量**項。\n- **(D) Adagrad** ── 累積過去所有梯度平方來自適應學習率，但學習率會**單調遞減**（因為累積總和只增不減），也沒有動量。\n\n## 📖 章節來源\n**L23103 數值優化技術與方法** — chunks line 250-310（優化器：SGD/Momentum/Adagrad/RMSprop/Adam）\n\n## 融會貫通\n**優化器演進譜系**：\n```\nSGD（最原始）\n  ├── + Momentum → SGD with Momentum（加慣性）\n  ├── + 自適應學習率 → Adagrad → RMSProp（改良 Adagrad 學習率衰減問題）\n  └── 都來 → Adam（Momentum + RMSProp 合體，最常用 default）\n```\n實務上：簡單任務 SGD+Momentum、深度網路 Adam（但 Adam 有時會錯過最佳解，所以高階用 AdamW + 學習率排程）。",
    "18": "## 題目核心\nXGBoost 比傳統 GBDT 的**主要技術改進**？\n\n## 為什麼答案是 (A) 引入正則化 + 缺失值處理 + 並行化\nXGBoost（eXtreme Gradient Boosting）相對 GBDT 的三大殺招：\n1. **正則化項（Regularization）**：在 loss 加入 L1/L2 懲罰，控制樹的複雜度，**抑制過擬合**\n2. **缺失值自動處理**：訓練時自動學習缺失值該往哪一邊分裂，不用前處理填補\n3. **並行化訓練**：雖然樹是序列建立（boosting 性質），但**單棵樹的特徵分裂計算可以並行**，大幅加速\n\n還有近似演算法（Approximate Algorithm）、稀疏感知（Sparsity-aware）、Cache-aware 等工程優化，但這三個是核心。\n\n## 為什麼其他選項錯\n- **(B) 改用 Random Forest** ── 完全錯，XGBoost 還是 Boosting 不是 Bagging。\n- **(C) 用神經網路取代弱分類器** ── 完全錯，XGBoost 仍用決策樹當弱分類器。\n- **(D) Batch Normalization** ── BN 是深度學習的技術，跟樹模型無關。\n\n## 📖 章節來源\n**L23202 常見機器學習演算法** — chunks line 402-487（高效梯度提升：XGBoost vs LightGBM）\n\n## 融會貫通\n**Gradient Boosting 演進**：\n- **GBDT**（最早）：序列建樹，每棵樹擬合前面的殘差\n- **XGBoost**（2014）：加正則化 + 缺失值 + 並行 + Cache 優化\n- **LightGBM**（Microsoft 2017）：直方圖演算法 + Leaf-wise 分裂，比 XGBoost 更快\n- **CatBoost**（Yandex 2017）：對類別特徵自動處理\n\nKaggle 競賽結構化資料的常勝軍，特別在中小規模資料集上常贏深度學習。",
    "19": "## 題目核心\n醫療早期偵測模型，正樣本只佔 3%（**極不平衡資料**），哪個方法**最不適合**用於提升少數類預測能力？\n\n## 為什麼答案是 (C) 使用準確率（Accuracy）作為評估指標\n當資料 97% 是負類時，模型只要**全部預測為負類**就有 97% 準確率！但這對少數類（陽性病例）的偵測能力是 0%，完全沒用。所以 Accuracy 在不平衡資料上是**極度誤導的指標**。\n\n更適合的指標：\n- **Precision、Recall、F1-Score**（針對少數類）\n- **AUC-ROC**（不受類別比例影響）\n- **PR-AUC**（更適合不平衡）\n\n## 為什麼其他選項都「適合」\n- **(A) SMOTE 過採樣** ── Synthetic Minority Over-sampling，**合成少數類樣本**填補資料不平衡。\n- **(B) 調整類別權重** ── 訓練時讓少數類的 loss 權重更大（如 `class_weight='balanced'`），模型更重視少數類。\n- **(D) 欠採樣多數類** ── 隨機刪除多數類樣本到接近少數類數量，達成類別平衡。\n\n以上 ABD 都是**針對「不平衡資料」的標準解法**。\n\n## 📖 章節來源\n**L23304 模型調整與優化** — chunks line 350-410（不平衡資料：SMOTE/類別權重/欠採樣）+ **L23303 模型訓練評估** — chunks line 260-285（不平衡時不用 Accuracy）\n\n## 融會貫通\n**不平衡資料三招對應**：\n1. **資料層**：過採樣（SMOTE）/ 欠採樣 / 合成少數類\n2. **演算法層**：類別權重 / Focal Loss / Cost-sensitive Learning\n3. **評估層**：用 Recall / F1 / AUC，**絕對不要用 Accuracy**\n\n題目問「最不適合」，C 是評估方式錯誤（用 Accuracy），不是「提升能力」的方法（其他 ABD 都是）。",
    "20": "## 題目核心\n情感分析模型要捕捉「商品價格」與「顧客滿意度」**互動效果**，最適合的特徵工程是？\n\n## 為什麼答案是 (C) 將兩個或多個特徵進行乘積或交互組合\n**互動特徵（Interaction Features）**的數學定義就是：將兩個或多個特徵以**乘積或交互組合**形式產生新特徵。例如 `價格 × 滿意度`、`價格 / 評分` 等，讓模型能學到「**單一特徵單獨看不出來、但組合起來才會浮現**」的關係。教材限制提到「**過濾法無法考慮特徵間交互作用**」── 反過來說，要捕捉交互作用就要主動「乘起來」。\n\n## 為什麼其他選項錯\n- **(A) 將單一特徵取平方** ── 是**多項式特徵（Polynomial Feature）**，捕捉**單一變數的非線性效應**，不是兩變數間的互動。\n- **(B) 對所有特徵進行對數轉換** ── 是**分佈轉換**（如處理長尾分佈），跟互動無關。\n- **(D) 對特徵進行標準化** ── 是**尺度調整**（zero-mean / unit-variance），目的是讓不同單位特徵能比較，跟互動無關。\n\n## 📖 章節來源\n**L23301 5.1 資料準備與特徵工程** — chunks line 127（過濾法無法考慮特徵間交互作用，反推 → 互動特徵就是要乘積/交叉）\n\n## 融會貫通\n**特徵工程操作對照表**：\n- **平方（x²）/ 多項式** ── 單變數非線性\n- **乘積（x₁ × x₂）/ 交叉特徵** ── **多變數互動**\n- **對數（log x）** ── 處理偏態 / 長尾\n- **標準化（Z-score）** ── 尺度統一\n- **獨熱編碼（One-hot）** ── 類別變數轉數值\n\n線性模型本身**無法**自動學互動，必須**手動構造**交互特徵；樹模型則天然能捕捉互動。",
    "21": "## 題目核心\nTransformer 架構的**多頭注意力（Multi-head Attention）機制**主要優點？\n\n## 為什麼答案是 (C) 從不同表示子空間（Representation Subspaces）同時捕捉多樣化關聯資訊\n教材原文：「**多頭注意力機制（Multi-Head Attention）是自注意力機制的一個擴展，並行地執行多次（多個『頭』）獨立的自注意力運算**」、「**每個『頭』都有自己獨立的 Query、Key、Value 權重矩陣，因此它們在不同的『表示子空間』中學習不同的注意力模式**」、「**捕捉多樣關係：允許模型在同一時間捕捉多種不同的關係類型和上下文訊息**」。題目「**表示子空間**」「**多樣化關聯資訊**」直接對應教材原詞。\n\n## 為什麼其他選項錯\n- **(A) 減少模型參數量** ── **完全相反**！多頭機制是「並行多個頭」，**增加**參數量（雖然每頭較小），不是減少。\n- **(B) 加速整體注意力計算** ── 多頭並行可加速但不是「主要優點」，主要優點是**表達能力**，而且總計算量並未減少。\n- **(D) 避免梯度消失** ── 是 Residual Connection + LayerNorm 的功勞，不是多頭注意力的主要作用。\n\n## 📖 章節來源\n**L23203 5.2.3 深度學習（Transformer 多頭注意力）** — chunks line 823-835\n\n## 融會貫通\n**Self-Attention vs Multi-head Attention**：\n- **Self-Attention** = 一個視角看序列關係\n- **Multi-head** = h 個視角同時看（如語法、語意、長距離依賴各看一頭）\n\n每個 head 學 Q、K、V 三個權重矩陣 → 在不同表示子空間捕捉不同關係 → 拼接 + 線性轉換投影回原維度。記法：「**多頭 = 多視角 = 多表示子空間**」。",
    "22": "## 題目核心\n電商模型使用**貝氏定理（Bayes' Theorem）**推論顧客購買機率，**核心運作機制**是什麼？\n\n## 為什麼答案是 (B) 以條件機率方式計算顧客屬於「會購買」或「不會購買」的分類機率\n教材原文：「**貝氏定理是處理條件推論問題的核心工具，建立在條件機率之上**」、「**分類任務中的條件預測：模型的任務通常是學習條件機率 P（Y｜X），即在觀察輸入特徵 X 的情況下，預測 Y 的可能性分佈。像是邏輯迴歸、貝氏分類器等，皆以此為核心**」。題目「在觀察到這些行為特徵的情況下，該顧客會購買的機率」就是 P(購買|行為) 條件機率。\n\n## 為什麼其他選項錯\n- **(A) 根據歷史樣本自動分群** ── 是**非監督學習分群（Clustering）**，如 K-means，跟貝氏分類無關。\n- **(C) 以 MSE 為損失函數預測購買金額** ── 是**迴歸任務**用 MSE，不是分類；題目是預測「會不會購買」（分類）不是「購買多少錢」。\n- **(D) 強化學習動態調整推薦策略** ── 是**強化學習（RL）** 範疇，依靠 reward 信號學習，跟貝氏推論的條件機率機制不同。\n\n## 📖 章節來源\n**L23101 3.1 機率統計** — chunks line 72-120（條件機率與貝氏推論，P(A|B) = P(B|A)·P(A)/P(B)）\n\n## 融會貫通\n**貝氏定理四元素**：\n- **P(A)** = 先驗（Prior）：購買的初始信念\n- **P(B|A)** = 似然（Likelihood）：「會購買的人會有這種行為」的機率\n- **P(B)** = 邊際（Marginal）：行為發生的總體機率\n- **P(A|B)** = **後驗（Posterior）：核心輸出 → 觀察到行為後，重新評估購買機率**\n\nNaive Bayes 分類器就是用貝氏定理 + 特徵獨立性假設，做條件機率分類。記法：「**given 條件 → 求機率 → 貝氏**」。",
    "23": "## 題目核心\n再生能源預測太陽能發電量，**輸入變數具不確定關係**，用**隨機抽樣模擬多種情境**估算機率分佈與風險區間 —— 這是哪種方法？\n\n## 為什麼答案是 (A) 蒙地卡羅方法（Monte Carlo Method）\n**蒙地卡羅方法**的核心定義就是「**透過大量隨機抽樣（Random Sampling）模擬機率分佈，估算結果的期望值、變異區間或風險**」。題目三個關鍵詞 ──「**隨機抽樣**」「**模擬多種可能情境**」「**估算機率分佈與風險區間**」── 完全打中蒙地卡羅的招牌應用：風險評估與不確定性建模。教材機率統計章節提到「均勻分佈常用於初始化參數或**隨機抽樣**」、「**機率分佈用以表示資料的行為特性**」。\n\n## 為什麼其他選項錯\n- **(B) K-means 聚類** ── 是**非監督分群**，把資料分到 K 個群，跟「估算機率分佈」「風險區間」無關。\n- **(C) SVR (支援向量迴歸)** ── 是**監督式迴歸**模型，給定 X 預測單一 y 值，不會輸出「機率分佈」。\n- **(D) 特徵選取** ── 是資料前處理階段的**特徵篩選**，與情境模擬完全無關。\n\n## 📖 章節來源\n**L23101 3.1 機率與統計** — chunks line 11-70（機率分佈、隨機變數、隨機抽樣作為模型基礎）\n\n## 融會貫通\n**蒙地卡羅典型應用**：\n- **金融風險評估**（VaR、選擇權定價、投資組合模擬）\n- **能源/天氣預測**（這題！）\n- **AI 模型不確定性量化**（Bayesian Neural Network 用 MC Dropout 推論）\n- **強化學習**（MCTS - Monte Carlo Tree Search，AlphaGo 用過）\n\n記法：「**隨機抽樣 + 大量模擬 + 估算機率/風險** = Monte Carlo」。",
    "24": "## 題目核心\n多元迴歸**殘差圖**出現「**部分資料點殘差極大**」且「**高價區系統性彎曲分佈**」，最可能原因？\n\n## 為什麼答案是 (C) 模型存在異常值（Outlier）或非線性關係，違反迴歸假設\n教材原文（線性迴歸的模型假設）：\n- 「**線性關係（Linearity）：自變數與應變數之間應存在線性關係**」\n- 「**對離群值敏感：少數極端值可能對模型係數產生巨大影響**」\n- 「**無法捕捉非線性關係：若資料關係呈現明顯非線性，線性迴歸無法有效建模**」\n\n題目兩個關鍵跡象：「**殘差極大**」→ **異常值（Outlier）**徵兆；「**系統性彎曲分佈**」→ **非線性關係**徵兆（殘差應該是隨機的、無模式的）。兩者都違反線性迴歸假設。\n\n## 為什麼其他選項錯\n- **(A) 過擬合** ── 過擬合是**訓練集表現好、測試集差**的問題，與殘差圖呈現「系統性彎曲」無直接關係。\n- **(B) 欠擬合** ── 模糊近似，但欠擬合的典型徵兆是「**訓練/測試都差**」，不一定呈現高價區彎曲。雖然非線性也可視為欠擬合的一種，但 (C) 更精準地點出「異常值 + 非線性」**違反假設**的本質。\n- **(D) 殘差圖呈現隨機分佈表示模型完全符合** ── **完全錯**！題目明確說「系統性彎曲分佈」**不是**隨機分佈，這是違反假設的徵兆。\n\n## 📖 章節來源\n**L23202 5.2 機器學習演算法（線性迴歸假設）** — chunks line 60-108（模型假設、使用限制：對離群值敏感、無法捕捉非線性、假設違反風險）\n\n## 融會貫通\n**殘差圖診斷四要件**：\n- ✅ **隨機散布** → 線性假設成立\n- ❌ **U 形/倒 U 形彎曲** → 非線性關係未被建模\n- ❌ **喇叭口擴散** → 違反變異數齊一性（Heteroscedasticity）\n- ❌ **個別極大值** → 異常值（Outlier）\n\n題目「**系統性彎曲**」+「**部分極大殘差**」直接命中 (C) 兩個違反假設的問題。",
    "25": "## 題目核心\n傳統信用評分卡模型用**Logistic Regression**，下列哪一項**不是**標準開發流程的常見步驟？\n\n## 為什麼答案是 (A) 使用生成式模型進行特徵學習\n**生成式模型（Generative Model）**如 VAE、GAN、LLM 是**深度學習**領域用於生成新資料的方法，**不屬於**傳統信用評分卡的標準流程。傳統評分卡採用**統計可解釋**方法，因應**監理機關**對「模型可解釋性、可審查性、穩定性」的高度要求，所以用 Logistic Regression + IV/WoE 分箱，**避免**使用黑箱式的生成模型。\n\n## 為什麼其他選項都「是」標準步驟\n- **(B) 特徵選擇與多重共線性分析** ── 線性迴歸的**模型假設**之一就是「**無多重共線性（No Multicollinearity）**」，違反會造成係數不穩定（教材 L23202 line 78-80、102-104）。標準步驟。\n- **(C) 分箱（Binning）與資訊值（IV）檢定** ── 評分卡核心技術：把連續變數切 bin → 用 IV 衡量每個 bin 對 Y 的辨別力 → 篩出有效特徵。標準步驟。\n- **(D) 樣本穩定性指標（PSI）檢驗模型穩定性** ── PSI 評估「訓練樣本分佈 vs 部署後實際分佈」是否漂移，是模型上線後的**穩定性監控標準動作**。\n\n## 📖 章節來源\n**L23202 5.2.2 機器學習演算法（線性迴歸假設 + 信用評分應用）** — chunks line 423；**L23301 5.1 資料準備與特徵工程** — chunks line 139（特徵選擇含 Lasso/Ridge）\n\n## 融會貫通\n**信用評分卡標準 6 步驟**：\n1. 變數收集（人口、行為、信用歷史等）\n2. **資料前處理 + 分箱（Binning）**\n3. **IV / WoE 變數篩選**\n4. **多重共線性檢查（VIF）**\n5. **Logistic Regression 建模**\n6. **PSI / KS / AUC 監控部署**\n\n**生成式模型 ≠ 統計建模**。評分卡強調可解釋與監理合規，生成式模型反而違背這個精神。",
    "26": "## 題目核心\n防止監督式學習**過擬合**，下列哪一種策略**不屬於**「降低模型複雜度或限制學習能力」的作法？\n\n## 為什麼答案是 (D) 擴增輸入特徵變數以提升模型表達能力\n**完全相反**！擴增特徵會**增加模型複雜度與容量**，反而**容易引發過擬合**，不是降低複雜度。教材原文：「**深度與寬度的組合影響模型的容量（capacity），但若無適當正則化與訓練策略，過多的層數與神經元將導致參數爆炸、梯度消失或梯度爆炸**」── 同理，特徵越多容量越大，過擬合風險越高。\n\n## 為什麼其他選項都「是」防過擬合的標準策略\n- **(A) L1 / L2 正則化** ── 教材原文 L1 (Lasso)「**用絕對值限制，能把不重要的參數縮到 0**」、L2 (Ridge)「**用平方限制，讓權重縮小**」(L23304 line 531-575)。\n- **(B) Dropout** ── 教材原文「**Dropout 機率設定過高，可能導致模型無法有效學習**」「**測試時需關閉 Dropout 並調整輸出權重**」(L23304 line 650-655)。\n- **(C) Early Stopping** ── 教材原文「**早停法在訓練過程中，若驗證集的效能在連續多次迭代後不再改善，便提前終止訓練**」「**防止過擬合，節省訓練時間**」(L23304 line 657-672)。\n\n## 📖 章節來源\n**L23304 5.4 模型調整與優化** — chunks line 523-672（正則化技術與模型穩定化：L1/L2/Dropout/Early Stopping）\n\n## 融會貫通\n**過擬合防制策略分類**：\n- **限制模型容量**：L1/L2 正則化、Dropout、簡化架構、Pruning\n- **限制訓練時長**：Early Stopping\n- **增加資料多樣性**：Data Augmentation、SMOTE、Resampling\n- **❌ 增加特徵 / 增加深度** = **反向操作**，會加劇過擬合\n\n陷阱在「**擴增特徵**」聽起來像在「**改善模型表達**」，但表達力 ≠ 泛化力。",
    "27": "## 題目核心\n瑕疵影像檢測模型用**線性激活函數**訓練停滯，需要更複雜的特徵表達，怎麼調整？\n\n## 為什麼答案是 (D) 改用 ReLU 激活函數，以引入非線性並提升模型表達能力\n教材原文：「**激活函數決定了神經元是否被「激活」以及激活的程度。沒有激活函數，多層神經網路就等同於單層網路，無法學習複雜的非線性關係**」、「**若沒有激活函數，或只使用線性激活函數，那麼無論神經網路有多少層，其最終輸出都只是輸入的線性組合**」、「**現實世界中的絕大多數複雜問題（如圖像、語音辨識）本質上都是非線性的。透過引入非線性激活函數，神經網路才能夠學習並逼近任意複雜的非線性函數關係**」。題目正中問題：用線性激活 → 整個 N 層網路等同單層線性 → 表達能力極差 → 換 ReLU 引入非線性才能突破。\n\n## 為什麼其他選項錯\n- **(A) 增加卷積層數量** ── 即使加深網路，**線性激活下深網路 = 單層線性**，加多少層都沒用，根因是激活函數不是層數。\n- **(B) 灰階化降低運算量** ── 是**運算效率**問題的解，不能解決「**表達能力不足**」的核心。\n- **(C) Sigmoid 將輸出壓縮 [0,1]** ── Sigmoid 雖然也是非線性，但**在深層網路會嚴重梯度消失**，影像辨識實務上幾乎不用 Sigmoid（除了最後輸出層），標準解是 ReLU。\n\n## 📖 章節來源\n**L23203 5.2.3 深度學習（激活函數）** — chunks line 112-141、1309（激活函數的角色：引入非線性、ReLU/Sigmoid/Tanh）\n\n## 融會貫通\n**激活函數選擇對照**：\n- **ReLU** = max(0, x) → **隱藏層標準**（簡單、收斂快、計算高效）\n- **Leaky ReLU / GELU** = 改良版（解決 ReLU 死神經元）\n- **Sigmoid** = (0, 1) → 二元分類**輸出層**\n- **Softmax** = 多類別**輸出層**\n- **Tanh** = (-1, 1) → RNN 較常用\n- **Linear** = ❌ 隱藏層別用（等同無激活）\n\n題目「**線性激活停滯**」+「**複雜特徵**」直接對應「**換 ReLU**」這個標準解。",
    "28": "## 題目核心\n顧客流失模型訓練時**只用「曾購買三次以上」活躍顧客**，上線後對「新註冊 / 低消費」會員預測失準 —— 最可能原因？\n\n## 為什麼答案是 (C) 訓練樣本僅涵蓋高活躍顧客，造成取樣偏差（Sampling Bias）\n教材原文（資料偏見的「來源偏誤」）：「**來源偏誤發生在資料蒐集階段，核心問題在於資料無法均衡涵蓋所有應被代表的群體或情境**」「**群體分佈不均：醫療模型缺乏某年齡層或性別數據，導致診斷準確度差異**」「**社經或地理偏重：資料過度集中在都市、高收入群體，忽略偏鄉或中低收入者的需求**」── 取樣偏差（Sampling Bias）就是這種「**訓練資料只涵蓋特定群體**」的問題。題目「**僅採用曾經購買三次以上的活躍顧客**」是教科書級的 Sampling Bias 案例。\n\n## 為什麼其他選項錯\n- **(A) 特徵偏差（Feature Bias）** ── 是特徵設計引入的偏差（如包含種族/性別等敏感特徵），題目沒提到特徵設計問題。\n- **(B) 標籤偏差（Label Bias）** ── 是標註者主觀造成的偏差（如不同人對情感判斷不一），題目資料是行為紀錄不需人工標籤。\n- **(D) 過擬合（Overfitting）** ── 過擬合是訓練集表現好但泛化差**所有測試樣本都應該差**，題目是**特定群體（新註冊 / 低消費）差** → 是分布偏差不是過擬合。\n\n## 📖 章節來源\n**L23402 6.2 演算法偏見與公平性（資料偏見：來源偏誤）** — chunks line 21-36（來源偏誤的群體分佈不均、社經地理偏重）\n\n## 融會貫通\n**訓練/測試資料分佈不一致的三大病徵**：\n- **Sampling Bias**（取樣偏差）：訓練資料只涵蓋部分群體 ← 這題！\n- **Covariate Shift**（輸入分佈漂移）：訓練/部署的 X 分佈不同\n- **Concept Drift**（概念漂移）：X-Y 關係隨時間變化\n\n對策：**確保訓練資料代表性**（涵蓋新註冊、低消費、流失各群體），或**用分層抽樣**重建平衡樣本。",
    "30": "## 題目核心\n情感分析模型 English macro F1 = 0.91，部署到 Spanish 驟降到 0.58，**最合理解釋**？\n\n## 為什麼答案是 (C) 語言轉移造成召回率（Recall）下降，模型無法正確辨識關鍵情緒詞彙\n**跨語言部署**的典型問題：模型在英文語料學到的情緒詞彙（如 \"happy\", \"angry\"）在西班牙文裡是不同的詞（\"feliz\", \"enojado\"），模型沒見過 → **無法辨識（漏掉）正類** → **Recall 大幅下降** → F1 跟著降。教材原文「**召回率（Recall）：實際正類樣本中，被正確預測為正類的比例**」「**目的：衡量模型能抓住多少實際正類**」── 抓不到就 Recall 低。\n\n## 為什麼其他選項錯\n- **(A) macro F1 波動性高建議改 micro** ── 評估指標選擇問題不是核心，**真正問題在於跨語言泛化失敗**，換 micro F1 不會把問題解決（micro F1 在類別均衡時值跟 accuracy 接近）。\n- **(B) 模型在西班牙文過度擬合導致評估偏高** ── **完全相反**！題目是 Spanish 表現**驟降**到 0.58 不是偏高；而且模型根本沒在 Spanish 上訓練，談不上過擬合。\n- **(D) 用 MSE 取代 F1** ── MSE 是**迴歸**指標，情感分類是**分類**任務，根本用不上 MSE。\n\n## 📖 章節來源\n**L23303 5.3 模型訓練與評估** — chunks line 141-159（Precision/Recall/F1 定義與適用場景）\n\n## 融會貫通\n**跨語言遷移失敗的真因**：\n- **詞彙不重疊**：英文 \"I love\" → 西文 \"Me encanta\" 模型沒看過\n- **語法結構差**：詞序、否定詞位置都不同\n- **文化情境差**：諷刺、慣用語難遷移\n\n**解法**：① 跨語言預訓練模型（mBERT、XLM-R） ② Spanish 微調資料 ③ Translation-based 對齊。記法：「**換語言 → 認不出詞 → 漏報變多 → Recall 跌 → F1 跌**」。",
    "31": "## 題目核心\n電力預測 DNN 訓練集 loss 下降但驗證集 loss 在第 80 輪後**週期性波動**，怎麼合理用 Early Stopping？\n\n## 為什麼答案是 (B) 監控驗證集損失並設定適度的耐心值（Patience），在連續多輪未改善後再停止訓練\n教材原文：「**早停法（Early Stopping）在訓練過程中，若驗證集的效能（損失）在連續多次迭代後不再改善，便提前終止訓練**」、「**透過 patience 參數，決定可容忍多少次不進步**」、「**patience 設定過短，可能提早停止訓練，導致模型欠擬合**」、「**patience 設定過長，可能仍導致過擬合**」。題目「**週期性波動**」最怕被「**單輪 loss 上升就停**」誤判 → 用適度 patience（如 10-20 輪）允許短期波動但長期趨勢上升才停 → 既能避過擬合又能容噪音。\n\n## 為什麼其他選項錯\n- **(A) 根據訓練集 loss 最低點停止** ── 訓練 loss 持續下降是正常的，**完全沒有過擬合監控功能**，會在嚴重過擬合時才停。\n- **(C) 改用測試集 loss 作早停依據** ── **嚴重錯誤**！測試集只能用一次做最終評估，**用於訓練決策會造成資料洩漏（Data Leakage）**，破壞評估公正性。\n- **(D) 全部資料合併訓練至收斂** ── 取消驗證集就**完全沒有過擬合監控**，跟早停的初衷完全相反。\n\n## 📖 章節來源\n**L23304 5.4 模型調整與優化（Early Stopping）** — chunks line 657-672\n\n## 融會貫通\n**Early Stopping 關鍵 3 參數**：\n- **monitor** = val_loss（必須是**驗證集**不是訓練集，更不能是測試集！）\n- **patience** = 多少輪不改善才停（5-20 之間實務常見）\n- **restore_best_weights** = True（停下時要還原到最佳點權重）\n\n陷阱：選 (A) 用訓練 loss / (C) 用測試 loss 都是新手常見錯誤，正解永遠是**驗證集 + 適度 patience**。",
    "32": "## 題目核心\n電信客戶流失模型，特徵間**高度相關**且**部分貢獻有限**，想**自動篩選**有代表性特徵 + 避免過擬合 → 用哪種方法？\n\n## 為什麼答案是 (D) 採用 L1 正則化（Lasso），透過懲罰項使部分特徵係數縮為 0\n教材原文（L1 / Lasso）：「**L1 正則化（Lasso）是在損失函數中加入所有參數（權重）絕對值的總和，限制模型過度依賴特定特徵，並促使部分權重變為零**」、「**L1 正則化用絕對值限制，能把不重要的參數縮到 0**」（L23304 line 531-547）。也呼應 L23301「**Lasso 透過權重縮為 0 達到特徵選擇效果**」。題目「**自動篩選**」「**部分特徵貢獻有限**」直接命中 Lasso 自動把不重要特徵權重壓到 0 的特性 → **內建特徵選擇**。\n\n## 為什麼其他選項錯\n- **(A) Early Stopping** ── 只控制訓練回合數，**不會自動篩選特徵**。\n- **(B) 移除多重共線性 + L2 Ridge** ── 雖然移除共線性有幫助，但 **L2 只縮小權重不會變 0**，**無法自動特徵選擇**。題目強調要「自動篩選」而非手動移除。\n- **(C) 僅用 L2 Ridge** ── L2「**用平方限制，讓權重縮小，但不直接變 0**」（教材原文 L23304 line 574），**保留全部特徵**，不是「篩選」。\n\n## 📖 章節來源\n**L23304 5.4 模型調整與優化（L1 / L2 正則化）** — chunks line 531-575；**L23202 5.2.2** — chunks line 110-149（Lasso vs Ridge 公式對比）\n\n## 融會貫通\n**L1 vs L2 核心對比**：\n| 特性 | L1（Lasso）| L2（Ridge）|\n|---|---|---|\n| 懲罰項 | Σ\\|w\\|（絕對值）| Σw²（平方）|\n| 效果 | **稀疏解**（部分權重 = 0）| 平滑解（全縮小但 ≠ 0）|\n| 用途 | **自動特徵選擇** | 抗多重共線性 |\n| 解的特性 | 不可微但有「角」| 處處可微 |\n\n記法：「**Lasso = 砍掉沒用的特徵**，**Ridge = 讓所有特徵都謙虛**」。",
    "33": "## 題目核心\n客戶相似度比對系統「**逐一比對每位客戶與其他所有客戶**」—— 時間複雜度為何？\n\n## 為什麼答案是 (B) O(n²) — 執行時間與資料量平方成正比\n**雙重迴圈窮舉所有配對**的時間複雜度數學公式：n 個客戶兩兩比對共有 **C(n, 2) = n(n-1)/2 ≈ n²/2** 次比對 → Big-O 表示去掉常數項 → **O(n²)**。題目「**逐一比對每一位客戶與其他所有客戶**」描述的就是雙層巢狀迴圈：外層 for i in 1..n，內層 for j in 1..n → 共 n² 次運算。\n\n舉例：1000 個客戶 → 約 50 萬次比對；10000 客戶 → 約 5000 萬次（爆量 100 倍）。這就是「**資料量平方成正比**」的可怕之處。\n\n## 為什麼其他選項錯\n- **(A) O(n)** ── 線性複雜度（如「掃過每筆資料一次」），不是「**兩兩比對**」的場景。\n- **(C) O(1)** ── 常數時間（如查 hash table），不適用於依資料量變化的比對。\n- **(D) O(log n)** ── 對數複雜度（如二分搜尋），但兩兩比對不是搜尋問題。\n\n## 📖 章節來源\n**L23103 3.3 數值優化技術與方法** — chunks line 9-11（最佳化問題的計算成本：「不論是調整線性模型的權重參數、深度神經網路的數千萬個連接係數...其核心邏輯皆是找出一組能讓目標函數達到最小或最大值的參數組合」）\n\n## 融會貫通\n**Big-O 常見複雜度比較**（n=1000 時的相對成本）：\n- O(1) → 1\n- O(log n) → 10\n- O(n) → 1,000\n- O(n log n) → 10,000（如 Merge Sort）\n- **O(n²) → 1,000,000**（如兩兩比對）← 這題\n- O(n³) → 10億（如矩陣乘法）\n- O(2ⁿ) → 天文數字（如暴力搜尋）\n\n對策：用 ANN（Approximate Nearest Neighbor）如 FAISS、LSH 把 O(n²) 降到 O(n log n)。",
    "34": "## 題目核心\n醫療樣本 **150 筆、陽性 < 8%**（極小且極不平衡），要兼顧資料利用率 + 各折類別比例一致 → 最適合什麼 CV？\n\n## 為什麼答案是 (D) 分層留一法交叉驗證（Stratified Leave-One-Out Cross Validation）\n**結合 Stratified 與 LOOCV 兩個機制的最佳解**：\n- **LOOCV**：教材原文「**Leave-One-Out Cross-Validation 是 K-fold 的極端形式。K 等於樣本數 n，每次僅留下一筆樣本作為驗證**」、「**評估偏差最小，適合樣本珍貴或不可浪費的情境**」── 解決「**樣本不可浪費**」。\n- **Stratified**：教材原文「**Stratified K-fold 於劃分時確保每一折中各類別的比例與整體資料集相符，特別適用於類別分佈不均的資料（如欺詐偵測、疾病分類等）**」── 解決「**類別不平衡**」。\n\n題目「150 筆 + 陽性 8%」極小極不平衡 → **同時需要兩個性質** → 答案就是兩者合體。\n\n## 為什麼其他選項錯\n- **(A) 5-Fold CV** ── 150/5 = 30 筆/fold，但 30 筆中陽性 < 3 個 → 某些 fold 可能完全沒有陽性樣本，**無法評估**。\n- **(B) Leave-One-Out CV** ── 沒「分層」，極端不平衡時某次驗證可能剛好抽到唯一陽性樣本，**結果不穩**。\n- **(C) 隨機交叉驗證** ── 沒「分層」也沒「LOO」，無法同時兼顧兩個需求。\n\n## 📖 章節來源\n**L23303 5.3 模型訓練與評估（交叉驗證）** — chunks line 320-385（K-fold、Stratified K-fold、LOOCV）\n\n## 融會貫通\n**CV 方法選擇決策樹**：\n- **資料多且均衡** → 標準 K-fold (k=5/10)\n- **資料多但類別不均** → **Stratified K-fold**\n- **資料極少（< 200）** → **LOOCV**\n- **資料極少 + 不均** → **Stratified LOOCV**（這題！）\n- **時序資料** → Time Series CV / Rolling Window\n- **想觀察穩定性** → Repeated K-fold\n\n記法：「**少 → LOO**，**不均 → Stratified**，**兩個都中 → Stratified LOO**」。",
    "35": "## 題目核心\nPCA 三個主成分特徵值 λ₁=6.0, λ₂=3.0, λ₃=1.0，保留 ≥ 80% 變異 → 哪個敘述正確？\n\n## 為什麼答案是 (A) 前兩個主成分合計解釋 90% 的總變異量，因此可安全降維至二維\n**計算總變異量解釋比例**：\n- 總和 = 6.0 + 3.0 + 1.0 = 10.0\n- 第一主成分：6.0/10 = **60%**\n- 第二主成分：3.0/10 = **30%**\n- 第三主成分：1.0/10 = 10%\n- **前兩個累計 = 60% + 30% = 90% > 80%** ✓\n\n教材原文：「**特徵值分解找出一組能穩定表示資料在空間中『拉伸方向』的基底，並量化每個方向的重要性**」、「**主成分分析（PCA）：將資料投影到最大變異方向上，達到降維與資訊保留的平衡**」「**保留前 k 個奇異值與對應向量，近似原始資料**」。題目要求 ≥ 80% → 前兩個 PC 已達 90% → 安全降維至 2D。\n\n## 為什麼其他選項錯\n- **(B) 第一主成分 60% 表示線性關係明顯，僅保留一維可避免過擬合** ── **60% < 80%** 不達門檻；而且「PCA 降維 ≠ 防過擬合」，PCA 是壓縮資訊不是正則化。\n- **(C) 前兩個雖超 80%，但第二主成分仍 30%，不宜捨棄第三主成分** ── **邏輯錯誤**！是否捨棄第三主成分要看「**捨棄後是否還達門檻**」── 前兩個已 90% > 80%，**完全可以**捨棄第三主成分。\n- **(D) 三個特徵值相差不大** ── **事實錯誤**！6:3:1 差距非常明顯（第一個是第三個的 6 倍），不是「均衡」。\n\n## 📖 章節來源\n**L23102 3.2 線性代數** — chunks line 70、94-116、138-195（PCA / 特徵值分解 / 主成分分析降維）\n\n## 融會貫通\n**PCA 變異量解釋計算公式**：\n- **單個主成分解釋變異率** = λᵢ / Σλ\n- **累計解釋變異率** = Σ(前 k 個 λ) / Σ(全部 λ)\n- **保留門檻**：通常 80%、90%、95% 三個常用閾值\n\n**Scree Plot（碎石圖）**：把 λ 由大到小排序畫圖，找「轉折點（elbow）」決定保留幾個 PC。這題 elbow 在第 2 個 → 保留 2 個正合適。",
    "36": "## 題目核心\n跨銀行 AI 信用風險訓練要**避免資料外洩**，**同態加密（Homomorphic Encryption）**的關鍵特性？\n\n## 為什麼答案是 (D) 資料在加密狀態下仍可進行數值運算，模型訓練可於未解密資料上完成\n教材原文：「**同態加密（Homomorphic Encryption）：允許在加密資料上直接執行運算（如加法、乘法），解密後結果與在明文上運算相同，確保計算過程中資料全程保密**」、「**應用場景：雲端 AI 模型訓練、金融風控計算、醫療研究中的外包運算**」、「**優點：即使數據外包處理，也無需解密，提升機密保障**」。\n\n題目情境「**多家合作機構共同訓練 + 客戶資料不外洩**」就是同態加密的招牌應用：銀行把加密資料丟給雲端，雲端做訓練運算（也是加密狀態），結果回傳銀行解密 → **整個訓練過程銀行的明文資料從未離開銀行**。\n\n## 為什麼其他選項錯\n- **(A) 隨機雜訊干擾輸出** ── 是**差分隱私（Differential Privacy）**的機制，加雜訊到輸出統計值；同態加密不靠雜訊，靠數學上的密碼學保證。\n- **(B) 安全通道交換私鑰** ── 是**金鑰交換協定（如 Diffie-Hellman）**或非對稱加密；同態加密的特點不在金鑰交換而在「**加密狀態下可運算**」。\n- **(C) 壓縮 + 加密減少運算量** ── 完全相反！教材原文「**計算效能較低，尤其是完全同態加密（FHE），需高效能硬體支援**」── 同態加密**反而很慢**，不是為了減少運算量。\n\n## 📖 章節來源\n**L23401 6.1 隱私合規與資料保護（同態加密）** — chunks line 334-350\n\n## 融會貫通\n**隱私保護技術比較表**：\n| 技術 | 機制 | 強度 | 性能 |\n|---|---|---|---|\n| **同態加密 (HE)** | 加密下直接運算 | 最強 | 慢 |\n| 聯邦學習 (FL) | 資料不出本地，只傳梯度 | 中 | 中 |\n| 差分隱私 (DP) | 加雜訊到輸出 | 中 | 快 |\n| 安全多方計算 (MPC) | 多方協作不揭露各自資料 | 強 | 中 |\n\n記法：「**HE = 全程加密狀態運算，連密文都不解開**」。",
    "37": "## 題目核心\n跨銀行風控平台需要四個能力：① 加密資料不解密 ② 安全傳輸 ③ 防竄改 ④ 防重放 → 哪一組技術最完整？\n\n## 為什麼答案是 (B) 同態加密 + 非對稱加密 + 單向雜湊 + 對稱加密\n**逐一對應四個需求**：\n1. **同態加密（Homomorphic Encryption）** → 解決「**資料在任何時間不得被平台解密**」+ 「**加密後仍可訓練**」（L23401 line 334-338）\n2. **非對稱加密（Asymmetric Encryption）** → 解決**金鑰交換 + 數位簽章 + 身份認證**（不需事先共享金鑰）\n3. **單向雜湊（One-way Hash Function）** → 解決「**防竄改**」（資料指紋，內容改了 hash 就變）+ **防重放**（搭配 nonce/timestamp）（教材原文「**對身分類欄位進行單向雜湊（如 SHA-256），產生固定長度、不可逆的字串**」L23401 line 214-218）\n4. **對稱加密（Symmetric Encryption）** → 解決**大量資料傳輸時的高效加密**（AES 等，比非對稱快 1000+ 倍）\n\n**四個技術組成「混合密碼學系統」**（非對稱換金鑰、對稱加大量資料、雜湊驗證完整性、HE 在加密下運算）。\n\n## 為什麼其他選項錯\n- **(A) 對稱 + 雜湊 + 非對稱 + 差分隱私** ── 缺少**同態加密**，無法滿足「**資料不解密還能訓練**」的核心需求；差分隱私雖也是隱私技術但用於統計查詢不適合此場景。\n- **(C) 差分隱私 + 對稱 + 同態 + 數位簽章** ── 缺少**單向雜湊**（防竄改的關鍵）；數位簽章雖然包含雜湊但對應的整套不直接對應題目四需求。\n- **(D) 同態 + MPC + 雜湊 + 對稱** ── 缺少**非對稱加密**，無法做安全的金鑰交換與身份認證；MPC 雖也是隱私技術但替代不了非對稱的角色。\n\n## 📖 章節來源\n**L23401 6.1 隱私合規與資料保護** — chunks line 214-218（單向雜湊）、line 334-350（同態加密）；混合密碼學常見實務\n\n## 融會貫通\n**HTTPS / TLS 經典混合密碼學流程**：\n1. **非對稱加密**（RSA/ECDH）→ 交換對稱金鑰\n2. **對稱加密**（AES）→ 加密大量資料\n3. **單向雜湊**（SHA-256）→ MAC 驗證完整性\n4. **數位簽章** → 身份認證\n\n題目額外加入 **同態加密**處理「**加密狀態下訓練**」需求，形成跨銀行協作的完整密碼學堆疊。記法：「**HE 不解密 + 非對稱換鑰 + 對稱加密大量資料 + 雜湊防竄改 = 跨機構 ML 完整方案**」。",
    "38": "## 題目核心\n看程式碼判斷是哪個迴歸評估指標：\n```python\ndef metric(y_true, y_pred):\n    return sum((y_true - y_pred) ** 2) / len(y_true)\n```\n\n## 為什麼答案是 (B) MSE\n程式碼直接對應公式：\n- `(y_true - y_pred) ** 2` = 預測誤差**平方**（每筆）\n- `sum(...)` = 全部加起來\n- `/ len(y_true)` = 除以樣本數，取**平均**\n\n這就是 **MSE（Mean Squared Error，均方誤差）**：`MSE = (1/n) × Σ(y - ŷ)²`\n\n## 為什麼其他選項錯\n- **(A) MAE（Mean Absolute Error）** ── 取**絕對值**而非平方：`MAE = (1/n) × Σ|y - ŷ|`，程式碼會是 `abs(y_true - y_pred)` 不是 `** 2`。\n- **(C) RMSE（Root Mean Squared Error）** ── 是 MSE 開根號：`RMSE = √MSE`，程式碼最後要加 `np.sqrt(...)` 才對。\n- **(D) R²（決定係數）** ── 公式完全不同：`R² = 1 - (SS_res / SS_tot)`，要用變異量的比例，不是直接平均誤差平方。\n\n## 📖 章節來源\n**L23202 常見機器學習演算法** — chunks line 38-58（迴歸評估指標：MSE/RMSE/MAE/R²）+ **L23303 模型訓練評估** — chunks line 280-310\n\n## 融會貫通\n**迴歸四大指標公式**：\n- **MAE = (1/n) × Σ|y - ŷ|** ── 平均絕對誤差，**對 outlier 不敏感**\n- **MSE = (1/n) × Σ(y - ŷ)²** ── 均方誤差，**對 outlier 敏感**（平方放大大誤差）\n- **RMSE = √MSE** ── 均方根，跟原始 y 同單位，最常拿來解讀\n- **R² = 1 - SS_res/SS_tot** ── 決定係數，0~1 之間，越接近 1 模型越好\n\n看到 `** 2` 平方就是 MSE 系列；要多開根號才是 RMSE。",
    "39": "## 題目核心\n看程式碼判斷是哪種正則化技術：\n```python\ndef forward(x, p, training=True):\n    if training:\n        mask = np.random.binomial(1, p, size=x.shape)\n        return x * mask / p\n    else:\n        return x\n```\n\n## 為什麼答案是 (C) Dropout\n程式碼三大特徵正中 Dropout：\n1. **二元伯努利遮罩**：`np.random.binomial(1, p, ...)` 產生 0/1 隨機 mask（保留率 p）\n2. **訓練/推論不同行為**：`if training` ── 訓練時隨機 drop 神經元，推論時全保留\n3. **Inverted Dropout 縮放**：`x * mask / p` ── 訓練時除以 p 補償縮減，讓推論時不用調整\n\n這就是 **Dropout** 的標準實作（Inverted Dropout 版）：訓練時隨機丟棄部分神經元，**強迫網路不能依賴單一神經元**，達到正則化效果。\n\n## 為什麼其他選項錯\n- **(A) L1 正則化** ── 程式碼會在 loss 加 `λ * sum(abs(w))`，跟隨機 mask 無關。\n- **(B) L2 正則化** ── 程式碼會在 loss 加 `λ * sum(w**2)`，跟隨機 mask 無關。\n- **(D) Batch Normalization** ── 程式碼會計算 batch 的均值與標準差來正規化，不是隨機 mask。\n\n## 📖 章節來源\n**L23203 深度學習原理與框架** — chunks line 460-510（正則化技術：Dropout/Batch Normalization/L1+L2）\n\n## 融會貫通\n**正則化技術四大類**：\n- **L1 / L2 正則化** ── 加 loss 懲罰項\n- **Dropout** ── 訓練時隨機丟神經元（看到 binomial mask 就是它）\n- **Batch Normalization** ── 標準化中間層輸出（看到 mean/var 計算）\n- **Early Stopping** ── 監控驗證 loss，停在最佳點\n\nDropout 是 2014 年 Hinton 團隊發表的經典 trick，現在 Transformer 也廣泛用。",
    "40": "## 題目核心\n判斷以下 numpy 程式碼哪個敘述正確：\n```python\nv1 = np.array([1, 2, 3])\nv2 = np.array([4, 5, 6])\nA = np.array([[1, 2], [3, 4]])\n```\n\n## 為什麼答案是 (C) np.dot(v1, v2) 結果為 32\n`np.dot(v1, v2)` 是**向量內積（dot product）**：1×4 + 2×5 + 3×6 = 4 + 10 + 18 = **32** ✓\n\n## 為什麼其他選項錯\n- **(A) np.linalg.inv(A) 計算行列式** ── 完全錯。`np.linalg.inv(A)` 計算的是**反矩陣（inverse）**，行列式是 `np.linalg.det(A)`。\n- **(B) v1 * v2 結果為 array([5, 7, 9])** ── 完全錯。`*` 是**逐元素乘法（element-wise）**，結果是 `[1×4, 2×5, 3×6] = [4, 10, 18]`。如果是 `[5,7,9]` 那是 `v1 + v2` 的結果。\n- **(D) np.linalg.eig(A) 計算反矩陣** ── 完全錯。`np.linalg.eig(A)` 計算的是**特徵值與特徵向量（eigenvalue / eigenvector）**，反矩陣才是 `inv`。\n\n## 📖 章節來源\n**L23102 線性代數之機器學習基礎應用** — chunks line 90-160（向量內積、矩陣運算、numpy API）\n\n## 融會貫通\n**numpy 線性代數常用 API 對照表**：\n- **`np.dot(a, b)` / `a @ b`** ── 內積（向量）/ 矩陣乘法\n- **`a * b`** ── **逐元素乘法**（element-wise，注意陷阱！）\n- **`np.linalg.inv(A)`** ── 反矩陣 A⁻¹\n- **`np.linalg.det(A)`** ── 行列式 |A|\n- **`np.linalg.eig(A)`** ── 特徵值與特徵向量\n- **`np.linalg.solve(A, b)`** ── 解線性方程 Ax = b\n- **`a.T`** ── 轉置\n\n初學最容易踩坑：`A * B` 和 `A @ B` 完全不同！前者逐元素、後者矩陣乘法。",
    "41": "## 題目核心\n用 Monte Carlo 估算條件機率 `P(A|B)` 的正確程式碼。\n\n## 為什麼答案是 (D) A_and_B.sum() / B.sum()\n條件機率定義：`P(A|B) = P(A ∩ B) / P(B)`（**在 B 發生的情況下，A 發生的機率**）\n\nMonte Carlo 估算：\n- `A_and_B.sum()` = 同時發生 A 和 B 的次數\n- `B.sum()` = B 發生的次數\n- 比值就是條件機率 = **「B 發生的當中，A 也發生的比例」**\n\n以骰子為例驗算：\n- A：偶數 = {2,4,6}\n- B：大於 3 = {4,5,6}\n- A ∩ B = {4,6}（偶數且大於 3）\n- P(A|B) = 2/3 ≈ 0.667\n\n程式碼跑出來會接近 0.667，因為 `A_and_B.sum()/B.sum() = 大約2萬/大約5萬 ≈ 0.667`。\n\n## 為什麼其他選項錯\n- **(A) A_and_B.sum() / (A.sum() * B.sum())** ── 分母是兩數相乘 ≈ 50000 × 50000 = 25 億，結果接近 0，**沒有機率意義**。\n- **(B) A_and_B.sum() / (A.sum() + B.sum())** ── 分母是兩數**相加**，沒有條件機率定義對應的形式。\n- **(C) A_and_B.sum() / A.sum()** ── 這算的是 `P(B|A)` 不是 `P(A|B)`，**A 跟 B 角色顛倒**。\n\n## 📖 章節來源\n**L23101 機率統計之機器學習基礎應用** — chunks line 90-150（條件機率與貝氏定理）\n\n## 融會貫通\n**條件機率公式記法**：\n- `P(A|B) = P(A ∩ B) / P(B)` ── 「在 B 的條件下」分母就是 P(B)\n- `P(B|A) = P(A ∩ B) / P(A)` ── 「在 A 的條件下」分母就是 P(A)\n\n看到「P(A|B)」（A given B），分母**永遠是 B**！這題的陷阱在 (C) 把 P(A|B) 跟 P(B|A) 搞混。",
    "45": "## 題目核心\n要對 VGG16 做遷移學習：**凍結卷積層**、**只訓練最後全連接層**，哪段程式碼正確？\n\n## 為什麼答案是 (B) for param in model.features.parameters(): param.requires_grad = False\nVGG16 在 PyTorch 的 `torchvision.models` 裡架構分兩塊：\n- `model.features` = **卷積層 + 池化層**部分（要凍結的部分）\n- `model.classifier` = **全連接層**部分（要重新訓練的部分）\n\n所以正確做法：\n1. `for param in model.features.parameters(): param.requires_grad = False` ── **只凍結卷積層**\n2. `model.classifier[6] = nn.Linear(4096, 10)` ── 把最後一層改成適合新任務的輸出維度\n\n## 為什麼其他選項錯\n- **(A) `model.parameters()`** ── 把**整個模型**（含 classifier）都凍結，連最後要訓練的全連接層也凍結了，無法學習新任務。雖然 (A) 後面把 `classifier[6]` 換成新層，但**新層的 requires_grad 預設是 True**（新建層不繼承），所以技術上 (A) 也會 work，但風格不對 ── 標準寫法是只凍結 features。實務也偶爾這樣寫，但 (B) 是更明確的對應「凍結卷積層」需求的寫法。\n- **(C) `model.classifier.parameters()`** ── **完全相反**！把全連接層凍結、卷積層留著訓練，跟需求顛倒。\n- **(D) `model.requires_grad = False`** ── **語法錯**！`model` 是 nn.Module，沒有 `requires_grad` 屬性（只有 Parameter 才有）。這行根本沒效果。\n\n## 📖 章節來源\n**L23203 深度學習原理與框架** — chunks line 700-760（遷移學習 + VGG16/ResNet 冷凍卷積層）\n\n## 融會貫通\n**遷移學習標準步驟**：\n1. 載入預訓練模型：`model = models.vgg16(pretrained=True)`\n2. 凍結特徵提取層：`for p in model.features.parameters(): p.requires_grad = False`\n3. 替換最後輸出層：`model.classifier[6] = nn.Linear(4096, 你的類別數)`\n4. 只訓練新層：optimizer 只傳入 `model.classifier.parameters()` 或設定 `lr` 區分\n\n這樣做的好處：① 訓練快（只更新少量參數）② 資料少也能訓（卷積特徵已經學好）③ 通用視覺特徵不用重學。",
    "9": "## 題目核心\n建構**以距離為基礎**的機器學習模型（如 KNN 最近鄰、SVM 支援向量機）時，哪一項資料前處理**最為關鍵**？\n\n## 為什麼答案是 (A) 進行特徵縮放（Feature Scaling）\nKNN、SVM、K-means、PCA 等模型的核心運算都涉及**樣本之間的距離計算**（歐幾里得距離、曼哈頓距離）。如果不同特徵的數值範圍差異懸殊（例如「年齡 0-100」vs「年收入 0-10,000,000」），**數值大的特徵會主導距離計算**，掩蓋其他特徵的影響力 — 等於變相加權，扭曲模型判斷。\n\n特徵縮放方法：\n- **Min-Max Normalization**：壓到 [0,1] 區間 → `x' = (x-min)/(max-min)`\n- **Z-score Standardization**：μ=0、σ=1 → `x' = (x-μ)/σ`\n- **Robust Scaling**：用 median + IQR，對離群值穩健\n\n## 為什麼其他選項錯\n- **(B) 連續轉類別** ── 反而**損失資訊**（連續值精度被丟掉），對距離型模型無益且通常有害；只有特定樹模型（分箱）才會這樣做。\n- **(C) 缺失值補齊** ── 重要但**不是距離型模型獨有的關鍵**。所有模型都需要處理缺失值，這題在問「以距離為基礎」的**特殊需求**。\n- **(D) 隨機抽樣平衡** ── 是處理**類別不平衡**（class imbalance）的方法，跟距離計算尺度問題無關。\n\n## 📖 章節來源\n**L23202 常見機器學習演算法（KNN）** — chunks line 783-786（不同尺度的特徵會影響距離計算，特徵尺度大者會被過度放大）+ chunks line 829-831（對特徵尺度敏感，缺乏特徵縮放會導致結果偏差）+ **L23301 數據準備與特徵工程** — chunks 內 Min-Max/Z-score/Robust Scaling 三大標準化方法\n\n## 融會貫通\n**「距離為基礎」模型清單**（看到就要記得做特徵縮放）：\n- **監督式**：KNN、SVM（含 RBF kernel）、Logistic Regression（梯度下降收斂速度）\n- **非監督式**：K-means、Hierarchical Clustering、DBSCAN、PCA、t-SNE\n- **不需特徵縮放**：決策樹、Random Forest、XGBoost、LightGBM（基於閾值切分，與尺度無關）\n\n**記憶口訣**：「**距離型 + 梯度型 → 縮放；樹型 → 不用**」。考試遇到 KNN/SVM/K-means/PCA + 特徵尺度問題 → 答案幾乎都是「先做 Feature Scaling」。",
    "4": "## 題目核心\n題目給了一個 DBSCAN 中很完整的「負面條件清單」：鄰域內樣本數不足以成為核心點、未被任何核心點的鄰域包含、也未與其他群集形成密度可達（Density Reachability）關係。要從 DBSCAN 的三種點（核心點 / 邊界點 / 雜訊點）中選出哪一種完全滿足這些「都不是」的條件。\n\n## 為什麼答案是 (B) 雜訊點 (Noise Point)\nDBSCAN（Density-Based Spatial Clustering of Applications with Noise）依據兩個關鍵參數運作：Eps（鄰域半徑）與 MinPts（最小點數）。教材原文：「如果鄰域內的點數 ≥ MinPts，則該點被定義為核心點。從這個核心點開始，生成一個新的群集，並遞歸地將所有從核心點『密度可達』的點（包括其他核心點和邊界點）添加到該群集。如果鄰域內的點數 < MinPts，則該點暫時被標記為噪聲點或邊界點。」\n\n邊界點與雜訊點的鑑別關鍵在於「是否落在某個核心點的 Eps 鄰域內」：邊界點本身不是核心點，但落在某個核心點的鄰域內，因此會被吸收進該群集；雜訊點則完全孤立，既不是核心點、也不落在任何核心點的鄰域內、也無法透過密度可達被任何群集吸收。\n\n題目敘述「未被任何核心點的鄰域所包含，也未與其他群集形成密度可達關係」正好對應雜訊點的定義。DBSCAN 的名字 Applications with Noise 就明確指出此演算法能自動辨識並分離噪聲點（離群值），這也是它相對於 K-means 的關鍵優勢。\n\n## 為什麼其他選項錯\n- **(A) 鄰近點 (Neighbor Point)** ── 不是 DBSCAN 的正式類別。Neighbor 一詞在 DBSCAN 只代表「位於某點 Eps 範圍內的鄰居」，是描述空間關係的詞，不是分類結果。\n- **(C) 邊界點 (Border Point)** ── 邊界點本身雖不滿足核心點條件，但必須「落在某核心點的鄰域內」才會被歸為邊界點。題幹明說「未被任何核心點的鄰域所包含」，已排除邊界點。\n- **(D) 潛在點 (Potential Point)** ── 不存在於 DBSCAN 的術語中，是干擾選項。\n\n## 📖 章節來源\n**L23202 無監督學習－DBSCAN** — chunks line 1162-1195（密度式分群與雜訊辨識）\n\n## 融會貫通\n常見混淆點：邊界點 vs 雜訊點。記住「核心點」是主動發起群集者、「邊界點」是被動被核心點吸收者、「雜訊點」是完全孤立者。判斷流程：先看是否 ≥ MinPts → 是 → 核心點；不是 → 看是否落在某核心點的 Eps 內 → 是 → 邊界點；不是 → 雜訊點。題幹一次否定兩個條件（不在核心點鄰域、無密度可達），等同直接點名雜訊點。",
    "5": "## 題目核心\n問 CNN 第一層卷積層（Convolutional Layer）的「主要負責功能」是什麼。考點是釐清 CNN 各層分工：卷積層、池化層、激活層、全連接層各自的角色，避免把「降維」或「分類」等其他層的工作誤套到卷積層上。\n\n## 為什麼答案是 (A) 自動提取輸入影像中的局部特徵\n教材在 CNN 章節對卷積層的定位非常明確：「卷積層（Convolutional Layer）：CNN 的核心，負責自動學習並提取輸入數據的局部特徵。」進一步說明卷積核（Kernel/Filter）在輸入資料上滑動進行卷積運算，「每次只關注輸入的一個小區域」，每個卷積核會產生一張特徵映射（Feature Map），「代表輸入中某種特定模式（如邊緣、紋理、顏色區塊）的激活程度」。\n\n第一層卷積層因為直接接觸原始影像像素，學到的通常是最基礎的局部視覺特徵：邊緣方向、色塊、紋理；後續較深的卷積層才會堆疊這些低階特徵組合出形狀、物件部位等高階特徵。再加上「權重共享（Weight Sharing）」機制，同一卷積核在不同位置共用權重，使 CNN 能辨識位置不變的特徵。\n\n智慧製造瑕疵檢測情境中，第一層卷積負責從生產線影像抽出邊緣、紋理等基本瑕疵線索，是整個 CNN 特徵提取管線的入口。\n\n## 為什麼其他選項錯\n- **(B) 降低影像維度以加速運算效率** ── 這是池化層（Pooling Layer）的工作。教材原文：「池化層的目的是縮減特徵映射的尺寸（降採樣），減少計算量。」卷積層輸出的空間維度通常維持或微縮，而非主要降維手段。\n- **(C) 增加神經元與參數數量以提升模型容量** ── 卷積層恰恰相反，是「透過權重共享降低參數量」。教材：「同一個卷積核在輸入數據的不同位置上是共享權重的，減少了模型的參數數量。」若想增加容量，是堆更多層卷積、加深網路，不是單一層的工作。\n- **(D) 整合所有特徵並輸出最終分類結果** ── 這是全連接層（Fully Connected Layer）的功能。教材原文：「全連接層的作用類似於傳統的多層感知器，負責將從前面層次學習到的特徵組合起來，進行最終的分類或迴歸預測。」\n\n## 📖 章節來源\n**L23203 深度學習－CNN** — chunks line 433-484（卷積神經網路模型結構與各層分工）\n\n## 融會貫通\n陷阱在於「第一層」三個字易誤導考生想成「入口處要先壓縮」。記住 CNN 流水線分工：卷積層提特徵 → 激活層引入非線性 → 池化層降維 → 全連接層分類。題目問哪一層做什麼，先想流水線的位置與角色，就不會混淆。",
    "29": "## 題目核心\n工業設備故障預測屬於「時間相關」場景：設備運行環境、工況條件隨時間變化，原本切下來的驗證集會「過時」。要選哪種策略最能持續反映現況、確保長期泛化能力。考點是時間序列模型的驗證集設計，與一般 i.i.d. 假設下的交叉驗證不同。\n\n## 為什麼答案是 (D) 時間序列交叉驗證 (Time Series Cross Validation) 或滑動視窗驗證 (Rolling Window Validation)\n教材關於交叉驗證的核心精神：「交叉驗證（Cross-Validation）是一種重要的模型評估技術，目的在於更真實地衡量模型的泛化能力，避免因為單次資料切分所產生的偏誤。透過將資料多次切分並反覆進行訓練與測試，可以有效觀察模型在不同樣本組合下的穩定性。」標準 K-fold 假設資料是獨立同分布（i.i.d.），但在時間序列中這個假設不成立——未來資料不能拿來「驗證過去模型」，否則會洩漏未來資訊（Data Leakage）。\n\n時間序列交叉驗證的核心思想是「保持時間順序」：每次都用較早的資料訓練、較晚的資料驗證；滑動視窗驗證則是用固定大小的視窗在時間軸上往前滾動，每次都用最新一段資料當驗證集，模擬模型上線後遇到新資料的真實情境。這樣驗證集會持續更新、跟著環境變化，正好對應題目「動態更新驗證資料以適應時間演進」的訴求。\n\n## 為什麼其他選項錯\n- **(A) 固定驗證集 + L2 正則化** ── L2 正則化能降低過擬合，但無法解決「驗證集本身已過時」的問題。驗證集若已不代表現況，再強的泛化技巧都評估不到正確指標。\n- **(B) 全部資料納入訓練、靠 Early Stopping** ── Early Stopping 依賴驗證集監控損失才能決定停止點，沒有驗證集等於沒有早停依據；且全資料訓練後完全失去模型表現的客觀評估。\n- **(C) 簡化模型架構** ── 減少參數量是降低過擬合的手段，但與「驗證集老化」是不同層次的問題。即使模型再簡單，若驗證集無法反映新環境，仍會在部署後失效。\n\n## 📖 章節來源\n**L23303 模型評估－交叉驗證** — chunks line 314-405（K-fold / Stratified / LOOCV / Repeated K-fold 交叉驗證體系）\n\n## 融會貫通\n關鍵鑑別點：題目場景一旦出現「時間」「環境演化」「工況變化」「Concept Drift」等字眼，就要往時間序列驗證方向想。傳統 K-fold 隨機打亂折分，會把未來資料混進訓練集，違反時間因果，是時間序列任務的大忌。Time Series CV / Rolling Window / Walk Forward Validation 都是維持時間順序的驗證家族。",
    "42": "## 題目核心\n附圖給了 VGG16 的 torchsummary 輸出，要從表中找出「參數量最多」的層類別。考點是理解卷積層 vs 全連接層的參數結構差異：卷積層因權重共享參數量受核大小限制，全連接層則每對神經元都有獨立權重，輸入維度大時會爆炸。\n\n## 為什麼答案是 (B) 全連接層 (Linear)\n直接看 summary 表中三個 Linear 層的參數：\n- Linear-33: [-1, 4096], 102,764,544\n- Linear-36: [-1, 4096], 16,781,312\n- Linear-39: [-1, 1000], 4,097,000\n\n三層 Linear 加總約 123.64M，佔總參數 138.36M 的約 89%。其中 Linear-33（第一個全連接層）一層就佔了 102.76M，遠超所有卷積層加總。\n\n為什麼會這樣？因為 Linear-33 的輸入是 AdaptiveAvgPool2d 的輸出 512×7×7 = 25088 攤平向量，輸出 4096，參數量 = 25088 × 4096 + 4096(bias) ≈ 102.76M。全連接層每個輸入神經元都連到下一層每個輸出神經元，參數量為 (input × output + bias)，輸入維度愈大、爆炸愈快。\n\n反觀卷積層 Conv2d-25 / 27 / 29 雖然 feature map 大（512 channels），但卷積核只有 3×3，參數量 = 512 × 512 × 3 × 3 + 512 ≈ 2.36M，遠小於 Linear。教材也說明卷積層的核心優勢之一是「權重共享（Weight Sharing）：同一個卷積核在輸入數據的不同位置上是共享權重的，減少了模型的參數數量」。\n\n## 為什麼其他選項錯\n- **(A) 卷積層 (Conv2d)** ── 全部 13 個 Conv2d 加總約 14.7M，僅佔總量約 10.6%，遠少於三個 Linear 的 123.6M。\n- **(C) ReLU 激活函數** ── ReLU 是 element-wise 的固定函數 max(0, x)，沒有可學習參數，summary 中所有 ReLU 都顯示 Param # = 0。\n- **(D) 池化層 (MaxPool2d, AdaptiveAvgPool2d)** ── 池化僅做下採樣（取 max 或 average），也沒有可學習參數，所有 MaxPool2d / AdaptiveAvgPool2d 都是 Param # = 0。\n\n## 📖 章節來源\n**L23203 深度學習－CNN / MLP** — chunks line 480-484（全連接層為傳統 MLP 結構）、line 456-458（卷積權重共享）\n\n## 融會貫通\n常見誤解：「卷積層多 → 參數多」。實際上 VGG16 雖有 13 層卷積，但靠 3×3 小核與權重共享，總參數比僅 3 層的全連接小一個數量級。這是現代輕量化網路（如 GoogLeNet、ResNet 用 Global Average Pooling 取代 FC）的設計動機——拿掉爆量的 FC 就能大幅瘦身。",
    "43": "## 題目核心\n與 Q42 互補：Q42 問參數量最多哪層、Q43 問 FLOPs（運算量）最多哪層。同樣是看 VGG16 summary，但這次要算的是浮點運算次數而非權重數量。考點是區分「參數量」與「運算量」的差異——它們由完全不同的因子決定。\n\n## 為什麼答案是 (A) 卷積層 (Conv2d)\nFLOPs（Floating Point Operations）計算的是模型 forward pass 期間的乘加運算總次數。卷積層 FLOPs 公式約為：H_out × W_out × C_out × (K_h × K_w × C_in)，其中 H_out × W_out 是輸出 feature map 的空間大小。\n\n以 VGG16 的 Conv2d-1（輸入 3×150×150 → 64×150×150，kernel 3×3）為例：\nFLOPs ≈ 150 × 150 × 64 × (3 × 3 × 3) ≈ 3,888 萬 次乘加\n\n再看 Conv2d-3（64→64 同空間）：\nFLOPs ≈ 150 × 150 × 64 × (3 × 3 × 64) ≈ 8.3 億 次乘加\n\n雖然每層卷積參數少（共享權重），但「卷積核要在整張 feature map 每個位置都滑一次」，因此 spatial 維度愈大（早期層 150×150、75×75）運算量愈爆。VGG16 前段卷積層光是一層 FLOPs 就達 10⁸ 等級，13 層加總可達數 GFLOPs。\n\n反觀全連接層 Linear-33（25088→4096）參數量 102M 雖大，但 FLOPs 約 25088 × 4096 ≈ 1.03 億，因為沒有 spatial 維度（已被 pool 壓成單一向量），單次運算就結束，總 FLOPs 仍遠小於卷積堆疊。\n\n## 為什麼其他選項錯\n- **(B) 全連接層 (Linear)** ── 參數量最多但 FLOPs 不是最多。理由如上，Linear 沒有 H×W 維度可乘，每個參數只用一次。\n- **(C) ReLU 激活函數** ── ReLU 僅做 element-wise 的 max(0, x) 比較，每個元素 1 次運算，相較卷積層的乘加，FLOPs 相對可忽略。\n- **(D) 池化層** ── Max/Avg Pooling 在小視窗（通常 2×2）內取 max 或 mean，運算量級遠低於卷積。\n\n## 📖 章節來源\n**L23203 深度學習－CNN** — chunks line 445-478（卷積層 / 池化層 / 全連接層的運作差異）\n\n## 融會貫通\n關鍵鑑別點：「參數量 ≠ 運算量」。記住兩個公式直覺即可：卷積層 FLOPs = 輸出 spatial × 輸出 channels × kernel × 輸入 channels；全連接層 FLOPs = 輸入 × 輸出。早期卷積層 spatial 大、運算量爆；後期全連接層參數大、儲存量爆。模型壓縮策略要看瓶頸在哪——記憶體吃緊去剪 FC，推論延遲高去剪 Conv 或用 MobileNet 的 Depthwise 分離卷積。",
    "44": "## 題目核心\n四個敘述都涉及 VGG16 架構細節：AdaptiveAvgPool2d 的輸出維度、Linear 層參數是否含 bias、Estimated Total Size 的意義、VGG16 命名由來。考點是綜合理解 torchsummary 的每個欄位以及 VGG16 的命名規則。\n\n## 為什麼答案是 (D) VGG16 包含 13 層卷積層 (Conv) 與 3 層全連接層 (FC)，總參數約 138,357,544 (約 138.36M)\nVGG16 的命名規則就是「卷積層數 + 全連接層數 = 16」。看 summary 表：Conv2d-1, 3, 6, 8, 11, 13, 15, 18, 20, 22, 25, 27, 29 共 13 個 Conv2d；Linear-33, 36, 39 共 3 個 Linear；13 + 3 = 16，這正是 VGG16 名字的由來（ReLU、Pool、Dropout 不計入命名層數，因它們無學習參數）。\n\n總參數量 Total params: 138,357,544 直接列在 summary 底部，約 138.36M，與選項描述一致。這是 VGG16 廣為人知的特徵之一，也是它在當年（2014）的 ImageNet 比賽中參數量最龐大的模型之一。\n\n## 為什麼其他選項錯\n- **(A) AdaptiveAvgPool2d 輸出 4×4，Linear 輸入 512×4×4=8192** ── 錯。看 summary：AdaptiveAvgPool2d-32 的 Output Shape 是 [-1, 512, 7, 7]，不是 4×4。所以 Linear-33 的輸入應為 512×7×7=25088。驗證：Linear-33 的 102,764,544 = (25088+1)×4096，等號成立。\n- **(B) Linear-33 的 102,764,544 只含權重不含 bias** ── 錯。Linear 層 PyTorch 預設 bias=True，summary 顯示的 Param # 包含 weight 與 bias 兩部分。實際計算：weight = 25088×4096 = 102,760,448；bias = 4096；總 = 102,764,544，與表格完全吻合。\n- **(C) Estimated Total Size 624.98 MB 包含 optimizer state 與梯度，1GB GPU 夠用** ── 錯。Estimated Total Size 是 torchsummary 估算的「forward/backward 中間張量 + 參數 + 輸入」記憶體佔用（只算 inference 部分）。實際訓練時還需 optimizer state（如 Adam 約 2×params）、梯度（≈params）、batch size 倍率，總量可能 >2-4 GB；此外 PyTorch 本身的 CUDA context 也佔記憶體。1 GB GPU 連 forward 都不一定夠。\n\n## 📖 章節來源\n**L23203 深度學習－CNN** — chunks line 433-545（典型 CNN 結構：Conv / Pool / FC 堆疊）；line 550-562（經典 CNN 模型 AlexNet/VGG/ResNet 演進）\n\n## 融會貫通\n陷阱在於選項中夾雜了「半對半錯」的細節。記住三個事實：(1) Linear 層參數 = (input+1)×output，可用 summary 數字反推輸入維度；(2) torchsummary 的 Total Size 不含 optimizer/gradient/CUDA overhead；(3) VGG16 / VGG19 命名規則 = 有學習參數的卷積層 + 全連接層數量。VGG19 = 16 Conv + 3 FC = 19。",
    "46": "## 題目核心\n程式碼用 PCA 做雜訊圖片的去噪，但執行後雜訊依然明顯。考點是要找出哪段程式碼設定錯誤，導致 PCA 無法發揮降噪效果。關鍵在 PCA 的去噪原理——只保留主要主成分、丟棄較小特徵值對應的「雜訊主成分」——這要靠 n_components 控制。\n\n## 為什麼答案是 (B) 程式碼 B\n問題程式碼如下：\n```python\npca = PCA()                                  # 程式碼 B  ← 這裡有問題\npca.fit(noisy)                               # 程式碼 C\ncomponents = pca.transform(noisy)            # 程式碼 D\nfiltered = pca.inverse_transform(components) # 程式碼 E\n```\n\nPCA 去噪的原理：高變異主成分通常代表訊號、小特徵值主成分通常代表雜訊；只要保留前 k 個主成分（捨棄後面的）再 inverse_transform，就能把雜訊濾掉。\n\n但 `PCA()` 不指定 `n_components` 時，sklearn 預設 `n_components = min(n_samples, n_features)`，會「保留全部主成分」。這時：\n- transform 把資料投影到完整 64 維主成分空間（無資訊損失）\n- inverse_transform 完美還原回原始空間\n- 結果等同於 filtered = noisy，雜訊完全沒被濾掉\n\n正確寫法應改成 `PCA(n_components=k)` 或 `PCA(n_components=0.85)` 之類（保留 85% 變異），這樣後續 inverse_transform 才會「丟掉雜訊主成分」、達成降噪。\n\n教材原文佐證：「特徵向量定義了主成分的方向，而特徵值則表示該主成分所解釋的變異量大小。選擇具有最大特徵值的 K 個特徵向量，作為新的 K 個主成分。」這個「選擇 K 個」的動作正是 n_components 在做的事。\n\n## 為什麼其他選項錯\n- **(A) 程式碼 A** ── 題目選項裡的「程式碼 A」是 `import numpy as np; noisy = np.random.normal(digits.data, 4)`，這是合法的加雜訊操作（以原資料為平均、std=4 的高斯雜訊），語法正確。\n- **(C) 程式碼 C** ── `pca.fit(noisy)` 是學習資料的主成分方向，是 PCA 流程的標準步驟，無誤。\n- **(D) 程式碼 D** ── `pca.transform(noisy)` 把資料投影到主成分空間，也是標準操作，無誤。\n\n## 📖 章節來源\n**L23202 無監督學習－PCA 降維** — chunks line 1197-1245（主成分分析的特徵值選擇 K 個主成分）；line 1080-1082（降維應用：雜訊過濾）\n\n## 融會貫通\n核心觀念：PCA 不會自動知道「哪些主成分是雜訊」，要由你透過 n_components 告訴它「只留前 k 個」。常見實作策略：(1) 指定固定數量 `PCA(n_components=10)`；(2) 指定變異比例 `PCA(n_components=0.95)` 保留 95% 變異；(3) 配合 explained_variance_ratio_ 畫 scree plot 找肘點。記住預設 `PCA()` = 不降維 = 等於沒做。",
    "47": "## 題目核心\n四段程式碼都嘗試對 digits 資料集做 KNN + 交叉驗證並輸出準確率，但差異在「scoring 指標」和「cv 物件」。考點是 scoring 參數的合法性——digits 是 10 類別的多類別任務，scoring=\"f1\" 在無指定 average 時會在 multiclass 報錯。\n\n## 為什麼答案是 (B) 程式碼 A、程式碼 C\n四段程式碼比較：\n```python\n# A: cv=StratifiedKFold(5, shuffle=True), scoring=\"accuracy\"  ✓ 可正確執行\n# B: cv=StratifiedKFold(5, shuffle=True), scoring=\"f1\"        ✗ 報錯\n# C: cv=5,                              scoring=\"accuracy\"  ✓ 可正確執行\n# D: cv=5,                              scoring=\"f1\"        ✗ 報錯\n```\n\ndigits 資料集是手寫數字 0-9 的影像，target 是 10 個類別（multiclass）。sklearn 的 `f1_score` 在多類別情境必須指定 `average` 參數（如 'macro' / 'micro' / 'weighted'）才能聚合各類別 F1。\n\n直接寫 `scoring=\"f1\"` 對應的是「二元分類的 F1」，在 multiclass 上會丟出錯誤訊息：\"Target is multiclass but average='binary'. Please choose another average setting, one of [None, 'micro', 'macro', 'weighted'].\"\n\n因此 B 和 D 都會中斷執行、無法輸出 scores.mean()。\n\nA 和 C 都用 accuracy，accuracy 在 multiclass 是合法的（直接算「預測正確比例」），cross_val_score 能正常回傳 5 個 fold 的分數陣列。差別只在 cv 參數：A 顯式建 StratifiedKFold(shuffle=True)、C 傳 cv=5（cross_val_score 對分類任務預設就會用 StratifiedKFold(5)，但不 shuffle）。兩者都合法、都能輸出準確率。\n\n## 為什麼其他選項錯\n- **(A) A、B、C、D 全部** ── B 和 D 因 scoring=\"f1\" 在 multiclass 任務上報錯，無法輸出。\n- **(C) A、B** ── B 會報錯，不應入選。\n- **(D) C、D** ── D 同樣會因 scoring=\"f1\" multiclass 報錯。\n\n## 📖 章節來源\n**L23303 模型評估－交叉驗證** — chunks line 314-358（K-fold / Stratified K-fold）；**L23202 KNN 分類** — chunks line 746-805（K Nearest Neighbors）\n\n## 融會貫通\n關鍵鑑別點：在多類別任務中使用 F1 必須指定 average。記憶口訣：「accuracy 無腦用、f1 看 binary、multiclass 要 macro/weighted」。額外提醒：cross_val_score 對分類任務預設用 StratifiedKFold 確保每折類別比例一致，這就是 Stratified K-fold 章節提到「適用於類別分佈不均的資料」，digits 雖然各類接近均衡仍是預設 stratified。",
    "48": "## 題目核心\n程式碼對訓練集與測試集做 Z-score 標準化（減平均、除標準差）。六個敘述 A-F 要選出全部正確的組合。考點是 Z-score 標準化的數學意義、與其他 scaling 方法的差異、以及在深度學習中的作用。\n\n## 為什麼答案是 (C) A、D（敘述 A 與 D 正確）\n四個敘述逐一檢視：\n\n**A: `X_train -= X_train.mean(axis=0)` 將每個訓練集特徵的平均值調整為 0**  ✓ 正確\n減去平均值（中心化）後，每個 column 的平均必為 0，這是 Z-score 的第一步。教材原文：「Z-score Standardization（Z 分數標準化）將數值轉換為平均值為 0、標準差為 1 的常態分佈。」\n\n**B: `X_train /= X_train.std(axis=0)` 將每個訓練集特徵的標準差調整為 0**  ✗ 錯誤\n除以標準差會把 std 「調整為 1」，不是 0（std=0 表示無變異，是常數欄位）。\n\n**C: X_train 處理結果會將資料壓縮到 0 和 1 之間**  ✗ 錯誤\n壓縮到 [0,1] 的是 Min-Max Normalization（`(x-min)/(max-min)`），不是 Z-score。Z-score 的結果是「平均 0、std 1 的近似常態分佈」，數值可以是負的（如 -3 到 +3 都很常見），與 [0,1] 區間無關。\n\n**D: 標準化結果防止梯度爆炸或消失**  ✓ 正確\n深度學習中，若不同特徵的量級差異大（如 fare 上百、age 個位數），加權求和後輸入到激活函數的數值會落在極端區域，導致 sigmoid/tanh 的梯度接近 0（梯度消失）或反向傳播時權重更新過大（梯度爆炸）。標準化使各特徵在類似尺度，數值落在激活函數的有效梯度區，能顯著改善訓練穩定性。\n\n**E: 標準化屬於特徵選擇 (Feature Selection)**  ✗ 錯誤\n標準化屬於 Feature Scaling（特徵縮放），目的是調整數值尺度；Feature Selection 是「挑哪些特徵留下」（如 SelectKBest、L1 篩選），兩者完全不同階段。\n\n**F: 應改為 `X_train = X_train.std(axis=0)`** ✗ 錯誤\n這樣會把 X_train 整個替換成「每個特徵的標準差向量」（shape 完全錯），不是標準化。\n\n## 為什麼其他選項錯\n- **(A) A、B、C、D** ── 含錯誤的 B 和 C。\n- **(B) A、E** ── E 把 scaling 誤歸為 selection。\n- **(D) A、C、F** ── C 把 Z-score 誤認為 Min-Max；F 是亂改語法。\n\n## 📖 章節來源\n**L23301 特徵轉換與資料標準化** — chunks line 164-188（Min-Max / Z-score / Robust Scaling 三種尺度調整方法）\n\n## 融會貫通\n陷阱在於 Min-Max 與 Z-score 的混淆。簡記：Min-Max 壓到 [0,1]、Z-score 壓到 mean=0/std=1。對 SVM、KNN、神經網路等距離/梯度敏感模型，標準化幾乎必做；對樹模型（決策樹、隨機森林、XGBoost）則不必，因為樹的分裂規則只看「序」不看「值」。",
    "49": "## 題目核心\nKeras Sequential 模型有三層 Dense：Dense(10, relu) → Dense(10, relu) → Dense(1, sigmoid)。輸入 X_train 有 9 個特徵（pclass, sex, age, sibsp, parch, fare, embarked_C, _Q, _S）。題目要算空格 1（第一層 Dense 參數）與空格 2（第二層 Dense 參數）的值，並順帶問 relu 數學式與 sigmoid 用途。\n\n## 為什麼答案是 (C) 空格 1 值為 100，空格 2 值為 110\nDense 層參數公式：(input_dim + 1) × output_dim，其中 +1 是 bias。\n\n**空格 1**（第一個 Dense(10, relu)）：\n- 輸入維度 = X_train.shape[1] = 9（Titanic 9 個特徵欄位）\n- 輸出 = 10 個神經元\n- 參數 = (9 + 1) × 10 = 100\n\n**空格 2**（第二個 Dense(10, relu)）：\n- 輸入維度 = 前一層輸出 = 10\n- 輸出 = 10\n- 參數 = (10 + 1) × 10 = 110\n\n**第三層**（已給 11）驗證：\n- 輸入 = 10、輸出 = 1\n- 參數 = (10 + 1) × 1 = 11 ✓\n\n所以空格 1 = 100、空格 2 = 110，答案 (C)。\n\n## 為什麼其他選項錯\n- **(A) ReLU 數學式為 f(x) = 1/(1+e^(-x))** ── 錯。1/(1+e^(-x)) 是 Sigmoid 的公式。教材原文：「ReLU 函數將所有負數輸入設為 0，正值則保持不變。公式為 ReLU(x) = max(0, x)。」「Sigmoid 函數將輸入壓縮到 0 到 1 之間。公式為 σ(x) = 1/(1+e^(-x))。」\n- **(B) 空格 1 = 110、空格 2 = 100** ── 算反了。第一層輸入是 9 個原始特徵，第二層輸入才是前層的 10 個神經元輸出。\n- **(D) sigmoid 一般用於多類別分類** ── 錯。Sigmoid 用於「二元分類」，輸出一個機率值。多類別分類用 Softmax。教材原文：「分類任務輸出層常用 Softmax，二元分類用 Sigmoid，隱藏層則常用 ReLU 或其變體。」題目本身就是 Titanic 存活 / 死亡（survived = 0 或 1）的二元分類，所以最後一層才用 Dense(1, sigmoid) 而非 Softmax。\n\n## 📖 章節來源\n**L23203 深度學習－MLP** — chunks line 327-413（多層感知器全連接結構）；**L23304 激活函數** — chunks line 204-235（ReLU 與 Sigmoid 公式與適用範圍）\n\n## 融會貫通\n記憶 Dense 參數公式：每個神經元都連到上一層所有神經元（全連接），加一個 bias，所以是 (input+1)×output。常見陷阱：忘記算 bias 會少 output 個參數。另一個鑑別點：Sigmoid 輸出 [0,1] 適合「單一機率」（二元分類）；Softmax 輸出多個機率且總和=1，適合「互斥多類別」。如果用 Sigmoid 做多 label（每類獨立判斷是否），則叫多 label 分類，又是另一種應用。",
    "50": "## 題目核心\n程式碼用 matplotlib 畫 Training Loss 和 Validation Loss 兩條曲線，要填空格 1（Training Loss 的線型字串）和空格 2（Validation Loss 的線型字串），並判斷敘述 E「驗證損失明顯較訓練損失減少更明顯」對錯。\n\n## 為什麼答案是 (C) A、D（敘述 A 與 D 正確）\nmatplotlib 的 fmt 字串組成 = 顏色字母 + 線型符號：\n- 顏色：'b'=藍、'r'=紅、'g'=綠、'k'=黑\n- 線型：'-' 實線、'--' 虛線、':' 點線、'-.' 點劃線\n\n常見訓練視覺化慣例（與題目附圖一致）：\n- Training Loss 用「藍色實線 b-」\n- Validation Loss 用「紅色虛線 r--」（用虛線區別、紅色提示需要關注）\n\n五個敘述檢視：\n\n**A: 空格 1 須填入 \"b-\"**  ✓ 正確（Training Loss 藍色實線）\n\n**B: 空格 2 須填入 \"b--\"**  ✗ 錯誤（Validation Loss 不該再用藍色，會與 Training 混淆）\n\n**C: 空格 1 須填入 \"r-\"**  ✗ 錯誤（Training Loss 慣例用藍色，不是紅色）\n\n**D: 空格 2 須填入 \"r--\"**  ✓ 正確（Validation Loss 紅色虛線）\n\n**E: 驗證損失明顯較訓練損失減少更明顯**  ✗ 錯誤\n從附圖看，訓練損失（藍實線）持續下降到接近 0，而驗證損失（紅虛線）下降後在較高位置波動甚至略上升，這是典型的「過擬合」訊號：訓練集越學越好，但驗證集泛化沒有跟上。正常訓練曲線中，訓練損失下降通常比驗證損失明顯（驗證會更早趨於平緩），題幹剛好相反。\n\n所以正確組合是 A + D。\n\n## 為什麼其他選項錯\n- **(A) B、C** ── 兩個都錯（B 用藍色畫驗證會混色、C 把訓練畫紅色不符慣例）。\n- **(B) A、C、D** ── 包含錯誤的 C。\n- **(D) C、D、E** ── 包含錯誤的 C 和 E。\n\n## 📖 章節來源\n**L23303 模型評估－訓練視覺化** — chunks line 300-312（多輪驗證與效能穩定性觀察，搭配箱型圖等視覺化工具觀察訓練表現分佈）；**L23203 過擬合判讀** — chunks line 411-413（訓練損失持續下降而驗證損失偏高 = 過擬合徵兆）\n\n## 融會貫通\n關鍵鑑別點：(1) matplotlib fmt 字串顏色 + 線型不能搞混；(2) Training / Validation 慣例用不同顏色區分（藍 vs 紅、實線 vs 虛線）；(3) loss curve 觀察「兩條線是否同步下降」是判斷過擬合 / 欠擬合的標準方法。記住四種情境：兩條都高 = 欠擬合（underfitting）；訓練低驗證高 = 過擬合（overfitting）；兩條都低且接近 = 良好擬合；訓練高驗證更高 = 模型有問題、需檢查資料。"
  },
  "mock_L21101": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**:題目問「NLP 核心目標」→ 考點是 NLP 的定義範疇與三大任務層次（理解/處理/生成）。\n2. **正確答案 (B) 為何對**:教材明定 NLP 的目標在於讓機器能「**理解、處理並產生**」自然語言，是推動人機溝通、自動化知識擷取與語言智慧創作的關鍵基礎。三大任務層次 = Understand / Process / Generate,完整涵蓋文字與語音、結構化與非結構化資料。\n3. **其他選項為何刪**:\n   - (A) 只說語音轉文字、不涉語意理解 → 把 NLP 縮成 ASR(語音辨識)的子集,**範圍錯誤**,刪。\n   - (C) NLP 等同語音辨識、與文字無關 → 與教材「文字處理為核心」直接矛盾,刪。\n   - (D) NLP 僅處理結構化資料 → 教材強調 NLP 處理的正是「**非結構化**」自然語言,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 21-29(NLP 基礎概念與發展脈絡 - 定義與範疇)\n\n**融會貫通**:記法「**UPG 三任務**」— Understand(NLU)/Process(向量化、語法樹)/Generate(NLG)。題幹只要出現「僅」「等同」「無關」這類絕對語氣,通常都是干擾項,要警覺。",
    "2": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「NLU 與 NLG 何者**錯誤**」→ 考點是兩者角色的對應(理解 vs 產出),典型的 swap 干擾題型。\n2. **正確答案 (D) 為何對**:選項 (D) 說「**NLG 屬於理解階段、NLU 屬於產出階段**」— 完全對調。教材定義 **NLU = 理解階段**(意圖辨識、NER、情感分析);**NLG = 產出階段**(摘要、回應生成、報告撰寫)。題目要選錯誤敘述,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) NLU 專注理解語法結構與語意邏輯 → 教材原文,**正確**,刪。\n   - (B) NLG 將數據/知識轉為自然流暢語句 → 教材原文,**正確**,刪。\n   - (C) NLU 應用包含意圖辨識/NER/情感分析 → 教材表格中 NLU 的應用範例,**正確**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 33-43(NLP 基礎概念與發展脈絡 - 定義與範疇)\n\n**融會貫通**:記法「**U 在前(輸入端理解)、G 在後(輸出端生成)**」。對話流程:使用者輸入 → NLU 理解語意 → 系統處理 → NLG 產生回覆。看到 NLU/NLG 互換的選項要立刻警覺,這是最常見的 swap 干擾。",
    "3": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「NLP 技術演進四階段對應何者**錯誤**」→ 考點是各階段對應的代表模型,Word2Vec/GloVe/FastText 的歸類是關鍵。\n2. **正確答案 (D) 為何對**:Word2Vec、GloVe、FastText 屬於「**靜態詞嵌入**」(分布式但非語境型),不是預訓練語言模型。教材第四階段(2018-至今)預訓練 LM 的代表是 **BERT、GPT、RoBERTa、T5**。把靜態詞嵌入歸到預訓練 LM 是錯誤的階段對應。\n3. **其他選項為何刪**:\n   - (A) 1980s-1990s 規則式(ELIZA、專家系統)→ 教材表格原文,**正確**,刪。\n   - (B) 1990s-2010s 統計 LM(N-gram、HMM、CRF)→ 教材表格原文,**正確**,刪。\n   - (C) 2010s 深度學習(RNN、LSTM、GRU)→ 教材表格原文,**正確**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 51-56、189-200(技術演進脈絡 + 詞向量比較表)\n\n**融會貫通**:四階段的時間順序口訣「**規→統→深→預**」(規則→統計→深度→預訓練)。Word2Vec/GloVe/FastText 是「**分布式 + 非語境型**」,跟 BERT/GPT 的「分布式 + 動態語境型」要分清楚。",
    "4": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「規則式方法何者**正確**」→ 考點是規則式系統的特徵(依賴人工規則、可解釋性高、維護成本高)。\n2. **正確答案 (A) 為何對**:教材明確指出規則式方法「**完全依賴語言學家與工程師手工編寫語法規則與詞彙辭典**」,其限制是「擴展性差、無法靈活應對語境變化、維護成本高」。(A) 完整呼應教材描述。\n3. **其他選項為何刪**:\n   - (B) 自動從語料學習統計結構 → 這是**統計語言模型**的特性,刪。\n   - (C) 神經網路捕捉長距離依賴 → 這是**深度學習(RNN/LSTM)**的特性,刪。\n   - (D) 自注意力機制全局語境建模 → 這是 **Transformer** 的特性,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 60-64(規則式方法 - 階段描述/優勢/限制)\n\n**融會貫通**:四階段的核心差異「**規則 = 人工、統計 = 機率、深度 = 神經網路、Transformer = 自注意力**」。BCD 各自對應其他三個階段的特性,是典型的「**錯位干擾**」題型 — 把後面階段的特性安到規則式系統上。",
    "5": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「N-gram 的**主要限制**」→ 考點是統計語言模型的弱點(資料稀疏、長距離依賴)。\n2. **正確答案 (B) 為何對**:教材原文「N-gram 隨著 n 值增大,模型需要大量數據來訓練,並且在語境較長的情況下表現不佳」、「長句效果差、資料稀疏嚴重、無法捕捉長距依賴」。(B) 直接命中兩個核心限制。\n3. **其他選項為何刪**:\n   - (A) 無法處理數值資料 → 與 N-gram 無關,N-gram 是處理「文字序列」的方法,刪。\n   - (C) 必須依賴 GPU/TPU → GPU/TPU 是**深度學習/Transformer**的需求,N-gram 計算量小,刪。\n   - (D) 僅能用於電腦視覺 → N-gram 是**文字處理**方法,與 CV 無關,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 82、198(N-gram + N-grams 表示限制)\n\n**融會貫通**:N-gram 的兩大致命傷「**稀疏 + 短視**」— n 越大資料越稀疏(維度爆炸),n 越小視野越短(只能捕捉相鄰幾個詞)。這就是為什麼後來需要 Word2Vec(分布式)和 Transformer(自注意力)來突破。",
    "6": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目問「解決長距離依賴 + 自注意力 + 並行運算」→ 三個關鍵字一起出現,直指 **Transformer**。\n2. **正確答案 (C) 為何對**:教材原文「Transformer 架構摒棄了傳統的序列遞迴結構,轉而採用了**自注意力機制(Self-Attention)**,使得每個詞在處理時能夠考慮到整個輸入序列中的所有其他詞,實現全局語境的建模。並且能夠在多層結構中**並行處理數據**,顯著提高計算效率」。三個關鍵字全中。\n3. **其他選項為何刪**:\n   - (A) HMM → 統計語言模型(隱馬可夫),無自注意力機制,刪。\n   - (B) N-gram → 統計共現表示,無法捕捉長距依賴,刪。\n   - (D) CRF → 條件隨機場,用於序列標注,非自注意力架構,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 106、570(預訓練 LM 階段 + Transformer 架構崛起)\n\n**融會貫通**:Transformer 三大金字招牌「**自注意力 + 全局語境 + 並行運算**」。看到題目同時出現這三個關鍵字,99% 答案是 Transformer。其他選項都屬於更早的世代,沒有這些能力。",
    "7": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「GRU 的敘述何者**正確**」→ 考點是 GRU 與 LSTM 的關係(簡化版 vs 複雜化)。\n2. **正確答案 (A) 為何對**:教材原文「GRU 是 **LSTM 的簡化版本**,具有與 LSTM 類似的優勢,但結構**更簡單**,且在計算上**更為高效**」、「GRU 精簡版 LSTM,整合部分門控機制,運算較快,效果接近 LSTM」。\n3. **其他選項為何刪**:\n   - (B) GRU 是 LSTM 複雜化版本 → 方向**反了**,GRU 是簡化版,刪。\n   - (C) GRU 完全捨棄門控機制 → GRU 仍**保留部分門控機制**(更新門/重置門),只是比 LSTM 少,刪。\n   - (D) GRU 採用自注意力機制 → 自注意力是 **Transformer** 的招牌,GRU 屬於 RNN 家族,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 102、566(深度學習階段 + RNN/LSTM/GRU 比較表)\n\n**融會貫通**:RNN 家族的演進「**RNN → LSTM(加門控解梯度消失)→ GRU(簡化 LSTM、效率更好)**」。LSTM 有三個門(input/forget/output),GRU 整合為兩個(update/reset),所以「簡化」但仍有門控。",
    "8": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「Lemmatization vs Stemming 比較何者**正確**」→ 考點是兩種文字正規化方法的差異,典型的 swap 干擾題型。\n2. **正確答案 (A) 為何對**:教材原文「Lemmatization **仰賴語法規則與字典**,語意保留較佳,適合**語意分析、問答系統**等任務」。Lemmatization 用字典查詢字根(running → run),語意正確;Stemming 用裁剪規則(happiness → happi),可能裁出非有效單字。\n3. **其他選項為何刪**:\n   - (B) Stemming 仰賴語法規則與字典,語意保留較佳 → 把 Lemma 的特性安到 Stem 上,**對調錯誤**,刪。\n   - (C) Lemmatization 速度比 Stemming 快、準確性較低 → 兩者特性都**寫反**,Stemming 才是「快但不準」,刪。\n   - (D) 兩者完全相同 → 教材明確區分兩者差異,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 142-143、162-170(NLP 前處理 - 詞形還原與詞幹提取)\n\n**融會貫通**:記法「**Lemma 慢但準、Stem 快但糙**」。對 running 兩者都還原成 run(結果一樣);但對 happiness,Lemma → happiness/happy(語意正確),Stem → happi(無效單字)。差別在「是否查字典」。",
    "9": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目問「停用詞移除敘述何者**錯誤**」→ 考點是停用詞處理的彈性(並非強制必要)。\n2. **正確答案 (C) 為何對**:選項 (C) 說「在**任何** NLP 任務中都**必須**移除停用詞」— 教材明確指出「在**對話生成、語法分析**等應用中,**有時仍需保留**這些詞,以維持語句完整性與語氣自然流暢」。停用詞移除是**選擇性**步驟,不是強制。\n3. **其他選項為何刪**:\n   - (A) 排除對分類與語意貢獻較小的高頻詞,凸顯核心詞彙 → 教材原文,**正確**,刪。\n   - (B) 常見於資訊檢索與主題建模 → 教材原文,**正確**,刪。\n   - (D) 對話生成、語法分析需保留以維持語句完整性 → 教材原文,**正確**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 144、172-178(NLP 前處理 - 停用詞移除)\n\n**融會貫通**:NLP 前處理的選擇性原則「**沒有萬用流程,看任務決定**」。資訊檢索/主題建模 → 移除(凸顯關鍵詞);對話生成/語法分析 → 保留(語意完整)。看到「任何/必須/絕對」這種絕對語氣,常是錯誤選項。",
    "10": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「分詞敘述何者**正確**」→ 考點是分詞的定義 + 中文等無空白語言的處理 + 子詞分解。\n2. **正確答案 (B) 為何對**:教材原文「分詞:將一段文字拆解為**單字、詞組或子詞**,作為語言處理的基本單位。基於空白、**斷詞字典或子詞分解(如 BPE)**」、「中文、日文等無空白語言,通常需要**斷詞字典或模型輔助**切詞」。\n3. **其他選項為何刪**:\n   - (A) 中文/日文僅需以空白切詞 → 中日文**無空白**,需斷詞字典或模型,刪。\n   - (C) 分詞錯誤對後續無影響 → 教材明示「分詞錯誤會直接影響後續語法/語意分析」,刪。\n   - (D) 分詞只能基於空白、無法使用子詞分解 → 教材明示可用 BPE 等子詞分解,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 140、146-150(NLP 前處理 - 分詞)\n\n**融會貫通**:分詞的三種策略「**空白切(英文)→ 字典/模型(中日文)→ 子詞分解 BPE(現代 LLM)**」。BPE(Byte-Pair Encoding)是 GPT/BERT 採用的子詞分解法,能處理 OOV 與多語言。",
    "11": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「POS Tagging 功能描述何者**正確**」→ 考點是 POS 在 NLP 流程中的角色(語法 → 語意的橋樑、特徵工程)。\n2. **正確答案 (A) 為何對**:教材原文「POS Tagging **為連接基礎語法與高階語意分析的橋樑**,許多應用(如命名實體辨識、關係抽取)都依賴詞性來辨識重要語彙與結構,因此 POS 標注在實務模型中經常作為**特徵工程的一部分**」。\n3. **其他選項為何刪**:\n   - (B) 僅用於將文字轉成向量 → 那是**詞嵌入(Word Embedding)**的功能,刪。\n   - (C) 唯一用途是判斷是否為停用詞 → POS 跟停用詞判斷無關,刪。\n   - (D) 將 running 還原為 run → 那是 **Lemmatization** 的描述,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 141、152-156(NLP 前處理 - 詞性標注)\n\n**融會貫通**:NLP 前處理四大基礎技術各司其職「**Tokenization 切詞、POS 標語法角色、Lemma/Stem 還原字根、Stopword 移除高頻詞**」。POS 的關鍵價值是當 NER/關係抽取的「**特徵工程**」基礎。",
    "12": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「One-hot Encoding 何者**錯誤**」→ 考點是 One-hot 的分類(非分布式、非語境型)。\n2. **正確答案 (B) 為何對**:選項 (B) 說「One-hot 屬於**分布式表示**,能捕捉語意相似性」— 完全錯誤。教材表格明確分類 One-hot Encoding 為「**純離散表示 + 非分布式 + 非語境型**」,缺點是「向量稀疏、無語意、維度高」。把 One-hot 說成「分布式」是常見的概念混淆。\n3. **其他選項為何刪**:\n   - (A) 高維度向量,只有對應位置為 1 → 教材定義,**正確**,刪。\n   - (C) 結構簡單但向量稀疏無法捕捉語意 → 教材原文,**正確**,刪。\n   - (D) 不考慮詞彙順序與上下文 → 教材明示,**正確**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 192、224、236-260(詞向量比較表 + One-hot 說明)\n\n**融會貫通**:詞表示的四象限「**分布式 vs 非分布式 × 語境型 vs 非語境型**」。One-hot/BoW = 非分布式非語境型;tf-idf = 非分布式非語境型(統計型);Word2Vec/GloVe = 分布式非語境型(靜態);ELMo/BERT/GPT = 分布式語境型(動態)。",
    "13": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「TF 與 IDF 的意義」→ 考點是 tf-idf 兩個組成的定義,典型 swap 干擾。\n2. **正確答案 (B) 為何對**:教材原文「**TF(Term Frequency)**:衡量某個詞在**單一文件**中的重要性,公式 = 該詞在文件 d 中出現次數 / 文件 d 中總詞彙數;**IDF(Inverse Document Frequency)**:衡量該詞在**整體語料庫**中的稀有程度,公式 = log(|D| / 包含該詞的文件數)」。\n3. **其他選項為何刪**:\n   - (A) TF 衡量整體語料庫稀有程度、IDF 衡量單一文件頻率 → 兩者定義**完全對調**,刪。\n   - (C) TF 與 IDF 都用於詞性標注 → 無關詞性,tf-idf 是統計型詞權重,刪。\n   - (D) tf-idf 是詞嵌入方法、能捕捉語境變化 → tf-idf 屬「**統計型表示**」,**無法**捕捉語境,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 314、326-342(詞彙向量化 - tf-idf 公式)\n\n**融會貫通**:記法「**TF 小範圍(文件內)、IDF 大範圍(語料庫)**」。tf-idf = TF × IDF,效果是「**常出現但又罕見的詞 → 高分**」,例如「機器學習」這詞在 AI 論文中常出現但全體語料中稀有 → tf-idf 高。",
    "14": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「N-grams 表示何者**正確**」→ 考點是 N-grams 的特性(保留語序但長句效果差)。\n2. **正確答案 (B) 為何對**:教材原文「N-grams 將連續 N 個詞組成特徵單位,**可保留詞彙順序與語法結構**,對於需要短期語境依賴的任務尤為有效。當 N 值過大時,**維度會急劇增加**,導致特徵數量膨脹,可能出現**稀疏性問題**」。\n3. **其他選項為何刪**:\n   - (A) 能完整捕捉長距離依賴、比 Transformer 更強大 → 與教材直接矛盾,N-grams **無法捕捉長距依賴**;Transformer 才是長距依賴的解方,刪。\n   - (C) 屬於語境型詞嵌入(如 BERT)→ N-grams 屬「**統計共現表示**」,不是語境型詞嵌入,刪。\n   - (D) 與 Word2Vec 完全相同 → Word2Vec 屬分布式詞嵌入,本質不同,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 198、384、400-410(詞向量比較表 + N-grams 原理/限制)\n\n**融會貫通**:N-grams 的雙刃劍「**N 小:視野短;N 大:稀疏爆炸**」。Bi-gram、Tri-gram 是常見選擇。N-grams 屬「**有限分布性 + 短範圍語境**」,跟 Transformer 的「全局語境」差距大。",
    "15": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「CBOW vs Skip-gram 差異」→ 考點是兩種架構的方向(上下文 → 中心詞 vs 中心詞 → 上下文)。\n2. **正確答案 (A) 為何對**:教材原文「**CBOW**:以**給定上下文**(周圍詞彙)來**預測中心詞**。訓練速度較快,適合小型語料」;「**Skip-gram**:以**給定中心詞**,**預測其周圍的上下文詞彙**。對**低頻詞更有效**,語意捕捉能力更好」。\n3. **其他選項為何刪**:\n   - (B) CBOW 以中心詞預測上下文、Skip-gram 以上下文預測中心詞 → 兩者方向**完全對調**,刪。\n   - (C) 兩者完全相同 → 教材明確區分,刪。\n   - (D) 需要 Transformer 才能運作 → Word2Vec 用**淺層神經網路**,不需 Transformer,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 452-470(Word2Vec - CBOW 與 Skip-gram)\n\n**融會貫通**:記法「**CBOW 像填空(看周圍猜中間)、Skip-gram 像擴散(看中心猜周圍)**」。CBOW 快適合小語料、高頻詞;Skip-gram 慢但對**低頻詞效果好**。經典類比「king - man + woman ≈ queen」展示了 Word2Vec 的語意推理能力。",
    "16": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「GloVe 與 Word2Vec 訓練機制差異」→ 考點是兩者的核心訓練資料(共現矩陣 vs 局部窗口)。\n2. **正確答案 (B) 為何對**:教材原文「GloVe 是依賴於局部上下文(像是 Word2Vec 的 Skip-gram),而是利用**整體語料庫中詞與詞共現的統計資料(共現矩陣)**,**透過矩陣分解**的方式來學習每個詞的向量」。Word2Vec 則用局部上下文窗口訓練。\n3. **其他選項為何刪**:\n   - (A) GloVe 與 Word2Vec 完全相同 → 兩者訓練機制不同,刪。\n   - (C) GloVe 是語境型詞嵌入、能處理多義詞 → GloVe 屬「**靜態詞嵌入**」,**無法**處理多義詞;語境型才有此能力(BERT/ELMo),刪。\n   - (D) GloVe 僅能處理中文 → 與語言種類無關,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 476-482(GloVe 全局共現矩陣 + 矩陣分解)\n\n**融會貫通**:記法「**Word2Vec 看局部、GloVe 看全局**」。雖然訓練機制不同,兩者都屬於「**靜態詞嵌入**」(每詞一個固定向量),都**無法處理多義詞** — 這是語境型詞嵌入(ELMo/BERT/GPT)才能做到的事。",
    "17": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「FastText 對 OOV 的優勢」→ 考點是 FastText 的核心招牌(子詞 n-gram 向量加總)。\n2. **正確答案 (A) 為何對**:教材原文「FastText 將每個詞切割成 **n-gram 子詞**(例如 'playing' → 'pla', 'lay', 'ayi', 'yin', 'ing'),然後**學習每個子詞的向量表示**,最後將所有子詞向量**加總或平均**,作為整個詞的向量。常用 n-gram:3 到 6 字母」、「若模型未見過 nationalization,但學過 nation、-al、-ization 等子詞,FastText 便能透過子詞向量進行加總,生成該新詞的向量」。\n3. **其他選項為何刪**:\n   - (B) FastText 完全無法處理 OOV → 與教材直接矛盾,FastText 正是為了**解決 OOV** 而設計,刪。\n   - (C) FastText 採用語境型雙向 Transformer 編碼器 → 那是 **BERT** 的描述,FastText 屬靜態詞嵌入,刪。\n   - (D) FastText 僅儲存整詞向量、不支援子詞 → 與教材直接矛盾,子詞才是 FastText 的核心,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 484-498(FastText - 子詞 n-gram 加總)\n\n**融會貫通**:記法「**FastText = Word2Vec + 子詞**」。Word2Vec 把每個詞當原子單位(沒見過就 GG);FastText 拆成子詞單位(沒見過的詞可由已知子詞拼出),所以能處理 OOV。實務上對英文新詞、複合詞、多語言特別有效。",
    "18": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目問「語境型 vs 靜態詞嵌入比較何者**錯誤**」→ 考點是 Word2Vec 的本質(靜態、無法區分多義)。\n2. **正確答案 (C) 為何對**:選項 (C) 說「**Word2Vec** 中 bank 在金融機構與河岸兩種語境下會產生**不同向量**」— 與教材直接矛盾。教材明示「在 Word2Vec 模型中,無論 'bank' 是指金融機構還是河岸,bank 的向量都是**相同的**」。能根據語境動態生成不同向量的是 BERT、ELMo 等**語境型**詞嵌入。\n3. **其他選項為何刪**:\n   - (A) 靜態詞嵌入每詞一個固定向量、無法區分多義 → 教材原文,**正確**,刪。\n   - (B) 語境型詞嵌入根據語境動態生成、解決多義詞 → 教材原文,**正確**,刪。\n   - (D) 語境型模型大、需高算力與記憶體 → 教材列為語境型詞嵌入的限制,**正確**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 200、208-216、438(語境型 vs 非語境型對照)\n\n**融會貫通**:記法「**Word2Vec/GloVe 一詞一向量(靜態)、BERT/ELMo 一語境一向量(動態)**」。bank 在 Word2Vec 永遠一個向量;在 BERT 看「approved/loan」就出金融機構向量、看「river」就出河岸向量。",
    "19": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「BERT 與 GPT 預訓練策略對比何者**正確**」→ 考點是兩者方向性(雙向 vs 單向)+ 預訓練任務(MLM/NSP vs 自迴歸)。\n2. **正確答案 (B) 為何對**:教材原文「**BERT**:雙向 Transformer 編碼器,以**遮蔽語言模型(MLM)與句子關聯預測(Next Sentence Prediction)**作為預訓練任務」;「**GPT**:單向 Transformer 解碼器,以**自迴歸預測(Autoregressive Prediction)**為核心」。BERT 擅長理解類任務,GPT 擅長生成類任務。\n3. **其他選項為何刪**:\n   - (A) BERT 單向自迴歸、GPT 雙向 MLM → 兩者**完全對調**,刪。\n   - (C) BERT 與 GPT 都是單向 → BERT 是**雙向**,刪。\n   - (D) BERT 與 GPT 都採用 RNN → 兩者皆基於 **Transformer**,不用 RNN,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 118-120、536-550、618-625(預訓練 LM - BERT/GPT 比較)\n\n**融會貫通**:記法「**BERT 雙向懂理解、GPT 單向擅生成**」。BERT 用 MLM(克漏字)+ NSP(判斷句子連貫)→ 善於理解、分類、NER、QA;GPT 用自迴歸(預測下一個字)→ 善於對話、摘要、創作。看到「雙向/單向對調」立刻警覺,是高頻干擾題型。",
    "20": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「Self-Attention 何者**錯誤**」→ 考點是 Self-Attention 的並行性(與 RNN 逐字讀取的根本差異)。\n2. **正確答案 (D) 為何對**:選項 (D) 說「Self-Attention 必須像 RNN 一樣**逐字讀取**」— 完全錯誤。教材原文「**在傳統 RNN 中,模型需逐字(token by token)讀取序列**,難以捕捉長距離語意。**Self-Attention 機制可同時考慮整段輸入序列的上下文**」、「Self-Attention 模組允許模型**一次性處理整個輸入序列**,並列計算所有詞與詞之間的注意力分數」。\n3. **其他選項為何刪**:\n   - (A) 允許模型在處理每個詞時考慮所有其他詞 → 教材原文,**正確**,刪。\n   - (B) 實現長距離依賴關係的建模 → 教材原文,**正確**,刪。\n   - (C) 大幅提升訓練過程的並行性 → 教材原文,**正確**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 116、574-582、592-596(Transformer - Self-Attention + 全平行架構)\n\n**融會貫通**:Self-Attention vs RNN 的根本差異「**並行 vs 序列**」。RNN 必須等前一步算完才能算下一步(t1 → t2 → t3...);Self-Attention 一次算完所有詞對的關聯。這就是為什麼 Transformer 能在 GPU/TPU 上爆炸性擴展(GPT-3、PaLM)。",
    "21": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「Transformer Encoder-Decoder 適用任務」→ 考點是 Seq2Seq 任務(機器翻譯、摘要、改寫)。\n2. **正確答案 (B) 為何對**:教材原文「Encoder-Decoder 架構:廣泛應用於**序列轉換(Sequence-to-Sequence, Seq2Seq)**中的深度學習架構。**Encoder** 負責將輸入序列轉換為抽象的語意向量,**Decoder** 接收 Encoder 輸出的語意向量,逐步產生目標語言或文字。此架構適合應用於**機器翻譯、摘要生成、文字改寫**等任務」。\n3. **其他選項為何刪**:\n   - (A) 二元分類(垃圾郵件偵測)→ 那是**單純分類任務**,用 BERT(Encoder-only)即可,不需 Decoder,刪。\n   - (C) 影像分類 → CV 領域,不屬 Seq2Seq,刪。\n   - (D) 異常偵測 → 通常用統計或自編碼器,非 Seq2Seq 結構,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 584-590(Transformer - Encoder-Decoder 架構)\n\n**融會貫通**:Transformer 三種變體「**Encoder-only(BERT,理解)、Decoder-only(GPT,生成)、Encoder-Decoder(T5/原版 Transformer,翻譯/摘要)**」。Seq2Seq = 輸入一段語言,輸出另一段語言(翻譯、摘要、改寫),這就是 Encoder-Decoder 的本格戰場。",
    "22": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「Transformer 全平行架構描述何者**正確**」→ 考點是並行運算 + GPU/TPU + 大規模擴展。\n2. **正確答案 (B) 為何對**:教材原文「Transformer 的另一項創新在於其**完全平行化的運算設計**,不同於 RNN 模型需逐步處理每個時間步長。Self-Attention 模組允許模型一次性處理整個輸入序列,並列計算所有詞與詞之間的注意力分數。**訓練速度大幅提升、更適合在 GPU/TPU 上運行,且能有效擴展至極大規模語料(如 GPT-3、PaLM 等)**」。\n3. **其他選項為何刪**:\n   - (A) Transformer 必須像 RNN 逐步處理 → 與教材直接矛盾,**RNN 才是逐步處理**,刪。\n   - (C) 全平行架構是 LSTM 特性 → LSTM 屬 RNN 家族,**逐時間步處理**,刪。\n   - (D) 全平行架構僅能在 CPU 運行 → 與教材直接矛盾,Transformer 的優勢正是**在 GPU/TPU 上加速**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 592-596(Transformer - 全平行架構)\n\n**融會貫通**:三大世代計算特性「**RNN 串行(t1→t2→t3)、CNN 半並行(空間並行)、Transformer 全並行(所有 token 一次)**」。全並行讓 Transformer 能擴展到 GPT-3 的 175B 參數、PaLM 的 540B 參數規模 — 這是 RNN 永遠做不到的。",
    "23": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「RNN 在處理長序列的**主要問題**」→ 考點是 RNN 的弱點(梯度消失、長距依賴難捕捉)。\n2. **正確答案 (B) 為何對**:教材原文「RNN 在處理長序列時,**容易遇到梯度消失問題**,從而影響其效果」、「RNN 訓練不穩定,**梯度消失問題嚴重**」、「Self-Attention 機制的引入使得模型能夠同時關注序列中的所有元素,克服了 **RNN 和 LSTM 模型在長距離依賴建模中的局限性**」。\n3. **其他選項為何刪**:\n   - (A) RNN 太簡單、無法處理任何序列 → RNN 是**設計用於序列**的模型,能處理序列只是長序列效果差,刪。\n   - (C) RNN 採用自注意力機制、運算成本高 → 自注意力是 **Transformer** 的特性,RNN 用**循環結構**,刪。\n   - (D) RNN 是並行架構、無法逐步運算 → 與教材直接矛盾,**RNN 正是逐步循環**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 98、564(深度學習階段 - RNN 限制 + RNN/LSTM/GRU 比較表)\n\n**融會貫通**:RNN 家族解決梯度消失的演進「**RNN 梯度消失嚴重 → LSTM 加門控(input/forget/output)改善 → GRU 簡化門控(update/reset)效率更好 → Transformer 自注意力徹底繞過循環結構**」。",
    "24": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「Prompt-based Learning 何者**正確**」→ 考點是 Prompt 的本質(任務改寫成填空/問答、無需再訓練)。\n2. **正確答案 (B) 為何對**:教材原文「基於提示學習(Prompt-based Learning):**將任務轉化為類似填空或問答的格式**,讓模型直接使用其原有的語言理解能力進行輸出。這使得模型能夠**靈活應對各種新任務,而無需進行繁重的再訓練**」、「示例:在情感分析任務中,將問題重寫為『這條評論是 [情感]。』讓模型填入欄位」。\n3. **其他選項為何刪**:\n   - (A) 必須先準備大量標註資料 → Prompt 的招牌就是**不需大量標註**,搭配 Few-shot/Zero-shot 即可,刪。\n   - (C) 僅適用於圖像分類 → Prompt 是**語言任務**改寫方法,刪。\n   - (D) 與 Few-shot/Zero-shot 完全無關 → Prompt 常與 Few-shot/Zero-shot **結合應用**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 631-636(預訓練 LM - Prompt-based Learning)\n\n**融會貫通**:Prompt 的精髓「**把任務問題改成 LLM 熟悉的形式**」— 不是新訓練模型,而是用 LLM 既有能力回答。例如「這條評論是 [情感]」、「What is the capital of France? [Answer]」。這就是為什麼 ChatGPT 不需重訓就能做翻譯、摘要、QA。",
    "25": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「Zero-shot 與 Few-shot 差異」→ 考點是兩者的示例數量(零個 vs 少量),典型 swap 干擾。\n2. **正確答案 (B) 為何對**:教材原文「**少樣本學習(Few-shot Learning)**:指只需**提供少量示例**來提升模型在新任務下的理解力。示例:提供 5 條已標註情感的評論」;「**零樣本學習(Zero-shot Learning)**:模型**在沒有任何任務示例**的情況下,依然能基於已有的語言理解進行推理與輸出」。\n3. **其他選項為何刪**:\n   - (A) Few-shot 完全不需示例、Zero-shot 需大量示例 → 兩者定義**完全對調**,刪。\n   - (C) 兩者完全相同 → 教材明確區分,刪。\n   - (D) Zero-shot 需重新訓練、Few-shot 不需要 → 兩者**都不需重訓**,差別在示例數,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 637-651(預訓練 LM - Few-shot / Zero-shot Learning)\n\n**融會貫通**:記法「**Zero = 零個示例、Few = 幾個示例**」。Zero-shot 純靠 Prompt 描述任務(「請判斷以下信件屬於哪一類:技術支援/廣告/...」);Few-shot 在 Prompt 中附 5-10 個示例(「範例 1: ...類別:技術支援」)。兩者都不需重訓,都基於 LLM 既有能力。",
    "26": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「RAG 何者**正確**」→ 考點是 RAG 的核心(檢索 + 生成、整合外部知識)。\n2. **正確答案 (B) 為何對**:教材原文「檢索增強生成(RAG):這一方法將**外部知識檢索與語言生成結合**,能夠在生成過程中**整合大量外部資料**,提升模型在**背景知識要求較高任務**中的準確性。示例:在問答系統中,RAG 可以先檢索出相關的資料(如從 Wikipedia 檢索某一領域的資料),再基於這些資料生成對應的答案」。\n3. **其他選項為何刪**:\n   - (A) RAG 是完全不依賴外部資料的純生成方法 → 與教材直接矛盾,RAG 的核心就是**檢索外部資料**,刪。\n   - (C) RAG 等同於 LoRA → LoRA 是**微調技術**(調整模型參數);RAG 是**檢索 + 生成**(不改模型),刪。\n   - (D) RAG 僅適用於圖像生成 → RAG 是**語言任務**技術,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 657-659(預訓練 LM - RAG)\n\n**融會貫通**:RAG vs LoRA 對照「**RAG 不改模型、給外掛知識**(查資料庫);**LoRA 改模型、用少量參數微調**(輕量訓練)」。實務應用:RAG 適合事實型 QA(醫療/法律/金融文獻);LoRA 適合領域風格適配(客服語氣/特定產業詞彙)。兩者可結合。",
    "27": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「LoRA 何者**正確**」→ 考點是 LoRA 的核心(低秩參數、輕量微調、邊緣部署)。\n2. **正確答案 (B) 為何對**:教材原文「低秩自適應(LoRA):**透過向原始模型添加輕量級的參數**,而非直接修改整體模型結構,來幫助模型在特定應用中進行快速調整。**在不大量重新訓練的情況下**,高效地擴充到更多情境」、「示例:在資源有限的邊緣設備上部署大型預訓練模型(如 GPT-3),利用 LoRA 技術來微調模型,僅調整必要的低秩參數,從而大幅減少計算和儲存需求」。\n3. **其他選項為何刪**:\n   - (A) LoRA 必須重訓整個大模型 → 與教材直接矛盾,LoRA 的招牌就是**不需重訓整體**,刪。\n   - (C) LoRA 是純檢索方法 → 純檢索是 **RAG**,LoRA 屬於**微調**技術,刪。\n   - (D) LoRA 僅能用於圖像生成 → LoRA 是**通用微調**技術,可應用於 NLP/CV,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 661-665(預訓練 LM - LoRA)\n\n**融會貫通**:LoRA = **Low-Rank Adaptation**,核心是「**凍結原模型 + 加上小型低秩矩陣**」,只訓練那一小部分新參數(常是原模型的 0.1%~1%)。這讓 GPT-3 級模型能在消費級 GPU 微調、邊緣設備部署,是當前 LLM 微調的事實標準。",
    "28": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目敘述「諷刺/反話被誤判」→ 考點是 NLP 風險的三層分類(資料層/模型層/應用層),諷刺屬於**應用層的語意理解限制**。\n2. **正確答案 (C) 為何對**:教材原文「應用層風險 - 語意理解限制:**語言的多樣性和複雜性使得 NLP 系統在某些情境下面臨語意理解的誤差**。特別是在處理複雜的語境或語用特徵時(例如**諷刺、反語、方言、俚語、多義詞**等),模型可能會出現誤判。風險情境示例:當使用者在社群平台上說『這服務真的好讚 ^_^』,NLP 模型可能會誤解為正面評論」— 題幹幾乎是教材原例。\n3. **其他選項為何刪**:\n   - (A) 資料隱私風險 → 屬**資料層**,涉及個資、GDPR,與諷刺誤判無關,刪。\n   - (B) 資料授權與版權風險 → 屬**資料層**,涉及爬蟲、智財權,刪。\n   - (D) 部署與維運風險 → 屬**應用層的另一子類**,涉及推論速度、版本控制,不是語意誤判,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 851-867(NLP 技術挑戰與風險 - 應用層 - 語意理解限制)\n\n**融會貫通**:NLP 風險三層架構「**資料層(隱私/品質/版權)→ 模型層(偏見/公平性)→ 應用層(語意誤判/維運/生成內容)**」。改善反語誤判的方法:**結合語境型詞向量(BERT/GPT)+ 常識推理模組**,因為這些能根據上下文(包括表情符號、語氣)動態調整理解。",
    "29": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「模型幻覺描述何者**正確**」→ 考點是 Model Hallucination 的定義(生成虛假/虛構/不基於事實的內容)。\n2. **正確答案 (A) 為何對**:教材原文「模型幻覺(Model Hallucination):指機器學習模型,尤其是 NLP 或生成模型(如 GPT),儘管模型應該提供準確和基於事實的回應,但在生成回應或內容時,**產生虛假的、誤導性的或完全虛構的資訊**。舉例:一個聊天機器人生成了這樣的回應:**『法國的首都在柏林』**,雖然語句語法正確、語氣自然,但其中的資訊是錯誤的,正確答案是巴黎」— 題幹的範例與教材完全一致。\n3. **其他選項為何刪**:\n   - (B) 模型總是輸出 100% 正確的事實 → 與教材直接矛盾,模型幻覺就是事實出錯,刪。\n   - (C) 模型幻覺只發生在影像生成模型 → 教材明示**特別是 NLP / 生成模型(如 GPT)**,主要在語言模型,刪。\n   - (D) 模型幻覺等同於資料隱私洩漏 → 隱私洩漏屬「**資料層風險**」,模型幻覺屬「**應用層 - 生成內容風險**」,層次不同,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 894-909(NLP 風險 - 應用層 - 生成內容風險)\n\n**融會貫通**:模型幻覺的處理三招「**事實檢查機制 + 人工審核(高風險領域)+ 回饋機制再訓練**」。實務上 RAG 是降低幻覺的主流方案 — 強制模型基於檢索到的真實資料回答,減少憑空編造。看到「總是 100%」「只發生在」這類絕對語氣,通常是干擾項。",
    "30": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「去識別化 vs 匿名化差異」→ 考點是兩者的關鍵差別(是否可重新辨識),典型 swap 干擾。\n2. **正確答案 (B) 為何對**:教材原文「**去識別化(De-identification)**:將資料中可直接辨識個體的資訊進行**遮蔽或替換**,但資料本身**仍保有與原始個體連結的潛在可能**。例如,在研究或系統測試階段,資料雖不再直接呈現個人資訊,仍可**透過對應代碼重新辨識**」;「**匿名化(Anonymization)**:將資料中**所有可辨識個人的資訊徹底移除或破壞**,處理後的資料**無法再與任何特定個體連結**」。\n3. **其他選項為何刪**:\n   - (A) 兩者完全相同 → 教材明確區分**可逆 vs 不可逆**,刪。\n   - (C) 去識別化 = 徹底刪除、匿名化 = 僅遮蔽部分 → 兩者定義**完全對調**,刪。\n   - (D) 兩者都不適用於 NLP 資料處理 → 教材列為 NLP 資料隱私的處理機制,**正是適用**,刪。\n\n**📖 章節來源**:chunks/L21101.txt line 761-779(NLP 風險 - 資料層 - 資料去識別化與匿名化)\n\n**融會貫通**:記法「**去識別化 = 可逆(留代碼)、匿名化 = 不可逆(徹底斷)**」。去識別化常見手法:**代碼替換(Pseudonymization)/抽象化(Generalization)/遮罩(Masking)**;匿名化常見手法:**徹底刪除 / 隨機化(Randomization)/ 聚合處理(Aggregation)**。GDPR 認可的「真正匿名」資料才能不受個資法規範。"
  },
  "mock_L21102": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CV 核心目標」→ 考點是 CV 的本質定義（不是單純像素操作，而是語意理解）。\n2. **正確答案 (B) 為何對**：教材明確定義 CV 是「模擬或超越人類視覺系統，從靜態影像或動態影片中擷取、辨識並解釋語意資訊」，並支援人機互動、決策判斷與自動化作業；同時 CV 是跨領域整合（影像處理 + 模式辨識 + ML + DL）。(B) 完整對應教材定義。\n3. **其他選項為何刪**：\n   - (A) 「僅將像素轉純數值、不涉及語意」→ 完全錯，CV 的核心就是語意理解，不只是像素操作。\n   - (C) 「完全等同於影像處理、不涉及 ML」→ 錯，CV 是跨領域整合（涵蓋影像處理、ML、DL），不能等同影像處理。\n   - (D) 「僅處理黑白影像」→ 常識性錯誤，CV 處理 RGB 彩色、深度、紅外線等多種影像。\n\n**📖 章節來源**：chunks/L21102.txt line 9、23–25（CV 基礎概念與發展脈絡 - 定義與範疇）\n\n**融會貫通**：記法「CV = 看懂 + 解釋 + 決策」，而非「看到 + 數值」。CV 的招牌字眼就是「語意理解（Semantic Understanding）」 — 看到「僅處理像素」「等同影像處理」這類窄化敘述就刪。",
    "2": "**答案**:(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CV 任務類型描述，何者**錯誤**」→ 重點在 (D) 把語意分割與實例分割說成「完全相同」，這是經典的混淆陷阱。\n2. **正確答案 (D) 為何對**：教材明確：實例分割 = 在語意分割基礎上「**進一步區分同一類別中不同實體**」（例如圖中兩台車會被分別標註）；語意分割只把所有車歸為「車輛」一類。兩者**不相同**，(D) 把它們說成「完全相同、不區分個體」即為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 影像分類 = 判斷類別 → 標準定義，**正確**，刪。\n   - (B) 物件偵測 = 邊界框標位置 → 教材標準定義，**正確**，刪。\n   - (C) 語意分割 = 每像素標語意類別 → 教材標準定義，**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 33–43、241–243（CV 任務類型 / 影像分割）\n\n**融會貫通**：易混淆對「語意分割 vs 實例分割」→ 同類個體**是否分得開**就是兩者差別。記法「語意分類別、實例分個體」。考題最愛把兩者說成「相同」或把職責互換，看到就警覺。",
    "3": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問三大演進階段對應，何者**錯誤** → (D) 說「1960 年代 CV 已主導所有 AI、CNN 不重要」明顯違反教材時序。\n2. **正確答案 (D) 為何對**：教材明確 CV 雖追溯至 1960s，但**直到 2012 年 AlexNet 在 ImageNet 突破才進入高速發展期**；CNN 是深度學習革命的核心，絕非「不重要」。(D) 兩個錯誤同時出現（時代誤判 + 否定 CNN），是錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 早期（1980s–2010）特徵工程 + Canny/SIFT/SURF/SVM/KNN → 教材原列舉，**正確**，刪。\n   - (B) 深度學習興起（2012–2020）CNN 革命 + AlexNet/VGG/ResNet/YOLO/Faster R-CNN → 教材原列舉，**正確**，刪。\n   - (C) 多模態與生成式 AI（2020 至今） + CLIP/ViT/DALL·E/Stable Diffusion/SAM → 教材原列舉，**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 27、52–96（CV 技術演進脈絡）\n\n**融會貫通**：三階段口訣「**特徵工程 → CNN 革命 → 多模態生成**」對應「**SIFT/SVM → AlexNet/ResNet → CLIP/ViT/Diffusion**」。年代誤植或否定關鍵里程碑是這類題的典型干擾。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定「2012 年 ImageNet + CNN 突破 + 深度學習主導 CV 起點」→ 考點是 CV 史上最關鍵里程碑模型。\n2. **正確答案 (B) 為何對**：教材明確：「**2012 年，ImageNet 競賽中，AlexNet 使用卷積神經網路（CNN）在圖像分類任務中取得突破性成就**」，標誌深度學習主導 CV 時代。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) LeNet → Yann LeCun 早期 CNN（5 層），手寫數字辨識，**不是** 2012 ImageNet 冠軍。\n   - (C) VGG → 後續架構（深度 + 3x3 小卷積核，19 層），時代晚於 AlexNet。\n   - (D) ResNet → 引入殘差結構解決梯度消失（152 層），更晚的演進。\n\n**📖 章節來源**：chunks/L21102.txt line 27、66、203（CV 演進 / AlexNet）\n\n**融會貫通**：CNN 家族時序口訣「**LeNet（早期手寫）→ AlexNet（2012 ImageNet 起點）→ VGG（深 + 小卷積）→ ResNet（殘差解梯度消失 152 層）**」。題目挖「2012 ImageNet」這個錨點就一定是 AlexNet。",
    "5": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 CLIP 是什麼 → 鎖定 OpenAI 提出 + 跨模態（影像 + 文字）。\n2. **正確答案 (B) 為何對**：教材原文：「CLIP（Contrastive Language-Image Pre-Training）由 OpenAI 提出，將影像與文字嵌入到**同一語意空間**中，達到強大的**跨模態理解**能力」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「僅處理影像、無法處理文字」→ 完全相反，CLIP 的核心就是同時處理影像 + 文字。\n   - (C) 「GAN 的變體、僅用於圖像生成」→ 錯誤分類，CLIP 是對比學習嵌入模型，不是 GAN，也不是生成模型。\n   - (D) 「傳統邊緣偵測演算法」→ 時代與本質都錯，邊緣偵測是 Canny 那一代的特徵工程方法。\n\n**📖 章節來源**：chunks/L21102.txt line 82（CLIP）\n\n**融會貫通**：CLIP 關鍵字「**雙模態 + 同一語意空間 + 對比學習**」。實務上 CLIP embeddings 常被當成「圖像 + 文字統一表示」基礎，下游可做檢索、Zero-shot 分類、多模態應用。",
    "6": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 ViT 是什麼 → 鎖定「Transformer 架構處理影像 + 突破 CNN 主導」。\n2. **正確答案 (A) 為何對**：教材原文：「ViT 採用與 NLP 領域相似的 **Transformer 架構**來處理影像數據，**突破 CNN 在 CV 領域的主導地位**，被視為視覺領域一大創新」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「ViT 是 CNN 同義詞」→ 完全錯，ViT 的最大特點正是「**不用** CNN」，改用 Transformer。\n   - (C) 「必須與 RNN 搭配」→ 錯，ViT 用自注意力機制，與 RNN 無關（Transformer 本來就是要取代 RNN）。\n   - (D) 「僅能處理黑白影像」→ 常識性錯誤，ViT 處理彩色影像（將圖切成 patches 餵入 Transformer）。\n\n**📖 章節來源**：chunks/L21102.txt line 84（Vision Transformer）\n\n**融會貫通**：CNN vs ViT 對照「**CNN 用卷積掃局部特徵；ViT 把圖像切 patches 用 self-attention 看全域**」。ViT 是 NLP 的 Transformer 跨界 CV 的代表，記法「**NLP 怎麼做、ViT 對影像也這麼做**」。",
    "7": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「標註方式與任務對應，何者**錯誤**」→ (C) 把語意分割說成用邊界框，這是把「物件偵測的標註方式」錯安到「分割任務」上的 swap 干擾。\n2. **正確答案 (C) 為何對**：教材標註表明確：**語意分割 = 每個像素分割標籤**（影像每一像素皆對應類別），**不是邊界框**。邊界框（Bounding Box）是物件偵測的標註方式。(C) 把兩個任務的標註方式互換，是錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 影像分類 = 類別標籤（Label）整張一類 → 教材標準對應，**正確**，刪。\n   - (B) 物件偵測 = 邊界框 → 教材標準對應，**正確**，刪。\n   - (D) 關鍵點標註 = 身體節點/特定點位 → 教材標準對應（常用人體姿態估計），**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 108–112（影像標註 - 任務與標註方式對應表）\n\n**融會貫通**：標註粒度由粗到細「**Label（整張一類）→ Bounding Box（框選物件）→ Pixel Mask（每像素標）→ Mask + Instance ID（每像素標 + 個體 ID）**」對應「**分類 → 偵測 → 語意分割 → 實例分割**」。框 vs 像素是分水嶺，看到「分割 + bbox」就警覺。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Data Augmentation 是什麼 → 考點是其手段（翻轉/旋轉/裁剪/模糊/色彩偏移）與目的（增泛化、抗過擬合）。\n2. **正確答案 (B) 為何對**：教材原文：「Data Augmentation 透過**翻轉、旋轉、裁剪、模糊、色彩偏移**等增強模型的**泛化能力**，**有效對抗過擬合**，常與訓練同步進行」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「使過擬合更嚴重」→ 完全相反，Data Augmentation 是**抗過擬合**的手段。\n   - (C) 「僅能前處理階段一次性執行」→ 錯，教材明確「常與訓練同步進行」（on-the-fly augmentation）。\n   - (D) 「與標註品質無關」→ 似是而非，Augmentation 屬於資料前處理範疇，廣義上跟資料品質策略相關；且題目要選「正確且完整」者，(B) 才是教材定義。\n\n**📖 章節來源**：chunks/L21102.txt line 144（資料擴增）\n\n**融會貫通**：Data Augmentation = 「**擴大資料變異 → 抗過擬合 → 提升泛化**」。實務上常與訓練同步做（每 epoch 隨機產生變體），不是純前處理一次性步驟。對照 Pixel Normalization 是「資料縮放至 0–1 或標準化」，兩者性質不同。",
    "9": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Auto-labeling 是什麼 → 考點是「模型先標 + 人工校對」的協作模式，以及與半監督/主動學習的關聯。\n2. **正確答案 (B) 為何對**：教材原文：「Auto-labeling 根據已標註資料，利用**模型進行自動標註**，從而大大減少人力成本。若模型能準確預測大部分結果，**人工僅需校對和修正錯誤**」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「完全替代人工、毫無錯誤」→ 過度誇大，教材明確仍需人工校對修正。\n   - (C) 「與 Active Learning 無關」→ 錯，教材在 Auto-labeling 段後直接接「半監督學習與主動學習」討論，兩者是相輔相成的標註效率提升技術。\n   - (D) 「僅能用於 OCR」→ 錯，Auto-labeling 是通用標註技術，OCR 只是其中一種應用。\n\n**📖 章節來源**：chunks/L21102.txt line 119–121（自動化標註技術）\n\n**融會貫通**：標註效率三件套「**Auto-labeling（模型先標）+ 半監督（少標 + 多未標）+ 主動學習（挑最具挑戰樣本標）**」。實務上常組合使用：模型先全標 → 主動學習挑出不確定樣本給人標 → 持續迭代。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Pixel Normalization → 考點是「像素值縮放/標準化」的具體做法（0–255 → 0–1 或 mean=0/std=1）。\n2. **正確答案 (A) 為何對**：教材原文：「Pixel Normalization 將像素值（如 **0–255）轉為 0–1 或標準化至均值為 0、標準差為 1**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「所有像素歸零」→ 那是清空影像，不是 Normalization。\n   - (C) 「彩色轉灰階」→ 那是**色彩空間轉換（RGB ↔ Grayscale）**，不是 Pixel Normalization。\n   - (D) 「隨機翻轉影像」→ 那是 **Data Augmentation**，不是 Normalization。\n\n**📖 章節來源**：chunks/L21102.txt line 140（影像前處理 - 正規化處理）\n\n**融會貫通**：影像前處理「五板斧」分清楚：**Resize/Padding（尺寸）/ Normalization（像素縮放）/ Histogram Eq.（對比）/ Color Space（顏色通道）/ Data Augmentation（增強變異）**。考題最愛把這五個職責互換，把 Augmentation 偽裝成 Normalization。",
    "11": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CNN 各層職責何者**錯誤**」→ (D) 把 FC 層說成「直接輸出原始像素」，這是把 FC 層的職責徹底偷換的典型干擾。\n2. **正確答案 (D) 為何對**：教材原文：「Fully Connected Layer 將**提取的特徵整合為一維向量**，進行**最終分類**」 — FC 層的職責是特徵整合 + 分類輸出，**不是原始像素直接輸出**。(D) 為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) Conv Layer 用卷積核提取局部特徵生成 Feature Map → 教材標準定義，**正確**，刪。\n   - (B) Pooling Layer 降維（Max Pooling）減少計算量、增強泛化 → 教材標準定義，**正確**，刪。\n   - (C) Activation Layer 引入非線性（ReLU）提升表達能力 → 教材標準定義，**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 183–189（CNN 基本架構）\n\n**融會貫通**：CNN 五層職責口訣「**Conv 提特徵 → Pool 降維 → Activation 加非線性 → FC 整合 → Softmax 出機率**」。FC 層的職責是「**把卷積/池化提取的特徵整合成向量並做分類決策**」，絕不是直接吐原始像素。考題愛偷換最後幾層職責。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定「CNN 輸出層 + Softmax + 類別機率」。\n2. **正確答案 (A) 為何對**：教材原文：「輸出層：通常使用 **Softmax 函數，將模型輸出轉換為類別機率**」。Softmax 將 logits 正規化為總和為 1 的機率分布，是多分類任務的標準輸出。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「影像縮放到模型輸入尺寸」→ 那是 **Resize**（前處理），不是 Softmax。\n   - (C) 「特徵圖降維」→ 那是 **Pooling Layer**，不是 Softmax。\n   - (D) 「計算 IoU」→ 那是物件偵測/分割的**評估指標**，與 Softmax 無關。\n\n**📖 章節來源**：chunks/L21102.txt line 191（CNN 輸出層）\n\n**融會貫通**：Softmax 公式 `softmax(z_i) = e^{z_i} / Σe^{z_j}`，輸出總和為 1。對照 Sigmoid 用於二分類，Softmax 用於多分類。CNN 輸出層 = FC + Softmax 已成標準配方。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定 ResNet 核心特點 → Residual Connection + 解決梯度消失 + 深層網路。\n2. **正確答案 (B) 為何對**：教材原文：「ResNet 引入**殘差結構（Residual Connection）**，允許網路深度達到 **152 層**，**解決了深層網路訓練過程中的梯度消失問題**」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「早期 CNN、5 層」→ 那是 **LeNet**（Yann LeCun 提出，手寫數字），不是 ResNet。\n   - (C) 「RNN 變體」→ 錯誤分類，ResNet 是 CNN 演進，與 RNN（序列模型）無關。\n   - (D) 「採用自注意力機制」→ 那是 **Transformer / ViT** 的特徵，ResNet 用的是卷積 + 殘差跳接。\n\n**📖 章節來源**：chunks/L21102.txt line 201、207（CNN 模型架構 - ResNet / LeNet）\n\n**融會貫通**：ResNet 的招牌就是 **Skip Connection（y = F(x) + x）** — 讓梯度可以「跳過幾層直接傳到淺層」，根治深網路梯度消失。記法「**ResNet = Residual = 加法跳接 = 深 152 層也能訓**」。",
    "14": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「VGG vs AlexNet 差異何者**錯誤**」→ (D) 說 VGG 採用 Transformer，這是時代與架構雙重錯誤。\n2. **正確答案 (D) 為何對**：教材原文：「**VGG 以深度網路架構為特色，強調深度與小卷積核（3x3）**，層數可達 19 層」 — VGG 是 CNN，不是 Transformer。Transformer-based 視覺模型是 **ViT**（2020+），時代晚於 VGG（2014）。(D) 為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) AlexNet 2012 ImageNet + 8 層 + ReLU + Dropout → 教材標準描述，**正確**，刪。\n   - (B) VGG 深度 + 3x3 小卷積 + 19 層 → 教材標準描述，**正確**，刪。\n   - (C) AlexNet 與 VGG 都是 CNN 架構演進代表 → **正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 203–205（CNN 模型架構 - AlexNet/VGG）\n\n**融會貫通**：CNN 家族架構特徵「**LeNet 5 層 / AlexNet 8 層 + ReLU + Dropout / VGG 19 層 + 3x3 小卷積 / ResNet 152 層 + 殘差**」 → 全部都是 CNN。Transformer-based 視覺模型是後來的 **ViT**，架構本質不同。",
    "15": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定「Top-5 Error + 多分類 + 真實類別在前五名 + ImageNet」。\n2. **正確答案 (A) 為何對**：教材原文：「Top-5 錯誤率（Top-5 Error）：在多分類情境中，若**真實類別位於模型預測的前五名內即視為正確**，常用於**類別數量龐大的資料集（如 ImageNet）**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「僅用於二元分類」→ 完全錯，Top-5 本質是**多分類**才用得到（二分類最多 Top-2，毫無意義）。\n   - (C) 「與 Accuracy 完全相同」→ 錯，Accuracy 看 Top-1 是否正確；Top-5 放寬到前 5 名命中即可。\n   - (D) 「衡量分割品質」→ 錯，那是 **IoU** 的職責；Top-5 是分類指標。\n\n**📖 章節來源**：chunks/L21102.txt line 213（影像分類評估指標）\n\n**融會貫通**：分類指標分層「**Accuracy（Top-1）→ Top-5 Error（放寬到前 5）→ Confusion Matrix（看誰被誤分成誰）**」。ImageNet 1000 類太多，Top-5 比 Top-1 更實用作為比賽指標。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「影像分類流程順序」→ 考點是 ML 標準四步驟順序。\n2. **正確答案 (A) 為何對**：教材原文流程：「**資料收集與標註 → 資料預處理（縮放/正規化）→ 模型選擇（如 CNN）→ 訓練與評估（Accuracy/Top-5 Error）**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「模型選擇 → 資料收集 → 訓練 → 標註」→ 順序錯亂，標註應該在訓練前，不可能訓練後才標。\n   - (C) 「訓練 → 評估 → 資料收集 → 預處理」→ 倒置，總不可能先訓練再收集資料。\n   - (D) 「評估 → 標註 → 預處理 → 模型選擇」→ 完全反序，評估是最後一步。\n\n**📖 章節來源**：chunks/L21102.txt line 167–175（影像分類基礎流程）\n\n**融會貫通**：ML/CV 標準流程口訣「**收標 → 預處理 → 選模型 → 訓評**」（Collect & Label → Preprocess → Model → Train & Eval）。實務上會迭代回去重新標註或調預處理，但基本順序不會倒。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 YOLO vs Faster R-CNN 差異 → 考點是「**單階段/兩階段**」與「**速度/準度**」的對應，這是最愛被互換的點。\n2. **正確答案 (B) 為何對**：教材原文：「**YOLO** = 基於迴歸的方法，能同時預測邊界框和類別，**速度快，適合即時應用**；**Faster R-CNN** = 基於**區域提議網路（RPN）**生成候選框，然後分類與迴歸，**準確度高，但速度較慢**」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 把速度/準度與單/兩階段對調 → 完全顛倒，YOLO 才是單階段快、Faster R-CNN 才是兩階段準。\n   - (C) 「完全相同」→ 兩者架構與性能權衡截然不同。\n   - (D) 「都是傳統 ML、與 CNN 無關」→ 完全錯，兩者都是深度學習物件偵測模型，基於 CNN。\n\n**📖 章節來源**：chunks/L21102.txt line 223–225（物件偵測 - YOLO/Faster R-CNN）\n\n**融會貫通**：物件偵測雙雄記法「**YOLO 一階段 = You Only Look Once = 快但精度略低；Faster R-CNN 兩階段 = RPN 先提候選框再分類 = 慢但精度高**」。考題經典 swap：把單/兩階段對調或速度/準度對調。SSD 介於兩者之間（多尺度特徵、平衡）。",
    "18": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 SSD 是什麼 → 考點是「多尺度特徵 + 速度/準度平衡」。\n2. **正確答案 (A) 為何對**：教材原文：「SSD（Single Shot Multibox Detector）基於**多尺度特徵**進行物件檢測，**速度與準確度之間有較好的平衡**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「CNN 之前的傳統演算法」→ 錯，SSD 是深度學習模型（基於 CNN）。\n   - (C) 「僅能用於語意分割」→ 錯，SSD 是物件偵測模型（Single **Shot** = 單階段偵測），不是分割。\n   - (D) 「必須與 ResNet 完全相同才能運作」→ 錯，SSD 是獨立架構，可搭配不同 backbone（VGG/ResNet/MobileNet 都可），不需「完全相同」。\n\n**📖 章節來源**：chunks/L21102.txt line 227（物件偵測 - SSD）\n\n**融會貫通**：三大物件偵測模型定位「**YOLO 快、Faster R-CNN 準、SSD 折中**」。SSD 的賣點是**多尺度特徵圖**（不同解析度層都做偵測），對不同大小物件友善。",
    "19": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「語意分割 vs 實例分割差異何者**錯誤**」→ (D) 又是「兩者完全相同」這個熟悉的陷阱。\n2. **正確答案 (D) 為何對**：教材明確兩者**不同**：「實例分割是在語意分割的**基礎上**，**進一步區分同一類別中的不同實體**」 — (D) 說「完全相同」直接違反教材定義，為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 語意分割每像素歸類、不區分同類個體 → 教材原文，**正確**，刪。\n   - (B) 實例分割在語意分割基礎上區分同類個體 + 賦予唯一識別 → 教材原文，**正確**，刪。\n   - (C) 多輛車情境：語意分割全標「車輛」、不區分個別 → 教材原本舉的範例，**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 241–243（影像分割 - 語意 vs 實例）\n\n**融會貫通**：與 Q2 相同考點的不同問法，再次強化「**語意分類別、實例分個體**」。記法：實例分割 = 語意分割 + Instance ID。對應模型：語意分割用 FCN/U-Net，實例分割用 Mask R-CNN。",
    "20": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定 U-Net → 「醫療影像分割 + 對稱 Encoder-Decoder + Skip Connections」。\n2. **正確答案 (A) 為何對**：教材原文：「U-Net **專為醫療影像分割而設計**，特別適用於處理不平衡的資料集。它具有**對稱的編碼器（Encoder）和解碼器（Decoder）結構**，最大特點是**跳躍連接（Skip Connections）**，能有效從高解析度特徵中恢復細節」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「GAN 生成模型」→ 錯誤分類，U-Net 是**分割**模型（雖然 GAN 中也常借用 U-Net 結構，但本質是分割架構）。\n   - (C) 「僅能影像分類、無法分割」→ 完全相反，U-Net 的本職就是分割。\n   - (D) 「完全等同 Mask R-CNN」→ 錯，兩者都做分割但架構不同：U-Net 是 Encoder-Decoder + Skip 做語意分割；Mask R-CNN 是 Faster R-CNN + mask 分支做實例分割。\n\n**📖 章節來源**：chunks/L21102.txt line 251–253（影像分割 - U-Net）\n\n**融會貫通**：U-Net 名字由來 = 架構像「U 字形」（左邊下採樣 Encoder，右邊上採樣 Decoder，中間 Skip Connections 連起來）。醫療影像（CT/MRI 腫瘤/病灶分割）為什麼用 U-Net？因為**保留高解析細節**對抓邊界至關重要。",
    "21": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Mask R-CNN → 鎖定「Faster R-CNN 擴展 + mask 分支 + 實例分割」。\n2. **正確答案 (B) 為何對**：教材原文：「Mask R-CNN 是**基於 Faster R-CNN 的擴展**，結合物體檢測和像素級分割功能。它**引入一個額外的分支**，來預測每個物體的**二進制遮罩（mask）**，從而實現實例分割」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「傳統影像處理、與深度學習無關」→ 完全錯，Mask R-CNN 是深度學習模型，且建構在 Faster R-CNN 之上。\n   - (C) 「僅能影像分類」→ 完全錯，它能同時做偵測 + 實例分割。\n   - (D) 「完全等同 YOLO」→ 錯，YOLO 是物件偵測（沒有 mask 分支），Mask R-CNN 是實例分割。\n\n**📖 章節來源**：chunks/L21102.txt line 256–257（影像分割 - Mask R-CNN）\n\n**融會貫通**：Mask R-CNN 公式「**Faster R-CNN + Mask Branch = 偵測框 + 像素遮罩 = 實例分割**」。R-CNN 家族演進：R-CNN → Fast R-CNN → Faster R-CNN（加 RPN）→ Mask R-CNN（加 mask 分支）。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 FCN → 鎖定「CNN 應用於整張影像 + Upsampling + 像素級分類」。\n2. **正確答案 (A) 為何對**：教材原文：「FCN（Fully Convolutional Network）將傳統 CNN 應用於**整張影像**，並通過**上採樣層（Upsampling Layer）**將低解析度特徵圖**還原為與原始影像相同大小**，實現**像素級分類**。FCN 的優勢在於其**端到端訓練**的能力和靈活性」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「RNN 的一種」→ 錯誤分類，FCN 是 Fully **Convolutional**（全卷積）Network，與 RNN 無關。\n   - (C) 「無法端到端訓練」→ 完全相反，教材明確 FCN 的優勢就是**端到端訓練**。\n   - (D) 「僅能處理 OCR」→ 錯，FCN 是通用的**語意分割**模型，可用於街景、醫療、農作物等。\n\n**📖 章節來源**：chunks/L21102.txt line 247–249（影像分割 - FCN）\n\n**融會貫通**：FCN 是把傳統 CNN「末端 FC 層拿掉、改用上採樣還原解析度」 → 變成完全卷積架構，能輸入任意大小影像並輸出同尺寸像素級分類。FCN 是 U-Net 與 Mask R-CNN 的前身概念。",
    "23": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 IoU 公式 → 考點是「Intersection / Union」這個經典公式（最愛被分子分母互換）。\n2. **正確答案 (A) 為何對**：教材原文公式：`IoU = Area_Intersection / Area_Union`，即**重疊區域 / 聯集區域**。範圍 [0, 1]，越接近 1 越準確，物件偵測中 IoU > 0.5 或 0.7 通常視為成功。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「Union / Intersection」→ 分子分母顛倒，這是經典陷阱選項。\n   - (C) 「Predicted Box / Ground Truth Box」→ 完全錯，IoU 不是兩個框的比例，是「兩框的交集 / 聯集」。\n   - (D) 「TP / (TP+FP+FN+TN)」→ 那是 **Accuracy** 公式（混淆矩陣的整體正確率），不是 IoU。\n\n**📖 章節來源**：chunks/L21102.txt line 265–273（分割準確度指標 - IoU）\n\n**融會貫通**：IoU 公式記法「**重疊 / 聯集（交 / 並）**」 — 永遠是**分子小、分母大**所以值在 [0,1]。聯集 = A 面積 + B 面積 − A∩B（避免重複算）。對照其他常見閾值：IoU > 0.5 是寬鬆達標、> 0.7 是嚴格達標、=1 是完美重合。",
    "24": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目給數字（GT=100、Pred=80、Intersection=40）→ 套 IoU 公式直接算。\n2. **正確答案 (C) 為何對**：\n   - Intersection = 40\n   - Union = GT + Pred − Intersection = 100 + 80 − 40 = **140**\n   - IoU = Intersection / Union = 40 / 140 ≈ **0.286**\n   - (C) 0.286 正確。\n3. **其他選項為何刪**：\n   - (A) 0.4 = 40/100，是把 Intersection 除以 GT 面積，**不是** IoU 公式。\n   - (B) 0.5 = 40/80，是把 Intersection 除以 Pred 面積，**不是** IoU 公式。\n   - (D) 0.8 = 80/100，是 Pred/GT，與 IoU 完全無關。\n\n**📖 章節來源**：chunks/L21102.txt line 281–299（IoU 計算示例）\n\n**融會貫通**：IoU 計算口訣「**先算 Union（A+B−交集）再除交集**」。常見陷阱：忘記減交集會讓 Union 算大、IoU 偏小；只用 GT 或 Pred 當分母會得到「召回率」或「精確率」的近似概念，不是 IoU。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「自動駕駛 CV 應用何者**錯誤**」→ (D) 說「只需影像分類、不需物件偵測」直接違反教材列舉的多技術整合。\n2. **正確答案 (D) 為何對**：教材明確自動駕駛需整合「**車道線偵測 + 物件偵測（行人/車輛/障礙物）+ 多模態融合（雷達/LiDAR/影像）**」。光靠影像分類根本無法定位車道、無法偵測行人位置、無法做出避障決策。(D) 為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 車道線偵測確保車輛行駛正確 → 教材原文，**正確**，刪。\n   - (B) 物件偵測辨識路面障礙物/行人/車輛 → 教材原文，**正確**，刪。\n   - (C) 多模態融合（雷達 + LiDAR + 影像）→ 教材原文，**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 385–395（自動駕駛應用）\n\n**融會貫通**：自動駕駛 CV 三件套「**車道線（Lane Detection）+ 物件偵測（Object Detection）+ 多模態融合（Multimodal Fusion）**」。記法：自駕車要回答「**我在哪條道**、**前面有什麼**、**多種感測器怎麼一起信**」。少了任何一塊都不安全。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問醫療影像（CT/MRI）應用 → 鎖定影像分類的輔助診斷用途。\n2. **正確答案 (A) 為何對**：教材原文：「影像分類：將醫學影像（如 CT 或 MRI）**分類為不同診斷結果**，幫助醫生進行診斷並提高效率」，用途是「**提升診斷效率、輔助醫療判斷、減少誤診**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「U-Net 僅能藝術創作」→ 完全錯，U-Net **專為醫療影像分割設計**（教材明確），不是藝術用途。\n   - (C) 「無需專業醫師標註」→ 完全相反，教材明確醫療影像「**通常需要專業醫師進行標註**」，這對模型準確性至關重要。\n   - (D) 「不需遵守隱私法規」→ 完全錯，醫療影像必須遵守 HIPAA、個資法等隱私保護法規。\n\n**📖 章節來源**：chunks/L21102.txt line 331–351（醫療影像診斷）\n\n**融會貫通**：醫療 CV 四要點「**分類診斷 + U-Net 分割病灶 + 醫師專業標註 + 隱私法規合規**」。實務上常 pipeline：先分類有無病變 → 再用 U-Net 分割腫瘤邊界 → 醫師最終決策。模型不能取代醫師，是「輔助」。",
    "27": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問智慧製造/零售 CV 應用 → 鎖定工業瑕疵偵測這個常見應用。\n2. **正確答案 (A) 為何對**：教材原文：「**工業瑕疵偵測（Industrial Defect Detection）**使用電腦視覺技術對產品進行檢查，**發現表面缺陷、尺寸偏差**等問題，通常用於生產線檢測，**保證產品品質**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「商品行為分析無法追蹤顧客互動」→ 完全相反，教材明確「**透過 CV 技術追蹤顧客行為，如顧客與商品的互動、停留時間**」。\n   - (C) 「邊緣運算增加延遲、不適用即時」→ 完全相反，教材明確「邊緣運算將數據處理推向接近數據源的設備，以**減少延遲**並提高處理速度」。\n   - (D) 「Heatmap 僅能用於影像分類」→ 錯，教材中 Heatmap 用於分析顧客在商店內的**移動路徑與停留時間**（顧客行為追蹤），不是影像分類。\n\n**📖 章節來源**：chunks/L21102.txt line 355–375（智慧製造與零售）\n\n**融會貫通**：智慧製造/零售 CV 四件套「**瑕疵偵測（製造線）+ 行為分析（零售）+ 邊緣運算（低延遲）+ 熱點圖（店鋪佈局）**」。邊緣運算的賣點就是「**靠近資料源 = 少傳輸 = 低延遲**」，看到「邊緣 + 增加延遲」這種反邏輯敘述就警覺。",
    "28": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CV 模型偏見來源何者**錯誤**」→ (D) 把「增加 GPU 算力」當成解決偏見的方法，這是經典謬誤。\n2. **正確答案 (D) 為何對**：教材處理模型偏見的方法是「**偏見診斷測試（Bias Audit）+ 數據平衡與重加權（過/欠採樣、Data Augmentation）+ 可信度評估指標（AUC、精確度、召回率）**」 — 偏見的根源是**資料層面**（不平衡、標註偏誤、拍攝偏差），算力與偏見無關。(D) 為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 資料來源不平衡（膚色/性別/年齡集中）→ 教材原列偏見來源，**正確**，刪。\n   - (B) 標註偏誤（主觀認知/文化偏見）→ 教材原列偏見來源，**正確**，刪。\n   - (C) 拍攝條件偏差（角度/光照/解析度）→ 教材原列偏見來源，**正確**，刪。\n\n**📖 章節來源**：chunks/L21102.txt line 427–447（CV 偏見與模型可靠度）\n\n**融會貫通**：模型偏見三來源 = 「**資料源不平衡 + 標註偏誤 + 拍攝條件偏差**」；解法是 「**Bias Audit + 數據平衡/重加權 + 多維評估指標（AUC/Precision/Recall）**」。**算力解不了偏見** — 偏見是資料品質與分佈問題，不是計算問題。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Data Drift → 鎖定「環境/攝影條件變動 + 輸入分佈變化 + 模型失效」。\n2. **正確答案 (A) 為何對**：教材原文：「**Data Drift**：隨著**環境變化或攝影條件的變動**，可能導致**輸入資料分佈的變化，造成模型失效**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 「與模型部署無關」→ 完全錯，Data Drift 是**部署與維運**階段的核心風險。\n   - (C) 「僅發生在 NLP、CV 不會」→ 完全錯，Data Drift 是通用問題，CV 中環境/攝影條件改變就是典型情境。\n   - (D) 「就是過擬合的另一個說法」→ 錯誤分類，**過擬合**是訓練時模型死記訓練集；**Data Drift** 是部署後輸入分佈偏移。兩者層級不同。\n\n**📖 章節來源**：chunks/L21102.txt line 463、469–471（部署與維運風險）\n\n**融會貫通**：Data Drift vs 過擬合差異：**過擬合是訓練問題（模型太貼訓練集）**；**Data Drift 是部署問題（線上資料分佈偏離訓練分佈）**。解法：MLOps 持續監控 + 影像品質監測 + 容錯回退機制。實務上 CV 模型遇到季節變化、攝影機升級、室內外光照差都會觸發 Data Drift。",
    "30": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定「**邊緣設備**部署 CV 模型最適合策略」→ 考點是邊緣設備資源受限下的取捨。\n2. **正確答案 (B) 為何對**：教材原文：「**邊緣設備（如智慧監控攝像頭）運算資源有限**，需要選擇**更輕量化的模型，如 MobileNet 或 YOLOv5-Nano**」，並建議「實施 **MLOps 流程**（持續整合/持續部署 + 持續監控）」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「部署最大型 ResNet-152 追求最高準確度」→ 完全相反，邊緣設備 GPU/TPU 受限，跑大型模型會延遲嚴重甚至無法運作。\n   - (C) 「不需容錯機制、邊緣設備永遠穩定」→ 完全錯，教材明確需設置**預設容錯與回退機制**（模型異常時回退至前版本或預設邏輯）。\n   - (D) 「全部丟雲端、不做邊緣優化」→ 違反邊緣運算意義，邊緣存在的價值就是**減少傳輸延遲與雲端依賴**；且網路斷線時雲端方案會失效。\n\n**📖 章節來源**：chunks/L21102.txt line 451–473（部署與維運風險 - 邊緣設備）\n\n**融會貫通**：邊緣 CV 部署三件套「**輕量化模型（MobileNet/YOLOv5-Nano）+ MLOps（CI/CD + 持續監控）+ 容錯回退（模型異常自動退回）**」。記法「**邊緣 = 算力受限 → 用小模型；邊緣 = 環境多變 → 要容錯；模型會老化 → 要 MLOps**」。"
  },
  "mock_L21103": {
    "1": "**答案**：(B)\n\n**解題思路**:\n1. **關鍵線索**：題目問「Generative AI vs Discriminative AI 比較，何者**正確**」→ 考點是兩者的本質差異（學習資料分佈生成新樣本 vs 學習特徵進行分類）。\n2. **正確答案 (B) 為何對**：教材明確定義 Generative AI「學習資料的分佈並生成新樣本」（模型例子：GPT、VAE、GAN、Diffusion），Discriminative AI「學習資料特徵進行分類或預測」（模型例子：SVM、決策樹、隨機森林、Logistic 迴歸）。(B) 把兩者角色描述得完全符合教材定義。\n3. **其他選項為何刪**：\n   - (A) 角色完全對調 — 把 Generative 寫成分類預測、Discriminative 寫成生成新資料，刪。\n   - (C) 「完全相同」與教材對照表整列差異矛盾，刪。\n   - (D) 「只能生成圖像」與教材列出的文本/音訊/影片/程式碼多模態生成相反，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 27、29–42（生成式 AI 基礎概念與演進脈絡 — 定義與範疇）\n\n**融會貫通**：記法「**G 生 D 判**」— Generative 生新樣本，Discriminative 判類別。看到「分類/辨識/預測」就是 Discriminative，看到「生成/創造/分佈」就是 Generative。典型 swap 干擾題就是把兩個的目標/工作方式/模型例子互換。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目說「黃仁勳 2025 CES 四階段」+「主動產生文本、圖像、影片、語音等多模態內容」→ 關鍵字是「主動產生」+「多模態內容」。\n2. **正確答案 (B) 為何對**：教材 line 11–19 列出四階段：Perception（理解資訊）→ Generative（**主動產生**文本/圖像/影片/語音等多模態內容）→ Agentic（推理計畫自動完成任務）→ Physical（真實世界移動操控）。題幹敘述完全對應 Generative AI 階段定義。\n3. **其他選項為何刪**：\n   - (A) Perception AI 是「理解影像/語音/文字」（如圖像辨識、語音轉文字），是被動理解非主動產生，刪。\n   - (C) Agentic AI 是「推理計畫自動完成複雜任務」，重點在任務執行不是內容產生，刪。\n   - (D) Physical AI 是「在真實世界移動操控」（AI 機器人、自駕車），與內容生成無關，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 11–19（前言與章節導覽 — NVIDIA 四階段 AI）\n\n**融會貫通**：四階段記法「**感生代物**」（Perception → Generative → Agentic → Physical）。對應能力遞進：理解 → 創造 → 計畫 → 行動。看到「主動產生內容」就是 Generative，看到「自主完成任務」就是 Agentic。",
    "3": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「應用類型與代表的對應，何者**錯誤**」→ 要找「模型/工具配對不對」的選項。(D) 寫「影片生成：ResNet、HMM」立刻可疑 — ResNet 是經典 CNN、HMM 是統計模型。\n2. **正確答案 (D) 為何對**：教材 line 51 明列影片生成代表 = **Runway、Sora**。ResNet 是 line 41 列出的「圖像分類」鑑別式模型，HMM 是「語音辨識」鑑別式模型 — 兩者都屬 Discriminative AI，不是影片生成。題目要選「錯誤」配對，(D) 是把鑑別式模型偷換成生成式代表的典型干擾。\n3. **其他選項為何刪**：\n   - (A) ChatGPT、Claude 是教材 line 45 的文本生成代表，**正確**，刪。\n   - (B) DALL·E、Midjourney、Stable Diffusion 是 line 47 的圖像生成代表，**正確**，刪。\n   - (C) ElevenLabs、MusicLM 是 line 49 的語音與音樂生成代表，**正確**，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 45–53（生成式 AI 應用類型）\n\n**融會貫通**：易混淆對 — ResNet/HMM 是**鑑別式**老牌模型（分類用），不是生成式。記法「**Run Sora 拍片**」對應影片生成。題目最愛把鑑別式模型偷塞進生成式應用裡測試考生是否真的記得每類代表。",
    "4": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「五階段演進對應，何者**錯誤**」+ 選項 (D) 寫「擴散與多模態：**對抗訓練** — DALL·E、Stable Diffusion」→ 馬上抓到矛盾，擴散模型核心是「逐步去噪」不是「對抗訓練」。\n2. **正確答案 (D) 為何對**：教材 line 63–69 的演進表清楚標示「擴散與多模態（2020 年起）」核心技術是「**擴散模型、多模態對齊**」，line 109 進一步說明擴散模型透過「**逐步去噪（Denoising）**」過程生成。對抗訓練是 GAN 階段（2014–2020）的特性，不是擴散階段。(D) 把 GAN 機制誤掛到擴散，是典型 swap 干擾。\n3. **其他選項為何刪**：\n   - (A) 初期階段 VAE/RNN，2013–2015，生成模糊訓練困難，與 line 65 表格一致，**正確**，刪。\n   - (B) GAN 時代 2014–2020 對抗訓練、DCGAN/StyleGAN、高寫實性不穩定性，與 line 66 一致，**正確**，刪。\n   - (C) Transformer 2017 自注意力 BERT/GPT 高效語境建模，與 line 67 一致，**正確**，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 63–69、107–113（生成式 AI 技術演進脈絡 — 五階段 + 擴散模型）\n\n**融會貫通**：五階段記法「**VAE → GAN → Transformer → Diffusion → 巨型 Agent**」。**最常考的 swap：Diffusion 是「逐步去噪」，GAN 才是「對抗訓練」**。看到擴散模型搭配對抗訓練 = 立刻刪。",
    "5": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「VAE 的敘述何者**正確**」→ 考點是 VAE 的核心技術（變分推斷 + 潛在分佈）。\n2. **正確答案 (A) 為何對**：教材 line 73 明確說「VAE 通過學習數據的潛在分佈（Latent Distribution），能夠從隨機噪聲中重建圖像或文本」；line 75 進一步補充「VAE 利用變分推斷（Variational Inference）生成數據，強調機率建模」。(A) 把變分推斷、潛在分佈、從噪聲重建這三個核心要素全部講對。\n3. **其他選項為何刪**：\n   - (B) 「生成器與判別器的對抗訓練」是 **GAN** 的機制，不是 VAE — 典型 VAE/GAN swap 干擾，刪。\n   - (C) VAE 是基於編碼器-解碼器架構的機率生成模型，**不是 Transformer 變體**，刪。\n   - (D) VAE ≠ GAN — 兩者屬不同階段（VAE 2013–2015 初期、GAN 2014 後），訓練機制完全不同，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 73–75（初期階段 — 編碼器-解碼器模型與變分自編碼器）\n\n**融會貫通**：易混淆對 **VAE vs GAN**：VAE 用**變分推斷**學潛在分佈（單一網路、機率建模）；GAN 用**對抗訓練**（兩個網路博弈）。記法「**V 推 G 鬥**」（V 變分推、G 對抗鬥）。",
    "6": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「GAN 核心訓練機制，何者**正確**」→ 考點是 GAN 的提出者 + Generator/Discriminator 角色。\n2. **正確答案 (A) 為何對**：教材 line 81–85 明確說「2014 年 Ian Goodfellow 提出 GAN」，並描述「**生成器（Generator）學習逼近真實數據分佈**，而**判別器（Discriminator）負責區分生成數據與真實數據**，形成動態平衡」。(A) 把提出者、年份、Generator/Discriminator 角色、對抗訓練動態平衡全部寫對。\n3. **其他選項為何刪**：\n   - (B) GAN 是 Goodfellow 2014 年提出，**不是 Hinton 2017**；GAN 有兩個網路而非單一網路，刪。\n   - (C) Generator/Discriminator 角色**完全對調** — Generator 應該是生成、Discriminator 才是區分真偽，刪。\n   - (D) GAN 是**深度神經網路**架構（Generator/Discriminator 都是神經網路），不是純機率模型，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 81–85（對抗生成網路時代 — GAN 核心訓練機制）\n\n**融會貫通**：記法「**G 生 D 判**，2014 Goodfellow，動態平衡**」。最常見干擾就是 (C) 把 Generator 跟 Discriminator 角色對調。Generator = 仿造者試圖騙過鑑識，Discriminator = 鑑識者試圖識破，兩者博弈推進真實度。",
    "7": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「GAN **階段限制**，何者**正確**」→ 考點是 GAN 已知的訓練問題（mode collapse、不穩定）。\n2. **正確答案 (B) 為何對**：教材 line 93 直接列出 GAN 階段限制 = 「**訓練不穩定（如模式崩潰 Mode Collapse）、對超參數敏感**，且**難以生成結構複雜的長序列內容**」。(B) 三個限制全部對應教材原文。\n3. **其他選項為何刪**：\n   - (A) 「訓練極度穩定、從不出問題」與教材直接矛盾，GAN 出名就是難訓，刪。\n   - (C) GAN 屬於深度模型，需要大量資料訓練 — 「不需要大量資料」與深度學習基本特性矛盾，刪。\n   - (D) DCGAN/StyleGAN 都能生成高品質彩色圖像（人臉、風景、藝術風格），「只能黑白」明顯錯誤，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 89–93（對抗生成網路時代 — 階段限制）\n\n**融會貫通**：GAN 三大痛點「**不穩、敏感、難長序列**」。實務應用情境：Mode Collapse 指生成器只會輸出幾種樣本（多樣性塌縮），是 GAN 訓練最棘手的問題，後來 Diffusion 興起部分原因就是其訓練穩定性遠勝 GAN。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「擴散模型的核心生成機制，何者**正確**」→ 考點是 Diffusion 的本質（逐步去噪）。\n2. **正確答案 (B) 為何對**：教材 line 109 明說「擴散模型通過**逐步去噪（Denoising）的過程**，從隨機噪聲生成細節豐富的圖像」，代表模型 DDPM、Stable Diffusion。(B) 完全對應教材定義。\n3. **其他選項為何刪**：\n   - (A) 「對抗訓練（Generator vs Discriminator）」是 **GAN** 的機制，不是 Diffusion — 典型 Diffusion/GAN swap，刪。\n   - (C) 「RNN 序列生成、逐字輸出像素」是早期 PixelRNN 思路（且效率低），擴散模型是並行處理整張圖的噪聲，刪。\n   - (D) CRF（條件機率場）是傳統機器學習的序列標註方法，與生成式擴散模型無關，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 107–113（擴散模型與多模態生成）\n\n**融會貫通**：易混淆對 **Diffusion vs GAN**：Diffusion = **逐步去噪**（從純噪聲一步步還原成圖）；GAN = **對抗訓練**（兩網路博弈一步生成）。記法「**擴散去噪、GAN 對抗**」。Stable Diffusion、DALL·E 2、DDPM 都是擴散家族，看到這些名字就是去噪機制。",
    "9": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ChatGPT 的敘述何者**正確**」→ 考點是廠商（OpenAI）+ 架構（GPT）+ 特性（多情境對話 + 跨模態）。\n2. **正確答案 (A) 為何對**：教材 line 147 明說「ChatGPT 由 **OpenAI 開發**，是目前最廣為人知與最多使用人數的對話式 AI 應用，**基於 GPT 架構**、提供**即時文本生成與多情境對話支持**。具有**整合語言、圖像與工具調用能力**，具有跨模態生成特性」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) ChatGPT 是 OpenAI 開發；**Gemini** 才是 Google DeepMind（line 151），廠商對調的典型干擾，刪。\n   - (C) ChatGPT 基於 **Transformer/GPT** 架構（自迴歸生成），不是 **GAN**（對抗訓練），刪。\n   - (D) ChatGPT 主打文本生成 + 多模態整合，「僅能生成圖像不能生成文字」完全顛倒，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 145–151（文本生成 — 常見工具/平台）\n\n**融會貫通**：三大 LLM 廠商對應「**OpenAI → ChatGPT、Anthropic → Claude、Google DeepMind → Gemini**」。考題最愛把廠商對調 — 看到「ChatGPT 是 Google 開發」、「Claude 是 OpenAI 開發」立刻刪。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Claude（Anthropic）的特色，何者**正確**」→ 考點是 Claude 的招牌特性（安全性、長上下文、人類價值對齊）。\n2. **正確答案 (A) 為何對**：教材 line 149 直接寫「Claude（Anthropic）：以**安全性與長上下文處理能力著稱**，**強調模型與人類價值的對齊**，適用於需要高可信度的情境」。(A) 三個關鍵詞（安全、長上下文、對齊）全部對應。\n3. **其他選項為何刪**：\n   - (B) Claude 是 **Anthropic** 開發的閉源商業模型；**LLaMA** 才是 Meta 的開源模型（line 153），廠商對調干擾，刪。\n   - (C) Claude 是文本生成的對話式 AI，**不是影像生成工具**，刪。\n   - (D) Claude 支援多語言（包括繁體中文），「僅能英文」錯誤，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 149（文本生成 — Claude）\n\n**融會貫通**：Claude 招牌記法「**安全 + 長文 + 對齊**」（Anthropic 公司本身定位就是 AI Safety），相對 ChatGPT 主打互動體驗、Gemini 主打跨模態。實務上 Claude 常被選為法律/醫療等需長文件處理 + 高可信度的場景。",
    "11": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「BLEU 的敘述何者**正確**」→ 考點是 BLEU 的用途（機器翻譯）+ 計算方式（n-gram 重疊）。\n2. **正確答案 (A) 為何對**：教材 line 181 明說「BLEU 是一種用於評估生成文本與參考文本相似度的自動化指標，最初由 **Papineni 等人於 2002 年提出**，主要應用於**機器翻譯領域**。其核心思想是計算**生成文本與一組參考文本之間的 n-gram 重疊程度**，並結合**簡短懲罰（Brevity Penalty）**」。(A) 把應用範疇 + n-gram 重疊計算完整對應。\n3. **其他選項為何刪**：\n   - (B) 「衡量摘要召回率」是 **ROUGE** 的特性（line 185 強調 Recall），不是 BLEU — BLEU/ROUGE swap 干擾，刪。\n   - (C) **Lin 2004** 是 ROUGE 的提出者；BLEU 是 Papineni 2002 — 提出者對調，刪。\n   - (D) BLEU 是「**自動化**指標」（line 181 開頭就寫），不是人工評估，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 179–181（文本生成 — 關鍵指標 BLEU）\n\n**融會貫通**：易混淆對 **BLEU vs ROUGE** 必背：**BLEU**（Papineni 2002）= n-gram 重疊 + Brevity Penalty → **機器翻譯**；**ROUGE**（Lin 2004）= 召回率 + LCS → **自動摘要**。記法「**B 翻譯 R 摘要、P2002 L2004**」。",
    "12": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ROUGE 的敘述何者**正確**」→ 考點是 ROUGE 的提出者（Lin 2004）+ 強調 Recall + 摘要任務。\n2. **正確答案 (B) 為何對**：教材 line 185 明說「ROUGE（Recall-Oriented Understudy for Gisting Evaluation）主要使用於**自動摘要、內容生成與問答系統**，是一組專為評估摘要品質設計的指標，**由 Lin 於 2004 年提出**，**強調生成文本與參考文本的召回率（Recall）**」。(B) 提出者、年份、Recall 取向、應用範疇全對。\n3. **其他選項為何刪**：\n   - (A) **Papineni 2002 機器翻譯**是 **BLEU** 的特性，不是 ROUGE — 經典的 BLEU/ROUGE 提出者對調，刪。\n   - (C) ROUGE 是**文本評估**指標（n-gram 重疊、LCS），「只能用於圖像生成」與其名字（Gisting Evaluation）矛盾，刪。\n   - (D) ROUGE 是**自動化指標**（n-gram 重疊計算），不是人工評估，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 185–187（文本生成 — 關鍵指標 ROUGE）\n\n**融會貫通**：ROUGE 變體記法「**ROUGE-N（n-gram）、ROUGE-L（LCS 最長公共子序列）、ROUGE-S（跳躍詞對）**」。實務上 BLEU 偏 Precision、ROUGE 偏 Recall — 翻譯要求精確（不能多翻）、摘要要求覆蓋（不能漏要點）。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型幻覺（Hallucination）對文本生成的挑戰，何者**正確**」→ 考點是 Hallucination 的本質（虛假/誤導內容）+ 長文連貫性。\n2. **正確答案 (B) 為何對**：教材 line 169 直接列出文本生成挑戰 = 「**生成內容的真實性與一致性（如避免幻覺 Hallucination）、長文本的邏輯連貫性**」。(B) 兩點挑戰完全對應教材原文。\n3. **其他選項為何刪**：\n   - (A) Hallucination 是「生成**虛假/誤導/虛構**內容」的負面現象，不是「過於完美超越人類」，定義顛倒，刪。\n   - (C) 教材明確把「長文邏輯連貫性」與 Hallucination 並列為文本生成挑戰，「無關」與教材矛盾，刪。\n   - (D) Hallucination 是生成內容真實性問題；**BLEU** 是評估指標 — 兩者層次完全不同（一個是挑戰、一個是指標），刪。\n\n**📖 章節來源**：chunks/L21103.txt line 169（文本生成 — 挑戰與關鍵指標）\n\n**融會貫通**：Hallucination 實務應對 = **RAG（檢索增強生成）+ 引用標註 + 事實核查**。記法「**幻覺 = 一本正經胡說八道**」，最常見在 LLM 編造不存在的論文標題、案例、API。導入企業應用時必須有反幻覺機制（如 RAG 把答案綁定到知識庫文件）。",
    "14": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「圖像生成主流 Diffusion Models 代表，何者**正確**」→ 考點是擴散模型的代表模型（Stable Diffusion、DALL·E 2、Imagen）+ 機制（逐步降噪）。\n2. **正確答案 (A) 為何對**：教材 line 199 明列「Diffusion Models（擴散模型）：如 **Stable Diffusion、DALL·E 2、Imagen** 等，**透過『逐步降噪』過程生成圖像**，具備高自由度與真實感」。(A) 三個代表模型 + 逐步降噪機制 + 高自由度真實感全對。\n3. **其他選項為何刪**：\n   - (B) **SVM、決策樹**是傳統機器學習的鑑別式分類器，不是 Diffusion，刪。\n   - (C) **BERT** 是 Transformer 的雙向理解模型（line 101），用於 NLP，與圖像 Diffusion 完全不同，刪。\n   - (D) Diffusion 主要用於**圖像生成**（也可擴展到影片/音訊），「僅能用於文字生成」與其圖像生成定位矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 199（圖像生成 — 常見模型 Diffusion Models）\n\n**融會貫通**：圖像生成兩大流派 — **Diffusion（逐步降噪：Stable Diffusion / DALL·E 2 / Imagen）** vs **GAN（對抗訓練：StyleGAN / BigGAN）**。2020 年後 Diffusion 成為主流，因其訓練穩定 + 細節豐富 + 文圖對齊強。",
    "15": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「StyleGAN、BigGAN 的核心訓練機制，何者**正確**」→ 看到 GAN 字尾 → 立刻知道是對抗訓練家族。\n2. **正確答案 (B) 為何對**：教材 line 201 明寫「GAN（Generative Adversarial Network）：如 **StyleGAN、BigGAN，以對抗訓練生成逼真的人臉、風景、藝術風格圖**」。(B) 機制（對抗訓練）+ 兩個網路（Generator vs Discriminator）+ 代表應用（人臉/風景/藝術）完全對應。\n3. **其他選項為何刪**：\n   - (A) 「逐步降噪」是 **Diffusion** 的機制，不是 GAN — 經典 GAN/Diffusion swap 干擾，刪。\n   - (C) 「RNN 逐字輸出像素」是 PixelRNN 思路（效率低、已被取代），且圖像 GAN 是並行生成不是逐字輸出，刪。\n   - (D) 「Self-Attention 編碼器」是 **Transformer/BERT** 的機制，不是 GAN 的對抗訓練，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 201（圖像生成 — 常見模型 GAN）\n\n**融會貫通**：看到模型名字尾「**-GAN**」（StyleGAN、BigGAN、DCGAN、CycleGAN）= 對抗訓練；看到「**Diffusion / Stable / DALL·E 2**」= 逐步降噪。Q15 跟 Q4、Q8 都是同一個 swap 考點 — Diffusion 跟 GAN 機制對調是這章的命題王牌。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ControlNet / InstructPix2Pix 的用途，何者**正確**」→ 考點是這兩個工具的核心定位（圖像生成的可控性）。\n2. **正確答案 (A) 為何對**：教材 line 203 明說「ControlNet / InstructPix2Pix：用於**控制圖像生成姿態、邊緣、遮罩或修改局部內容**」。(A) 完整對應四個控制面向（姿態/邊緣/遮罩/局部）。\n3. **其他選項為何刪**：\n   - (B) 「從文字生成程式碼」是 **GitHub Copilot/CodeLlama** 等程式碼生成工具的範疇（line 163），與圖像 ControlNet 無關，刪。\n   - (C) ControlNet 用於**圖像**生成控制，**不是語音合成**（語音對應 VITS、Whisper），刪。\n   - (D) 「詞性標注」是傳統 NLP 任務（POS tagging），與圖像生成 ControlNet 完全不同領域，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 203（圖像生成 — 常見模型 ControlNet / InstructPix2Pix）\n\n**融會貫通**：ControlNet 實務應用 — 設計師給一張**骨架線稿/邊緣圖/深度圖**，Stable Diffusion 就會在保持結構的前提下「填色」生成圖像，極大提升可控性。InstructPix2Pix 則是「用文字指令編輯既有圖」（如「把白天改成夜晚」）。兩者都是讓 Diffusion 從「隨機生成」變成「精準控制」的關鍵工具。",
    "17": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Midjourney 的敘述何者**正確**」→ 考點是 Midjourney 的特性（雲端 + Discord/官網 + 擴散模型 + 高美學）。\n2. **正確答案 (A) 為何對**：教材 line 207 詳細描述「Midjourney 是一款基於**雲端服務**的圖像生成工具，可通過 **Discord 平台**以指令操作、或是至**該服務官網**進行操作，以其**生成高美學風格圖像**的能力而聞名……背後技術融合了**擴散模型（Diffusion Models）與風格優化算法**」。(A) 把雲端、Discord/官網、擴散模型、高美學風格全部對應。\n3. **其他選項為何刪**：\n   - (B) Midjourney 是 **Midjourney 公司**的圖像生成工具，**不是 OpenAI**（OpenAI 是 ChatGPT/DALL·E），且 Midjourney 是圖像生成不是對話式 AI，刪。\n   - (C) Midjourney 支援彩色高解析度圖像，「只能生成黑白」與其高美學定位矛盾，刪。\n   - (D) Midjourney 是圖像生成、ChatGPT 是文本對話 — 兩者用途完全不同，「完全等同」明顯錯誤，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 207（圖像生成 — 常見工具與平台 Midjourney）\n\n**融會貫通**：易混淆對 **Midjourney vs Stable Diffusion WebUI**：**Midjourney** 雲端 + Discord + 閉源 + 高美學風格；**Stable Diffusion WebUI** 開源 + 本地部署 + LoRA/ControlNet 可深度自定。藝術創作選 Midjourney，需客製化或隱私需求選 SD WebUI。",
    "18": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Stable Diffusion WebUI 的敘述何者**正確**」→ 考點是 SD WebUI 的特性（開源 + 本地 + LoRA 微調 + ControlNet）。\n2. **正確答案 (A) 為何對**：教材 line 209 明說「Stable Diffusion WebUI 是**開源的本地部署工具**……提供圖形化介面以便於使用者操作。它**支援 LoRA（Low-Rank Adaptation）微調**……並**提供邊緣控制（ControlNet）與參數自定義功能**，極具靈活性」。(A) 開源 + 本地 + LoRA + ControlNet 四個要素全對。\n3. **其他選項為何刪**：\n   - (B) SD WebUI 是**開源 + 本地部署**（與 Midjourney 雲端閉源完全相反），「完全雲端閉源」顛倒事實，刪。\n   - (C) Stable Diffusion 是**圖像生成模型**，「僅用於語音合成」與其圖像定位矛盾，刪。\n   - (D) SD WebUI 的賣點之一就是 **LoRA 微調**支援，「不支援任何微調」與教材直接矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 209（圖像生成 — 常見工具與平台 Stable Diffusion WebUI）\n\n**融會貫通**：LoRA（Low-Rank Adaptation）= 用低秩矩陣對大模型做**輕量微調**，只訓練少量參數就能讓 SD 學會新風格/角色，是社群創作者最愛的微調方式。實務應用：訓練特定畫風（如水墨、賽博龐克）、特定人物（同人創作）。SD WebUI + LoRA + ControlNet 是個人圖像生成的標準三件套。",
    "19": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「圖像生成應用情境，何者**錯誤**」→ 找與「圖像生成」無關的選項。(D) 寫「資料庫索引維護 + SQL」立刻可疑 — 那是資料庫管理範疇。\n2. **正確答案 (D) 為何對**：教材 line 217–225 列出圖像生成五大應用 = 品牌視覺設計、社群圖文素材、遊戲角色與場景、影片預視化、藝術風格模仿。**完全沒有「資料庫索引維護」這項** — SQL 索引維護屬於 DBA/資料工程範疇，與 Diffusion 圖像生成毫無關係。(D) 是典型「跨領域混淆」干擾。\n3. **其他選項為何刪**：\n   - (A) 品牌視覺設計（標誌、廣告圖像）是教材 line 217 明列應用，**正確**，刪。\n   - (B) 社群圖文素材是 line 219 明列應用，**正確**，刪。\n   - (C) 遊戲角色與場景創作是 line 221 明列應用，**正確**，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 217–225（圖像生成 — 應用情境）\n\n**融會貫通**：記法「**品牌、社群、遊戲、影片、藝術**」五大圖像生成應用情境。命題慣例：考錯誤選項常會塞「資料庫/SQL/網路安全/作業系統」這類完全不同領域的事項做干擾 — 看到圖像生成題裡出現 SQL 直接刪。",
    "20": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「TTS（Text-to-Speech）目標，何者**正確**」→ 考點是 TTS 的定義（文字轉語音）。\n2. **正確答案 (A) 為何對**：教材 line 229 明說「語音合成（又稱文字轉語音，Text-to-Speech, TTS）是生成式 AI 的一項核心技術，旨在**將文字輸入轉換為自然語音輸出**。其目標是生成語調自然、音質清晰的語音，以**模擬人類語言的表達方式**」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) 「語音轉文字」是 **ASR/STT**（Automatic Speech Recognition / Speech-to-Text）的功能，不是 TTS — 兩者方向完全相反（line 243 Whisper 就是 STT），刪。\n   - (C) 教材 line 251 ElevenLabs、line 253 Azure TTS 都支援**多語言**，「僅能英文」錯誤，刪。\n   - (D) 現代 TTS（VITS、Tacotron 2）追求自然語調，「僅輸出機械感濃厚的合成音」是早期 TTS 的問題，與當前定位矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 229（語音合成 — TTS 定義）\n\n**融會貫通**：易混淆對 **TTS vs STT/ASR**：**TTS（Text-to-Speech）文字→語音**（虛擬助理唸出文字）；**STT/ASR（Speech-to-Text）語音→文字**（語音輸入打字）。記法「**T 出聲、S 入字**」。Whisper 是 STT，ElevenLabs/Azure TTS/Polly 是 TTS。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「VITS 的敘述何者**正確**」→ 考點是 VITS 的技術組成（VAE + GAN + 端到端）。\n2. **正確答案 (A) 為何對**：教材 line 239 明說「VITS（Variational Inference Text-to-Speech）：**結合變分自編碼器（VAE）與生成對抗網路（GAN）**，**通過端到端訓練直接從文字生成語音波形**。VITS 在語音自然度與細節表現（如音色變化）上表現優異」。(A) VAE + GAN + 端到端 + 文字→波形完整對應。\n3. **其他選項為何刪**：\n   - (B) VITS 的招牌就是 VAE + GAN 結合（連名字 V-I-TS 都來自 Variational Inference），「僅使用 RNN、不採用 VAE/GAN」與教材定義直接矛盾，刪。\n   - (C) BERT 是 NLP 雙向理解模型（line 101），與 VITS 語音合成完全不同，刪。\n   - (D) VITS 是**語音合成**模型（Text-to-Speech），「只能用於影像分割」與其定位矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 239–241（語音合成 — VITS）\n\n**融會貫通**：記法「**VITS = V-I-TS = Variational Inference Text-to-Speech**」— 名字裡的 V/I 就暗示 VAE + 變分推斷，又結合 GAN 做端到端訓練。對比 Tacotron 2（Seq2Seq + WaveNet 兩階段）、FastSpeech 2（非自迴歸），VITS 是端到端一步到位，效率與細節兼具。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Whisper（OpenAI）的敘述何者**正確**」→ 考點是 Whisper 的本質（STT 模型）+ 與 TTS 搭配形成雙向流程。\n2. **正確答案 (A) 為何對**：教材 line 243–245 明說「Whisper（OpenAI）：**雖然主要為語音辨識（Speech-to-Text）模型，但其強大的語音處理能力使其常與語音合成技術搭配使用**，形成雙向語音應用流程（如先辨識再合成）」。(A) 完整對應 STT 定位 + TTS 搭配雙向流程。\n3. **其他選項為何刪**：\n   - (B) Whisper 是**語音處理**模型（STT），不是「純圖像生成工具」（DALL·E 才是 OpenAI 的圖像生成），刪。\n   - (C) Whisper 是基於 **Transformer encoder-decoder** 的 STT 模型，不是 GAN，且 GAN 不能生成圖像也與其無關 — 模型類別 + 任務雙重錯誤，刪。\n   - (D) Whisper 是 OpenAI 的語音辨識旗艦模型，「與語音處理完全無關」與其名稱（Whisper = 耳語/語音）直接矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 243–245（語音合成 — Whisper）\n\n**融會貫通**：實務雙向流程「**Whisper（STT）→ LLM 處理 → ElevenLabs（TTS）**」是語音 Agent 標準架構（如語音助理：聽 → 思考 → 說）。Whisper 雖在 TTS 章節介紹，但本質是 STT，記得它的角色是「**語音入口**」（聽懂使用者），不是「語音出口」（合成聲音）。",
    "23": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「MOS（Mean Opinion Score）的描述，何者**正確**」→ 考點是 MOS 的定義（人工評估自然度 + 1-5 分）。\n2. **正確答案 (A) 為何對**：教材 line 287 直接列出「MOS（Mean Opinion Score）：**人工評估語音自然度的平均分數（1-5 分）**」。(A) 把「人工評估、自然度、1-5 分」三個關鍵詞全對。\n3. **其他選項為何刪**：\n   - (B) 「語音內容準確性的錯誤率」是 **WER（Word Error Rate）**（line 288），不是 MOS — 兩個指標對調的典型干擾，刪。\n   - (C) 「文字到語音的生成延遲」是「**生成延遲**」指標（line 289 第三項），不是 MOS，刪。\n   - (D) MOS 是**語音評估指標**（Mean Opinion Score），不是 GAN 的損失函數（GAN loss 是 BCE 或 Wasserstein），完全不同概念，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 287（語音合成 — 關鍵指標 MOS）\n\n**融會貫通**：語音合成三大指標必背 — **MOS（人工評自然度 1-5 分）、WER（自動算錯誤率）、生成延遲（時間）**。記法「**M 自然 / W 錯誤 / 延遲時間**」。對比文本生成的 BLEU/ROUGE 是自動指標、人工評估是輔助；語音的 MOS 是主流指標、自動指標反而較少（因為自然度很難自動量化）。",
    "24": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「LLM 巨型模型與 Agent 化發展（2023 年起）的趨勢，何者**正確**」→ 考點是第五階段的三大特徵（巨型參數 + 指令驅動 + 工具鏈整合）。\n2. **正確答案 (A) 為何對**：教材 line 123 明列「技術特徵：**巨型參數規模、指令驅動（Instruction Tuning）、工具鏈整合（如 API 調用、RAG 檢索增強生成、記憶功能）**」。(A) 三大特徵 + 三種工具整合全部對應。\n3. **其他選項為何刪**：\n   - (B) Instruction Tuning（指令理解）正是 2023 後的核心技術，「完全不需指令理解」與教材直接矛盾，刪。\n   - (C) 教材明列 Agent 化發展工具鏈包含 **RAG（Retrieval-Augmented Generation）**，「完全無關」與教材矛盾，刪。\n   - (D) 巨型 LLM 主要用於文本/多模態生成、任務代理，「只能用於影像分類」與其用途完全不符（影像分類是 Discriminative AI 範疇），刪。\n\n**📖 章節來源**：chunks/L21103.txt line 121–127（巨型模型與 Agent 化發展）\n\n**融會貫通**：Agent 化三大要素「**巨型參數 + 指令調校 + 工具鏈**」。實務應用：GPT-4 + Function Calling（工具調用）+ RAG（外接知識庫）+ Memory（對話記憶）→ Autonomous Agent。從「會聊天的 LLM」進化到「會做事的 Agent」是 2023 後最大趨勢。",
    "25": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「跨模態對齊（如 CLIP 圖文對應）的描述，何者**正確**」→ 考點是多模態模型的核心機制（不同模態映射到同一語意空間）。\n2. **正確答案 (A) 為何對**：教材 line 111 明說「**多模態模型依賴預訓練與跨模態對齊（如 CLIP 的圖文對應）**」，line 113 補充代表模型 Stable Diffusion、DALL·E、Flamingo、Gemini。CLIP 的核心就是把圖像與文本編碼到同一向量空間，讓兩種模態可以直接比對相似度。(A) 完整對應「不同模態 → 同一語意空間」的核心概念。\n3. **其他選項為何刪**：\n   - (B) CLIP 支援彩色圖像，「僅能處理黑白圖像」與其用 4 億圖文對訓練的事實矛盾，刪。\n   - (C) 跨模態對齊是**對比學習**（contrastive learning，圖文配對），不是 GAN 的對抗訓練 — 機制完全不同，刪。\n   - (D) 跨模態對齊是生成式 AI 多模態生成的**核心技術**之一（DALL·E、Gemini 都依賴它），「與生成式 AI 無關」與教材直接矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 109–113（擴散模型與多模態生成 — 跨模態對齊）\n\n**融會貫通**：CLIP（Contrastive Language-Image Pre-training）= OpenAI 提出的跨模態基礎模型，把圖文映射到同一空間後，可做**圖文檢索、零樣本分類、條件生成**（DALL·E 用 CLIP 引導生成）。記法「**跨模態 = 不同感官、同一語意**」。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Prompt Engineering 的發展趨勢，何者**正確**」→ 考點是可控生成 + Prompt Engineering 成為關鍵技能。\n2. **正確答案 (A) 為何對**：教材 line 323–325 明說「可控性將成為生成式 AI 的核心能力。模型不僅要能**理解使用者輸入的意圖**，還要能**針對語氣、風格、長度、格式等多層次進行調整**。**提示工程（Prompt Engineering）將逐步發展為一項關鍵技能**」。(A) 把語氣/風格/長度/格式四層次 + 關鍵技能定位完整對應。\n3. **其他選項為何刪**：\n   - (B) 教材明確把 Prompt Engineering 列為**未來核心技能**，「已被淘汰」與教材直接矛盾，刪。\n   - (C) 教材把 Prompt Engineering 與「可控生成」並列為同一節討論，「與可控生成無關」與教材矛盾，刪。\n   - (D) Prompt Engineering 主要用於**生成式 AI**（文本、圖像、語音生成的提示優化），不是傳統影像分類（影像分類是 Discriminative，不需提示），刪。\n\n**📖 章節來源**：chunks/L21103.txt line 323–325（技術發展趨勢 — 可控生成與提示工程深化）\n\n**融會貫通**：Prompt Engineering 四維度記法「**語氣、風格、長度、格式**」。實務技巧：Few-shot prompting、Chain-of-Thought、Role prompting、Output format control（如要 JSON 就明說 \"Reply in JSON\"）。隨著模型能力提升，Prompt 技巧從「會用就好」進化到「精細控制」，是 AI 規劃師重要職能。",
    "27": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Deepfake 技術濫用風險，何者**正確**」→ 考點是 Deepfake 的本質（圖像生成 + 語音合成）+ 社會影響（詐騙/假訊息）+ 應對（技術偵測 + 法律規範）。\n2. **正確答案 (B) 為何對**：教材 line 309–311 明說「結合**圖像生成與語音合成技術所產生的深偽影片**，已成為**詐騙與假訊息散播的工具**，亟需**技術偵測與法律規範因應**」。(B) 完整對應 Deepfake 的構成、社會危害、雙軌應對方案。\n3. **其他選項為何刪**：\n   - (A) 教材明列 Deepfake 已造成詐騙、假訊息等實際社會影響，「僅是學術概念、沒有實際影響」與教材矛盾，刪。\n   - (C) Deepfake 是**生成內容濫用的風險**，不是 LLM 的訓練技術 — 兩者層次完全不同（一個是 generated output、一個是 training method），刪。\n   - (D) Deepfake（合成偽造影音）與 Prompt Engineering（提示優化技巧）是完全不同的概念，「完全等同」明顯錯誤，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 309–311（生成式 AI 潛在風險 — 深偽技術濫用）\n\n**融會貫通**：生成式 AI 五大風險「**真偽、智財、偏見、Deepfake、可控性**」。Deepfake 實務案例：偽造名人發言、CEO 詐騙電話（聲音複製）、政治假訊息。應對技術：Watermarking（浮水印）、Deepfake Detection 模型、區塊鏈溯源；法律：歐盟 AI Act、台灣《人工智慧基本法》草案都涵蓋。",
    "28": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「智慧財產權與授權爭議，何者**正確**」→ 考點是生成式 AI 訓練資料涉及著作權的風險。\n2. **正確答案 (A) 為何對**：教材 line 301–303 明說「生成式模型常依賴大量資料進行訓練，**部分訓練資料可能涉及受著作權保護的內容**，**若未經授權使用，可能衍生著作權糾紛**」。(A) 完整對應教材原文。\n3. **其他選項為好刪**：\n   - (B) 教材明列訓練資料**涉及著作權保護內容是真實風險**（StabilityAI、OpenAI 都正面臨多起訴訟），「完全不涉及版權」與教材直接矛盾，刪。\n   - (C) 智財權問題在**文本生成（小說/新聞）、圖像生成（藝術家風格）、音樂生成（旋律）**都存在，「只存在 NLP、與圖像無關」與 Stable Diffusion/Midjourney 面臨的藝術家訴訟事實矛盾，刪。\n   - (D) 生成式 AI 輸出的著作權歸屬目前是**爭議中**的法律議題（多數司法管轄區認為 AI 生成不受著作權保護），「所有輸出都自動擁有著作權」與現實法律狀態矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 301–303（生成式 AI 潛在風險 — 智慧財產權與授權爭議）\n\n**融會貫通**：實務案例 — Getty Images 控告 Stable Diffusion、紐約時報控告 OpenAI、藝術家集體訴訟 Midjourney 都圍繞訓練資料是否合理使用（fair use）。應對策略：**授權資料集（如 Adobe Firefly 用自家圖庫）+ Opt-out 機制（讓藝術家標記排除）+ 來源歸因**。AI 規劃師導入 GenAI 必須評估訓練資料合規性。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型對齊與安全防護機制未來發展，何者**正確**」→ 考點是對齊性（Alignment）+ 兩大技術（RLHF + Red Teaming）。\n2. **正確答案 (A) 為何對**：教材 line 331–333 明說「未來生成式 AI 將更重視**『對齊性』（Alignment）與『防濫用機制』**，例如結合**回饋式強化學習（Reinforcement Learning with Human Feedback, RLHF）、紅隊測試（Red Teaming）等技術**，**強化輸出內容的安全性與合規性**」。(A) Alignment + RLHF + Red Teaming + 安全合規完整對應。\n3. **其他選項為何刪**：\n   - (B) 教材明列 RLHF 與 Red Teaming 是模型對齊的兩大技術手段，「完全無關」與教材直接矛盾，刪。\n   - (C) 「對齊」在 AI 安全領域特指**模型行為與人類價值/意圖對齊**（如不輸出有害內容），不是「模型參數對齊」（後者像是分散式訓練的概念），定義錯誤，刪。\n   - (D) 安全防護機制包含**技術手段**（RLHF、Red Teaming、Guardrails）+ 法規（EU AI Act），「只是法規問題、與技術無關」忽略了核心的技術層面，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 331–333（技術發展趨勢 — 模型對齊與安全防護機制進化）\n\n**融會貫通**：兩大對齊技術 — **RLHF**（人類評分 → 訓練獎勵模型 → 強化學習微調，ChatGPT/Claude 都用）；**Red Teaming**（紅隊主動攻擊測試找漏洞，如越獄、有害內容誘導）。Anthropic 的 Constitutional AI、OpenAI 的 RLHF + 安全微調都是 Alignment 的代表。AI 規劃師導入 LLM 時需評估其對齊水準。",
    "30": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「小型化與邊緣部署模型興起的趨勢，何者**正確**」→ 考點是小型模型驅動因素（運算資源 + 資料隱私）+ 部署目標（手機/PC/IoT 邊緣）。\n2. **正確答案 (A) 為何對**：教材 line 327–329 明說「為**因應運算資源與資料隱私考量**，越來越多生成模型將朝向**『可在地端執行』的小型模型發展**，**利於嵌入在手機、個人電腦或 IoT 設備等邊緣設備之上**」。(A) 動機（運算 + 隱私）+ 目標（地端/邊緣）+ 設備（手機/PC/IoT）完整對應。\n3. **其他選項為何刪**：\n   - (B) Phi-3、Gemma、Llama 3 8B、Mistral 7B 都是熱門小型 GenAI 模型，「完全無法用於生成式 AI」與小型化是 GenAI 主要趨勢這事實矛盾，刪。\n   - (C) 邊緣部署在**生成式 AI** 已大量應用（手機端 LLM、車載語音助理、IoT 智慧音箱），「只適合 CV、無法用於生成式 AI」與教材主張的邊緣部署趨勢矛盾，刪。\n   - (D) 教材主張趨勢是**小型化 + 邊緣**並行，「只能在大型雲端」與「可在地端執行」直接矛盾，刪。\n\n**📖 章節來源**：chunks/L21103.txt line 327–329（技術發展趨勢 — 小型化與邊緣部署模型興起）\n\n**融會貫通**：小型化兩大驅動「**運算成本 + 資料隱私**」。實務案例：Apple Intelligence（手機端 3B 模型 + 雲端 GPT-4 混合）、Microsoft Phi-3（3.8B 跑筆電）、Llama 3 8B（量化後可跑樹莓派）。實作技術：**Quantization（量化）+ Distillation（蒸餾）+ Pruning（剪枝）**。AI 規劃師選型時需在「效能 vs 隱私 vs 成本」間取捨。"
  },
  "mock_L21104": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「多模態 AI 核心能力」→ 考點是「多模態」三個字最基本的定義 = **同時處理多種資料型態**。\n2. **正確答案 (B) 為何對**：教材開宗明義「多模態 AI 核心能力在於能夠同時處理並整合來自不同模態的資料，如文字、影像、語音、感測訊號等」。相較於 NLP 只處理文字、CV 只處理影像，多模態 AI 強調**跨模態訊息的理解、融合與應用**。(B) 完全對應教材定義。\n3. **其他選項為何刪**：\n   - (A) 僅能針對單一資料型態 → 與「多模態」字面意義矛盾，這是**單模態**的描述，刪。\n   - (C) 僅適用於 NLP 純文字 → NLP 是單模態技術，與多模態定義矛盾，刪。\n   - (D) 主要功能是提升硬體運算效能 → 硬體運算是多模態崛起的「**推手**」而非「**功能**」，屬於概念錯置，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 9（多模態 AI 前言與章節導覽）\n\n**融會貫通**：記法「**多模態 = 多感官**」，就像人類用眼睛+耳朵+觸覺同時感知世界一樣。看到「僅」、「單一」這類限定詞，多半就是單模態的陷阱選項。",
    "2": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「多模態 AI 近年崛起的主要技術推手，何者**錯誤**」→ 考點是當前主流技術，要刪掉「不屬於主流推手」的選項。\n2. **正確答案 (D) 為何對**：教材明示崛起推手 =「硬體運算能力提升、深度學習架構成熟、Transformer + LLMs 推動」。SVM/決策樹屬於**早期特徵串接階段**的融合工具，已被 Transformer 取代，**並非當前推手**。題目要選錯誤，故 (D)。\n3. **其他選項為何刪**：\n   - (A) 硬體運算能力提升 → 教材明列推手之一，正確，刪。\n   - (B) 深度學習架構成熟 → 教材明列推手之一，正確，刪。\n   - (C) Transformer 架構與 LLMs 推動 → 教材重點推手，GPT-4、ImageBind 都靠這個，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 11、41（多模態 AI 前言與技術演進脈絡）\n\n**融會貫通**：技術演進**三階段**：早期特徵串接（SVM/決策樹）→ 深度學習階段（CNN+RNN+融合層）→ Transformer 統一架構。題目把「早期工具」說成「當前推手」是典型的**時代錯置**陷阱。",
    "3": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**多模態 AI 常見資料模態（Modality）」→ 考點是教材列出的四大模態，要刪掉不屬於感知模態的選項。\n2. **正確答案 (D) 為何對**：教材列出的常見模態 =「文字／影像／語音音訊／感測器資料（位置感測器、加速度計、環境溫度等）」。**編譯後二進位機器碼**屬於程式碼層級的資料，不是 AI 系統用來「感知世界」的模態，與多模態 AI 的感知模態定義無關。\n3. **其他選項為何刪**：\n   - (A) 文字（自然語言、描述、問句）→ 教材明列模態，正確，刪。\n   - (B) 影像（靜態圖像、影像序列）→ 教材明列模態，正確，刪。\n   - (C) 語音／音訊（語音內容、情緒、背景聲音）→ 教材明列模態，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 21-29（定義與範疇）\n\n**融會貫通**：四大模態記法「**文影音感**」(文字／影像／音訊／感測器)。看到「機器碼」、「組合語言」、「SQL」這類**程式或結構化資料層**的選項，通常都不是多模態 AI 範疇。",
    "4": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「各模態結構特徵描述，何者**錯誤**」→ 考點是四大模態各自的特徵屬性，要找錯配的那一個。\n2. **正確答案 (D) 為何對**：教材原文「感測器數據則反映實體環境的**連續變化**」。(D) 卻說感測器「離散且無時間依賴的純語意資料」— 這實際上是**文字資料**的特徵（離散+語意性強），被錯置到感測器上。屬於典型的**屬性互換**干擾。\n3. **其他選項為何刪**：\n   - (A) 文字 = 離散且語意性強 → 教材原句，正確，刪。\n   - (B) 影像 = 空間資訊+顏色紋理 → 教材原句，正確，刪。\n   - (C) 語音 = 時間序列+情緒線索 → 教材原句，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 31（定義與範疇）\n\n**融會貫通**：四大模態特徵記法 ——「**文字離散、影像空間、語音時序、感測連續**」。考錯誤題型常用 **swap 干擾**（把 A 的屬性錯安到 B 上），看到「感測器+離散」這種反常組合就要警覺。",
    "5": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Cross-modal Embeddings 核心目的」→ 考點是這個技術為什麼存在 = 讓**不同模態能比較**。\n2. **正確答案 (A) 為何對**：教材原文「跨模態表示學習（Cross-modal Embeddings）即將不同模態資料映射至**相同的語意空間**，使模型能比較、關聯或互相翻譯不同模態下的輸入」。OpenAI 的 CLIP 就是經典範例 —「一張圖片」與「一句描述」可在嵌入空間對應。\n3. **其他選項為何刪**：\n   - (B) 各模態獨立、不可交互的向量空間 → 跟「相同語意空間」相反，這樣根本沒法跨模態比較，刪。\n   - (C) 壓縮成單一純量 → Scalar 沒有語意維度，無法表示複雜模態，與 embedding 概念矛盾，刪。\n   - (D) 僅關注影像、不處理文字 → 直接違反「跨**模態**」三個字的字面意義，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 33（定義與範疇）\n\n**融會貫通**：Cross-modal Embeddings 的精神 = **「不同模態，同一空間」**。CLIP 的「對比學習」就是用「拉近正確圖文對、拉遠錯誤圖文對」的方式來達成這個目標（Q13 會考）。",
    "6": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「語意對齊（Semantic Alignment）與融合學習（Fusion Learning）的角色」→ 考點是這兩個技術為什麼是多模態 AI 的關鍵。\n2. **正確答案 (B) 為何對**：教材原文「多模態 AI 不僅依賴上述模態的基礎處理能力，更進一步**透過模態間的語意對齊（Semantic Alignment）與融合學習（Fusion Learning），實現跨模態的深層理解與互補性應用**」。(B) 完全照搬教材原句。\n3. **其他選項為何刪**：\n   - (A) 不需語意對齊、各模態獨立輸出 → 那就退化成單模態結果拼接，喪失「深層理解」能力，與多模態核心矛盾，刪。\n   - (C) 融合學習僅指特徵串接 → 特徵串接（Feature Concatenation）只是早期最基礎的融合方式，融合學習還包含 Early/Late Fusion、Vision-Language Fusion 等更高階方法，**以偏概全**，刪。\n   - (D) 語意對齊只能用於文字-文字 → 那就不是「跨模態」對齊了，反例：CLIP 做圖文對齊，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 15（前言與章節導覽）\n\n**融會貫通**：兩個關鍵字 ——「**語意對齊**」處理「意思一致」（如圖片+描述指同一物），「**融合學習**」處理「資訊互補」（如影像+病歷一起判斷）。兩者合起來才是多模態的「深層理解」能力。",
    "7": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「早期特徵串接 + SVM/決策樹的**主要缺陷**」→ 考點是技術演進第一階段（早期）為什麼會被取代。\n2. **正確答案 (A) 為何對**：教材原文「這種方式（特徵串接）雖簡單，卻**無法處理模態間的語意對齊與交互關係，且缺乏可擴展性**」。(A) 完全照搬。早期方法只是把特徵向量「拼起來」丟給 SVM，並沒有真正理解模態間的關係。\n3. **其他選項為何刪**：\n   - (B) 過度依賴 Transformer 自注意力 → Transformer 是當前階段才出現的技術，早期根本沒有，**時代錯置**，刪。\n   - (C) 訓練成本太高、無法在 GPU 上執行 → SVM/決策樹是輕量模型，反而很容易訓練，與事實相反，刪。\n   - (D) 僅能處理語音、無法接受文字 → 特徵串接的優點之一就是**通用**（任何特徵向量都能拼），與此選項相反，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 41（技術演進脈絡 - 早期階段）\n\n**融會貫通**：技術演進三階段對照 ——\n- 早期（特徵串接+SVM）：簡單但**無語意對齊**\n- 深度學習（CNN+RNN+融合層）：模態專屬網路\n- Transformer（M3AE/Flamingo/BLIP-2）：統一架構+自注意力\n看到「早期」+「Transformer」這種組合就是時代錯置陷阱。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「深度學習階段，各模態專屬網路搭配何者**正確**」→ 考點是 CNN/RNN 各自擅長哪種模態。\n2. **正確答案 (B) 為何對**：教材原文「CNN 處理影像、RNN 處理文字與語音」。記法：**CNN 看空間（影像）、RNN 跑時間（文字、語音都是序列）**。再透過融合層（Fusion Layer）整合成多模態深度學習（Multimodal Deep Learning）。\n3. **其他選項為何刪**：\n   - (A) CNN 處理文字、RNN 處理影像 → **完全反過來**，CNN 的卷積核專為 2D 空間設計，RNN 的循環專為時序設計，職責互換，刪。\n   - (C) RNN 處理影像、SVM 處理文字 → 影像用 RNN 失效率太低（無法捕捉空間特徵）+ SVM 已是早期階段工具，**時代+職責雙錯**，刪。\n   - (D) 決策樹處理影像、CNN 處理語音 → 決策樹根本不是深度學習，**時代錯置**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 45（技術演進脈絡 - 深度學習階段）\n\n**融會貫通**：CNN vs RNN 的本質差別 ——「**CNN 抓局部空間特徵、RNN 抓時間序列依賴**」。所以影像（2D 像素網格）用 CNN、文字（詞序列）和語音（音訊序列）用 RNN。考題最常見的干擾就是把兩者**任務互換**。",
    "9": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目要找「使用**統一編碼器**對影像與文字進行**遮罩預訓練**」的代表模型 → 兩個關鍵字「統一編碼器」+「遮罩」直指 M3AE。\n2. **正確答案 (A) 為何對**：教材原文「M3AE（Masked Multimodal Autoencoder）模型使用**統一編碼器**對影像與文字進行**遮罩預訓練**，學習兩者共享的語意結構」。題幹幾乎是教材原句，直接命中 M3AE。\n3. **其他選項為何刪**：\n   - (B) ResNet → 純影像分類用的 CNN 架構，**單模態**，不處理文字，刪。\n   - (C) Word2Vec → 純文字詞嵌入技術，**單模態**，不處理影像，刪。\n   - (D) Bag-of-Words → 傳統 NLP 表示法（詞袋模型），**單模態**且不是 Transformer 架構，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 49（技術演進脈絡 - 當前 Transformer 階段）\n\n**融會貫通**：M3AE 名字拆解 = **M**asked **M**ultimodal **A**uto**E**ncoder（遮罩多模態自編碼器）。看到「**Masked + 多模態**」就要直接連結 M3AE，這是教材列名的代表性 Transformer 多模態模型。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目要找「當前階段（Transformer + 自注意力）+ 多層次對齊 + Vision-Language Fusion」的代表模型 → 三個關鍵字直指 Flamingo、BLIP-2。\n2. **正確答案 (A) 為何對**：教材原文「現今的多模態模型，如 **Flamingo、BLIP-2** 等，則進一步採用多層次對齊與**視覺-語言融合（Vision-Language Fusion）**機制」，處理圖文問答、圖像生成敘述、跨模態檢索等任務。題幹直接對應。\n3. **其他選項為何刪**：\n   - (B) SVM、決策樹 → 早期特徵串接階段的工具，**時代錯置**，刪。\n   - (C) Word2Vec、TF-IDF → 純文字 NLP 技術，**單模態**，刪。\n   - (D) K-means、DBSCAN → 無監督**分群演算法**，跟多模態 AI 無關，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 49（技術演進脈絡 - 當前 Transformer 階段）\n\n**融會貫通**：當前階段三大代表模型 ——\n- **M3AE**：統一編碼器+遮罩預訓練\n- **Flamingo**（DeepMind）：少樣本學習能力\n- **BLIP-2**（Salesforce）：圖文雙向理解、強化 VQA\n看到「Vision-Language Fusion」就要立刻聯想到 Flamingo/BLIP-2。",
    "11": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Early Fusion vs Late Fusion 的**主要差異**」→ 考點是兩種融合策略在**整合的層級**上的差別。\n2. **正確答案 (B) 為何對**：教材原文「早期融合（Early Fusion，**資料層級**整合）與晚期融合（Late Fusion，**特徵層級**整合）」。記法：**Early 早 = 資料剛進來就整合（raw 層級）、Late 晚 = 等各自抽完特徵再整合**。\n3. **其他選項為何刪**：\n   - (A) Early=特徵層級、Late=資料層級 → 跟教材定義**完全反過來**，是典型 swap 干擾，刪。\n   - (C) 兩者完全相同，只是名稱不同 → 整合層級實質不同，影響模型架構與效能，**淡化區別**陷阱，刪。\n   - (D) Early=僅針對文字、Late=僅針對影像 → 跟模態種類無關，是**概念錯置**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 97（感測資料的多模態融合）\n\n**融會貫通**：記法「**早 = 早整合（資料層）、晚 = 晚整合（特徵層）**」，重點在「整合的時機」對應到 pipeline 的位置 ——\n- Early Fusion：raw data → 合併 → 共用 model\n- Late Fusion：raw data → 各自抽特徵 → 合併\n這是命題最愛 swap 的考點之一。",
    "12": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「感測融合（Sensor Fusion）**並非**依賴的關鍵基礎」→ 要找跟感測融合定義矛盾的選項。\n2. **正確答案 (D) 為何對**：教材原文「感測融合（Sensor Fusion）技術，透過**資料同步與特徵對齊**，將異質資料整合至統一模型中」，常見方法包括早期融合與晚期融合。(D) 說「完全棄用所有感測器資料，僅保留語音輸入」— 這直接跟「感測融合」的定義矛盾（沒感測器資料就不是感測融合了）。\n3. **其他選項為何刪**：\n   - (A) 資料同步 → 教材明列關鍵基礎，正確，刪。\n   - (B) 特徵對齊 → 教材明列關鍵基礎，正確，刪。\n   - (C) 透過早期融合或晚期融合進行整合 → 教材明列的常見方法，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 97（感測資料的多模態融合）\n\n**融會貫通**：感測融合三要件 =「**同步 + 對齊 + 融合策略**」。資料同步（時間戳對齊）+ 特徵對齊（語意一致）+ Early/Late Fusion 選擇。看到「棄用感測器」這種**自我矛盾**選項，就是答案。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CLIP 的提出公司+學習方式」→ 兩個固定 fact 要記，沒有推理空間。\n2. **正確答案 (B) 為何對**：教材原文「CLIP（Contrastive Language-Image Pre-training）由 **OpenAI 於 2021 年提出**，透過**對比學習（Contrastive Learning）**實現圖片與文字的語意對齊」。CLIP 名字裡的 **C** 就是 Contrastive，直接命中。\n3. **其他選項為何刪**：\n   - (A) Google／監督式學習 → 公司+學習方式**雙錯**（CLIP 不是監督式，是對比式自監督），刪。\n   - (C) Meta／強化學習 → 公司+學習方式**雙錯**（Meta 是 ImageBind，不是 CLIP；RL 也與圖文對齊無關），刪。\n   - (D) Microsoft／無監督分群 → 公司+學習方式**雙錯**（分群是 k-means 範疇），刪。\n\n**📖 章節來源**：chunks/L21104.txt line 57（CLIP：圖文對齊與對比學習基礎）\n\n**融會貫通**：多模態模型「**公司對照表**」必背 ——\n- **CLIP / GPT-4 / DALL·E**：OpenAI\n- **BLIP / BLIP-2**：Salesforce\n- **Flamingo**：DeepMind（Google 子公司，但常用 DeepMind 名義）\n- **ImageBind**：Meta\n張冠李戴是高頻陷阱（Q17/Q18/Q30 都會考）。",
    "14": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CLIP **圖片編碼器**的架構基礎」→ 考點是 CLIP 內部的 image encoder 用什麼。\n2. **正確答案 (A) 為何對**：教材原文「CLIP 的核心架構包括**圖片編碼器（基於 Vision Transformer 或 ResNet）**與文字編碼器（基於 Transformer），兩者透過對比損失（Contrastive Loss）共同優化」。(A) 直接對應教材。\n3. **其他選項為何刪**：\n   - (B) Word2Vec、TF-IDF → 都是**文字**處理技術，不是圖片編碼器，**模態錯置**，刪。\n   - (C) 決策樹、隨機森林 → 傳統機器學習，無法處理高維影像特徵，**時代+任務雙錯**，刪。\n   - (D) k-means、DBSCAN → 是**分群演算法**，根本不是 encoder，**任務類別錯**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 59（CLIP 核心架構）\n\n**融會貫通**：CLIP **雙塔架構**記法 ——\n- **圖片塔**：ViT 或 ResNet\n- **文字塔**：Transformer\n- **對齊機制**：Contrastive Loss（拉近正確圖文對、拉遠錯誤對）\n看到「圖片編碼器+傳統 ML 演算法」的組合就是陷阱。",
    "15": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CLIP 主要功能應用，何者**錯誤**」→ 考點是 CLIP 的三大應用 vs 不屬於 CLIP 的任務。\n2. **正確答案 (D) 為何對**：CLIP 是**圖文對齊**模型，輸出是「圖文相似度」，根本不處理 3D 點雲或 STL 檔案輸出。3D 點雲重建是 NeRF、Point Cloud Network 這類完全不同的模型族系，與 CLIP 任務無關。\n3. **其他選項為何刪**：\n   - (A) 圖文匹配（Image-Text Matching）→ 教材明列 CLIP 應用，正確，刪。\n   - (B) 圖文檢索（Image-Text Retrieval）→ 教材明列 CLIP 應用，正確，刪。\n   - (C) 圖片標題生成（Image Captioning）→ 教材明列 CLIP 應用（如風景照→「夕陽下的海灘」），正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 63-67（CLIP 功能與應用）\n\n**融會貫通**：CLIP 三大應用記法「**配 / 找 / 寫**」——\n- 配 = 圖文匹配（Matching）：判斷圖文是否相符\n- 找 = 圖文檢索（Retrieval）：用文字找圖、用圖找文字\n- 寫 = 圖片標題生成（Captioning）：看圖說話\n看到「3D」、「STL」、「點雲」這種**幾何重建**字眼就絕對不是 CLIP。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「CLIP 的核心**優勢**」→ 考點是 CLIP 之所以紅、被廣泛採用的原因。\n2. **正確答案 (A) 為何對**：教材原文「優勢：**零樣本（Zero-shot）學習能力強**，無需針對特定任務重新訓練即可應用」。這也是為什麼 CLIP 能當後續 DALL·E 等生成模型的基礎 —— 不必每個任務都重訓。\n3. **其他選項為何刪**：\n   - (B) 必須針對每一新任務重新訓練 4 億對圖文 → **與 Zero-shot 優勢直接矛盾**（4 億對是它的「**預訓練**資料量」，不是「每次重訓」量），是反向陷阱，刪。\n   - (C) 完全沒有訓練資料偏見的風險 → 教材明示「**訓練資料偏見可能影響公平性**」是 CLIP 的**限制**，與此選項相反，刪。\n   - (D) 對複雜情境的細節理解能力完美無瑕 → 教材明示「**對複雜情境的細節理解有限**」是 CLIP 的**限制**，與此選項相反，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 69、71（CLIP 優勢與限制）\n\n**融會貫通**：CLIP 「**優勢 vs 限制**」對照 ——\n- 優勢：Zero-shot 強、可當生成模型基礎\n- 限制：細節理解有限、訓練資料偏見\n命題常用「把限制偽裝成優勢」（如 C、D）來干擾。看到「完全沒有」、「完美無瑕」這種絕對化字眼，多半是陷阱。",
    "17": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「BLIP / BLIP-2 的敘述，何者**正確**」→ 考點是這個模型的**公司+專長任務**。\n2. **正確答案 (A) 為何對**：教材原文「BLIP（Bootstrapping Language-Image Pre-training）由 **Salesforce** 發表，強化**圖文問答（Visual Question Answering, VQA）**與生成任務，**支援圖片與文字的雙向理解**」。(A) 完全照搬教材。\n3. **其他選項為何刪**：\n   - (B) OpenAI／純語音辨識 → 公司錯（BLIP 是 Salesforce，OpenAI 是 CLIP/GPT-4）+ 任務錯（BLIP 是圖文，不是語音），**雙錯**，刪。\n   - (C) DeepMind／強化學習 → 公司錯（DeepMind 是 Flamingo）+ 學習方式錯（BLIP 是預訓練+生成，不是 RL），**雙錯**，刪。\n   - (D) 純粹的影像分類模型，不處理文字 → 直接違反「Language-Image」名稱（BLIP 本來就是**圖文雙模態**），刪。\n\n**📖 章節來源**：chunks/L21104.txt line 115（常見模型 - BLIP）\n\n**融會貫通**：BLIP 名字拆解 = **B**ootstrapping **L**anguage-**I**mage **P**re-training，「Bootstrapping」=自舉強化、「Language-Image」=圖文雙模態。記憶串：**BLIP（Salesforce）強化 VQA、雙向理解**。對比 CLIP 是**對齊**，BLIP 是**問答+生成**，兩者任務層級不同。",
    "18": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Flamingo 與 M3AE 模型特性，何者**錯誤**」→ 考點是兩個模型的公司+特性。\n2. **正確答案 (D) 為何對**：教材原文「M3AE（Masked Multimodal Autoencoder）：基於**遮罩預訓練（Masked Pre-training）的多模態自編碼器**，支持多模態特徵提取與生成」。M3AE 是**圖文多模態**模型，**不是** OpenAI 提出，也**不是純語音辨識**。「OpenAI 純語音辨識」是 **Whisper**（教材 line 77 提到），不是 M3AE。\n3. **其他選項為何刪**：\n   - (A) Flamingo（DeepMind）+ 少樣本學習 → 教材原句，正確，刪。\n   - (B) Flamingo 可快速適應新圖文任務 → 教材原句，正確，刪。\n   - (C) M3AE 基於遮罩預訓練的多模態自編碼器 → 教材原句，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 117、119（常見模型 - Flamingo、M3AE）\n\n**融會貫通**：M3AE 與 Whisper 區別 ——\n- **M3AE**：多模態圖文自編碼器（遮罩預訓練）\n- **Whisper**：OpenAI 純語音辨識（單模態 ASR）\n命題把 Whisper 的屬性錯安到 M3AE 上，是典型**模型 swap** 干擾。看到「M3AE+語音辨識」的組合要警覺。",
    "19": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「語音模態的應用**流程順序**」→ 考點是 ASR → NLU → 回應的標準 pipeline。\n2. **正確答案 (B) 為何對**：教材原文「**語音輸入 → ASR 轉文字 → NLU 解析意圖 → 生成回應**」。邏輯上必須是：先把聲音變成文字（ASR）→ 才能理解文字意思（NLU）→ 才能產生回答（回應）。任何打亂順序都會 pipeline 失效。\n3. **其他選項為何刪**：\n   - (A) 語音輸入 → NLU → ASR → 生成回應 → NLU 拿到語音原始波形無法解析（NLU 處理的是文字），**順序錯**，刪。\n   - (C) NLU → 語音輸入 → 生成回應 → ASR → 先解析後輸入完全沒道理，**邏輯亂序**，刪。\n   - (D) 生成回應 → ASR → 語音輸入 → NLU → 反向流程，**邏輯亂序**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 83（語音模態的整合與應用）\n\n**融會貫通**：語音 pipeline 三件套記法「**聽 → 懂 → 答**」——\n- 聽 = ASR（Automatic Speech Recognition，語音→文字，如 Whisper）\n- 懂 = NLU（Natural Language Understanding，解析意圖，如 BERT/GPT）\n- 答 = 生成回應（可選 TTS 把文字變語音輸出）\n順序固定不可亂，命題常見干擾就是 swap ASR 與 NLU。",
    "20": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「語音模態整合應用敘述，何者**錯誤**」→ 考點是 ASR/NLU/TTS 三者角色不可混淆。\n2. **正確答案 (D) 為何對**：(D) 說「語音助理完全不需 ASR，僅靠 TTS 即可理解使用者語意」— 這是**雙重錯誤**：① 沒有 ASR 就無法把語音變文字、② TTS 是**文字→語音**（輸出端），根本不負責「理解」。理解語意是 NLU 的工作。把輸出技術錯安到輸入端是典型陷阱。\n3. **其他選項為何刪**：\n   - (A) 語音助理 = ASR + NLU 實現語音指令 → 教材原文，正確，刪。\n   - (B) 跨語言互動 = 多語言 ASR + TTS + NMT → 教材原文（NMT = Neural Machine Translation），正確，刪。\n   - (C) 客服系統 = 自動化語音回應 → 教材原文，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 87-93（語音模態 - 應用情境）\n\n**融會貫通**：**ASR / NLU / TTS 職責分工**——\n- **ASR**：語音 → 文字（輸入端，理解前）\n- **NLU**：文字 → 意圖（中間處理，理解語意）\n- **TTS**：文字 → 語音（輸出端，回應後）\n看到「TTS 用來理解」或「ASR 用來輸出」這種**職責互換**就是陷阱。",
    "21": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「智慧醫療多模態應用敘述，何者**錯誤**」→ 考點是醫療領域的**挑戰**與應用，特別是隱私法規。\n2. **正確答案 (C) 為何對**：教材原文明列醫療應用的**挑戰**包括「**資料隱私（需符合 HIPAA 等規範）**、異質資料的同步性、模型解釋性不足」。(C) 說「完全不需考慮資料隱私（如 HIPAA）規範」— **直接違反教材**，且 HIPAA 是美國醫療隱私法規，醫療 AI 違規可導致重大法律責任。\n3. **其他選項為何刪**：\n   - (A) 結合 CT/MRI + EMR + ECG/血糖/血壓 → 教材原文，正確，刪。\n   - (B) 肺部 CT 結節辨識+生成「疑似肺癌早期病灶」報告 → 教材應用示例，正確，刪。\n   - (D) 適用於慢性病管理與重症監護（ICU）→ 教材原文，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 127、139（醫療領域 - 診斷與決策支持、挑戰）\n\n**融會貫通**：醫療 AI **三大挑戰**記法 ——\n- **隱私**（HIPAA、台灣個資法）\n- **同步性**（不同來源資料時間對齊）\n- **解釋性**（醫師需理解模型判斷依據）\n看到「不需隱私」、「完全不考慮法規」這種**絕對化否定**就是陷阱（Q28 也會考類似題型）。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**零售**與顧客行為分析的評估指標」→ 考點是不同領域的評估指標不可混淆。\n2. **正確答案 (A) 為何對**：教材原文「相關評估指標：**推薦準確率（Precision）、動線分析的 IOU（Intersection over Union）、情感分析的 F1 分數**」。三個指標各對應零售三大任務：Precision（推薦）、IOU（動線/物件範圍）、F1（情感）。\n3. **其他選項為何刪**：\n   - (B) ROUGE / WER / Latency → ROUGE 是醫療報告生成、WER+Latency 是虛實整合互動的指標，**跨領域錯配**，刪。\n   - (C) FID / BLEU / Top-5 Accuracy → FID 是生成式 AI 評估、BLEU 是機器翻譯、Top-5 是影像分類，**跟零售無關**，刪。\n   - (D) MAE / MSE / R² → 是**迴歸**任務指標，跟零售分類/推薦任務不對應，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 159（零售 - 挑戰與指標）\n\n**融會貫通**：**三大領域指標對照表**（必背，跨領域混淆是高頻考點）——\n- **醫療**：Accuracy / 假陽性率 / ROUGE\n- **零售**：Precision / IOU / F1\n- **虛實整合**：Latency / WER / 姿勢辨識準確率\nQ24 就是反過來考「跨領域錯配」。",
    "23": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「虛實整合互動應用敘述，何者**錯誤**」→ 考點是虛實整合應用的**挑戰**項目。\n2. **正確答案 (D) 為何對**：教材原文明列虛實整合的**挑戰**「**系統延遲、跨模態一致性、運算資源需求**」三項。(D) 說「系統挑戰**與**延遲、跨模態一致性、運算資源**無關**」— 跟教材直接矛盾，三大挑戰都是相關的。\n3. **其他選項為何刪**：\n   - (A) Avatar 根據語音+手勢回應 → 教材應用示例，正確，刪。\n   - (B) 視覺+語音控制的數位助理 → 教材原文，正確，刪。\n   - (C) 應用於虛擬展覽、智慧教室、遠距協作 → 教材原文，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 167-171、175（虛實整合互動 - 應用示例與挑戰）\n\n**融會貫通**：虛實整合**三大挑戰**記法「**慢、亂、貴**」——\n- 慢 = 系統延遲（Latency）\n- 亂 = 跨模態一致性（不同模態同步）\n- 貴 = 運算資源需求（即時處理需高算力）\n看到「**完全無關**」、「**毫無問題**」這種絕對化否定就是陷阱。",
    "24": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**虛實整合**應用的評估指標，何者**錯誤**」→ 考點是跨領域指標不可混淆。\n2. **正確答案 (D) 為何對**：教材原文虛實整合指標 =「**回應延遲（Latency）、語音辨識的 WER（Word Error Rate）、姿勢辨識的準確率**」。(D)「醫療診斷準確率與假陽性率」是**醫療領域**的評估指標（教材 line 141），**跨領域錯配**。\n3. **其他選項為何刪**：\n   - (A) Latency → 教材列為虛實整合指標，正確，刪。\n   - (B) WER（Word Error Rate）→ 教材列為虛實整合指標，正確，刪。\n   - (C) 姿勢辨識的準確率 → 教材列為虛實整合指標，正確，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 141、177（醫療指標 vs 虛實整合指標）\n\n**融會貫通**：本題與 Q22 是「**對照組**」，命題很愛把不同領域的指標**互相錯置**。記法 ——\n- **醫療** = 看「準不準」（Accuracy/FPR/ROUGE）\n- **零售** = 看「精不精」（Precision/IOU/F1）\n- **虛實整合** = 看「快不快、辨識準不準」（Latency/WER/姿勢準確率）",
    "25": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「多模態資料對齊與標註的挑戰與解決策略，何者**正確**」→ 考點是 DTW 和 CLIP 對比學習的角色。\n2. **正確答案 (A) 為何對**：教材原文「**時序對齊演算法（如 Dynamic Time Warping, DTW）與語意對齊技術（如 CLIP 的對比學習）**」。DTW 解決時間軸對齊（如不同感測器採樣頻率），CLIP 解決語意對齊（如圖文意思一致）。兩者分工明確。\n3. **其他選項為何刪**：\n   - (B) 多模態標註成本低廉、不需專業知識 → 教材明示「**多模態標註成本高昂，需專業知識**」，相反，刪。\n   - (C) 高品質標註資料供應充足 → 教材明示「**高品質標註資料稀缺**」，相反，刪。\n   - (D) 時間戳對齊並非技術瓶頸 → 教材明示「不同模態需在時間軸或語意上同步」是**技術瓶頸**，相反，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 189-209（資料對齊與標註 - 挑戰與解決策略）\n\n**融會貫通**：**對齊技術雙劍**——\n- **DTW**（Dynamic Time Warping）：時序對齊（時間軸彈性匹配）\n- **CLIP 對比學習**：語意對齊（不同模態映射同一空間）\n看到「資料供應充足」、「標註成本低廉」、「不是瓶頸」這種**淡化問題**的選項就是陷阱（教材明列為挑戰）。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「多模態 AI 部署到**邊緣設備**，**通常**用哪組技術維持效能」→ 考點是邊緣部署的**模型壓縮**三大技術。\n2. **正確答案 (A) 為何對**：教材原文「部署至邊緣設備需維持效能，涉及**模型壓縮（如剪枝 Pruning）、量化（Quantization）或知識蒸餾（Knowledge Distillation）**等技術」。三個都是「**讓模型變小**」的方法，邊緣設備記憶體/算力有限，必須瘦身。\n3. **其他選項為何刪**：\n   - (B) 增加模型參數量到兆級 → 跟邊緣部署需求**完全相反**（邊緣是要變小，不是變大），刪。\n   - (C) 完全不做任何模型優化 → 大模型直接塞邊緣設備跑不動，違反邊緣部署的基本要求，刪。\n   - (D) 改用 SVM 取代深度模型 → 多模態 AI 的能力來自深度模型，換 SVM 等於放棄多模態能力，**因噎廢食**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 219（運算與部署 - 挑戰）\n\n**融會貫通**：邊緣部署**模型瘦身三劍客**記法「**剪、壓、蒸**」——\n- **剪 = Pruning**（剪枝）：移除不重要的權重\n- **壓 = Quantization**（量化）：把 32-bit float 變 8-bit int\n- **蒸 = Knowledge Distillation**（知識蒸餾）：大模型教小模型\n看到「增加參數」、「完全不優化」這種**反方向**選項就是陷阱。",
    "27": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**混合部署**（雲端+邊緣）策略**通常**為何」→ 考點是雲/邊任務分工。\n2. **正確答案 (A) 為何對**：教材原文「混合部署：結合雲端與邊緣運算，**關鍵任務於邊緣執行，複雜推理交由雲端處理**」。邊緣勝在**低延遲**（適合即時關鍵任務），雲端勝在**算力大**（適合複雜推理）。各取所長。\n3. **其他選項為何刪**：\n   - (B) 所有任務一律於雲端執行 → 這是「純雲端部署」，不是混合部署，且存在「延遲與隱私疑慮」（教材 line 221），刪。\n   - (C) 所有任務一律於邊緣執行 → 這是「純邊緣部署」，邊緣算力不足以處理複雜推理，刪。\n   - (D) 完全棄用雲端與邊緣，改採紙本紀錄 → 跟 AI 部署毫無關係，**荒謬選項**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 231（運算與部署 - 解決策略）\n\n**融會貫通**：混合部署**分工口訣**「**邊緣快、雲端強**」——\n- **邊緣**（Edge）：即時+關鍵任務（如自駕車緊急煞車判斷）\n- **雲端**（Cloud）：複雜+高算力任務（如大模型推理、訓練）\n命題常見干擾 = 角色顛倒（讓雲端做即時、邊緣做複雜）或極端化（all in 雲 / all in 邊）。",
    "28": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「隱私與法規風險的解決策略，何者**錯誤**」→ 考點是隱私保護策略 vs 違規行為。\n2. **正確答案 (D) 為何對**：教材明示「**敏感資料未經加密或匿名化，易遭竊取或誤用**」是**風險本身**，且違反 GDPR、台灣個資法。(D) 說「為節省成本**以明文上傳敏感生理訊號**至公開雲端公共資料庫」— 這就是教材警告的**反面教材**，直接違法。\n3. **其他選項為何刪**：\n   - (A) 匿名化（遮罩人臉）+ End-to-End Encryption → 教材明列正確策略，刪。\n   - (B) 對抗訓練 + 生成內容檢測機制 → 教材明列正確策略，刪。\n   - (C) 遵循 GDPR + 台灣個資法 → 教材明列正確策略，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 241、251-255（隱私與法規 - 挑戰與解決策略）\n\n**融會貫通**：隱私保護**三道防線**記法 ——\n- **資料層**：匿名化 + E2E 加密\n- **模型層**：對抗訓練 + 生成內容檢測（防 Deepfake）\n- **法規層**：GDPR + 個資法 + 審計監控\n看到「明文上傳」、「公開公共資料庫」、「為節省成本而違規」這種**反向策略**就是陷阱。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「多模態 AI 未來趨勢之一」→ 考點是教材列舉的五大未來方向。\n2. **正確答案 (A) 為何對**：教材原文「**統一架構的發展**：未來模型將更加強調模態間的統一處理與共享表示，減少分離模組設計，**朝向通用架構發展，支援任意模態輸入**」。(A) 完全對應。\n3. **其他選項為何刪**：\n   - (B) 永久回歸早期特徵串接、棄用 Transformer → 跟「統一架構發展」相反（Transformer 正是統一架構的基礎），**反方向**，刪。\n   - (C) 棄用自我監督學習、僅依賴人工標註 → 跟教材未來趨勢「**自主學習與自我監督機制**」（line 269）相反，刪。\n   - (D) 與代理式 AI 完全脫鉤 → 跟教材未來趨勢「**與代理式 AI 的整合**」（line 273）相反，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 261-279（未來趨勢）\n\n**融會貫通**：多模態 AI **五大未來趨勢**記法「**統 / 邊 / 自 / 代 / 法**」——\n- **統**一架構發展\n- **邊**緣與低資源部署\n- **自**主學習與自我監督\n- 與**代**理式 AI 整合\n- **法**規與倫理框架\n命題常見干擾 = 把每個趨勢都**反過來說**（如 BCD 都是反方向）。",
    "30": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ImageBind 與 GPT-4 多模態能力的敘述，何者**正確**」→ 考點是兩個代表性多模態模型的特性。\n2. **正確答案 (A) 為何對**：教材原文「Meta 的 ImageBind 則嘗試**將多種感知模態（包括影像、聲音、深度、紅外線等）映射至統一的向量空間中**」。ImageBind 是把 Cross-modal Embeddings 推廣到更多模態（不只圖文，還有深度、紅外線、IMU 等）。\n3. **其他選項為何刪**：\n   - (B) GPT-4 完全無法處理圖像輸入、僅能接受純文字 → 教材明示「**OpenAI 的 GPT-4（及更新之版本）已具備文字與圖像輸入能力**」，相反，刪。\n   - (C) ImageBind 僅支援文字模態 → 跟「Image」字面意義+「多種感知模態」教材描述都相反，刪。\n   - (D) ImageBind 與 GPT-4 屬於早期特徵串接階段 → 兩者都是**當前 Transformer 階段**的代表，**時代錯置**，刪。\n\n**📖 章節來源**：chunks/L21104.txt line 11（前言與章節導覽）\n\n**融會貫通**：兩大「**統一向量空間**」代表模型 ——\n- **CLIP**（OpenAI）：**圖文**兩模態統一空間\n- **ImageBind**（Meta）：**影像/聲音/深度/紅外線**等多模態統一空間\nImageBind 可視為 CLIP 的**擴展版**（更多模態）。看到「ImageBind+僅文字」或「GPT-4+無圖像」這種違反字面意義的描述就是陷阱。"
  },
  "mock_L21201": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**:題目問「AI 導入評估『核心目的』」→ 考點是教材對導入評估目的的定性敘述，要分辨「全面性評估」 vs「單一面向（技術/法規/人力）」。\n2. **正確答案 (B) 為何對**:教材原文明示「AI 導入評估的核心目的，是判斷導入是否具有實質價值與可行性」,並補充「不僅聚焦於技術是否可實現,更需關注是否能解決企業當前痛點、與業務目標契合,並具備合理的成本效益」,目的就是「避免資源浪費與決策失誤」。(B) 是教材定義的直接重述。\n3. **其他選項為何刪**:\n   - (A) 「僅評估技術」→ 教材明確說「不僅聚焦技術」,單一面向錯誤,刪。\n   - (C) 「說服員工接受 AI 取代人力」→ 屬於導入後變革管理議題,非評估階段核心目的,刪。\n   - (D) 「儀式性流程」→ 教材強調是「結構化的評估過程」,並非走過場,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 11(前言與章節導覽)\n\n**融會貫通**:記法「**價值 × 可行性**」是評估雙主軸。看到「僅...」「純粹...」「儀式性...」這類窄化導入評估目的的描述,直接判錯。",
    "2": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「導入評估框架通常涵蓋哪幾個面向」→ 考點是教材列舉的四面向架構。\n2. **正確答案 (A) 為何對**:教材原文「本節將從**需求面、技術面、財務面與風險面**等角度,建立一套通用且可實作的導入評估框架」。(A) 完全對應這四面向。\n3. **其他選項為何刪**:\n   - (B) 僅技術面 + 硬體面 → 缺需求/財務/風險,範圍太窄,刪。\n   - (C) 僅財務面 + 行銷面 → 行銷面不在教材四面向內,刪。\n   - (D) 僅員工滿意度 + 人事面 → 偏離主軸,且未涵蓋技術與財務,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 13(前言與章節導覽)\n\n**融會貫通**:記法「**需-技-財-險**」四面向口訣。任何窄化(只剩 1-2 個)或加入無關面向(行銷/人事/股價)的選項都可直接刪。",
    "3": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「如何勾勒 As-Is 與 To-Be 差距」→ 考點是教材列舉的需求辨識方法。\n2. **正確答案 (A) 為何對**:教材原文「需透過多種方式,如**跨部門訪談或利益關係人訪談(Stakeholders)、流程觀察與資料分析**等,清楚勾勒出『現況流程(As-Is)』與『理想流程(To-Be)』之間的差距」。(A) 三項方法照抄教材。\n3. **其他選項為何刪**:\n   - (B) 先買 GPU 再決定 → 本末倒置,屬於「盲目導入」反例,刪。\n   - (C) 全公司一律 ChatGPT → 一刀切套用,非需求辨識方法,刪。\n   - (D) 完全交給外部供應商 → 失去組織自主判斷,且不涉及訪談/觀察/資料分析,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 21(業務需求與痛點分析)\n\n**融會貫通**:記法「**訪談 + 觀察 + 資料**」三件套是需求辨識標準動作。看到「先買硬體」「先選工具」這類技術先行的選項都要警覺 — 教材強調「需求先於技術」。",
    "4": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「並非教材列出『AI 高效介入』的典型特徵」→ 考點是教材對 AI 適用業務流程的三大特徵。\n2. **正確答案 (D) 為何對**:教材原文列舉 AI 高效介入的流程 =「**重複性高的工作、決策規則清晰的流程、數據驅動的決策**」三類。「同理心、藝術性高度創造的審美評論」屬於人類專屬領域,**不在教材清單內**,因此選 (D)。\n3. **其他選項為何刪(注意題目問『並非』,所以以下三個都是教材列舉的合理項目)**:\n   - (A) 重複性高的工作 → 教材原文列舉,刪。\n   - (B) 決策規則清晰的流程 → 教材原文列舉,刪。\n   - (C) 數據驅動的決策 → 教材原文列舉,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 25(業務需求與痛點分析)\n\n**融會貫通**:記法「**重複、規則、數據**」三特徵 = AI 強項;反之「**創意、同理、藝術審美**」是 AI 弱項。題目若給出「主觀美感判斷」「情緒共感」這類描述,直接判定不適合 AI 介入。",
    "5": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目問「最不適合作為主要驅動因素」→ 考點是教材對導入動機的警告語句。\n2. **正確答案 (C) 為何對**:教材原文明確警告「避免因為**追隨技術潮流而盲目導入 AI**,從而導致效果不佳或資源浪費」。「跟風」就是教材直接點名要避免的反例,因此 (C) 最不適合。\n3. **其他選項為何刪(以下三個都是教材列舉的合理驅動)**:\n   - (A) 流程瓶頸或服務缺口 → 教材列為 AI 介入的合理場景,刪。\n   - (B) 提升 KPI(效率/準確率/回應速度) → 教材列為導入需要瞄準的具體業務目標,刪。\n   - (D) 人力不足 AI 輔助/替代 → 教材列為 AI 解決流程瓶頸的合理角色,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 27-35(業務需求與痛點分析)\n\n**融會貫通**:記法「**避免跟風、瞄準痛點**」。看到「因為大家都在做」「因為老闆喜歡」「為了 PR 公關」這類非業務驅動的理由,通通判錯。",
    "6": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「KPI 在 AI 導入需求分析中主要扮演角色」→ 考點是教材對 KPI 的定位。\n2. **正確答案 (B) 為何對**:教材原文「是否有需要提升的**關鍵績效指標(Key Performance Indicators, KPI)**?例如提高效率、準確率、回應速度等」,KPI 用來**量化應被 AI 提升的具體業務目標**。(B) 完全符合教材定位。\n3. **其他選項為何刪**:\n   - (A) 純粹用於薪資考核 → 把 KPI 窄化到 HR 範疇,刪。\n   - (C) KPI 與 AI 導入無關 → 與教材直接矛盾(教材明列 KPI 為核心提問),刪。\n   - (D) 僅用於計算 GPU 採購數量 → 偏離 KPI 本質,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 31(業務需求與痛點分析)\n\n**融會貫通**:KPI 在 AI 導入語境下 =「**業務目標量化指標**」,典型例:效率、準確率、回應速度。和 HR 考核 KPI 同名不同用,要看上下文。",
    "7": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「資料品質(Data Quality)的敘述,何者**錯誤**」→ 考點是教材對 AI 模型與資料品質依賴關係的強調。\n2. **正確答案 (D) 為何對**:教材原文「AI 模型的效能**高度依賴**資料的完整性、一致性與代表性」。(D) 說「AI 模型對資料品質完全不敏感,髒資料也能跑出高準確率」與教材**直接矛盾**,題目要選錯誤敘述,所以 (D)。\n3. **其他選項為何刪(以下三個都符合教材)**:\n   - (A) 高度依賴完整性/一致性/代表性 → 教材原文,正確,刪。\n   - (B) 需要結構化資料 + 完成標註 → 教材明示「需要評估是否具備高品質的結構化資料,並且資料集已經完成標註」,正確,刪。\n   - (C) 資料是否能支撐訓練是技術可行性關鍵 → 教材定位資料品質為技術可行性核心,正確,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 43(技術可行性初探)\n\n**融會貫通**:記法「**Garbage in, garbage out**」— 資料品質決定模型上限。任何「資料不重要」「髒資料也行」的敘述,直接判錯。",
    "8": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「IT 能力與系統整合性通常包含哪些項目」→ 考點是教材列舉的 IT 基礎評估範圍。\n2. **正確答案 (A) 為何對**:教材原文 IT 能力評估「包括**伺服器規格、網路頻寬、雲端架構以及資料倉儲**等是否能夠支持預期的需求」。(A) 四項與教材完全對應。\n3. **其他選項為何刪**:\n   - (B) 員工伙食津貼 → 與 IT 無關,刪。\n   - (C) 公司股價 → 屬於財務市場面,不在 IT 評估範疇,刪。\n   - (D) 行政人員英語能力 → 屬於人員語言能力,非 IT 基礎,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 47(技術可行性初探)\n\n**融會貫通**:記法「**伺服器 + 頻寬 + 雲端 + 倉儲**」=  AI 基礎設施四件套。看到與 IT 無關的干擾項(伙食、股價、語言能力等),一律刪。",
    "9": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「技術條件尚未成熟,通常建議採取何策略」→ 考點是教材對「技術尚未到位時」的階段性建議。\n2. **正確答案 (B) 為何對**:教材原文「若技術條件尚未成熟,可將其**納入中長期規劃,先進行資料和 IT 基礎的強化**,再逐步導入 AI」,並建議「選擇一些較為簡單且易於實施的業務情境,進行**小範圍的測試與實驗**」。(B) 完全對應教材兩項建議。\n3. **其他選項為何刪**:\n   - (A) 直接放棄所有 AI 導入 → 過度反應,教材建議是「中長期規劃」而非放棄,刪。\n   - (C) 立刻採購全公司大型 GPU 叢集 → 技術尚未成熟就大舉投入,違背「先強化基礎」原則,刪。\n   - (D) 跳過資料品質與標註直接訓練 → 與「高度依賴資料品質」直接矛盾,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 53-57(技術可行性初探)\n\n**融會貫通**:記法「**先治理、後試點、再擴大**」三階段。技術不成熟的解法是**漸進式**,不是放棄也不是 all-in。看到「立刻全面投入」或「直接放棄」這種極端選項,通常都是錯的。",
    "10": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「ROI 的計算公式」→ 考點是三個財務指標(ROI/NPV/Payback)公式辨識。\n2. **正確答案 (A) 為何對**:教材原文 ROI 公式 =「**(投資回報 - 投資成本) / 投資成本 × 100%**」。(A) 完全照抄教材。\n3. **其他選項為何刪**:\n   - (B) 投資成本 / 投資回報 × 100% → 分子分母顛倒,刪。\n   - (C) Σ(每期現金流 / (1+折現率)^期數) - 初期投資 → 這是 **NPV** 公式,不是 ROI,刪。\n   - (D) 初期投資成本 / 每年淨現金流 → 這是 **Payback Period** 公式,不是 ROI,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 75(成本效益與財務指標)\n\n**融會貫通**:三公式記法 ——\n- **ROI** =(回報-成本)/成本 ×100% → 比例\n- **NPV** = Σ折現現金流 - 初期投資 → 絕對值\n- **Payback** = 初期投資 / 每年現金流 → 時間\n常見干擾就是把這三個公式互換,看到分子分母怪怪的先確認名稱。",
    "11": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「NPV 的敘述何者**正確**」→ 考點是 NPV 公式 + 正負號意義。\n2. **正確答案 (A) 為何對**:教材原文 NPV =「Σ(每期現金流 / (1+折現率)^期數) - 初期投資」,並說明「若 NPV 為正,代表專案可以帶來**超過初期投入的價值**」。(A) 同時涵蓋「折現總和 - 初期投資」與「為正代表有價值」兩個重點。\n3. **其他選項為何刪**:\n   - (B) NPV 為負代表超額回報 → 正負意義顛倒(為負代表沒價值),刪。\n   - (C) NPV 不考慮折現率 → 折現率是 NPV 公式核心,刪。\n   - (D) 衡量投資成本回收時間 → 這是 **Payback Period** 定義,不是 NPV,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 81-85(成本效益與財務指標)\n\n**融會貫通**:NPV 三大特徵 ——(1)考慮**時間價值**(折現率)(2)為正才有價值(3)用絕對金額衡量。對比 Payback「只看時間、不看時間價值」是常見混淆點。",
    "12": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「回收期(Payback Period)的敘述何者**正確**」→ 考點是 Payback 公式 + 局限性。\n2. **正確答案 (A) 為何對**:教材原文「回收期 = **初期投資成本 / 每年淨現金流**」,並補充「回收期越短,表示投資風險越低」。(A) 同時涵蓋公式與風險解釋,完全符合教材。\n3. **其他選項為何刪**:\n   - (B) 回收期完全考慮時間價值 → 教材明說「回收期**並未考慮**到投資回報的時間價值」,直接矛盾,刪。\n   - (C) 越長越優 → 與「越短風險越低」顛倒,刪。\n   - (D) 衡量 GPU 效能 → 與財務指標無關,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 89-91(成本效益與財務指標)\n\n**融會貫通**:Payback 的關鍵限制 = **不考慮時間價值**,所以教材建議「**與 NPV 搭配使用**」。考題若強調 Payback 萬能,通常都是錯的;搭配 NPV 才是教材推薦做法。",
    "13": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目問「AI 導入初期成本組成的敘述,何者**錯誤**」→ 考點是教材列舉的初期成本項目。\n2. **正確答案 (C) 為何對**:教材原文「初期成本包括**內部人力資源、技術訓練、資料清洗、模型開發、系統整合、第三方顧問或平台授權**等項目。這些都是 AI 導入的必要開支」。(C) 說「完全沒有任何初期成本」與教材**直接矛盾**,題目要選錯誤,所以 (C)。\n3. **其他選項為何刪(以下三個都符合教材)**:\n   - (A) 內部人力/訓練/清洗/開發 → 教材原文列舉,正確,刪。\n   - (B) 整合/顧問/授權費 → 教材原文列舉,正確,刪。\n   - (D) 必要開支 → 教材原文用語「必要開支」,正確,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 65(成本效益與財務指標)\n\n**融會貫通**:AI 導入成本記法「**人(人力/訓練/顧問) + 資料(清洗) + 系統(開發/整合) + 授權**」四大類。任何「無成本」「零開銷」的敘述,直接判錯。",
    "14": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「企業資源有限時應依何條件設定優先導入項目」→ 考點是教材對推動優先順序的三項判準。\n2. **正確答案 (A) 為何對**:教材原文「若企業資源有限,應根據**技術成熟度、效益預期和可擴展性**來設定優先導入的項目」,並補充「選擇那些技術成熟度較高、效益可以快速驗證、並且可在多個部門間擴展的業務情境」。(A) 三項與教材完全對應。\n3. **其他選項為何刪**:\n   - (B) 純粹以高階主管喜好 → 主觀無客觀指標,違背評估精神,刪。\n   - (C) 隨機抽籤 → 非評估方法,刪。\n   - (D) 以最古老的業務流程為優先 → 教材沒有此判準,且舊流程未必技術成熟,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 95(成本效益與財務指標)\n\n**融會貫通**:優先順序三判準「**成熟 + 效益 + 擴展**」 = 技術成熟度、效益預期、可擴展性。看到「個人喜好」「隨機」「資歷最久」等非評估性判準,通通刪。",
    "15": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「數位成熟度評估主要關注什麼」→ 考點是教材對 Digital Maturity 的定義。\n2. **正確答案 (A) 為何對**:教材原文「數位成熟度(Digital Maturity):評估現行作業流程是否已具備數位化基礎,如 **ERP、CRM、資料倉儲**等系統是否建置完善」。(A) 完全照抄教材。\n3. **其他選項為何刪**:\n   - (B) 員工早餐喜好 → 與資訊系統建置無關,刪。\n   - (C) Logo 設計美感 → 屬於品牌設計,刪。\n   - (D) 對手公司辦公室裝潢 → 與內部數位化無關,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 107(組織成熟度與導入條件)\n\n**融會貫通**:數位成熟度三大基礎系統 = **ERP(企業資源規劃)+ CRM(客戶關係管理)+ DW(資料倉儲)**。看到這三個關鍵字組合就是 Digital Maturity 的標準描述。",
    "16": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「資料治理(Data Governance)的敘述,何者**錯誤**」→ 考點是教材對 Data Governance 的完整定義。\n2. **正確答案 (D) 為何對**:教材原文「資料治理:資料的**正確性、可追溯性與權限控管**是否完備?是否設有資料標準、資料管理制度與負責單位?具備完善的資料治理機制,能確保數據在使用過程中的**準確性與合法性**」。(D) 說「完全不涉及合法性與權限管理」與教材**直接矛盾**,題目要選錯誤,所以 (D)。\n3. **其他選項為何刪(以下三個都符合教材)**:\n   - (A) 正確性/可追溯性/權限控管 → 教材原文列舉,正確,刪。\n   - (B) 資料標準/管理制度/負責單位 → 教材原文列舉,正確,刪。\n   - (C) 是 AI 成功導入的關鍵 → 教材定位,正確,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 109(組織成熟度與導入條件)\n\n**融會貫通**:資料治理三支柱 = **正確性 + 可追溯 + 權限**;範圍 = **準確性 + 合法性**。看到「完全不涉及」「無需考慮」等否定資料治理範疇的敘述,直接判錯。",
    "17": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「組織能力(Organizational Capability)盤點主要關注哪些核心人才」→ 考點是教材列出的 AI 專案三類核心人才。\n2. **正確答案 (A) 為何對**:教材原文「組織能力(Organizational Capability):是否有具備 **AI、資料分析、系統整合**的核心人才?若無,是否已有明確的**培訓或外部合作**規劃」。(A) 三類人才 + 培訓/合作備案,完全對應教材。\n3. **其他選項為何刪**:\n   - (B) 僅關注行政接待人員 → 與 AI 專案核心能力無關,刪。\n   - (C) 純粹評估董事會學經歷 → 屬於治理結構,非組織技術能力,刪。\n   - (D) 重點在物業管理證照 → 與 AI 專案無關,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 117-119(組織成熟度與導入條件)\n\n**融會貫通**:AI 專案核心三人才 = **AI 工程 + 資料分析 + 系統整合**;若內部沒有,**培訓或外部合作**是教材建議的補強路徑。",
    "18": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「導入推動責任單位的敘述何者**正確**」→ 考點是教材對推動單位設置的建議。\n2. **正確答案 (A) 為何對**:教材原文「導入推動責任單位:有無 **AI 專案辦公室、數位轉型小組或指定單位**負責導入落地?為專案指派負責單位並設立**監督機制**,能有效提升專案的推動效率與成功率」。(A) 三類單位 + 推動效率敘述,完全對應教材。\n3. **其他選項為何刪**:\n   - (B) 不需要任何專責單位 → 與教材建議直接矛盾,刪。\n   - (C) 由競爭對手公司指派 → 不合邏輯,洩漏商業機密風險,刪。\n   - (D) 完全交由 AI 模型自行決定 → AI 不能決定組織治理,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 123(組織成熟度與導入條件)\n\n**融會貫通**:推動單位三種型態 = **AI 專案辦公室 / 數位轉型小組 / 指定單位**。記法:**有專責 + 有監督 = 推動成功率高**。",
    "19": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「法規遵循(Legal Compliance)的敘述何者**正確**」→ 考點是教材列舉的台灣 / 歐盟兩大資料法規。\n2. **正確答案 (A) 為何對**:教材原文「依照地區法規如《**個人資料保護法》(台灣)、《GDPR》(歐盟)**等,企業需審視 AI 模型所使用的資料是否具備**合法來源與處理依據**」。(A) 完全照抄教材,且 GDPR 與適用地區對應正確。\n3. **其他選項為何刪**:\n   - (B) 法規遵循僅針對醫療業 → 與「跨產業適用」原則矛盾,刪。\n   - (C) 訓練資料完全不受法律規範 → 與整節法規遵循精神完全相反,刪。\n   - (D) GDPR 是台灣專屬法規 → **GDPR 是歐盟法規**,張冠李戴,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 155(風險與合規)\n\n**融會貫通**:兩大法規地區記法 ——**個資法(台灣)/ GDPR(歐盟)**。常見干擾就是把適用地區互換,看到「GDPR + 台灣」或「個資法 + 歐盟」這種組合直接判錯。",
    "20": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「生成式 AI 特有的『侵權與版權風險』情境」→ 考點是生成式 AI 特有的 IP 風險。\n2. **正確答案 (A) 為何對**:教材原文「生成式 AI 可創建文本、圖像、音樂等內容,這些內容**可能會侵犯第三方的版權或專利**」,企業需確保使用的資料合法授權,且模型生成內容不侵犯他人智慧財產權。(A) 完全對應教材。\n3. **其他選項為何刪**:\n   - (B) 訓練速度太慢 → 屬於效能問題,非侵權風險,刪。\n   - (C) GPU 過熱燒毀 → 屬於硬體故障,非 IP 風險,刪。\n   - (D) 員工早退影響進度 → 屬於人力管理,非版權範疇,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 161(風險與合規)\n\n**融會貫通**:生成式 AI 特有風險記法 ——**「生(成)即(可能)侵(權)」**。文/圖/音/影輸出都可能踩到他人 IP,所以教材要求(1)訓練資料合法授權(2)生成內容檢查不侵權。",
    "21": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「可解釋 AI(XAI)的敘述何者**錯誤**」→ 考點是 XAI 的定義 + 應用情境。\n2. **正確答案 (D) 為何對**:教材列出 XAI 應用情境 =「**醫療診斷、金融風控、人才招聘 / 教育、公部門 / 法務**」等**高合規場景**。(D) 說「只能用於遊戲娛樂、無法應用於醫療或金融」與教材**直接矛盾**,題目要選錯誤,所以 (D)。\n3. **其他選項為何刪(以下三個都符合教材)**:\n   - (A) XAI 讓使用者理解模型預測 → 教材定義,正確,刪。\n   - (B) 增強信任 + 理解模型行為與偏誤 → 教材主要目標列舉,正確,刪。\n   - (C) 支援合規/道德/審核需求 → 教材主要目標列舉,正確,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 181-199(風險與合規)\n\n**融會貫通**:XAI 四大應用場景 = **醫療 / 金融 / 人才 / 公部門**,共同特徵是**高合規 + 高問責**。XAI 反而**最不適合純娛樂**(娛樂沒有法律審查需求)。看到「XAI 只能用於娛樂」這類窄化敘述,直接判錯。",
    "22": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「風險矩陣(Risk Matrix)的敘述何者**正確**」→ 考點是 Risk Matrix 的二維結構。\n2. **正確答案 (A) 為何對**:教材原文「風險矩陣是一種風險視覺化工具,常用於將『**風險發生的可能性(Likelihood)**』與『**風險影響程度(Impact)**』交叉評估,形成**二維矩陣**,進行風險分類與優先處理判斷」,並補充常見 **3x3 或 5x5** 格式。(A) 完全對應教材定義。\n3. **其他選項為何刪**:\n   - (B) 僅以單一維度評估 → 與二維矩陣矛盾,刪。\n   - (C) 只能採用 1x1 格式 → 與 3x3/5x5 矛盾,且 1x1 無分級意義,刪。\n   - (D) 只能用於財務分析 → 限縮使用範疇,與通用風險工具定位矛盾,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 223(風險與合規)\n\n**融會貫通**:風險矩陣兩軸 = **Likelihood(可能性) × Impact(影響程度)**,常見 3x3 或 5x5 格式。記法「**可能 × 影響 = 視覺化**」。",
    "23": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「風險等級(Risk Level)的計算與分類何者**正確**」→ 考點是 Risk Level 公式 + 三級處理策略。\n2. **正確答案 (A) 為何對**:教材公式「**風險等級 = 發生機率 × 影響程度**」;分級「低風險(可接受可監控)、中風險(需規劃因應對策)、**高風險(應優先處理,必要時迴避或延後導入)**」。(A) 同時涵蓋公式與高風險處理策略,完全符合教材。\n3. **其他選項為何刪**:\n   - (B) 發生機率 + 影響程度 → 教材是**乘法**不是加法,刪。\n   - (C) 僅看影響程度,與機率無關 → 與「機率 × 影響」公式矛盾,刪。\n   - (D) 高風險可接受、低風險優先處理 → **高低風險敘述顛倒**,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 235-243(風險與合規)\n\n**融會貫通**:風險等級公式「**機率 × 影響**」(乘法,不是加法);三級處理「**低監控 / 中規劃 / 高優先**」。看到「相加」「顛倒高低」的敘述都要警覺。",
    "24": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「風險緩解策略 / 風險轉移的敘述何者**錯誤**」→ 考點是教材列舉的三類風險處理機制。\n2. **正確答案 (D) 為何對**:教材列舉風險緩解 / 轉移 / 保障三類措施都是**積極處理**,(D) 說「無視所有潛在風險」與整節風險管理精神**完全相反**,題目要選錯誤,所以 (D)。\n3. **其他選項為何刪(以下三個都符合教材)**:\n   - (A) 委外合約 / 顧問 / 資料清理 → 教材風險緩解策略列舉,正確,刪。\n   - (B) 保險 / 第三方協力轉移風險 → 教材風險轉移列舉,正確,刪。\n   - (C) 設計 POC 避免一次性投入 → 教材保障機制列舉,正確,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 245-247(風險與合規)\n\n**融會貫通**:風險處理三招 ——**緩解(降低) / 轉移(保險/外包) / 保障(POC)**。「無視風險」「碰運氣」等消極態度,任何題目都判錯。",
    "25": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「POC(Proof of Concept)在 AI 導入評估中主要功能」→ 考點是 POC 的定位 + 範圍原則。\n2. **正確答案 (A) 為何對**:教材原文「企業可以在**最小風險的情況下驗證導入假設、發掘問題,並逐步建立起 AI 專案導入的關鍵能力與策略**」,並強調 POC「應以**小範圍**單位、部門或資料集進行測試」。(A) 同時包含「最小風險驗證」與「逐步建立能力」兩個重點。\n3. **其他選項為何刪**:\n   - (B) 取代正式上線部署、永遠不需全面導入 → POC 是**驗證階段**,不是替代品,刪。\n   - (C) 純粹行銷宣傳 → 與「驗證假設、發掘問題」矛盾,刪。\n   - (D) 全公司所有部門全範圍試點 → 與「小範圍」原則直接矛盾,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 257-261、313(POC 概念驗證設計)\n\n**融會貫通**:POC 三大關鍵字「**小範圍、低風險、驗證假設**」。看到「全公司」「全部門」這種全範圍敘述,跟 POC 精神相反,直接刪。",
    "26": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「POC 設計原則何者**錯誤**」→ 考點是教材列舉的 POC 四原則。\n2. **正確答案 (D) 為何對**:教材原文 POC 第四原則「**利益關係人支持度高**:選擇具有**支持共識與合作意願**的業務單位進行測試。這能提高推動成功的機率」。(D) 說「沒有任何利害關係人支持的單位以挑戰自我」與教材**完全相反**,題目要選錯誤,所以 (D)。\n3. **其他選項為何刪(以下三個都是教材列舉的 POC 原則)**:\n   - (A) 範圍清晰、風險可控 → 教材原則 A,正確,刪。\n   - (B) 具代表性業務流程 → 教材原則 B,正確,刪。\n   - (C) 資料與技術資源具備初步條件 → 教材原則 C,正確,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 257-279(POC 概念驗證設計)\n\n**融會貫通**:POC 四原則記法 ——**「範圍可控 + 代表性 + 資源齊備 + 支持度高」**。第四項「利害關係人支持度」常被忽略,但教材明列;考題若反過來說「挑沒人支持的單位」就是典型 swap 干擾。",
    "27": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「POC 過程中的『量化評估』通常設定哪類指標」→ 考點是教材對 Performance Metrics 的列舉。\n2. **正確答案 (A) 為何對**:教材原文「量化評估:效能指標(Performance Metrics),根據應用情境設定具體的量化指標,如**準確率、處理速度、錯誤率、成本節省**等」,並要求「與既有的 KPI 進行比較」。(A) 完全照抄教材四項。\n3. **其他選項為何刪**:\n   - (B) 喝咖啡杯數 → 與業務效能無關,刪。\n   - (C) 公告中 emoji 數量 → 與效能指標無關,刪。\n   - (D) 老闆發脾氣次數 → 與量化評估無關,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 287-289(POC 概念驗證設計)\n\n**融會貫通**:POC 量化四指標記法「**準確率 + 處理速度 + 錯誤率 + 成本節省**」。和質性評估(問卷/訪談/日誌)互補,組合就是 POC 完整評估體系。",
    "28": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「POC 過程中的『質性評估』通常透過哪些方式」→ 考點是教材對 User Feedback 收集方法的列舉。\n2. **正確答案 (A) 為何對**:教材原文「質性評估:使用者回饋(User Feedback),透過**問卷、訪談或使用日誌**等方式收集實際使用者的體驗與建議」,並特別關注「使用障礙、文化抗拒或流程磨合問題」。(A) 完全照抄教材三項方法。\n3. **其他選項為何刪**:\n   - (B) 僅以 GPU 跑分為唯一指標 → 屬於量化效能指標,且窄化單一,刪。\n   - (C) 純粹靠模型自評 → 缺少**實際使用者**體驗,刪。\n   - (D) 由競爭對手代為評估 → 不合邏輯,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 293-295(POC 概念驗證設計)\n\n**融會貫通**:POC 質性評估三方法「**問卷 + 訪談 + 日誌**」;量化 vs 質性對照:\n- **量化** = Performance Metrics(準確率/速度/錯誤率/成本)\n- **質性** = User Feedback(問卷/訪談/日誌)\n兩者並用才是完整 POC 評估。",
    "29": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「POC 結果作為後續導入決策的依據,何者**並非**教材列舉的關注重點」→ 考點是教材列出的 POC 四項決策關注點。\n2. **正確答案 (D) 為何對**:教材列出 POC 後續導入決策關注點 = ①**技術適配性** ②**預期效益驗證** ③**組織接受度** ④**問題與瓶頸辨識**。「公司股票於 POC 期間單日漲幅」**完全不在教材清單內**,且股價波動非可行性判斷依據,所以選 (D)。\n3. **其他選項為何刪(以下三個都是教材列舉的關注點)**:\n   - (A) 技術適配性 → 教材關注點 ①,刪。\n   - (B) 預期效益驗證 → 教材關注點 ②,刪。\n   - (C) 組織接受度 → 教材關注點 ③,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 301-307(POC 概念驗證設計)\n\n**融會貫通**:POC 後續決策四關注點記法「**技術適配 + 效益驗證 + 組織接受 + 瓶頸辨識**」。**股價、市值、媒體聲量**都不是教材判準 — 看到這類市場資本面干擾,直接刪。",
    "30": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「跨境傳輸與外包風險的敘述何者**正確**」→ 考點是教材對海外雲端 + 第三方處理的合規要求。\n2. **正確答案 (A) 為何對**:教材原文「若將資料儲存於海外雲端或交由第三方處理,須留意**跨境傳輸規範與契約保障**。確保**合規的跨境數據處理協議**,並確保與第三方供應商簽訂**合法、具保障的協議**」。(A) 完全對應教材兩項要求。\n3. **其他選項為何刪**:\n   - (B) 跨境傳輸不受任何法規約束 → 與教材直接矛盾,刪。\n   - (C) 外包處理完全沒有風險,無需簽協議 → 與教材直接矛盾,刪。\n   - (D) 第三方供應商不需簽合法協議 → 與教材「簽訂合法具保障協議」直接矛盾,刪。\n\n**📖 章節來源**:chunks/L21201.txt line 159(風險與合規)\n\n**融會貫通**:跨境 / 外包風險雙重保障 = **(1)跨境傳輸規範(2)契約保障**。記法「**境外資料兩件套:法規 + 合約**」。看到「不受法規約束」「無需協議」這類零責任敘述,通通判錯。"
  },
  "mock_L21202": {
    "1": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 導入規劃階段角色」的「正確」敘述 → 考點是教材對「導入規劃」階段定位的定義。\n2. **正確答案 (A) 為何對**：教材開宗明義「在成功導入 AI 的過程中，『導入規劃』扮演著承上啟下的核心角色」，並指出此階段是「將『可行性與價值潛力』轉化為『具體可執行的規劃行動』」。(A) 完全對應教材原句。\n3. **其他選項為何刪**：\n   - (B) 等同 POC 階段 ：POC 是後續驗證步驟，與導入規劃定位不同，刪。\n   - (C) 僅是行銷階段 ：導入規劃涉及資源盤點、人力配置、技術部署，與行銷無關，刪。\n   - (D) 一體適用固定流程 ：教材明示「無法採用一體適用的導入模式」，需依組織條件調整，與 (D) 直接矛盾，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 9-11（前言與章節導覽）\n\n**融會貫通**：記法「**導入規劃 = 承上啟下**」— 承「初步評估的可行性」、啟「具體執行行動」。看到「一體適用」「固定流程」這種絕對化敘述要直接刪，AI 導入規劃的本質就是**情境彈性**。",
    "2": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「製造業 vs 金融業」AI 導入優先聚焦項目搭配 → 考點是教材列舉的產業差異典型案例。\n2. **正確答案 (A) 為何對**：教材原句「製造業可能更重視感測器資料的整合與即時性，金融業則聚焦於資料安全與法規遵循」。(A) 字面對應教材。\n3. **其他選項為何刪**：\n   - (B) 兩產業焦點互換 ：典型「swap 干擾」，把製造業與金融業特性對調，刪。\n   - (C) 兩產業都僅關注 GPU 採購 ：與教材定義完全不符，刪。\n   - (D) 兩產業優先項目完全相同 ：與教材「無法一體適用」精神相反，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 11（前言與章節導覽）\n\n**融會貫通**：記法「**製造看感測器、金融看法規**」— 製造業核心資產 = 感測器即時資料；金融業核心限制 = 法規與資料安全。這類題型常見於跨產業比較考點，務必背熟對應關係。",
    "3": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「並非」導入規劃核心原則 → 考點是教材列舉的三大原則「情境/目的導向、資源盤點、彈性調整」。\n2. **正確答案 (D) 為何對**：教材原句「導入規劃的重點**不在於照表操課**，而是靈活應對實際狀況」。(D) 說「不顧成本，照表操課，不可因現實調整」直接與教材精神相反，正是「並非核心原則」者。\n3. **其他選項為何刪（這題是找『非原則』，所以三選項要在原則內）**：\n   - (A) 情境／目的導向 ：核心原則 A，刪。\n   - (B) 資源盤點 ：核心原則 B，刪。\n   - (C) 彈性調整 ：核心原則 C，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 25-31（導入規劃的核心原則）\n\n**融會貫通**：三大原則記法「**情境—資源—彈性**」（What目標、Got資源、Adjust調整）。看到「不可調整」「絕對遵守」這種反彈性敘述，幾乎是錯誤選項標準干擾。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「三個月內導入 AI 產能預測 + 感測器資料不完整」→ 與教材案例字面一致，考點是「彈性調整」原則的實務應用。\n2. **正確答案 (B) 為何對**：教材原案例「某企業原計畫三個月內導入 AI 產能預測，但發現感測器資料不完整，於是調整策略，**先花一個月優化資料收集流程**，最終專案成功上線並提升產能效率 15%」。(B) 完全對應教材案例的調整策略。\n3. **其他選項為何刪**：\n   - (A) 強行照原計畫忽略資料品質 ：違反彈性調整原則，且資料品質不足會導致模型失效，刪。\n   - (C) 立即放棄整個 AI 導入計畫 ：過度反應，違背「動態調整時程與策略」精神，刪。\n   - (D) 不顧品質擴大導入範圍 ：資料品質都不足還擴大，邏輯崩潰，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 31（彈性調整原則）\n\n**融會貫通**：記法「**資料不足 → 先補資料，不是硬上模型**」。這是 AI 專案最常見的彈性調整情境，凡題目暗示「資料/技術瓶頸」，正確選項通常是「先處理瓶頸再推進」，而非極端的「放棄」或「硬上」。",
    "5": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「專案負責人 PM 職責」的「錯誤」敘述 → 考點是 PM 與 AI 模型開發者的職責區隔，典型 swap 干擾題。\n2. **正確答案 (D) 為何對**：教材定義 PM「負責整體專案的協調與進度管理⋯⋯需制定時程計畫、追蹤里程碑⋯⋯解決跨部門衝突，並與利害關係人溝通進度」。(D) 描述的「模型設計、訓練與優化、撰寫 Python 程式碼」是 **AI 模型開發者**的職責，被錯安到 PM 身上，題目要選「錯誤」故選 (D)。\n3. **其他選項為何刪（找錯誤的，三選項要是正確 PM 職責）**：\n   - (A) 整體專案協調與進度管理 ：PM 核心職責，正確，刪。\n   - (B) 制定時程、追蹤里程碑 ：PM 標準工作項，正確，刪。\n   - (C) 利害關係人溝通、跨部門衝突 ：PM 招牌任務，正確，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 41、51-53（人力資源 - 專案負責人）\n\n**融會貫通**：記法「**PM 管人和進度、開發者管程式和模型**」。看到「PM + Python/TensorFlow/模型訓練」這種組合就要警覺，是典型把 AI 開發者特性錯安到 PM 的 swap 干擾。",
    "6": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「職責搭配正確」→ 考點是教材列舉的 6 大角色（PM、資料工程師、AI 模型開發者、UI/UX、業務顧問、系統架構師、測試工程師）職責對應。\n2. **正確答案 (A) 為何對**：教材定義「資料工程師：負責資料收集、清理與整合，例如從多來源萃取資料並轉換為可用格式，通常需熟悉資料庫管理與 ETL 流程」。(A) 字面對應。\n3. **其他選項為何刪**：\n   - (B) 資料工程師專責模型設計訓練 ：這是 **AI 模型開發者**職責（TensorFlow/PyTorch），刪。\n   - (C) UI/UX 設計師負責伺服器架構 ：這是 **系統架構師**職責，刪。\n   - (D) 業務顧問專責壓力測試 ：這是 **測試工程師**職責，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 47-49、51-53、55-57、61、63-65（人力資源各角色）\n\n**融會貫通**：四大角色記法「**資料工=清理、模型=訓練、架構=部署、測試=驗證**」。這題把 4 個角色職責分散到 4 選項，逐一比對「角色名 ↔ 職責動詞」最快。",
    "7": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「系統架構師主要負責」→ 考點是教材對 System Architect 的標準定義。\n2. **正確答案 (A) 為何對**：教材原句「系統架構師：負責設計 AI 專案的技術架構與部署方案，確保模型能整合至現有系統⋯⋯規劃伺服器架構、資料流設計與 API 介接」。(A) 完整對應教材描述。\n3. **其他選項為何刪**：\n   - (B) 收集顧客評論做情感分析 ：偏向資料分析師/業務分析工作，與技術架構無關，刪。\n   - (C) 撰寫財報股東報告 ：財務/管理職範疇，與 AI 系統部署無關，刪。\n   - (D) 會議紀錄與寄送公告 ：行政職工作，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 61（人力資源 - 系統架構師）\n\n**融會貫通**：記法「**架構師 = 部署/伺服器/API 三件事**」。常與「資料工程師」混淆，差別在資料工程師管「資料流入清理」、架構師管「系統部署整合」。",
    "8": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「測試工程師核心職責」→ 考點是 Test Engineer 的標準定義，重點動詞「驗證」「壓力測試」。\n2. **正確答案 (A) 為何對**：教材原句「測試工程師：負責驗證模型效能與系統穩定性，確保部署後無重大錯誤⋯⋯執行壓力測試，模擬高流量情境下的模型反應，並檢查輸出結果是否符合預期」。(A) 字面對應。\n3. **其他選項為何刪**：\n   - (B) 制定預算與資金 ：屬 PM 或財務角色，刪。\n   - (C) 招聘 AI 模型開發者 ：屬 HR 或 PM 範疇，刪。\n   - (D) 設計 UI/UX 介面 ：是 **UI/UX 設計師**職責，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 63-65（人力資源 - 測試工程師）\n\n**融會貫通**：記法「**測試 = 壓力測試 + 驗證效能**」。教材案例「某客服 AI 專案測試工程師發現語音辨識在噪音環境準確率下降」是典型壓力測試發現問題的例子，可一併記憶。",
    "9": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 硬體資源敘述錯誤」→ 考點是教材列舉的三類硬體（GPU、雲端、本地），找出明顯違背現實者。\n2. **正確答案 (D) 為何對**：(D) 說「完全不需任何硬體資源，僅靠紙筆即可訓練深度學習模型」— 教材明示「AI 專案通常涉及大量運算需求，尤其在深度學習或大資料處理階段，硬體資源的配置直接影響效能與時程」，深度學習根本無法用紙筆訓練，與教材直接矛盾。\n3. **其他選項為何刪（找錯誤，三選項要是正確硬體敘述）**：\n   - (A) GPU 伺服器（NVIDIA A100）加速訓練、適合影像/NLP ：教材原句，正確，刪。\n   - (B) 雲端平台 AWS/GCP/Azure 提供彈性擴展 ：教材原句，正確，刪。\n   - (C) 本地運算設備適合資料敏感場景（醫療）：教材原句，正確，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 71-77（硬體資源）\n\n**融會貫通**：三類硬體記法「**雲彈性、地敏感、GPU 訓練快**」。題目這種「完全不需 X」「僅靠 Y」的絕對化敘述幾乎是錯誤選項標配。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「開發工具與框架最完整且正確的搭配」→ 考點是教材列舉的標準 AI 開發工具組合（語言 + 框架 + 大數據 + 版本控制）。\n2. **正確答案 (A) 為何對**：教材原句「Python 程式語言、TensorFlow、PyTorch 等深度學習框架，並可利用大數據處理框架如 Spark 或 Hadoop 進行資料處理與分析⋯⋯應該設立源代碼管理工具（如 Git）與版本控制機制」。(A) 完整對應四大類別。\n3. **其他選項為何刪**：\n   - (B) 純 Excel + Word ：辦公文書工具，無法訓練模型，刪。\n   - (C) 僅 Photoshop + Illustrator ：是設計工具，與 AI 訓練無關，刪。\n   - (D) 僅 MySQL + Apache，無深度學習框架 ：缺最關鍵的 TF/PyTorch，無法做 AI，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 81（開發工具與框架）\n\n**融會貫通**：記法「**Py + TF/PT + Spark/Hadoop + Git**」— 四件套缺一不可。Git 版本控制常被忽略，但教材明確列為標準配備，注意此細節。",
    "11": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「甘特圖核心呈現方式」→ 考點是教材對 Gantt Chart 的標準定義，關鍵字「橫軸/縱軸」「關鍵路徑」。\n2. **正確答案 (A) 為何對**：教材原句「甘特圖是一種以時間為橫軸、任務列表為縱軸的視覺化工具，能清楚呈現各項工作的時間安排、重疊區段與關鍵路徑（Critical Path）」。(A) 完整對應教材定義。\n3. **其他選項為何刪**：\n   - (B) 純圓餅圖呈現部門人數 ：圓餅圖是不同視覺化類型，與甘特圖無關，刪。\n   - (C) 純文字清單，無視覺化 ：甘特圖核心就是視覺化，矛盾，刪。\n   - (D) 資料量橫軸、準確率縱軸的散點圖 ：是模型評估常用圖，不是甘特圖，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 91（甘特圖）\n\n**融會貫通**：記法「**甘特圖 = 橫時間、縱任務、看 Critical Path**」。常與 WBS 混淆，差別在甘特圖呈現「時間排程」，WBS 呈現「任務拆解結構」，下一題會直接對比。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「WBS 核心拆解方式」→ 考點是 Work Breakdown Structure 的方向特性（top-down）。\n2. **正確答案 (A) 為何對**：教材原句「工作分解結構（WBS）採用**由上而下**的拆解方式，將複雜任務分割為可控的子任務，明確每一單元的執行細節」。(A) 字面對應教材。\n3. **其他選項為何刪**：\n   - (B) 由下而上、基層自由命名 ：方向錯誤且無結構性，與 WBS 的 top-down 精神相反，刪。\n   - (C) 隨機順序，無結構性 ：WBS 核心就是結構化，矛盾，刪。\n   - (D) 完全不拆解 ：WBS 的本質就是拆解，矛盾，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 107（工作分解結構 WBS）\n\n**融會貫通**：記法「**WBS = Top-Down 拆任務**」。教材舉例「資料準備 → 資料源盤點/資料清理/欄位標準化/欄位對齊」就是典型 WBS 拆解過程。",
    "13": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「WBS 每一子任務通常需定義哪些要素」→ 考點是教材明列的四要素。\n2. **正確答案 (A) 為何對**：教材原句「每一子任務需定義**責任角色**（如資料工程師）、**預期成果**（如清理後資料集）、**所需資源**（如運算設備）與**預估時長**（如兩週），以利後續進度追蹤與資源分配」。(A) 四要素完整對應。\n3. **其他選項為何刪**：\n   - (B) 僅列任務名稱 ：少了角色/時長/資源，無法追蹤進度，刪。\n   - (C) 僅定義預算金額 ：WBS 不只是預算，缺其他三要素，刪。\n   - (D) 僅定義客戶滿意度 ：滿意度是驗收指標而非 WBS 拆解要素，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 119（WBS 子任務四要素）\n\n**融會貫通**：四要素記法「**角色—成果—資源—時長**」（Who/What/With/When）。實務上若缺任一項，後續追蹤都會出問題，這是 WBS 的最低必要條件。",
    "14": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Scrum 主要角色搭配正確」→ 考點是 Scrum 三大角色（PO、SM、Dev Team）職責對應，典型 swap 干擾題。\n2. **正確答案 (A) 為何對**：教材原句「Product Owner（產品負責人）：負責定義產品需求與優先順序，維護 Product Backlog，確保團隊開發內容符合業務價值」。(A) 完整對應 PO 標準職責。\n3. **其他選項為何刪**：\n   - (B) Scrum Master 定義需求與優先順序 ：這是 **PO** 職責，被錯安到 SM 身上，刪。\n   - (C) Development Team 僅負責需求定義不寫程式 ：Dev Team 是「實際完成開發任務」，恰好相反，刪。\n   - (D) PO 負責移除障礙與主持每日站會 ：這是 **SM** 職責（「協助團隊遵守 Scrum 流程⋯⋯移除開發過程中的障礙」），swap 干擾，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 127-131（Scrum 三大角色）\n\n**融會貫通**：記法「**PO 顧需求、SM 顧流程、Dev 顧執行**」。PO vs SM 是 Scrum 最常考的 swap，看到「PO + 移除障礙/站會」或「SM + 定義需求/Backlog」就要警覺。",
    "15": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Scrum 三大核心產出搭配錯誤」→ 考點是 Artifacts 三件套（Product Backlog、Sprint Backlog、Increment），找出非 Scrum 定義的項目。\n2. **正確答案 (D) 為何對**：教材明列三大產出「Product Backlog／Sprint Backlog／Increment」，並無「Stakeholder Audit 每月外部稽核員填寫的隨機評分」這項。(D) 是憑空捏造的干擾項。\n3. **其他選項為何刪（找錯誤，三選項要是真正 Artifacts）**：\n   - (A) Product Backlog 產品開發待辦清單 ：教材原句，刪。\n   - (B) Sprint Backlog 本次 Sprint 任務清單 ：教材原句，刪。\n   - (C) Increment 每次 Sprint 結束的可運作版本 ：教材原句「每次 Sprint 結束時的完整、可運作的產品版本」，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 145-151（Scrum 核心產出）\n\n**融會貫通**：三產出記法「**待辦 Backlog → 衝刺 Sprint Backlog → 可交付 Increment**」（總清單→本輪清單→實際成果）。看到 Scrum 題出現「稽核」「評分」「外部報表」這類陌生詞彙基本是干擾項。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Sprint 典型週期」→ 考點是教材明示的 Sprint 時長範圍與最常見值。\n2. **正確答案 (A) 為何對**：教材原句「Sprint 是 Scrum 的節奏核心。每次 Sprint 為一個固定週期（一般為 1-4 週、常見 2 週）」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) 必須超過 6 個月 ：違反「快速迭代」精神，且超出教材範圍，刪。\n   - (C) 隨機無固定週期 ：教材明示「固定週期」，刪。\n   - (D) 必須長達 12 個月 ：過長，與 Sprint 短衝精神完全相反，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 153（Sprint 週期）\n\n**融會貫通**：記法「**Sprint = 1-4 週，常見 2 週**」。Sprint 是「短衝」，名字本身就暗示時間不能長。後面 Q28 的 POC 迭代週期（1-2 週）與此一致，都遵循「快速回饋」精神。",
    "17": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Daily Scrum（每日站會）正確敘述」→ 考點是 Daily Scrum 的標準時長（15 分鐘）與功能。\n2. **正確答案 (A) 為何對**：教材原句「Daily Scrum（每日站會）：快速同步團隊進度與阻礙（通常 **15 分鐘**）」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) 每日 8 小時馬拉松會議 ：與 15 分鐘設計直接矛盾，且違反敏捷精神，刪。\n   - (C) 僅由 PO 單獨進行 ：站會是團隊同步，不是 PO 獨白，刪。\n   - (D) 決定下一個 Sprint 的整體目標 ：這是 **Sprint Planning** 職責，不是 Daily Scrum，swap 干擾，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 137、162（Daily Scrum）\n\n**融會貫通**：記法「**Daily Scrum = 15 分鐘 + 同步進度阻礙**」。Scrum 五大活動的時長記法「Daily 短、Sprint Planning/Review/Retro 較長」。Daily Scrum 講求短而頻繁，超過 15 分鐘的選項都要警覺。",
    "18": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Sprint Review vs Sprint Retrospective 主要差異」→ 考點是這兩個 Scrum 活動的對外/對內差異，典型 swap 干擾。\n2. **正確答案 (A) 為何對**：教材原句「Sprint Review（展示成果）：團隊向產品負責人與利害關係人展示本次 Sprint 完成的工作」、「Sprint Retrospective（回顧檢討）：內部進行自我反思，檢討執行過程中的問題與瓶頸」。(A) 完整對應兩活動的對外/對內定位。\n3. **其他選項為何刪**：\n   - (B) Review 內部反思、Retrospective 對外展示 ：兩者完全對調，是 swap 干擾標準陷阱，刪。\n   - (C) 兩者完全相同只是名稱不同 ：教材明示是兩個不同活動，刪。\n   - (D) Review 是每日站會、Retrospective 規劃下一輪 ：把 Daily Scrum、Sprint Planning 錯安到 Review/Retro，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 158-160（Scrum 三項關鍵活動）\n\n**融會貫通**：記法「**Review = Show 對外、Retro = Reflect 對內**」。三項 Sprint 結束活動順序：**Review（展示）→ Retrospective（反思）→ Planning（下輪）**，邏輯是「先看成果、再檢討、再規劃」。",
    "19": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「跨部門協作機制敘述錯誤」→ 考點是教材列舉的三大協作機制（流程設計、同步節奏、共用工具）。\n2. **正確答案 (D) 為何對**：(D) 說「各部門完全獨立運作，不需任何溝通機制」— 教材明示需要「協作流程設計／例行同步節奏／共用工具平台」三大機制，與 (D) 直接矛盾。AI 專案涉及多部門協作，獨立運作必然失敗。\n3. **其他選項為何刪（找錯誤，三選項要是正確協作機制）**：\n   - (A) 明確各部門責任（資料提供、模型驗收、系統整合）：對應「協作流程設計」，刪。\n   - (B) 定期會議與進度報告（每週例會）：對應「例行同步節奏」，刪。\n   - (C) Jira/Trello + Notion/Confluence ：對應「共用工具平台」，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 172-176（跨部門協作機制）\n\n**融會貫通**：三大機制記法「**清責任 → 定節奏 → 共工具**」。看到「完全獨立」「不需溝通」這種絕對化反協作敘述，幾乎是錯誤選項標配。",
    "20": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「即時通訊協作工具正確敘述」→ 考點是教材區分的三類工具（任務看板/文件平台/即時通訊）。\n2. **正確答案 (A) 為何對**：教材原句「設立即時通訊協作群組（如 **Slack 或 Microsoft Teams**）來促進快速溝通」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) Jira/Trello 是即時通訊 ：教材定義為**任務看板工具**，類別錯誤，刪。\n   - (C) Notion/Confluence 是即時通訊 ：教材定義為**文件平台**，類別錯誤，刪。\n   - (D) Excel 是即時通訊標準選項 ：Excel 是試算表，與通訊無關，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 176（共用工具平台）\n\n**融會貫通**：三類工具記法「**看板 Jira/Trello、文件 Notion/Confluence、聊天 Slack/Teams**」。Q20 與 Q21-23 是相關題組，把四款看板工具 + 文件平台 + 通訊工具完整背熟。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Trello 特性正確敘述」→ 考點是四款任務追蹤工具（Trello/Asana/JIRA/ClickUp）特性區別。\n2. **正確答案 (A) 為何對**：教材原句「Trello 一款**輕量級任務管理工具**，以**看板（Kanban）形式**呈現任務流程」，且優勢為「簡單易用與視覺化介面」、適合「小型團隊或初期原型階段」。(A) 完整對應。\n3. **其他選項為何刪（每個選項都是某工具的描述，但錯配 Trello）**：\n   - (B) 專為技術團隊、Issue Tracking、工作流自訂 ：這是 **JIRA** 的描述，刪。\n   - (C) 結合看板與結構化、整合 Google Drive ：這是 **ClickUp** 的描述，刪。\n   - (D) 時間軸檢視、跨部門大型協作 ：這是 **Asana** 的描述，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 183-189（任務追蹤工具 Trello）\n\n**融會貫通**：四工具記法「**Trello 輕、Asana 結構/時間軸、JIRA 技術/Issue、ClickUp 結合**」。Q21-23 是同類題組，把四個工具特性對應背熟一次就能全拿。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「JIRA 特性正確敘述」→ 考點是 JIRA 與其他三工具的區別，關鍵字「技術團隊」「Issue Tracking」「Scrum/Kanban」。\n2. **正確答案 (A) 為何對**：教材原句「JIRA 專為技術團隊設計的任務追蹤工具⋯⋯功能包括問題追蹤（Issue Tracking）、工作流自訂與敏捷開發支援（如 Scrum 與 Kanban）」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) 輕量級看板、不適合 Scrum ：輕量級是 **Trello**，且 JIRA 明確支援 Scrum，雙重錯誤，刪。\n   - (C) 純文件儲存無任務追蹤 ：文件儲存是 **Notion/Confluence**，且 JIRA 核心就是任務追蹤，刪。\n   - (D) JIRA 為非技術人員設計、學習曲線極低 ：教材明示「對於非技術人員可能存在學習曲線，需要投入額外的學習成本」，恰好相反，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 197-203（JIRA）\n\n**融會貫通**：記法「**JIRA = 技術人 + Issue + 敏捷**」。JIRA 名字源自希臘神話 Gozilla 的日文「Jira」，工程師圈聖經級工具，題目暗示「非技術人員專用」「不支援 Scrum」都是反向干擾。",
    "23": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ClickUp 特性正確敘述」→ 考點是 ClickUp「結合 Trello 看板 + Asana 結構化」的特殊定位。\n2. **正確答案 (A) 為何對**：教材原句「ClickUp 結合 Trello 的看板視圖與 Asana 的結構化功能，提供任務狀態追蹤、目標設定與即時協作選項⋯⋯整合外部工具（如 Google Drive）」。(A) 完整對應。\n3. **其他選項為何刪**：\n   - (B) 純語音通訊工具 ：與任務追蹤無關，且語音通訊是 Slack/Teams 範疇，刪。\n   - (C) GPU 雲端訓練平台 ：是 AWS/GCP 範疇，與 ClickUp 無關，刪。\n   - (D) 會計報表工具 ：是 QuickBooks 範疇，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 205-209（ClickUp）\n\n**融會貫通**：記法「**ClickUp = Trello + Asana 二合一 + Google Drive**」。教材也提到「過多選項可能增加設定複雜度」，是 ClickUp 的常見缺點，可一併記憶。",
    "24": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「選用現有商業服務的敘述錯誤」→ 考點是教材列舉的優勢（快速/低門檻/靈活）vs 挑戰（彈性有限/長期成本/隱私），找錯置者。\n2. **正確答案 (C) 為何對**：(C) 說「彈性極大、自定義選項充足，可深層調整模型結構」— 教材明示挑戰之一「**彈性有限**：⋯⋯例如 Google AutoML **難以調整深層模型結構**」，(C) 與教材完全相反，是錯誤敘述。\n3. **其他選項為何刪（找錯誤，三選項要是正確描述）**：\n   - (A) 快速部署、降低時間成本 ：教材列為優勢之一，刪。\n   - (B) 技術門檻低、不需深厚程式設計 ：教材列為優勢之一，刪。\n   - (D) 資料隱私風險（雲端處理敏感資料）：教材列為挑戰之一，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 217-235（選用現有商業服務）\n\n**融會貫通**：商業服務三優勢「**快、低門檻、靈活情境**」vs 三挑戰「**彈性有限（無法深調）、長期成本（訂閱）、隱私（雲端）**」。常見干擾是把「彈性有限」改成「彈性極大」，最容易被秒殺要警覺。",
    "25": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「內部技術團隊開發正確敘述」→ 考點是內部開發模式的標誌性優勢「掌控力強+適應性高」。\n2. **正確答案 (A) 為何對**：教材原句「其優勢在於**掌控力強與適應性高**，企業可根據業務需求調整模型結構與部署方式，並保留**技術自主性**」。(A) 完整對應教材原句。\n3. **其他選項為何刪**：\n   - (B) 完全沒有初期成本與時間投入 ：教材明示「需投入大量時間與資源⋯⋯初期成本較高」，相反，刪。\n   - (C) 適合缺乏 AI 人才且不打算培養的小公司 ：教材明示「此模式需充足技術基礎作為前提」，缺乏 AI 人才應選商業服務或委外，刪。\n   - (D) 不需 GPU 設備、不需建立開發流程 ：教材明示需「採購 GPU 設備與建立開發流程」，相反，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 239-241（內部技術團隊開發）\n\n**融會貫通**：內部開發記法「**強掌控、高自主、但高成本**」。教材有反例「某零售企業因缺乏 AI 人才，內部開發耗時六個月且成效不佳」— 此模式必須有技術基礎，無基礎強上會失敗。",
    "26": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「委外開發敘述錯誤」→ 考點是委外模式的風險（合約 + 資料安全），找出反向絕對化敘述。\n2. **正確答案 (C) 為何對**：(C) 說「完全沒有合約管理與資料安全的風險，可隨意簽訂協議」— 教材明示「需注意**合約管理**（如交付範圍與時程約定）與**資料安全風險**（如敏感資料外流）」，並舉例「某電商企業因未明確合約條款，委外開發的推薦系統延誤兩個月」，(C) 與教材直接矛盾。\n3. **其他選項為何刪（找錯誤，三選項要是正確描述）**：\n   - (A) 適合缺乏內部技術但有預算 ：教材明示適用情境，刪。\n   - (B) 借助外部專業加速、縮短開發時程 ：教材列為優勢，刪。\n   - (D) 需注意合約管理與資料安全 ：教材列為風險，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 243-247（委外開發）\n\n**融會貫通**：委外記法「**借外腦、快上手、但要看合約 + 防資料外流**」。三大導入模式對應：「**技術不足 + 預算少 → 商業服務、技術強 + 想自主 → 內部、技術不足 + 有預算 → 委外**」。",
    "27": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「POC 設計目標正確敘述」→ 考點是 POC 目標設定原則「明確、可量化」。\n2. **正確答案 (A) 為何對**：教材原句「設定明確的驗證目標與範圍。例如，一個零售企業的 POC 目標可能是『測試推薦模型是否能提升銷售 5%』」。(A) 完整對應教材案例，並強調「可量化」「可衡量成果」。\n3. **其他選項為何刪**：\n   - (B) POC 目標越模糊越好 ：與「設定明確驗證目標」直接矛盾，刪。\n   - (C) POC 必須涵蓋全公司所有系統與部門 ：POC 是「小範圍測試」，全公司範圍違反 POC 本質，刪。\n   - (D) 一開始就採用最複雜客製模型、避免現成工具 ：教材明示「技術選型階段不必過於複雜，企業可以使用現成的工具（如 Google AutoML）來快速建置原型」，相反，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 257-259（POC 設計與目標設定）\n\n**融會貫通**：POC 記法「**小範圍 + 可量化 + 用現成工具快建原型**」。看到 POC 題出現「全公司」「最複雜模型」「目標模糊」基本都是錯誤干擾。",
    "28": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「POC 小範圍測試與快速迭代敘述錯誤」→ 考點是 POC 的核心精神「Rapid Iteration」。\n2. **正確答案 (D) 為何對**：(D) 說「POC 應一次完成、絕不允許多次迭代」— 教材明示「POC 測試**並非一次完成**，而是採用小範圍測試與**快速迭代（Rapid Iteration）**的方式來不斷調整與優化模型」，且建議「每次迭代為 1-2 週」，(D) 與教材核心精神直接相反。\n3. **其他選項為何刪（找錯誤，三選項要是正確描述）**：\n   - (A) 小範圍測試與快速迭代 ：教材原句，刪。\n   - (B) 每次迭代設定具體目標、對齊業務需求 ：教材原句，刪。\n   - (C) 每次迭代後評估與調整 ：教材原句「每次迭代後，會根據結果進行評估與調整」，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 263-273（小範圍測試與多次快速迭代）\n\n**融會貫通**：POC 迭代記法「**1-2 週一輪、快試錯、不求一次完美**」。與 Sprint 短衝（1-4 週）精神一致 — 敏捷哲學在規劃階段就是「小步快跑」，凡題目暗示「一次完成」「禁止迭代」直接刪。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「POC 驗證指標搭配正確」→ 考點是教材列舉的三類驗證指標。\n2. **正確答案 (A) 為何對**：教材原句「常見的指標包括：**技術效能**（如準確率、延遲時間）、**商業價值**（如成本節省、效能提升、業務增長）、**使用者回饋**（通過問卷、訪談等方式收集）」。(A) 三類完整對應。\n3. **其他選項為何刪**：\n   - (B) 僅看 GPU 溫度 ：硬體運維指標，與 POC 驗證模型可行性無關，刪。\n   - (C) 僅看股價漲跌 ：股市波動受太多因素影響，無法驗證模型可行性，刪。\n   - (D) 僅看員工出勤率 ：人資指標，與 AI 模型驗證完全無關，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 267-272（POC 驗證指標）\n\n**融會貫通**：三類指標記法「**技術看效能、商業看效益、人看回饋**」（技術—商業—人）。三角互補，缺一不可：技術行 + 商業有價值 + 使用者願用，才是真正可上線。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 導入規劃成果整合項目敘述錯誤」→ 考點是五大整合成果（規劃文件/成果報告/甘特圖/預算表/利害關係人審查），找反向絕對化敘述。\n2. **正確答案 (D) 為何對**：(D) 說「規劃成果完全不需經過任何利害關係人審查，可直接進入實作階段」— 教材明示「導入規劃成果**須經關鍵部門或管理層審查**，包括技術部門、業務單位、法務/資安單位與高階管理層⋯⋯**以作為專案進入實作階段的條件**」，(D) 與教材直接相反。\n3. **其他選項為何刪（找錯誤，三選項要是正確成果項目）**：\n   - (A) 導入規劃文件彙整整體導入策略 ：教材列為成果 A，刪。\n   - (B) 利害關係人審查紀錄 ：教材列為成果 E，刪。\n   - (C) 甘特圖與時程規劃視覺化專案階段 ：教材列為成果 C，刪。\n\n**📖 章節來源**：chunks/L21202.txt line 298-300（規劃成果整合 - 利害關係人審查）\n\n**融會貫通**：五大成果記法「**文件—摘要—甘特—預算—審查**」（IP Doc / Summary / Gantt / Budget / Review）。利害關係人審查是「進入實作的條件」，跳過審查直接實作是組織治理大忌，這類絕對化「不需審查」敘述秒選為錯。"
  },
  "mock_L21203": {
    "1": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 風險管理的定位」，要選**正確**敘述。關鍵字是「定位 / 時機 / 範圍」三個維度 — 要判斷它是「一次性」還是「持續性」、是「部署後」還是「全生命周期」、是「純技術」還是「跨領域」。\n2. **正確答案 (C) 為何對**：教材原文「AI 風險管理不應該只是部署後的輔助性工作，而應當成為 AI 導入流程中的一個前瞻性和持續性機制」，並貫穿規劃 → 開發 → 測試 → 部署 → 運維全階段。(C) 完整對應這個定位。\n3. **其他選項為何刪**：\n   - (A) 「部署完成後才啟動」→ 教材明文反對「只是部署後的輔助性工作」，刪。\n   - (B) 「開發階段執行一次性風險評估」→ 教材強調「持續性機制」+ 全生命周期，非一次性，刪。\n   - (D) 「僅針對技術層面，與法規倫理無關」→ 教材明列風險含資料偏誤、個資濫用、法規責任、社會倫理爭議等多重層面，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 11（前言與章節導覽）\n\n**融會貫通**：記法「**前瞻 + 持續 + 全生命周期**」三件套。AI 風險管理 ≠ 部署後的補救，而是貫穿規劃到運維的治理機制。常見干擾就是把「事後輔助」「一次性」「純技術」這些「狹義化」描述塞進來。",
    "2": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**技術層風險中的『資料品質風險』常見問題」。三層風險分類（技術 / 組織人力 / 法規）是高頻考點，要刪掉的就是「跨層誤植」的選項。\n2. **正確答案 (D) 為何對**：教材列資料品質風險（Data Quality Risk）四個常見問題 = Missing Data / Data Bias / Incorrect Labeling / Data Drift。「跨部門溝通不良」屬於**組織人力層**的 Cross-functional Communication Risk，被刻意誤放到技術層。\n3. **其他選項為何刪**：\n   - (A) Missing Data → 教材明列為資料品質四項之一，正確歸類，刪。\n   - (B) Data Bias → 教材明列為資料品質四項之一，正確歸類，刪。\n   - (C) Incorrect Labeling → 教材明列為資料品質四項之一，正確歸類，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 23-43（風險類型與識別 - 技術層）\n\n**融會貫通**：三層風險口訣「**技術靠資料、組織靠人、法規靠合規**」。看到「溝通 / 培訓 / 抵制」就歸組織層，看到「個資 / GDPR / HIPAA」就歸法規層，看到「資料 / 模型 / 漂移」才是技術層。這題是典型 **swap 干擾**（跨層誤植）。",
    "3": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目要分辨「資料漂移 vs 概念漂移」這對易混淆名詞。兩個都叫「漂移」但層次不同 — 要看是「資料分佈變」還是「資料背後的關係變」。\n2. **正確答案 (B) 為何對**：教材定義 Data Drift = 「輸入資料的分佈發生了變化」；Concept Drift = 「資料背後的潛在關係或模式隨時間改變」。(B) 完全對應教材兩個定義。\n3. **其他選項為何刪**：\n   - (A) 「兩者相同可互換」→ 教材分別定義為不同子類（資料品質風險 vs 其他類型），刪。\n   - (C) 「概念漂移屬組織人力風險」→ 概念漂移屬技術層風險（其他類型），不是組織層，刪。\n   - (D) 「概念漂移僅監督式、資料漂移僅非監督式」→ 教材沒有這種學習範式限制，純粹編造，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 41-43、65-67（資料品質風險 / 概念漂移）\n\n**融會貫通**：記法「**Data Drift 看分佈、Concept Drift 看關係**」。例：超商客單價分佈從 50→200 元變動 = Data Drift；以前低收入族群會買菸現在改買能量飲 = Concept Drift（X→Y 關係本身變了）。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「過擬合」的定義。過擬合 vs 欠擬合是 ML 入門高頻對照 — 關鍵看「訓練資料表現」與「測試資料表現」的落差方向。\n2. **正確答案 (B) 為何對**：教材定義「過擬合是指模型在訓練資料上表現很好，但對於未見過的測試資料卻無法正確預測，因為它過度學習了訓練資料中的噪聲和細節，缺乏泛化能力」。(B) 一字不差對應。\n3. **其他選項為何刪**：\n   - (A) 「訓練資料與測試資料皆表現極佳」→ 那是好模型，不是過擬合，刪。\n   - (C) 「參數不足造成學習不夠」→ 那是欠擬合（Underfitting），方向相反，刪。\n   - (D) 「過擬合屬組織人力層風險」→ 過擬合屬技術層的模型穩定性風險，不是組織層，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 57-59（模型穩定性風險 - 過擬合）\n\n**融會貫通**：記法「**過擬合 = 訓練滿分、測試掛科**」。過擬合學了太多噪聲（背書），欠擬合學得太少（沒念書）；前者治法是 regularization / dropout / 增資料，後者治法是加深模型 / 增特徵。",
    "5": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目要找「組織人力層風險」分類**錯誤**的一項。組織層三大風險（溝通 / 技能 / 變革）是固定組合，要選跨層誤植的那個。\n2. **正確答案 (D) 為何對**：教材組織人力層只列三項 = Cross-functional Communication / Skill Gap / Change Resistance。「模型穩定性風險（Model Stability Risk）」屬**技術層**，不是組織層，這題要選錯誤分類所以是 (D)。\n3. **其他選項為何刪**：\n   - (A) 跨部門溝通風險 → 教材明列組織層第一項，正確分類，刪。\n   - (B) 技能短缺風險 → 教材明列組織層第二項，正確分類，刪。\n   - (C) 變革抵制風險 → 教材明列組織層第三項，正確分類，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 69-93、47-61（組織人力層 / 模型穩定性風險）\n\n**融會貫通**：組織人力層三劍客記法「**溝通、技能、抵制**」。模型穩定性是「機器層面」，跟人力無關。常見干擾就是把技術層的「資料 / 模型 / 過擬合」塞進組織層，看到這種就警覺。",
    "6": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「醫療人員擔憂被取代 → 使用率低落」。關鍵字是「擔憂被取代」「使用率低落」，這直接指向「員工視 AI 為職位威脅」。\n2. **正確答案 (B) 為何對**：教材變革抵制風險定義「員工若未充分理解 AI 價值或視其為職位威脅，可能產生明顯抵制行為」，並給出原型影響案例：「醫療院所推動 AI 輔助診斷系統時，醫療人員因擔憂被取代，導致系統使用率低落」— 題目就是抄這個案例。\n3. **其他選項為何刪**：\n   - (A) 資料品質風險 → 屬技術層，與「員工抵制」情境無關，刪。\n   - (C) 個資與隱私保護風險 → 屬法規層，題目沒提資料洩漏 / GDPR，刪。\n   - (D) 侵權風險 → 屬法規層，與第三方資料 / 授權有關，題目情境無涉，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 87-93（變革抵制風險）\n\n**融會貫通**：記法「**怕被取代 = Change Resistance**」。三個組織層風險的案例對照：溝通不足 → 風控 vs IT 脫節；技能不足 → 智慧城市沒人會維護；變革抵制 → 醫療人員不用 AI 診斷。看到「員工抗拒 / 不採用」就鎖 (B)。",
    "7": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「侵權風險」的定義。關鍵字「智慧財產 / 第三方授權 / 開源條款」是這題的指紋。\n2. **正確答案 (B) 為何對**：教材定義侵權風險「AI 系統開發過程中可能涉及使用第三方資料、演算法、模型或軟體工具，若未經授權或超過授權範圍使用，可能產生智慧財產權、商業秘密侵害或著作權侵權等法律問題」。(B) 完整對應教材定義。\n3. **其他選項為何刪**：\n   - (A) 「外部攻擊導致資料外洩」→ 那是資安事件 / 個資保護議題，不是 IP 侵權，刪。\n   - (C) 「組織人力層風險」→ 侵權屬法規層，不是組織層，刪。\n   - (D) 「僅影響開源不影響商業」→ 教材寫商業專案使用第三方資料一樣會侵權（影響案例為科技公司），刪。\n\n**📖 章節來源**：chunks/L21203.txt line 113-119（侵權風險）\n\n**融會貫通**：法規層三項風險記法「**個資（GDPR/PDPA）/ 產業特定（HIPAA/PCI）/ 侵權（IP）**」。侵權的場景：未授權爬蟲訓練資料、未遵守開源 License（如 GPL → 商用必須開源）、模型架構抄襲。",
    "8": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「未充分揭露使用者資料用途 → 遭 GDPR 處罰」。關鍵字「個資用途揭露」+「GDPR」鎖定個資保護議題。\n2. **正確答案 (A) 為何對**：教材個資與隱私保護風險定義「AI 系統處理大量個人資料，若未有效遵守當地資料保護法規（如 GDPR、台灣個資法），將面臨法律處罰與名譽損害」，並給原型影響案例「科技公司因未充分揭露使用者資料用途，遭到 GDPR 處以高額罰款並受損聲譽」— 題目即抄此案例。\n3. **其他選項為何刪**：\n   - (B) 產業特定監管法規 → 那是 HIPAA / PCI-DSS 等產業專用法規，本題是普適性 GDPR，刪。\n   - (C) 侵權風險 → 與第三方 IP 授權有關，題目沒提侵犯版權，刪。\n   - (D) 變革抵制風險 → 屬組織人力層，與 GDPR 罰款無關，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 97-103（個資與隱私保護風險）\n\n**融會貫通**：個資 vs 產業特定的快速分流「**GDPR/PDPA → 個資**、**HIPAA/PCI-DSS → 產業特定**」。看到「歐盟罰款」「使用者同意」「資料用途揭露」就鎖個資保護；看到「醫療資訊」「支付卡」「金融沙盒」就鎖產業特定。",
    "9": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「銀行 + AI 客戶辨識 + 法規不符 → 營運暫停」。關鍵字「銀行」（金融業）+「特定法規」鎖定產業特定監管。\n2. **正確答案 (B) 為何對**：教材產業特定監管風險定義「如醫療產業的 HIPAA 法案或金融服務業的 PCI-DSS，企業需確保 AI 系統合乎特定產業監管法規，否則將可能導致營運中斷或法律責任」，原型影響案例「銀行導入 AI 客戶辨識系統，但未完整符合法規要求，導致營運暫停並受到罰款」— 完全抄此案例。\n3. **其他選項為何刪**：\n   - (A) 個資與隱私保護風險 → 那是 GDPR / PDPA 普適性個資議題，題目強調的是「銀行的特定法規」（PCI-DSS），刪。\n   - (C) 模型穩定性風險 → 屬技術層，與「法規不符」無關，刪。\n   - (D) 技能短缺風險 → 屬組織人力層，與「法規不符」無關，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 105-111（產業特定監管法規風險）\n\n**融會貫通**：產業 → 法規對照表「**金融 → PCI-DSS / FinTech Sandbox**、**醫療 → HIPAA / TFDA**、**電信 → NCC**」。當題目給出產業別 + 法規不符，就鎖產業特定監管；如果題目只說「個資洩漏」沒提產業，就鎖個資保護。",
    "10": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「GDPR 適用範圍」。關鍵在它的「域外效力」設計 — 不看公司設立地，看「處理誰的資料」。\n2. **正確答案 (B) 為何對**：教材原文「GDPR 適用於處理歐盟地區居民個資的所有企業，**無論該企業是否位於歐盟境內**」。即便台灣公司，只要服務歐盟客戶並處理其個資，就要遵守 GDPR。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 「僅適用於設立於歐盟境內」→ 把域外效力縮成境內限定，是常見典型干擾，刪。\n   - (C) 「僅適用於金融與醫療產業」→ GDPR 是普適性法規不分產業，刪。\n   - (D) 「為自願性指引無強制力」→ GDPR 是強制法規且罰金可達全球營收 4%，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 129（GDPR）\n\n**融會貫通**：GDPR 三個重要記法「**域外效力 / 普適性 / 強制力（最高 4% 全球營收）**」。台灣電商賣商品到歐洲？要符 GDPR。中國公司處理德國客戶資料？也要符 GDPR。看到「企業位於歐盟才適用」就鎖刪除。",
    "11": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「GDPR 第 22 條 — 反對自動化決策權」的核心內容。GDPR 八大權利對應條文號是固定考點，要記住「條號 → 權利」對照。\n2. **正確答案 (B) 為何對**：教材原文「根據 GDPR 第 22 條，資料主體有權反對企業在沒有人工介入的情況下進行的重大自動化決策，並要求人工參與審核過程。這通常涉及如信用評分、招聘等決策」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「要求刪除個資」→ 那是第 17 條刪除權 / 遺忘權，條號錯位，刪。\n   - (C) 「以可機器讀取格式提供資料」→ 那是第 20 條資料可攜權，條號錯位，刪。\n   - (D) 「30 日內查閱資料處理目的」→ 那是第 15 條查閱權（且 30 日是查閱權的回覆期限），條號錯位，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 137（GDPR 第 22 條反對自動化決策權）\n\n**融會貫通**：GDPR 八大權利條文記法「**15 查、16 修、17 刪、18 限、20 攜、22 反、5 最小、6 同意**」。第 22 條最重要的關鍵字是「**反對純自動化、要求人工介入**」，常見場景：信用評分自動拒貸、AI 自動篩履歷。三個錯誤選項都是「拿其他條文的內容裝在第 22 條」的條號 swap 干擾。",
    "12": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料最小化原則」。關鍵字「最小化」直接暗示「少 ≠ 多」 — 它是反向限制原則。\n2. **正確答案 (B) 為何對**：教材原文「根據 GDPR 第 5 條，企業應只收集為達成處理目的所必須的資料，並確保資料不超過最初聲明的用途」。(B) 完整對應 — 強調「最必要 + 不超出聲明用途」兩個邊界。\n3. **其他選項為何刪**：\n   - (A) 「越多越好」→ 與「最小化」邏輯完全相反，刪。\n   - (C) 「資料保存期限不可超過 30 日」→ 教材沒有 30 日這個硬性數字（30 日是第 15 條查閱權的回覆期限），刪。\n   - (D) 「僅適用敏感資料」→ 資料最小化是普適性原則，不分一般 / 敏感資料，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 145（GDPR 第 5 條資料最小化原則）\n\n**融會貫通**：GDPR 兩大「**目的限制**」原則「**Data Minimization（必要最小）+ Purpose Limitation（不超出原聲明用途）**」。實務上：原本說收集 email 是為了寄電子報，後來拿來做 LLM 訓練 → 違反目的限制。「越多越好」是業界數據工程的舊思維，與 GDPR 完全相反。",
    "13": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目要找 PDPA（台灣個資法）規範**錯誤**的一項。PDPA 四大要求（特定目的告知 / 資料主體權利 / 停止使用權 / 安全措施）是固定組合，要刪的是違反同意原則的選項。\n2. **正確答案 (D) 為何對**：PDPA 核心要求「個資的收集、處理及使用必須取得明確同意」，未經同意轉售給第三方直接違反同意原則，這題問錯誤，所以選 (D)。\n3. **其他選項為何刪**：\n   - (A) 「需特定目的並明確告知」→ 教材明列 PDPA 第一項要求，正確敘述，刪。\n   - (B) 「請求查閱、複製、更正、刪除」→ 教材明列資料主體權利，正確敘述，刪。\n   - (C) 「可隨時要求停止收集、處理、使用」→ 教材明列為停止使用權，正確敘述，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 151-159（PDPA 台灣個資法）\n\n**融會貫通**：PDPA 四要求記法「**告知 + 查刪 + 停止 + 安全**」。GDPR vs PDPA 差別「GDPR 有域外效力 + 強制 DPIA + 高額罰款（4% 全球營收）；PDPA 以同意 / 告知為核心」。看到「未同意就轉售 / 共享給第三方」必定違規。",
    "14": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目要對應 HIPAA 三類保護措施。三類是固定組合「Technical / Physical / Administrative」，要選正確對應的那個。\n2. **正確答案 (C) 為何對**：教材實體性保護措施（Physical Safeguards）含「設備安全管控（如伺服器、資料中心）」+「資料備份與災難復原（Backup & Disaster Recovery）」。(C) 完整對應 Physical 類別。\n3. **其他選項為何刪**：\n   - (A) 「強制資料加密 → Administrative」→ 加密屬 Technical Safeguards，類別錯位，刪。\n   - (B) 「安全政策與程序 → Technical」→ 安全政策屬 Administrative Safeguards，類別錯位，刪。\n   - (D) 「員工培訓與安全意識 → Technical」→ 員工培訓屬 Administrative Safeguards，類別錯位，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 179-199（HIPAA 三類保護措施）\n\n**融會貫通**：HIPAA 三類記法「**T 加密驗證、P 設備備份、A 政策培訓**」。Technical = 對「資料 / 機器」做的（加密、身份驗證、安全傳輸）；Physical = 對「實體環境」做的（伺服器機房、災備）；Administrative = 對「人 / 流程」做的（政策、培訓、稽核）。三類常考 swap 干擾。",
    "15": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「PCI-DSS 的制定單位」。各法規對應制定機構是基礎事實題，要避免機構張冠李戴。\n2. **正確答案 (C) 為何對**：教材原文「支付卡產業安全標準委員會（PCI Security Standards Council, PCI SSC）制定，適用於國際所有處理支付卡資訊之機構」。(C) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 美國衛生部 → 不對應任何教材列出的法規（HIPAA 也不是衛生部直接制定），刪。\n   - (B) NCC（國家通訊傳播委員會）→ 是台灣電信管理法的制定者，與支付卡無關，刪。\n   - (D) AI HLEG（歐盟高級人工智慧專家小組）→ 是歐盟 AI 倫理指導原則的制定者，與支付卡無關，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 203（PCI-DSS）\n\n**融會貫通**：教材列法規 → 制定單位對照「**GDPR → 歐盟、PDPA → 台灣、PCI-DSS → PCI SSC、HIPAA → 美國聯邦、FinTech Sandbox → 金管會、醫療器材法 → TFDA、電信法 → NCC、智慧財產 → TIPO、AI 倫理 → AI HLEG / OECD**」。看到 PCI 三個字直接鎖 PCI SSC。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「歷史偏見」的定義。四種偏見來源（資料分布不均 / 歷史 / 標註 / 演算法）是固定組合，要選對應「歷史偏見」的描述。\n2. **正確答案 (A) 為何對**：教材原文「歷史數據可能反映既有社會或制度上的偏見。例如，過去的信用審核數據可能包含種族或性別的偏見，這會使模型繼承這些偏見，進而擴大歧視行為」。(A) 完整對應 — 關鍵是「既有社會制度偏見被繼承並擴大」。\n3. **其他選項為何刪**：\n   - (B) 「標註者個人觀點導致不公平」→ 那是 Labeling Bias（標註偏見），刪。\n   - (C) 「演算法優化整體效能犧牲特定群體」→ 那是 Algorithmic Bias（演算法偏見），刪。\n   - (D) 「某些群體樣本不足」→ 那是 Imbalanced Data（資料分布不均），刪。\n\n**📖 章節來源**：chunks/L21203.txt line 243-245（歷史偏見）\n\n**融會貫通**：四種偏見記法「**分布不均看樣本數、歷史偏見看社會制度、標註偏見看標註者、演算法偏見看模型設計**」。歷史偏見最經典案例：美國 COMPAS 再犯預測系統因歷史司法資料對黑人不利 → 模型繼承歧視。本題四個選項就是四種偏見的「定義輪流配」。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「演算法偏見」最符合教材定義。四種偏見中，演算法偏見是唯一「模型本身設計造成」的偏見（其他三個都是資料端）。\n2. **正確答案 (B) 為何對**：教材原文「某些演算法設計可能優化整體效能，但犧牲特定群體的公平性。例如，推薦系統可能會基於總體用戶的偏好來生成結果，忽略少數群體的需求」。(B) 完整對應 — 關鍵字「優化整體 / 犧牲特定群體」。\n3. **其他選項為何刪**：\n   - (A) 「資料集中某類別過多或過少」→ 那是 Imbalanced Data（資料分布不均），刪。\n   - (C) 「標註者個人文化背景造成」→ 那是 Labeling Bias（標註偏見），刪。\n   - (D) 「過度學習造成的偏差」→ 那是 Overfitting（過擬合），不是偏見類型，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 251-253（演算法偏見）\n\n**融會貫通**：偏見的「定義鎖鑰」「**分布不均看樣本數量、歷史偏見看時間繼承、標註偏見看標註者、演算法偏見看設計目標**」。演算法偏見的本質是「目標函數設計時只看 overall metric（如 accuracy / total revenue）→ 自然犧牲少數群體」。實務解法：fairness-aware loss、demographic parity 約束。",
    "18": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目要找「並非」國際 AI 倫理原則的選項。四大倫理原則（透明、可解釋、公平、問責）是固定組合，要選跑題者。\n2. **正確答案 (D) 為何對**：教材國際 AI 倫理四大原則 = Transparency / Explainability / Fairness / Accountability。「效能最大化（Performance Maximization）」是技術指標，不是倫理原則 — 反而可能與公平性衝突（如演算法偏見正是優化整體效能犧牲公平）。\n3. **其他選項為何刪**：\n   - (A) Transparency → 教材明列四大原則之一，刪。\n   - (B) Explainability → 教材明列四大原則之一，刪。\n   - (C) Fairness → 教材明列四大原則之一，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 271-285（國際 AI 倫理原則）\n\n**融會貫通**：四大倫理原則 TEFA 口訣「**透明（Transparency）、解釋（Explainability）、公平（Fairness）、問責（Accountability）**」。要警覺把「效能 / 準確率 / 速度」這種「技術 KPI」偽裝成「倫理原則」的干擾項。國際公認倫理原則的共同主題是「對人負責」，不是「對指標負責」。",
    "19": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目要分辨「透明度 vs 可解釋性」。兩者關聯但不同：一個強調「對外披露」、一個強調「使用者理解」。\n2. **正確答案 (B) 為何對**：教材 Transparency「向使用者、利益相關者及公眾說明 AI 模型的運作邏輯、決策依據與可能產生的結果」（披露導向）；Explainability「提供足夠的資訊來幫助使用者理解 AI 系統的決策過程」（理解導向）。(B) 完整對應兩個層次。\n3. **其他選項為何刪**：\n   - (A) 「兩者完全相同可互換」→ 教材明確分為兩個原則，刪。\n   - (C) 「透明度只針對外部、可解釋性只針對內部」→ 教材沒這個區分，純編造，刪。\n   - (D) 「可解釋性僅適用深度學習」→ 教材沒有模型限制，傳統 ML（如線性回歸）反而更可解釋，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 271-275（透明度 vs 可解釋性）\n\n**融會貫通**：兩者差異口訣「**透明 = 我把資訊攤給你看、解釋 = 我幫你看懂為什麼**」。例：銀行公開風險評分模型用了哪些特徵 = Transparency；針對某位被拒貸客戶解釋「因為負債比 0.7 > 閾值 0.5」 = Explainability。Transparency 是基礎，Explainability 是進階。",
    "20": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「歐盟《人工智慧倫理指導原則》」的制定機構與年份。國際 AI 倫理機構對照（歐盟 / OECD / UNESCO / GPAI / ISO）是高頻易混淆考點。\n2. **正確答案 (B) 為何對**：教材原文「歐盟於 2019 年發佈的《人工智慧倫理指導原則》（Ethics Guidelines for Trustworthy AI），由歐盟高級人工智慧專家小組（AI HLEG）制定，強調透明度、可解釋性、公平性與問責性等原則」。(B) 完整對應機構 + 年份 + 四大原則。\n3. **其他選項為何刪**：\n   - (A) 「由 OECD 於 2019 年發佈」→ OECD 同年發的是《人工智慧高級準則》，不是這份歐盟文件，機構錯位，刪。\n   - (C) 「由聯合國 UNESCO 於 2020 年制定」→ UNESCO 雖在推動 AI 倫理但不是這份歐盟文件，刪。\n   - (D) 「由 ISO/IEC 制定」→ ISO/IEC 制定技術標準不是這份倫理指導原則，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 289（歐盟 AI 倫理指導原則）\n\n**融會貫通**：國際 AI 倫理機構速記「**歐盟 → AI HLEG / Trustworthy AI（2019）、OECD → AI Principles（2019）、聯合國 → UNESCO 推人權保障、GPAI → 多國合作機構、ISO/IEC → 技術標準**」。歐盟 vs OECD 兩份 2019 年文件最容易 swap，認名稱「Trustworthy AI = 歐盟、Principles on AI = OECD」。",
    "21": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目要找「企業內部倫理治理框架」**錯誤**敘述。重點看四項治理元素中，AI 審查的「時機」是「部署前 vs 部署後」。\n2. **正確答案 (B) 為何對**：教材明示「此審查應該在模型部署**前**進行，確保所有可能的道德問題都能在實施之前得到解決」。(B) 寫「部署後才進行」與教材方向相反 — 部署後才審查無法預防風險、只能事後補救，違反「前瞻性治理」原則。\n3. **其他選項為何刪**：\n   - (A) 「倫理委員會跨領域組成」→ 教材明列「應該包括來自技術、法律、人權、風險管理等不同領域的專業人士」，正確，刪。\n   - (C) 「定期 AI 倫理意識教育與技能培訓」→ 教材明列為內部教育訓練要素，正確，刪。\n   - (D) 「主動公開 AI 技術使用原則及社會影響」→ 教材明列為透明度與對外溝通要素，正確，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 311（AI 審查流程）\n\n**融會貫通**：呼應 Q1 的「前瞻性 + 持續性」定位 — 倫理審查也是「**部署前先審、不是部署後補審**」。記法「**前瞻治理：規劃前評估、開發中審查、部署前把關、運維中監控**」。把任何「事後才做」的選項放進這四項治理元素都是陷阱。",
    "22": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「問責性」最符合教材定義。四大倫理原則（透明、解釋、公平、問責）易混淆 — 問責性的關鍵是「責任人 + 為後果負責」。\n2. **正確答案 (B) 為何對**：教材原文「企業應建立清晰的 AI 治理責任體系，並為 AI 模型的設計、開發、部署及運營過程確立明確的責任人。在模型運行過程中，若出現錯誤或偏差，企業應有能力快速識別問題並即時修正…還包括對模型在決策過程中對使用者、社會及環境造成的任何負面影響的責任」。(B) 完整對應「責任體系 + 明確責任人 + 為負面影響負責」。\n3. **其他選項為何刪**：\n   - (A) 「公開模型決策邏輯供大眾檢視」→ 那是 Transparency 的核心，刪。\n   - (C) 「所有群體達到完全相同預測準確度」→ 那是 Fairness 的極端版（教材也承認完全公平難達成），刪。\n   - (D) 「最先進解釋工具揭露決策過程」→ 那是 Explainability 的範疇，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 281-285（問責性）\n\n**融會貫通**：四原則快速分辨「**透明 = 我說、解釋 = 你懂、公平 = 不歧視、問責 = 誰負責**」。問責性的指紋是「責任體系 / 責任人 / 為後果負責」。實務上：AI 出問題誰扛？開發者？資料科學家？高階主管？問責性要求事先把這些定義清楚。",
    "23": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「迴避」策略的定義。四大控管策略（Avoidance / Transfer / Mitigation / Acceptance）是固定組合，迴避的指紋是「**根本不做這件事**」。\n2. **正確答案 (C) 為何對**：教材原文「若某一風險的潛在損害嚴重且難以控制，企業可選擇**不執行相關活動，從根本避免風險**」。(C) 完整對應 — 關鍵字「不執行 / 從根本避免」。\n3. **其他選項為何刪**：\n   - (A) 「透過第三方承擔損失」→ 那是 Transfer（轉移），刪。\n   - (B) 「採取主動措施降低風險發生可能性或影響」→ 那是 Mitigation（緩解），刪。\n   - (D) 「接受風險並進行監控」→ 那是 Acceptance（接受），刪。\n\n**📖 章節來源**：chunks/L21203.txt line 333-335（迴避策略）\n\n**融會貫通**：四策略快速分辨「**Avoidance 不做、Transfer 給別人扛、Mitigation 主動降、Acceptance 接受監控**」。Avoidance 經典案例：「醫療企業評估發現 AI 診斷模型因訓練資料不足，誤診風險過高，遂決定暫緩專案」、「金融機構因無法符合新隱私法規，取消雲端部署計畫」。本題四選項就是四策略的「定義輪流配」。",
    "24": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「製造企業購買 AI 系統故障保險 → 轉嫁停工風險」。關鍵字「保險」+「轉移損失給第三方」直接指向 Transfer。\n2. **正確答案 (B) 為何對**：教材轉移策略定義「將風險的潛在損失透過第三方承擔的方式轉移，常見方式包括保險與委外合約」，並給原型案例「某製造企業購買 AI 系統故障保險，轉移因模型失效導致的停工風險」— 題目即抄此案例。\n3. **其他選項為何刪**：\n   - (A) Avoidance → 那是「直接不做」，案例中企業仍在用 AI 系統，刪。\n   - (C) Mitigation → 那是「主動降低風險發生機率」（如改進模型、加資料清洗），案例是事後賠償機制，刪。\n   - (D) Acceptance → 那是「接受並監控」，案例有買保險 ≠ 純粹接受，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 337-339（轉移策略）\n\n**融會貫通**：Transfer 兩大工具「**保險（買責任險）+ SLA 合約（委外時約定賠償條款）**」。教材另一案例「電商與第三方技術供應商簽 SLA，約定系統延遲超標由供應商賠償」也是 Transfer。識別 Transfer 的指紋「**第三方 / 保險 / SLA / 委外賠償**」。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目要找「緩解（Mitigation）」策略**錯誤**敘述。緩解 vs 迴避是最易 swap 的兩個策略 — 要識別哪個選項把 Avoidance 的定義裝到 Mitigation 身上。\n2. **正確答案 (D) 為何對**：「適用於潛在損害嚴重且難以控制的風險，企業選擇暫緩專案」這是教材 **Avoidance（迴避）** 的定義（「醫療企業 AI 診斷模型誤診風險過高 → 暫緩專案」就是迴避案例）。題目問錯誤，所以選 (D) — 它是 Mitigation 與 Avoidance 的 swap 干擾。\n3. **其他選項為何刪**：\n   - (A) 「為最常見的風險控管策略」→ 教材明示 Mitigation「為最常見的策略」，正確，刪。\n   - (B) 「交叉驗證 / TensorBoard 緩解技術風險」→ 教材原文「技術風險可透過模型驗證（如交叉驗證）與持續監控（如 TensorBoard）緩解」，正確，刪。\n   - (C) 「法規風險需嚴格資料治理（存取權限分級）」→ 教材原文「法規風險則需嚴格資料治理（如存取權限分級）」，正確，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 341-343、333-335（緩解 vs 迴避）\n\n**融會貫通**：Mitigation vs Avoidance 區辨關鍵「**Mitigation 仍做 + 降低、Avoidance 直接不做**」。例：發現資料偏誤 → 加資料清洗（Mitigation）/ 直接取消專案（Avoidance）。緩解的工具箱：模型驗證（CV）、TensorBoard 監控、資料治理、合規培訓。",
    "26": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「小規模資料漂移僅影響 1% 推薦準確率、修復成本高於收益 → 日常監控因應」。關鍵字「影響低 / 修復不划算 / 監控」直接指向 Acceptance。\n2. **正確答案 (D) 為何對**：教材接受策略定義「對於影響較低且控管成本不划算的風險，企業可選擇接受並進行監控」，並給原型案例「某電商企業發現小規模資料漂移僅影響 1% 推薦準確率，修復成本高於收益，遂接受此風險並透過日常監控因應」— 題目即抄此案例。\n3. **其他選項為何刪**：\n   - (A) Avoidance → 那是「直接不做」，本題仍維持模型運行，刪。\n   - (B) Transfer → 那是「找第三方扛」，本題沒提保險 / SLA，刪。\n   - (C) Mitigation → 那是「主動降低風險」，本題明示「修復成本高於收益所以不主動修」，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 345-347（接受策略）\n\n**融會貫通**：Acceptance 的指紋「**低衝擊 + 修復成本 > 收益 + 監控閾值**」。教材強調「需設定監控指標（如準確率下降閾值）以避免累積效應」 — Acceptance 不是「放著不管」，而是「接受 + 持續監控、超過閾值才介入」。常見干擾把它說成「完全不處理」就刪錯了。",
    "27": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目要找風險管理計畫內容**錯誤**敘述。風險管理計畫四要素是固定組合，少了任一項就不完整。\n2. **正確答案 (D) 為何對**：教材明列風險管理計畫四要素 = 風險識別與評估結果 / 風險對應措施 / 責任人與分工 / **監控與回報機制**。(D) 寫「不設立監控與回報機制」直接刪掉第四要素，違反教材定義。\n3. **其他選項為何刪**：\n   - (A) 「列出風險清單與影響評分」→ 教材第一要素，正確，刪。\n   - (B) 「規範具體行動與時程」→ 教材第二要素，正確，刪。\n   - (C) 「指定責任人與分工」→ 教材第三要素，正確，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 349-351（風險管理計畫）\n\n**融會貫通**：風險管理計畫四要素口訣「**識別 + 措施 + 責任 + 監控**」。沒有監控 = 無法檢核成效；沒有責任人 = 出事沒人扛；沒有具體措施 = 紙上談兵；沒有風險清單 = 沒目標。教材案例「金融機構計畫明確資料外洩由資安團隊負責加密、模型偏誤由資料科學家調整、每週回報進度」就是四要素的完整體現。",
    "28": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MLOps 核心理念。MLOps 的本質是「DevOps 在 AI 領域的延伸 + 全生命周期管理」。\n2. **正確答案 (B) 為何對**：教材原文「MLOps（機器學習運維）是一種將機器學習開發與營運整合的最佳實踐，旨在將模型的建置、部署、監控與修正流程自動化…即時監控模型效能、資料變化、異常警報，並觸發模型更新」。(B) 完整對應 — 關鍵字「DevOps 延伸 + 建置部署監控修正 + 即時警報觸發更新」。\n3. **其他選項為何刪**：\n   - (A) 「僅負責模型訓練階段」→ 把 MLOps 窄化為訓練自動化，缺了部署 / 監控 / 修正，刪。\n   - (C) 「主要目的是壓縮模型參數提升推論速度」→ 那是模型壓縮（Model Compression）/ 量化（Quantization），不是 MLOps 核心，刪。\n   - (D) 「只適用監督式學習模型」→ MLOps 不限學習範式，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 355（MLOps）\n\n**融會貫通**：MLOps = DevOps + ML 特有環節「**資料管理 + 模型版本 + 漂移監控 + 自動再訓練**」。對比 DevOps 只管 code，MLOps 還要管「資料」與「模型」這兩個 DevOps 沒處理的物件。常見干擾就是把 MLOps 窄化為「某一階段」（訓練 / 部署 / 推論）。",
    "29": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目要分辨「模型漂移監控 vs 資料漂移監控」。兩者都屬 MLOps 監控但對象不同 — 看「監控輸出」還是「監控輸入」。\n2. **正確答案 (B) 為何對**：教材 Model Drift Monitoring「監控模型效能下降，並追蹤可能的原因」（看輸出 / 效能）；Data Drift Monitoring「監測資料分佈的變化，當新的輸入資料與原訓練資料分佈有顯著差異時，會發出警告」（看輸入 / 資料分佈）。(B) 完整對應兩個監控對象。\n3. **其他選項為何刪**：\n   - (A) 「兩者完全相同」→ 教材分為兩個獨立監控機制，刪。\n   - (C) 「資料漂移只在訓練、模型漂移只在推論」→ 兩者都是「上線後」的監控機制（訓練階段不存在「漂移」概念），刪。\n   - (D) 「模型漂移屬資料品質、資料漂移屬組織人力」→ 兩者都屬技術層的模型穩定性風險範疇 + 屬 MLOps 監控，跨層誤植，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 357-367（Model Drift vs Data Drift 監控）\n\n**融會貫通**：兩個監控的指紋「**Model Drift 看輸出 / 效能下降、Data Drift 看輸入 / 分佈偏移**」。因果關係：Data Drift 是「因」，Model Drift 是「果」（輸入分佈變了 → 模型效能就掉）。實務上兩個一起監控 — Data Drift 提前預警、Model Drift 確認影響。",
    "30": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目情境「電商平台 + MLOps + 監控準確率 + 準確率下降自動觸發重新訓練」。關鍵字「自動觸發重新訓練」直接指向 Auto-retraining。\n2. **正確答案 (B) 為何對**：教材 Auto-retraining 定義「當監控發現模型效能下降或資料漂移時，MLOps 可以**自動觸發模型的重新訓練**，更新模型以保持其準確性」，並給原型案例「某電商公司在發現推薦模型效能下降後，自動進行再訓練，使準確率回升至 90% 以上」— 題目即抄此案例。\n3. **其他選項為何刪**：\n   - (A) Model Versioning（模型版本控管）→ 那是管理模型多個版本 / 回滾用，不是自動再訓練，刪。\n   - (C) 跨部門溝通 → 屬組織人力層議題，與 MLOps 監控機制無關，刪。\n   - (D) 滲透測試 → 屬資安 / PCI-DSS 範疇，與 MLOps 自動再訓練無關，刪。\n\n**📖 章節來源**：chunks/L21203.txt line 375-379（自動重新訓練）\n\n**融會貫通**：MLOps 四大監控機制「**Model Drift（看效能）、Data Drift（看分佈）、Performance Anomaly Alerting（看警報）、Auto-retraining（自動再訓練）**」。前三個是「偵測 / 警報」，最後一個是「行動」。需搭配閾值設定（如錯誤率 > 5% 觸發），避免頻繁不必要的重新訓練。"
  },
  "mock_L21301": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題幹提到「垃圾進，垃圾出（GIGO）」這句業界名言 → 考點是教材開宗明義的核心觀念,「資料品質對 AI 模型的決定性影響」。\n2. **正確答案 (B) 為何對**:GIGO 字面意義就是「輸入垃圾資料就會輸出垃圾結果」,教材原文明確指出「資料品質直接影響 AI 模型的可靠性與準確度」。整章後續的資料收集、清理、特徵工程都圍繞此原則展開,因此 (B) 是核心意涵。\n3. **其他選項為何刪**:\n   - (A) 模型架構越複雜準確度越高 → 與 GIGO 無關,且實務上複雜模型反而可能過擬合,刪。\n   - (C) 演算法選擇比資料準備更重要 → 完全與 GIGO 主張相反,GIGO 強調的就是資料優先,刪。\n   - (D) AI 模型可自動修正所有資料錯誤 → GIGO 的反命題,若真能自動修正就不會有「垃圾出」的問題,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 9(前言與章節導覽)\n\n**融會貫通**:記法「**資料是 AI 的地基**」。GIGO 不只是一句口號,而是整個資料準備章節的設計哲學 — 後續所有清理、品質檢核、特徵工程步驟,本質都是為了避免「垃圾進」。考試常以「為何要做資料清理?」這類延伸題出現,核心答案都回到 GIGO。",
    "2": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「內外部資料來源分類,何者**錯誤**」→ 考點是教材對資料來源的分類定義,要找出歸類錯誤的選項。\n2. **正確答案 (D) 為何對**:選項 (D) 把「機台資料」歸為**外部資料來源**是**錯誤**的。教材明確將機台資料(來自生產機台、設備與工廠自動化系統)列在**內部資料來源**之下,並指出它是智慧製造的關鍵資產。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) ERP → 內部資料來源:ERP 是企業核心業務系統,屬內部資料,**正確**,刪。\n   - (B) CRM → 內部資料來源:CRM 紀錄顧客互動,屬內部資料,**正確**,刪。\n   - (C) 政府開放資料平台 → 外部資料來源:屬於開放資料,**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 21-31(資料收集與清理-資料來源)\n\n**融會貫通**:記法「**ERP/CRM/機台/POS/IoT = 自家的;開放資料/Web Scraping/商業資料庫 = 別人的**」。內部資料的關鍵特徵是「公司自己產生 + 自己擁有」,機台資料雖然來自設備但仍是公司內部資產,容易被誤判為外部。",
    "3": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「Web Scraping(網頁爬蟲)的敘述,何者**正確**」→ 考點是 Web Scraping 的定義、用途與合規性。\n2. **正確答案 (B) 為何對**:選項 (B) 完整描述教材定義 — 從網站自動擷取網頁內容(價格、評論、新聞),用於市場競爭分析、輿情監測,且**特別提醒網站條款與資料使用合規性**。三個關鍵詞「網頁擷取 + 應用情境 + 合規」都對齊教材原文。\n3. **其他選項為何刪**:\n   - (A) 屬於企業內部 ERP 系統的資料抽取方式 → Web Scraping 是**外部資料來源**,與 ERP 無關,刪。\n   - (C) 是一種特徵工程方法 → 特徵工程是 Normalization/Encoding 那類,Web Scraping 是資料取得方法,刪。\n   - (D) 是降維演算法的一種 → Web Scraping 完全不是演算法,範疇錯置,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 37(資料收集與清理-外部資料來源)\n\n**融會貫通**:記法「**Scraping = 爬別人網站的資料,記得問律師**」。Web Scraping 與「開放資料 API」「商業資料庫」並列為三大外部資料來源,差異在於前者**自助式抓取**(法律灰色地帶)、API/商業資料庫則是**授權使用**。考試遇到合規性提醒時答案幾乎都是 Web Scraping。",
    "4": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「**缺失值**(Missing Values)處理方法對應,何者**錯誤**」→ 考點是區分「缺失值處理方法」與「異常值偵測方法」這兩個易混淆類別。\n2. **正確答案 (D) 為何對**:選項 (D) 把 **Z-score** 歸為缺失值處理是**錯誤**的。教材明確指出 Z-score 與 IQR、Isolation Forest、LOF 同屬**異常值(Outliers)偵測**方法,跟缺失值無關。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) 平均數/中位數填補(Mean/Median Imputation) → 教材列為缺失值處理首要方法,**正確**,刪。\n   - (B) 前後值填補(Forward/Backward Fill) → 教材列出的缺失值處理方法之一,**正確**,刪。\n   - (C) 插值法(Interpolation) → 教材列出的缺失值處理方法之一,**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 45-47、53(資料清理-缺失值與異常值)\n\n**融會貫通**:易混淆對照 ——「**缺失值 = 補資料**(Mean/Median/Forward Fill/Interpolation);**異常值 = 找怪資料**(Z-score/IQR/Isolation Forest/LOF)」。這是教材最愛考的 swap 題型:把異常值偵測方法錯安到缺失值處理,或反之。",
    "5": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「**異常值**(Outliers)檢測與處理方法,何者**並非**教材所列」→ 考點是教材對異常值偵測方法的完整清單。\n2. **正確答案 (D) 為何對**:One-hot Encoding 是教材在「特徵工程-類別特徵處理」段落列出的**類別特徵編碼方法**,與異常值偵測**完全不相關**。教材的異常值偵測方法清單只有 Z-score、IQR、Isolation Forest、LOF 四種。題目要選「並非」,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) Z-score → 教材列出的統計方法,**屬於異常值偵測**,刪。\n   - (B) IQR(Interquartile Range) → 教材列出的統計方法,**屬於異常值偵測**,刪。\n   - (C) Isolation Forest → 教材列出的機器學習異常偵測模型,**屬於異常值偵測**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 53、81(資料清理-異常值偵測 / 特徵工程-類別編碼)\n\n**融會貫通**:記法「**Z-IQR-iForest-LOF 抓怪、One-hot/Label 編類別**」。異常值四劍客可再分兩類:統計法(Z-score、IQR)vs 機器學習法(Isolation Forest、LOF),這也是常見二級題型。看到 One-hot 在異常值選項裡就是干擾,直接刪。",
    "6": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「資料品質評估指標**配對**,何者**錯誤**」→ 考點是教材列出的資料品質五指標(Completeness/Consistency/Accuracy/Timeliness/Uniqueness)各自的精準定義。\n2. **正確答案 (C) 為何對**:選項 (C) 說「準確性(Accuracy):資料是否是**最新的**」這是**錯誤**配對。教材明確定義:準確性 = 資料值是否**準確反映真實世界狀況**;「資料是否最新」是**即時性(Timeliness)**。Accuracy 與 Timeliness 被刻意對調,是典型 swap 干擾。\n3. **其他選項為何刪**:\n   - (A) 完整性:資料是否完整,是否缺少關鍵欄位 → 教材定義原文,**正確**,刪。\n   - (B) 一致性:邏輯是否一致(年齡不應為負數) → 教材定義原文與舉例都對,**正確**,刪。\n   - (D) 唯一性:資料是否重複或衝突,特別是主鍵欄位 → 教材定義原文,**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 55-65(資料清理-資料品質評估指標)\n\n**融會貫通**:口訣「**完一準時唯**(完整性/一致性/準確性/即時性/唯一性)」。最容易混的是 **Accuracy vs Timeliness** ——「準確 = 對不對(對應真實);即時 = 新不新(時間維度)」。一個是內容正確,一個是時間鮮度,別搞混。",
    "7": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「正規化(Normalization)vs 標準化(Standardization)差異,何者**正確**」→ 考點是兩個易混淆的數值特徵轉換方法。\n2. **正確答案 (B) 為何對**:選項 (B) 完整且精準描述兩者差異 — Normalization 將數值轉至 **[0,1]** 區間(Min-Max);Standardization 將數值轉為**平均數 0、標準差 1** 的分布(通常用 Z-score)。對應教材原文用詞,且符合業界共識。\n3. **其他選項為何刪**:\n   - (A) 兩者意義相同可互換 → 兩者數學定義不同、輸出範圍不同,絕對不可互換,刪。\n   - (C) Normalization 必須先做 PCA 才能執行 → 兩者完全獨立,Normalization 不依賴 PCA,刪。\n   - (D) Standardization 只適用於類別特徵 → Standardization 是**數值特徵轉換**方法,類別特徵要用 One-hot/Label,範疇錯置,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 73-77(特徵工程-數值特徵轉換)\n\n**融會貫通**:記法「**Norm 縮到 [0,1]、Std 變平均 0**」。實務挑選:需計算梯度的模型(線性迴歸、SVM、神經網路)優先用 Standardization;需固定輸出範圍(如圖像像素 0-255 → 0-1)用 Normalization。教材特別提到 Standardization 對梯度型模型「特別有效」是常考重點。",
    "8": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「One-hot Encoding vs Label Encoding 差異,何者**正確**」→ 考點是兩種類別特徵編碼方法的適用情境差異。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — One-hot 將類別轉**二進位欄位**,適用**無序分類變數**(每類獨立 0/1);Label 將類別轉**整數**,適用**有序類別**(如高中→1、學士→2、碩士→3,大小有意義)。教材原文舉的就是這個高中/學士/碩士例子。\n3. **其他選項為何刪**:\n   - (A) 兩者完全相同 → 編碼方式與適用情境都不同,刪。\n   - (C) One-hot 適用有序、Label 適用無序 → **適用情境完全對調**,是典型 swap 干擾,刪。\n   - (D) 兩者都只能處理數值特徵 → 兩者皆為**類別特徵編碼**方法,範疇錯置,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 79-83(特徵工程-類別特徵處理)\n\n**融會貫通**:記法「**One-hot 給無序、Label 給有序**」。背後邏輯:Label Encoding 把類別轉成整數會引入「大小關係」,所以只能用在本來就有大小意義的類別(學歷、評等);無序類別(顏色、城市)用 Label 會誤導模型把『紅=1、藍=2』當成藍比紅大,所以一律用 One-hot 拆成獨立欄位。",
    "9": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「TFIDF 的主要用途」→ 考點是 TFIDF 在特徵工程中的定位(時間與結構特徵擴增-文字處理)。\n2. **正確答案 (B) 為何對**:TFIDF(Term Frequency-Inverse Document Frequency)是文字處理的核心方法,用於**從文字欄位中抽取關鍵詞**並轉換為**數值形式**,讓機器學習模型能處理文字資料。教材將其與 Word Embeddings 並列為兩大文字向量化方法。\n3. **其他選項為何刪**:\n   - (A) 異常值偵測 → 異常值用 Z-score/IQR/Isolation Forest,與 TFIDF 無關,刪。\n   - (C) 類別特徵的編碼方法 → 類別編碼用 One-hot/Label,TFIDF 是文字處理不是類別編碼,刪。\n   - (D) 降維方法的一種 → 降維用 PCA/t-SNE/UMAP,TFIDF 是向量化不是降維,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 89(特徵工程-時間與結構特徵擴增-文字處理)\n\n**融會貫通**:記法「**TFIDF = 文字變數字、Word Embedding = 文字變向量**」。兩者都是文字向量化,但 TFIDF 偏統計(詞頻 × 逆文件頻率,稀疏向量),Word Embedding 偏語意(密集向量,Word2Vec/GloVe)。考試只要看到「將文字轉為數值」就鎖定 TFIDF 或 Word Embedding。",
    "10": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「特徵選擇(Feature Selection)方法敘述,何者**錯誤**」→ 考點是教材列的三種特徵選擇方法清單,要找出**不屬於**特徵選擇的選項。\n2. **正確答案 (D) 為何對**:One-hot Encoding 是**類別特徵編碼**方法,**不是**特徵選擇方法。教材的特徵選擇方法只有三種:資訊增益、皮爾森相關係數、L1 正則化(Lasso),且 One-hot 也不會「自動轉為高貢獻特徵集」,純屬虛構。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) 資訊增益:衡量特徵帶來的資訊量 → 教材定義原文,**正確**,刪。\n   - (B) 皮爾森相關係數:衡量數值特徵間的線性相關性 → 教材定義原文,**正確**,刪。\n   - (C) L1 正則化(Lasso):懲罰模型複雜度選擇最具影響力特徵 → 教材定義原文,**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 91-101(特徵工程-特徵選擇)\n\n**融會貫通**:易混淆對照 ——「**特徵選擇** = 從現有特徵挑出有用的(IG/Pearson/Lasso);**特徵編碼** = 把資料轉成模型能讀的格式(One-hot/Label);**特徵生成** = AutoML 創造新特徵」。三件事都叫『特徵 X』很容易混,記住「選擇 = 挑、編碼 = 翻譯、生成 = 創造」。",
    "11": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「PCA(主成分分析)的敘述,何者**正確**」→ 考點是 PCA 的數學原理與應用情境。\n2. **正確答案 (B) 為何對**:選項 (B) 精準描述 PCA 的核心 — 透過找到資料中**方差最大的方向**來減少維度,保留大部分資料訊息;適用**高維資料**,能減少計算負擔並提高模型效能。對應教材原文用詞。\n3. **其他選項為何刪**:\n   - (A) 用於資料標註自動化 → 資料標註是 Labeling,PCA 是降維,範疇錯置,刪。\n   - (C) 屬於監督式分類演算法 → PCA 是**非監督式降維**,不是分類也不需標籤,刪。\n   - (D) 只能處理類別型特徵 → PCA 處理的是**數值特徵**(計算方差需要數值),類別特徵反而不適合,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 105(特徵工程-降維 / 非監督式學習)\n\n**融會貫通**:記法「**PCA = 找最分散的方向**」。PCA 的『方差最大』背後直覺是:資料變化最劇烈的軸 = 資訊量最多的軸,把這幾個軸抽出來當新座標,就能在低維保留最多原始資訊。PCA 既出現在『特徵工程-降維』也出現在『非監督式學習』段落,屬跨章節重點。",
    "12": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「t-SNE / UMAP 主要用途,何者**最正確**」→ 考點是這兩個非線性降維工具的**定位差異**(相對於 PCA)。\n2. **正確答案 (B) 為何對**:教材原文明確指出 t-SNE / UMAP「**常用於視覺化資料分佈,便於人為觀察特徵空間的分類趨勢**」,核心定位是視覺化導向的非線性降維。對應教材用詞。\n3. **其他選項為何刪**:\n   - (A) 模型加速推論的部署工具 → t-SNE/UMAP 與部署無關,範疇錯置,刪。\n   - (C) 取代 PCA 進行所有降維任務的標準方法 → 兩者目的不同(PCA 偏壓縮、t-SNE/UMAP 偏視覺化),不存在『取代』關係,刪。\n   - (D) 強化式學習的核心演算法 → RL 核心是 Q-learning/DQN/PPO,與 t-SNE 無關,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 107(特徵工程-降維)\n\n**融會貫通**:易混淆對照 ——「**PCA = 線性降維 + 壓縮計算(可用於前處理);t-SNE/UMAP = 非線性降維 + 視覺化(2D/3D 散點圖看分群)**」。實務上用 PCA 降到 50 維 → 再用 t-SNE 降到 2 維畫圖,兩者組合使用。考試看到『視覺化』『觀察分類趨勢』就鎖定 t-SNE/UMAP。",
    "13": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「何者**並非**教材所列 AutoML 平台範例」→ 考點是教材列出的 AutoML 平台清單。\n2. **正確答案 (D) 為何對**:Stable Diffusion 是**擴散模型生成圖像工具**(屬於生成式模型 Diffusion Models),用於影像生成,**不是**自動化機器學習平台。教材列出的 AutoML 平台只有四個:Google AutoML、H2O.ai、AutoKeras、TPOT。題目要選「並非」,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) Google AutoML → 教材列出的 AutoML 平台之一,刪。\n   - (B) H2O.ai → 教材列出的 AutoML 平台之一,刪。\n   - (C) AutoKeras → 教材列出的 AutoML 平台之一(Keras-based AutoML),刪。\n\n**📖 章節來源**:chunks/L21301.txt line 111-113(特徵工程-自動特徵工程)\n\n**融會貫通**:記法「**AutoML 四大平台 = Google / H2O / AutoKeras / TPOT**」。Stable Diffusion 與 DALL·E 2 都是『擴散模型生成圖像』類工具,雖然名字裡有『Auto-』(AutoKeras)或都跟 AI 有關,但用途完全不同。看到 Stable Diffusion 在 AutoML 選項就是干擾,直接刪。",
    "14": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「自動特徵工程的**核心功能**敘述,何者**錯誤**」→ 考點是 AutoML 的真實能力邊界與『取代論』的誤解。\n2. **正確答案 (D) 為何對**:選項 (D) 說 AutoML「**完全取代資料科學家的所有判斷,使其不再需要參與專案**」是**錯誤**的。教材明確強調 AutoML 是**輔助**資料科學家加速流程、降低門檻,目的是「**釋出時間讓資料科學家聚焦於分析和優化模型本身**」,而非取代人類判斷。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) 自動創建新特徵(日期拆分為年月日星期) → 教材原文舉例,**正確**,刪。\n   - (B) 透過 Random Forest 或 L1 Lasso 自動篩選特徵 → 教材原文敘述,**正確**,刪。\n   - (C) 檢測並創建特徵之間的交互作用(Interaction) → 教材原文敘述,**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 115-145(特徵工程-自動特徵工程)\n\n**融會貫通**:記法「**AutoML 是助手不是替代**」。考題如果出現『完全取代』『100% 自動』『不再需要人類』等絕對化用詞,通常是錯誤答案 — 教材立場是『加速 + 降低門檻 + 提升效能』,人類判斷仍不可或缺(尤其領域知識與業務理解)。",
    "15": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「AutoML 在特徵工程中的優勢**不包含**何者」→ 考點是教材列出的 AutoML 三大優勢,要找出**虛構**的優勢。\n2. **正確答案 (D) 為何對**:選項 (D) 說 AutoML「**自動修正資料品質問題並保證 100% 完美的訓練資料**」是錯誤誇大。教材說 AutoML 可選擇合適的缺失資料填補方式,但**無法保證 100% 完美** — 仍需資料治理基礎(GIGO 原則)。教材列出的三大優勢只有:加速資料科學流程、降低技術門檻、高模型效能。題目要選「不包含」,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) 加速資料科學流程 → 教材列出的第一項優勢,**包含**,刪。\n   - (B) 降低技術門檻 → 教材列出的第二項優勢,**包含**,刪。\n   - (C) 透過自動生成和篩選特徵提升預測準確性 → 教材列出的『高模型效能』優勢,**包含**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 139-145(特徵工程-AutoML 優勢)\n\n**融會貫通**:口訣「**AutoML 三優勢 = 快、易、準**」(加速、降門檻、高效能)。題目用『100% 完美』『保證所有資料無誤』等絕對化用詞通常是干擾項 — 跟 Q14 的『完全取代』屬同類陷阱,凡是與 GIGO 原則衝突的『AutoML 萬能論』都要警覺。",
    "16": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「監督式學習任務分類的敘述,何者**正確**」→ 考點是迴歸 vs 分類的本質差異(輸出型態:連續 vs 離散)。\n2. **正確答案 (B) 為何對**:選項 (B) 精準對應教材定義 — **迴歸任務**預測**連續數值**(銷售量、房價);**分類任務**將資料歸類為**離散標籤**(垃圾郵件 vs 正常)。兩者都是監督式學習,但輸出型態不同。\n3. **其他選項為何刪**:\n   - (A) 預測連續數值 → 分類任務 → **錯誤**,連續數值是迴歸,刪。\n   - (C) 兩者意義相同可互換 → 迴歸與分類的輸出型態不同,絕對不可互換,刪。\n   - (D) 分類任務只用於非監督式學習 → 分類是**監督式學習**的核心任務之一,範疇錯置,刪(非監督式是分群 Clustering,不是分類 Classification)。\n\n**📖 章節來源**:chunks/L21301.txt line 151-171(模型選擇-監督式學習)\n\n**融會貫通**:易混淆對照 ——「**迴歸 = 預測數字(房價、銷售額);分類 = 預測類別(是否流失、垃圾郵件)**」。再延伸:**分類(Classification)是監督式,分群(Clustering)是非監督式** — 兩個詞中文都有『分』,但前者有標籤後者沒標籤,別搞混。",
    "17": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「**並非**教材所列『監督式學習-迴歸任務』常見演算法」→ 考點是迴歸任務的演算法清單,要找出**不屬於**迴歸的選項。\n2. **正確答案 (D) 為何對**:K-means 是**非監督式分群演算法**(K-means Clustering),**不是**監督式迴歸演算法。教材所列的迴歸演算法只有四個:Linear Regression、Decision Tree Regression、Random Forest Regression、Gradient Boosting Regression。題目要選「並非」,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) 線性迴歸 → 教材列出的最基本迴歸演算法,**屬於迴歸**,刪。\n   - (B) 決策樹迴歸 → 教材列出的非線性迴歸演算法,**屬於迴歸**,刪。\n   - (C) 隨機森林迴歸 → 教材列出的集成迴歸演算法,**屬於迴歸**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 155-161(模型選擇-監督式學習-迴歸任務)\n\n**融會貫通**:記法「**K-means 是分群、不是迴歸**」。看到 K-means、DBSCAN、Hierarchical Clustering、PCA 出現在『監督式學習』選項裡都是干擾,因為它們全都是**非監督式學習**。同理,Logistic Regression 雖然叫『迴歸』實為分類,這是反向陷阱。",
    "18": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「邏輯迴歸(Logistic Regression)的敘述,何者**正確**」→ 考點是 LR 的命名陷阱(名為迴歸實為分類)與 Sigmoid 機制。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — Logistic Regression 用於**二元或多元分類問題**,透過 **Sigmoid 函數**將預測值轉為機率,再根據機率進行分類判斷。是典型的監督式分類演算法。\n3. **其他選項為何刪**:\n   - (A) 用於連續數值預測的迴歸任務 → 名字雖叫『迴歸』但實為**分類**,輸出是機率不是連續數值,刪。\n   - (C) 屬於非監督式學習 → LR 需要明確標籤(0/1),是**監督式學習**,刪。\n   - (D) 不適用於特徵與類別之間具線性可分的情況 → 與教材原文完全相反,LR 正是**適用線性可分**的分類場景,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 175(模型選擇-監督式學習-分類任務)\n\n**融會貫通**:記法「**Logistic Regression 名字騙人,實際是分類**」。背後邏輯:LR 用線性模型輸出 z = w·x + b,再用 Sigmoid σ(z) 把 z 壓到 [0,1] 變成機率,所以雖然叫『迴歸』,但最後輸出的是『屬於某類的機率』而非連續數值。這是命名陷阱題型的經典代表。",
    "19": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「決策樹分類(Decision Tree Classification)的特性,何者**錯誤**」→ 考點是決策樹的優勢與限制。\n2. **正確答案 (D) 為何對**:選項 (D) 說決策樹「**必須假設特徵之間完全線性相關才能訓練**」是**錯誤**的。決策樹完全**不要求**特徵線性相關,反而擅長處理**非線性與混合型特徵**的分類問題 — 這正是它相對線性模型(LR、線性迴歸)的核心優勢。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) 以條件分支進行分類,具良好解釋性 → 教材原文,決策樹的招牌特性(可畫成 if-then 樹),**正確**,刪。\n   - (B) 適用於非線性與混合型特徵 → 教材原文,**正確**,刪。\n   - (C) 容易過度擬合 → 教材原文,決策樹的典型缺點(深樹會背題),**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 177(模型選擇-監督式學習-分類任務)\n\n**融會貫通**:記法「**決策樹 = 不挑食的解釋者**」。優勢:解釋性高(可畫樹圖)、不挑特徵型態(數值/類別都行)、不要求線性。缺點:容易過擬合 → 解法是用 Random Forest(多棵樹投票)。看到『必須線性』與決策樹搭配就是錯,線性是 LR/Linear Regression 的事。",
    "20": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「支持向量機(SVM)的敘述,何者**正確**」→ 考點是 SVM 的核心機制(最佳超平面 + Kernel Trick)。\n2. **正確答案 (A) 為何對**:選項 (A) 完整對應教材定義 — SVM 透過尋找**最佳超平面**以分隔不同類別,對**高維資料或邊界清晰的分類問題**表現良好,亦可透過**核函數(Kernel)**處理**非線性分類**。是經典監督式分類演算法。\n3. **其他選項為何刪**:\n   - (B) 屬於非監督式分群演算法 → SVM 是**監督式分類**,需要標籤資料,刪。\n   - (C) 只能處理線性可分的二元分類問題 → SVM 可用 **Kernel Trick**(如 RBF、Polynomial)處理非線性,也能擴充到多元分類,刪。\n   - (D) 不需要任何超參數調整 → SVM 需要調 C(正則化強度)、Kernel 類型、gamma 等超參數,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 181(模型選擇-監督式學習-分類任務)\n\n**融會貫通**:記法「**SVM = 找最寬的分界線 + Kernel 變魔術**」。核心兩招:(1)**最大 Margin 超平面**(讓兩類資料離分界線越遠越好,泛化能力強);(2)**Kernel Trick**(把資料投射到高維空間讓原本非線性可分變線性可分)。看到『高維 + 邊界清晰 + 核函數』就鎖定 SVM。",
    "21": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「K 最近鄰(KNN)的特性,何者**正確**」→ 考點是 KNN 的『惰性學習』本質與限制。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — KNN 根據**鄰近資料的類別**進行預測,簡單直觀但**對資料量與維度敏感**,適合**小型資料集或特徵空間分布明顯**的情境。對應教材原文。\n3. **其他選項為何刪**:\n   - (A) 訓練速度極慢,預測速度極快 → 完全相反!KNN 是**惰性學習(Lazy Learning)**,訓練極快(只記資料)、預測極慢(每次都要算所有距離),刪。\n   - (C) 不需要計算距離 → KNN 核心就是計算『最近鄰』,**必須**計算距離(歐氏/曼哈頓等),刪。\n   - (D) 完全不受特徵尺度影響 → KNN 用距離度量,**對特徵尺度極度敏感**,務必先做 Normalization/Standardization,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 183(模型選擇-監督式學習-分類任務)\n\n**融會貫通**:記法「**KNN = 看鄰居決定身份**」。KNN 三大限制:(1)**維度詛咒**(高維時距離意義消失);(2)**對特徵尺度敏感**(必須先標準化);(3)**預測慢**(每次都要算 N 個距離)。相對地,訓練幾乎不花時間,所以叫『惰性學習』。",
    "22": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹說「客戶**是否**會流失(**是 / 否**的二元判斷)」→ 關鍵詞是『是/否』『二元』,典型的**離散標籤**預測任務。\n2. **正確答案 (B) 為何對**:『是/否』二元判斷是**分類任務(Classification)**的標準場景 — 輸出是離散類別(會流失 / 不會流失)。教材在『分類任務應用情境』段落明確將**客戶流失預測**列為原型應用,可用 Logistic Regression、決策樹、SVM、Random Forest 等分類演算法。\n3. **其他選項為何刪**:\n   - (A) 迴歸任務(Regression) → 迴歸是預測**連續數值**(如『流失機率』或許可用,但題目問的是『是否流失』的二元判斷),刪。\n   - (C) 分群任務(Clustering) → 分群是**非監督式**(無標籤),客戶流失預測有歷史資料(已流失 vs 未流失)當標籤,屬監督式,刪。\n   - (D) 降維任務(Dimensionality Reduction) → 降維是資料前處理方法(PCA/t-SNE),不是預測任務,範疇錯置,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 193、171(模型選擇-監督式學習-分類任務-應用情境)\n\n**融會貫通**:口訣「**是否類問題 → 分類**」。判斷任務類型的關鍵:看**輸出型態** — 是 / 否 / 高 / 低(離散) = 分類;數字(連續) = 迴歸;沒答案(找群) = 分群;壓縮特徵(預處理) = 降維。實務上『客戶流失預測』『信用評等(高/中/低風險)』『疾病診斷(罹病/未罹病)』都是分類經典題。",
    "23": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「K-means 與 DBSCAN 的差異,何者**正確**」→ 考點是兩種非監督式分群演算法的**對照差異**(K 值、形狀、雜訊處理)。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對照兩者差異 — **K-means**:需事先給定 K 值、對初始點與異常值敏感、適合球形群集;**DBSCAN**:不需預先給定群集數、能發現**任意形狀**的群集、自動將離群點標示為**雜訊(Noise)**。對應教材原文用詞。\n3. **其他選項為何刪**:\n   - (A) 兩者都需要事先給定群集數 K → DBSCAN **不需要**給 K,而是用密度參數(eps、minPts),刪。\n   - (C) DBSCAN 只能發現球形群集 → 完全相反,DBSCAN 的核心優勢就是**任意形狀**(如月牙、環狀),球形限制是 K-means 的缺點,刪。\n   - (D) K-means 適合含雜訊或密度變化明顯的資料 → 完全相反,K-means **對異常值敏感**,雜訊資料應該用 DBSCAN,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 203-205(非監督式學習-分群演算法)\n\n**融會貫通**:對照表「**K-means(需 K + 球形 + 對異常敏感) vs DBSCAN(免 K + 任意形狀 + 自動標雜訊)**」。實務挑選:資料分群明確且球形 → K-means(快);形狀複雜或有雜訊 → DBSCAN。考試最愛把兩者特性**對調**做干擾(swap),記住誰擅長什麼即可破題。",
    "24": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「階層式分群(Hierarchical Clustering)的特性,何者**正確**」→ 考點是階層式分群的**樹狀層級**特性與『無需指定 K』優勢。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — 階層式分群建立資料間的**樹狀層級關係(如 Dendrogram)**,可**自上而下或自下而上**逐層劃分群集,**無需指定群集數**,適合探索資料分群層級結構。\n3. **其他選項為何刪**:\n   - (A) 必須預先指定 K 值 → 與教材原文相反,階層式分群的**優勢**就是不必預先給 K(K-means 才需要),刪。\n   - (C) 僅適用於二維資料 → 階層式分群可處理任意維度,二維限制純屬虛構,刪。\n   - (D) 屬於監督式學習 → 階層式分群是**非監督式**(無需標籤),刪。\n\n**📖 章節來源**:chunks/L21301.txt line 207(非監督式學習-分群演算法)\n\n**融會貫通**:記法「**Dendrogram = 分群樹**」。階層式分群兩種方向:(1)**自下而上(Agglomerative)**:每個點先各自一群,逐步合併;(2)**自上而下(Divisive)**:所有點先一群,逐步分裂。優勢是可看到不同切點對應不同 K,缺點是計算量大不適合大資料。",
    "25": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「CNN 的應用情境,何者**最符合**教材定義」→ 考點是 CNN 的核心應用領域(圖像 / 空間特徵)。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — CNN 主要用於**處理圖像資料與空間特徵萃取**,透過卷積、池化與非線性激活函數組成的網路架構,自動辨識局部特徵並保留位置不變性。常用於**人臉辨識、工業檢測、自動駕駛**等任務。\n3. **其他選項為何刪**:\n   - (A) 處理時間序列資料(語音、文字、感測器) → 這是 **RNN / LSTM / GRU** 的應用場景,不是 CNN,範疇錯置,刪。\n   - (C) 強化式學習的核心架構 → RL 核心是 Q-learning/DQN/PPO,CNN 雖可被 DQN 用作特徵抽取器,但本身不是 RL 核心,刪。\n   - (D) 主要用於分群任務 → 分群是非監督式學習(K-means/DBSCAN),CNN 是監督式深度學習,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 225(模型選擇-深度學習)\n\n**融會貫通**:三大深度學習架構對照「**CNN = 圖像(空間特徵);RNN/LSTM/GRU = 時序(時間特徵);Transformer = NLP(語意特徵)**」。考試最愛把三者應用情境**對調**做干擾,記住對應關係即可秒殺。CNN 的招牌『卷積 + 池化』是其與其他架構的關鍵區別。",
    "26": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「Transformer 架構的敘述,何者**最正確**」→ 考點是 Transformer 的核心機制(Self-Attention)與代表模型(BERT、GPT)。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — Transformer 透過**自注意力(Self-Attention)機制**建構語意關聯,在 **NLP 領域成為主流**,代表模型如 **BERT(雙向編碼器)**、**GPT(生成式預訓練轉換器)**,已廣泛應用於語意理解、生成式任務與跨模態學習。\n3. **其他選項為何刪**:\n   - (A) 透過卷積與池化處理影像資料 → 這是 **CNN** 的特徵,不是 Transformer,刪。\n   - (C) 是傳統 RNN 的別名 → Transformer 與 RNN 是**不同架構**,前者用 Self-Attention,後者用循環連接,前者就是為了解決 RNN 長期依賴問題而被提出,刪。\n   - (D) 不能應用於跨模態學習 → 與教材原文相反,Transformer **正是**跨模態學習的主流架構(如 CLIP、DALL·E 都用 Transformer),刪。\n\n**📖 章節來源**:chunks/L21301.txt line 229(模型選擇-深度學習)\n\n**融會貫通**:記法「**Transformer = Self-Attention + BERT/GPT**」。Self-Attention 核心:每個位置都能『關注』序列中所有位置,擺脫 RNN 的線性依賴。BERT vs GPT 差異:**BERT 是雙向編碼器**(看上下文,做理解),**GPT 是單向解碼器**(從左到右,做生成)。",
    "27": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「強化式學習(RL)的特性,何者**正確**」→ 考點是 RL 的四要素(Agent / Action / State / Reward)與『試誤學習』本質。\n2. **正確答案 (C) 為何對**:選項 (C) 完整對應教材定義 — RL 透過**智能體(Agent)**在環境中嘗試**行動(Action)**、觀察**結果(State)**、根據**獎勵(Reward)**進行策略調整,**依靠互動經驗學習**。與監督式學習不同,RL 不需明確標註資料。\n3. **其他選項為何刪**:\n   - (A) 需要大量明確標註的訓練資料 → 與教材原文相反,RL **不需明確標註**,而是依靠互動經驗,刪。\n   - (B) 屬於非監督式學習的一種 → RL 是**獨立於監督 / 非監督的第三類學習範式**,有獎勵訊號但非標籤,不歸類於非監督式,刪。\n   - (D) 不需設計獎勵函數 → RL 的**核心就是獎勵(Reward)**,沒有獎勵函數就無法學習,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 243(模型選擇-強化式學習)\n\n**融會貫通**:口訣「**RL 四要素 = Agent / Action / State / Reward**」。三大學習範式對照:**監督式 = 有標籤(對錯明確)、非監督式 = 無標籤(找結構)、強化式 = 有獎勵(試誤回饋)**。RL 的精髓是『試錯+延遲獎勵』,代表應用 AlphaGo、自駕車。",
    "28": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「RL 演算法的對應,何者**錯誤**」→ 考點是 RL 演算法清單,要找出**不屬於** RL 的選項。\n2. **正確答案 (D) 為何對**:**PCA(Principal Component Analysis)**是**非監督式降維演算法**(用於資料壓縮、視覺化),**完全不是**強化式學習演算法。教材的 RL 演算法清單只有:Q-learning、DQN、Policy Gradient(REINFORCE、Actor-Critic)、PPO。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**:\n   - (A) Q-learning:基於值函數,學習狀態-行為對的預期回報 → 教材原文,**正確**,刪。\n   - (B) DQN:結合深度學習與 Q-learning,處理高維感知輸入(如圖像) → 教材原文(Atari 遊戲突破),**正確**,刪。\n   - (C) PPO:OpenAI 提出,策略梯度改良版,平衡更新幅度與學習效率 → 教材原文,**正確**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 247-255、105(強化式學習 / 降維 PCA)\n\n**融會貫通**:記法「**RL 四大演算法 = Q-learning / DQN / Policy Gradient(REINFORCE、Actor-Critic) / PPO**」。把 PCA、t-SNE、K-means 等非監督式演算法塞進 RL 選項是典型範疇錯置干擾。順帶分類:Q-learning/DQN 屬**值函數方法**,Policy Gradient/PPO 屬**策略方法**,Actor-Critic 結合兩者。",
    "29": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「生成對抗網路(GANs)的敘述,何者**正確**」→ 考點是 GAN 的雙網路對抗機制與典型缺點(Mode Collapse)。\n2. **正確答案 (B) 為何對**:選項 (B) 完整對應教材定義 — GAN 透過**兩個神經網路(生成器 Generator 與判別器 Discriminator)對抗訓練**,生成器產生偽造樣本、判別器判斷真偽,**雙方互相提升**;典型缺點是**訓練不穩定、可能出現模式崩潰(Mode Collapse)**。對應教材原文用詞。\n3. **其他選項為何刪**:\n   - (A) 屬於判別式模型,只負責分類 → GAN 屬**生成式模型**(雖然有判別器,但整體目標是『生成』),範疇錯置,刪。\n   - (C) 不能用於圖像生成 → 與教材原文相反,GAN **正是**圖像生成、人臉合成、風格轉換的代表技術,刪。\n   - (D) 訓練過程完全穩定,沒有任何已知限制 → 與教材原文相反,訓練不穩 + Mode Collapse 是 GAN 的**已知典型缺點**,刪。\n\n**📖 章節來源**:chunks/L21301.txt line 273(模型選擇-生成式模型)\n\n**融會貫通**:記法「**GAN = 偽鈔製造者 vs 警察的對抗遊戲**」。Generator 像偽鈔製造者(學著生成越來越真的假樣本),Discriminator 像警察(學著辨識真假),互相對抗使雙方都越來越強。**Mode Collapse** = 生成器發現某幾種樣本特別容易騙過判別器,就只生成那幾種,失去多樣性 — 是 GAN 的最大痛點。",
    "30": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題幹問「擴散模型(Diffusion Models)的特性,何者**正確**」→ 考點是 Diffusion 的『加噪去噪』原理、代表應用、典型缺點。\n2. **正確答案 (C) 為何對**:選項 (C) 完整對應教材定義 — Diffusion 透過**逐步加入與移除噪聲**的方式訓練模型,學習資料轉換的**反向過程**;代表應用如 **DALL·E 2、Stable Diffusion**;缺點是**生成速度慢、運算成本高**。對應教材原文用詞。\n3. **其他選項為何刪**:\n   - (A) 計算速度快、運算成本低 → 與教材原文相反,Diffusion 的最大缺點就是**速度慢成本高**(每次生成需多步去噪),刪。\n   - (B) 是最早被提出的生成式模型,比 GAN 與 VAE 都還早 → 教材說 Diffusion 是『**近期最具突破**的生成技術』,GAN(2014)、VAE(2013)都比 Diffusion 普及更早,刪。\n   - (D) 只能生成文字,不能生成圖像 → 與教材原文相反,Diffusion **正是**圖像生成的當紅技術(DALL·E 2、Stable Diffusion 都是文生圖),刪。\n\n**📖 章節來源**:chunks/L21301.txt line 277(模型選擇-生成式模型)\n\n**融會貫通**:三大生成式模型對照「**GAN = 對抗訓練(訓練不穩 + Mode Collapse);VAE = 潛在空間平滑(樣本平滑但缺銳利細節);Diffusion = 加噪/去噪(品質高但速度慢成本高)**」。記法:每個模型都有招牌缺點,GAN 怕 Mode Collapse、VAE 怕模糊、Diffusion 怕慢/貴 — 考題愛拿缺點當區分點。"
  },
  "mock_L21302": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 模型部署的核心觀念，何者**最正確**」→ 考點是 AI 部署 vs 傳統 IT 部署的本質差異，特別是「部署 ≠ 上線結束」這個觀念。\n2. **正確答案 (B) 為何對**：教材明示「AI 模型的『部署』不單是模型上線，而是一套涵蓋開發、測試、部署、監控、回訓與優化的完整技術流程」。AI 部署複雜性來自**動態性與資料敏感性** — 模型會隨資料變化而效能衰退（模型漂移），需要彈性更新與及時監控能力。(B) 完整覆蓋這個全生命周期概念。\n3. **其他選項為何刪**：\n   - (A) 上線即完成 → 教材明確否定，部署只是起點不是終點，刪。\n   - (C) AI 部署 = 傳統 IT 部署 → 教材開宗明義說「相較於傳統 IT 系統，AI 系統部署具動態性與資料敏感性」，兩者不同，刪。\n   - (D) 永久有效不衰退 → 與「模型漂移」事實矛盾，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 11（前言與章節導覽）\n\n**融會貫通**：記法「**AI 部署是流程，不是事件**」。傳統 IT 部署比較像「裝軟體上線」，AI 部署則像「養孩子」— 上線後還要持續監控、回訓、優化。看到「部署 = 完成」或「永久有效」這類絕對化敘述，直接刪。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料管線（Data Pipeline）」的定義 → 考點是 Data Pipeline 的完整工作範疇（不是單一動作）。\n2. **正確答案 (B) 為何對**：教材定義 Data Pipeline = **擷取 → 格式轉換 → 清理 → 入庫** 的完整流程，目的是確保資料能持續、穩定地流入模型運行流程。資料來源包括 Data Warehouse、Data Lake、IoT 感測器、第三方 API 等多源。\n3. **其他選項為何刪**：\n   - (A) 僅負責資料儲存 → 範疇太窄，Data Pipeline 包含「擷取、轉換、清理、入庫」四步驟，儲存只是一環，刪。\n   - (C) 模型訓練的別名 → 完全錯位，Data Pipeline 是訓練的「上游資料供應」，不是訓練本身，刪。\n   - (D) 只能處理結構化資料 → 教材明示資料來源含 Data Lake（大規模非結構資料）和 IoT，可處理結構與非結構，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 19-21（系統集成 - 資料來源與資料管線整合）\n\n**融會貫通**：記法「**Data Pipeline 四部曲：擷取→轉換→清理→入庫**」。常見干擾把 Pipeline 窄化為單一動作（只儲存/只擷取/只清理），或把它與「模型訓練」混為一談。Pipeline 是「資料進廠房的輸送帶」，不是廠房本身。",
    "3": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目給出兩個情境「CRM 自動寄促銷信」+「ERP 根據需求預測動態調整採購」→ 考點是把 AI 模型輸出**整合回企業既有核心業務系統**屬於哪一類系統集成。\n2. **正確答案 (B) 為何對**：教材原型案例 — 將模型預測結果整合回 ERP/CRM/POS/MES 等核心系統 = **企業內部系統整合**。題目舉的兩個例子（CRM 寄信、ERP 調採購）正是教材原文舉例。\n3. **其他選項為何刪**：\n   - (A) 資料來源與資料管線整合 → 屬於「資料進入」端（Data Warehouse、Data Lake、IoT、API），題目情境是「模型輸出後接到業務系統」，方向相反，刪。\n   - (C) 安全與權限控管 → 屬於 OAuth2/JWT/API Gateway 領域，與情境無關，刪。\n   - (D) 跨雲與異質系統整合 → 屬於跨平台（本地+雲端+邊緣）的服務中樞層，題目沒提到跨平台問題，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 23-25（系統集成 - 企業內部系統整合）\n\n**融會貫通**：記法「**ERP/CRM/POS/MES = 企業內部系統整合**」。系統集成五大面向：(A)資料管線(進)、(B)企業內部系統(出)、(C)API 接軌(介面)、(D)安全(防護)、(E)跨雲(跨平台)。看到「ERP/CRM 動態調整」就鎖定企業內部系統整合。",
    "4": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「API 與平台接軌」的常見實作方式，何者**並非**教材所列 → 考點是區分「API 接軌工具」vs「其他類別工具（如容器化）」。\n2. **正確答案 (D) 為何對**：Docker 是**容器化工具**（將應用程式與依賴環境封裝），不是 API 接軌方式。教材在「API 與平台接軌」段落明確列出三項 = **RESTful API（最常見）/ gRPC / Webhooks**，依效能與雙向通訊需求選擇。Docker 屬於後面的「容器化與編排」章節，類別錯位。\n3. **其他選項為何刪**（題目問「並非」教材所列，所以教材有列的都刪）：\n   - (A) RESTful API → 教材標為「最常見的實作方式」，刪。\n   - (B) gRPC → 教材列為高效能/雙向通訊選擇，刪。\n   - (C) Webhooks → 教材列為事件驅動通訊選擇，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 27-29（系統集成 - API 與平台接軌）\n\n**融會貫通**：記法「**API 接軌三劍客：REST/gRPC/Webhooks**」。常見干擾把不同章節的工具混進來：Docker（容器化）、Kubernetes（編排）、JWT（驗證）都不是 API 接軌「方式」。看到 Docker/K8s 出現在「API 接軌」題就要警覺類別錯位。",
    "5": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問安全與權限控管「何者**錯誤**」→ 考點是辨識違反資安原則的選項（移除驗證 = 紅燈）。\n2. **正確答案 (D) 為何對**：(D) 主張「為提升效能移除所有身份驗證機制」— 這違反教材原則。教材明示 AI 系統涉及**個資、商業機密、金融應用**時，安全考量必須納入，移除驗證會造成嚴重資安風險。題目要選「錯誤」敘述，所以 (D)。\n3. **其他選項為何刪**（題目找錯誤的，正確的都刪）：\n   - (A) OAuth2 或 JWT 進行身份驗證與授權 → 教材明列的標準安全措施，刪。\n   - (B) 不同角色設定不同存取權限（如僅部分用戶可重訓） → 教材原文範例，刪。\n   - (C) API Gateways 記錄日誌與流量控管 → 教材明列的第三項安全措施，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 31-39（系統集成 - 安全與權限控管）\n\n**融會貫通**：記法「**安全三層：OAuth2/JWT（驗證）+ RBAC（授權）+ API Gateway（控管）**」。實務 vs 教材慣例都一致 — 任何「為效能犧牲安全」的選項，在 iPAS 試題裡幾乎必錯。看到「移除驗證 / 取消加密 / 關閉日誌」這類措辭直接刪。",
    "6": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「跨雲與異質系統整合」的設計原則，何者**正確** → 考點是教材對跨平台整合的解法（Service Mesh + 中介整合層）。\n2. **正確答案 (B) 為何對**：教材明示 AI 模型可能橫跨**本地、邊緣、雲端**（如 AWS、Azure）。為確保資料一致性與服務連續性，需設計**中介整合層或服務中樞（如 Service Mesh）**，統一管理資料同步、服務調用與狀態追蹤，並避免平台間的資訊孤島。(B) 是教材原文。\n3. **其他選項為何刪**：\n   - (A) 必須完全部署在單一雲端 → 教材明示實務常跨多平台，與原則相反，刪。\n   - (C) 不允許部分訓練在地端、部分推論在雲端 → 教材原型案例就是「雲端訓練 + 邊緣推論」（Hybrid 部署），完全矛盾，刪。\n   - (D) 只適用小型新創 → 教材沒有這種範疇限制，跨雲整合反而是中大型企業的常態，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 41-43（系統集成 - 跨雲與異質系統整合）\n\n**融會貫通**：記法「**Service Mesh = 跨平台統籌者**」。實務 AI 部署很少「全雲」或「全地端」，大多是「訓練在雲、推論在邊」的 hybrid。看到「必須單一雲」「不允許分散」這種絕對化敘述直接刪 — 跨平台整合的核心精神就是「擁抱異質」。",
    "7": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「大規模非結構資料」的代表性儲存設施 → 考點是區分「結構化」（Data Warehouse、ERP、CRM）vs「非結構化」（Data Lake）儲存。\n2. **正確答案 (B) 為何對**：教材定義 Data Lake = **大規模非結構資料的資料湖**。這是教材列舉的四種資料來源之一（Data Warehouse、Data Lake、IoT、第三方 API），且明確標示「非結構」屬性。\n3. **其他選項為何刪**：\n   - (A) Data Warehouse → 偏向結構化分析（傳統 OLAP），與「非結構」屬性相反，刪。\n   - (C) ERP 主檔 → 結構化業務系統（採購/庫存/財務），刪。\n   - (D) CRM 顧客紀錄 → 結構化業務系統（客戶屬性表），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 19（系統集成 - 資料來源與資料管線整合）\n\n**融會貫通**：易混淆對照「**Warehouse vs Lake**」— Warehouse = 結構化（schema-on-write，先定 schema 再存）、Lake = 非結構化（schema-on-read，先存再定 schema）。記法：Warehouse 像「整理好的倉庫」，Lake 像「自然湖泊什麼都能丟」。看到「非結構/原始資料」就鎖定 Data Lake。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「JWT（JSON Web Token）的主要用途」→ 考點是 JWT 在 AI 系統中的角色定位（身份驗證 vs 其他容易混淆的功能）。\n2. **正確答案 (B) 為何對**：教材明列 JWT 與 OAuth2 並列為**用戶身份驗證與授權**（Authentication & Authorization）的標準方案。JWT 的本質是一個帶簽章的 token，可在無狀態 API 呼叫中攜帶身份資訊。\n3. **其他選項為何刪**：\n   - (A) 容器編排 → 是 Kubernetes 的工作，類別錯位，刪。\n   - (C) 模型版本控制 → 是 MLflow / DVC 的工作，類別錯位，刪。\n   - (D) 異常值偵測 → 是 Model Drift / Data Drift 監控的工作，類別錯位，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 35（系統集成 - 安全與權限控管）\n\n**融會貫通**：易混淆對照「**OAuth2/JWT（身份驗證）vs API Gateway（流量管控）vs Docker（容器化）**」— 三者都是 AI 系統常見組件但用途不可混。記法：JWT = 「**門票**」，每次 API 呼叫帶著走、Server 驗證簽章就放行。看到「身份/授權/Authentication」三個詞就鎖定 OAuth2 或 JWT。",
    "9": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問微服務架構的「優點」何者**錯誤** → 考點是分辨微服務的「優點」vs「挑戰」（教材有明確列表分開）。\n2. **正確答案 (D) 為何對**：(D) 說「分散式管理複雜度低，無需設計標準 API」— 這正是微服務的**挑戰**（不是優點）。教材明列微服務挑戰兩項：(1) 模組間介接**需設計標準 API**、(2) 分散式管理複雜度**高**。(D) 把挑戰偽裝成優點，反向陳述，所以「錯誤」。\n3. **其他選項為何刪**（題目找錯誤的，正確優點都刪）：\n   - (A) 易於隔離錯誤（單一模組失效不影響全系統） → 教材列為微服務優點，刪。\n   - (B) 適合跨團隊並行開發 → 教材列為微服務優點，刪。\n   - (C) 可依模組需求彈性調整資源 → 教材列為微服務優點，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 53-65（系統架構設計 - 微服務架構）\n\n**融會貫通**：記法「**微服務的代價：API 設計 + 分散式管理**」。對照單體架構（Monolithic）vs 微服務（Microservices）— 微服務換來了模組隔離與彈性，但付出了 API 設計與運維複雜度的代價。看到「分散式 + 複雜度低」的組合就警覺：是不是把挑戰假裝成優點？",
    "10": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Docker 與 Kubernetes 的功能對應，何者**正確** → 考點是兩者分工的本質差異（容器化 vs 容器編排）。\n2. **正確答案 (C) 為何對**：教材原文 — **Docker：容器映像建構與執行**（封裝應用程式與依賴環境，確保跨平台部署一致性）；**Kubernetes（K8s）：容器編排、資源調度、故障恢復**（管理大量容器的集群層工具）。(C) 完全對應。\n3. **其他選項為何刪**：\n   - (A) Docker → 容器編排、資源調度、故障恢復 → 把 K8s 的工作塞給 Docker，**功能對調**，刪。\n   - (B) Kubernetes → 容器映像建構與執行 → 把 Docker 的工作塞給 K8s，**功能對調**，刪。\n   - (D) 兩者功能完全相同可互換 → Docker 與 K8s 是不同層次工具（一個負責單機封裝、一個負責叢集調度），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 71-75（系統架構設計 - 容器化與編排）\n\n**融會貫通**：記法「**Docker 蓋房子、K8s 管社區**」— Docker 負責建造單一容器（房子），K8s 負責管理一群容器（社區管委會：調度、故障恢復、自動擴縮）。常見干擾就是「功能對調 swap」，看到 Docker 跟編排扯上、K8s 跟建構扯上，直接刪。",
    "11": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「容器化常見實作原則」，何者**並非**教材所列 → 考點是分辨「容器層原則」vs「模型層技術」。\n2. **正確答案 (D) 為何對**：模型參數壓縮（Model Quantization）屬於**模型優化技術**（將浮點數壓縮為更小的位元數降低運算成本），不是容器化實作原則。教材在「容器化與編排」段落明列三項實作原則 = **滾動更新（Rolling Update）/ 自動擴縮（Autoscaling）/ 負載平衡（Load Balancing）**。(D) 類別錯位。\n3. **其他選項為何刪**（題目問「並非」，教材有列的都刪）：\n   - (A) 滾動更新 → 教材原文列為容器化原則之一，刪。\n   - (B) 自動擴縮 → 教材原文列為容器化原則之二，刪。\n   - (C) 負載平衡 → 教材原文列為容器化原則之三，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 79-83（系統架構設計 - 容器化與編排）\n\n**融會貫通**：記法「**容器化三原則：滾動 / 擴縮 / 負載**（Rolling / Autoscale / LB）」。對照「模型優化技術」（壓縮/量化/蒸餾/剪枝）— 兩者屬於不同層次：容器層管「服務怎麼跑」、模型層管「模型怎麼變小變快」。看到模型壓縮/量化出現在「容器化」題目就警覺。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型服務化與 API 封裝」的常用工具 → 考點是辨識教材列出的三個推論服務封裝工具。\n2. **正確答案 (A) 為何對**：教材原文列出 **Flask、FastAPI、TensorFlow Serving** 為將 AI 模型封裝為可透過 HTTP/REST 呼叫的推論服務工具。Flask/FastAPI 是 Python web 框架（通用 API 封裝），TensorFlow Serving 是 Google 的專用推論服務框架。三者並列，(A) 完整正確。\n3. **其他選項為何刪**：\n   - (B) 只能使用 Flask → 範疇過窄，與教材三項並列矛盾，刪。\n   - (C) TensorFlow Serving 是容器編排工具 → 類別錯位，編排是 K8s 的工作，刪。\n   - (D) FastAPI 只能用於前端開發 → 完全錯位，FastAPI 是後端 API 框架（不是前端），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 87（系統架構設計 - 模型服務化與 API 封裝）\n\n**融會貫通**：記法「**模型上 API 三槍手：Flask / FastAPI / TF Serving**」。常見干擾把 FastAPI 跟「前端框架」（React/Vue）混淆，或把 TF Serving 跟「容器編排」（K8s）混淆。實務選型：小專案 Flask、效能要求 FastAPI、TF 生態系專案 TF Serving。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「冗餘部署（Redundancy）與容錯切換（Failover）的差異」→ 考點是兩個高可用設計概念的精準定義（常被混淆）。\n2. **正確答案 (B) 為何對**：教材原文 — **冗餘部署（Redundancy）= 多節點部署避免單點故障**（事前預備）；**容錯切換（Failover）= 一個節點故障時自動切換至備援節點**（事後切換）。兩者組合構成高可用架構：先有 Redundancy 才能 Failover。(B) 完全對應教材。\n3. **其他選項為何刪**：\n   - (A) 兩者意義相同 → 教材分別給定義，意義不同，刪。\n   - (C) Redundancy = 容器自動擴縮；Failover = 滾動更新 → 把不同章節的概念錯亂對應（Autoscaling 屬容器化原則、Rolling Update 屬容器化原則），刪。\n   - (D) Failover 只用於開發環境 → 完全錯位，Failover 主要用於**生產環境**確保服務連續性，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 99-101（系統架構設計 - 可擴充與高可用性設計）\n\n**融會貫通**：記法「**Redundancy = 預備、Failover = 切換**」— 兩個動作的時間軸不同：Redundancy 是事前部署多節點（靜態），Failover 是事後偵測故障並切換（動態）。實務舉例：雙活資料庫（Redundancy 都跑著），主庫掛了切備庫（Failover 動作）。",
    "14": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問公有雲部署何者**錯誤** → 考點是分辨公有雲的「優勢」vs「挑戰」（特別是合規風險不能忽略）。\n2. **正確答案 (D) 為何對**：(D) 說「完全沒有任何資料安全與合規風險，可放心處理任何敏感資料」— 違反教材原文。教材明示公有雲挑戰 = **法規遵循（如 GDPR）、資料主權、供應商鎖定風險**（vendor lock-in），特別在處理敏感資料時要關注。題目找錯誤的，所以 (D)。\n3. **其他選項為何刪**（題目找錯誤的，正確敘述都刪）：\n   - (A) AWS / Azure / GCP 是公有雲代表 → 教材原文列舉，刪。\n   - (B) 優勢 = 資源彈性擴充、部署速度快、按量付費 → 教材列為公有雲優勢，刪。\n   - (C) 敏感資料需關注 GDPR、資料主權、供應商鎖定 → 教材列為公有雲挑戰，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 109-115（部署模式 - 公有雲部署）\n\n**融會貫通**：記法「**公有雲：彈性 vs 合規**」— 公有雲彈性 + 快速 + 全球節點是優勢，但「資料離開內部」這個事實帶來合規風險（GDPR）、資料主權、vendor lock-in 三大挑戰。看到「完全沒風險 / 任何敏感資料都可」這類絕對化敘述直接刪。",
    "15": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目給情境「政府機關 + 民眾敏感個資 + 資料僅在內部可控環境不外流」→ 考點是匹配四種部署模式中對「資料控制度最高」的模式。\n2. **正確答案 (B) 為何對**：教材原文 — 私有雲 = 企業自建或專屬的雲端環境（OpenStack、VMware），優勢 = **資安風險可控、資料僅在內部可控環境（不外流）、可依產業法規定制化**，適用情境 = **政府、金融、醫療等對資料保護要求嚴格的領域**。題目情境（政府 + 敏感個資 + 不外流）正是教材原型案例。\n3. **其他選項為何刪**：\n   - (A) 公有雲 → 資料會離開內部進入雲端供應商，與「不外流」矛盾，刪。\n   - (C) 邊緣運算 → 雖然有隱私優勢（資料不上雲），但邊緣是「設備端」（IoT、手機、車載），不是政府機關集中處理民眾個資的場景，刪。\n   - (D) 不部署任何 AI → 與題意（希望部署但要安全）相反，極端選項，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 117-125（部署模式 - 私有雲部署）\n\n**融會貫通**：記法「**政府/金融/醫療 → 私有雲**」三大法規嚴領域。常見情境題：「資料不外流 + 法規嚴格 + 自建環境 = 私有雲」；「IoT + 即時 + 設備端 = 邊緣」；「新創 + 彈性 + 跨地區 = 公有雲」；「雲訓+邊推 = 混合」。",
    "16": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問邊緣運算的「優勢」何者**並非**教材所列 → 考點是分辨邊緣運算優勢 vs 公有雲優勢（典型 swap 干擾）。\n2. **正確答案 (D) 為何對**：「全球節點支援與無限制的運算資源」是**公有雲**的優勢（教材原文 line 111 列舉「全球節點支援」是公有雲特性）。邊緣運算的**挑戰**反而是「運算資源有限、更新與同步需額外設計」。題目問邊緣優勢，(D) 不是教材所列。\n3. **其他選項為何刪**（題目問「並非」，邊緣真實優勢都刪）：\n   - (A) 即時反應、降低傳輸延遲 → 教材原文列為邊緣優勢（靠近資料源），刪。\n   - (B) 提升隱私保護（資料不需上傳雲端） → 教材原文列為邊緣優勢，刪。\n   - (C) 工業設備監控、智慧城市、車聯網 → 教材原文列為邊緣適用情境，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 129-137（部署模式 - 邊緣運算）\n\n**融會貫通**：易混淆對照「**邊緣（即時/算力限）vs 公有雲（彈性/全球節點）**」— 兩者特性幾乎相反。常見干擾就是把公有雲的「彈性擴充 / 全球節點 / 無限資源」塞給邊緣運算。記法：邊緣 = 「靠近用戶但裝置小」，公有雲 = 「遠在天邊但資源無限」。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問混合部署（Hybrid Deployment）的特性，何者**最正確** → 考點是 Hybrid 的精髓（多種模式組合 + 各取所長）。\n2. **正確答案 (B) 為何對**：教材原文 — Hybrid 部署「**結合公有雲、私有雲與邊緣架構**，針對不同任務配置最合適的執行位置」。典型範例 = **雲端進行模型訓練，邊緣進行即時推論**（雲端算力強、邊緣延遲低，各取所長）。挑戰 = 系統整合難度高 + 同步機制設計。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 只能結合公有雲與私有雲，無法納入邊緣 → 教材明示三種都可結合，範疇錯，刪。\n   - (C) 比單一雲端部署更簡單 → 教材明示 Hybrid 挑戰 = 系統整合難度**高**，反向陳述，刪。\n   - (D) 不適用於 AI → 教材整節都在講 AI 部署的混合模式，矛盾，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 139-147（部署模式 - 混合部署）\n\n**融會貫通**：記法「**Hybrid = 雲訓 + 邊推 + 私存**」典型架構。實務上中大型企業很少 100% 純單一模式，而是依任務分配：訓練（吃算力）放雲端、推論（要即時）放邊緣、敏感資料（要合規）放私有雲。看到「彈性 + 系統整合難 + 同步機制」就鎖定 Hybrid。",
    "18": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問邊緣運算的「典型應用情境」→ 考點是辨識教材列出的邊緣適用場景。\n2. **正確答案 (B) 為何對**：教材原文列出邊緣運算適用情境 = **工業設備監控、智慧城市、車聯網、邊緣 AI 智慧應用**。共同特徵 = 設備端（IoT/手機/車載）+ 即時反應 + 隱私保護。\n3. **其他選項為何刪**：\n   - (A) 跨地區大型 GPU 訓練叢集 → 屬於公有雲適用情境（GPU 資源密集型訓練），刪。\n   - (C) 集中式資料倉儲分析 → 屬於 Data Warehouse 用途，集中式與「邊緣分散」相反，刪。\n   - (D) 雲端 BI 報表展示 → 屬於雲端應用（前端展示），與邊緣運算（推論端）方向不同，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 135（部署模式 - 邊緣運算）\n\n**融會貫通**：記法「**邊緣四場景：工業/智慧城市/車聯網/邊緣 AI**」共同特徵是「資料源就在現場 + 要即時反應」。對比：訓練（吃 GPU）→ 公有雲；報表（後台分析）→ 雲端 BI；推論（現場即時）→ 邊緣。看到「IoT/車載/工廠監控」直接鎖定邊緣。",
    "19": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問四種部署模式適用情境的對應，何者**錯誤** → 考點是檢查 Hybrid 部署是否被錯誤窄化。\n2. **正確答案 (D) 為何對**：(D) 說「混合部署只適用於小型試驗性專案，無法支援大規模生產」— 違反教材精神。Hybrid 部署**因彈性高反而適合大型企業生產實務**（典型案例：雲端訓練 + 邊緣推論 + 私有雲存敏感資料）。教材標示其優勢 = 「兼顧計算能力、反應速度與資料保護；具彈性且適應多元情境」。題目找錯誤的，所以 (D)。\n3. **其他選項為何刪**（題目找錯誤的，正確對應都刪）：\n   - (A) 公有雲：新創團隊、中大型企業 AI 專案、跨地區部署 → 教材原文（line 113），刪。\n   - (B) 私有雲：政府、金融、醫療等資料保護嚴格領域 → 教材原文（line 125），刪。\n   - (C) 邊緣運算：工業設備監控、智慧城市、車聯網 → 教材原文（line 135），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 109-147（部署模式 - 四種模式適用情境彙整）\n\n**融會貫通**：四種部署模式適用情境速查 — **公有雲（彈性/跨地區）、私有雲（嚴法規）、邊緣（即時/IoT）、混合（彈性多元）**。記法：Hybrid 是「四選一」中的「四全選」— 反而是大型企業生產實務最常見的解法。看到「Hybrid 只適用小型」這種窄化敘述直接刪。",
    "20": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MLOps 的核心定義，何者**最正確** → 考點是 MLOps 的本質（DevOps × ML 全生命週期整合）。\n2. **正確答案 (B) 為何對**：教材原文 — 「MLOps 是 **DevOps 在 AI 領域的延伸**，強調將模型訓練、測試、部署與監控進行**持續整合與自動化**，確保模型在**全生命週期中的一致性、效率與可追蹤性**」。(B) 完整覆蓋三個核心要素：DevOps 延伸 + 自動化 + 全生命週期。\n3. **其他選項為何刪**：\n   - (A) MLOps 與 DevOps 不相容 → 教材明示 MLOps 是 DevOps 的「延伸」（不是對立），刪。\n   - (C) 只負責訓練階段自動化 → 範疇過窄，教材列出涵蓋訓練/測試/部署/監控四階段，刪。\n   - (D) 不需要監控機制 → 違反教材精神，監控（Monitoring & Feedback）是 MLOps 核心章節 B 段，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 153（MLOps 與持續維運）\n\n**融會貫通**：記法「**MLOps = DevOps × ML 全生命週期**」。對照 DevOps（軟體交付自動化）→ MLOps（多加了模型訓練/評估/監控/再訓練）。MLOps 的四大支柱 = CI/CD + 版本管理（MLflow/DVC）+ 監控（Drift）+ 自動再訓練。看到「不需要監控/只管訓練」這類窄化敘述直接刪。",
    "21": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 CI/CD 內容對應，何者**錯誤** → 考點是區分 CI（持續整合）vs CD（持續部署）的職責邊界。\n2. **正確答案 (D) 為何對**：(D) 說「CD：原始碼變動觸發訓練流程」— 這是**CI 的觸發機制**，不是 CD。教材原文：CI = 原始碼與資料變動觸發**訓練與測試**；CD = 通過測試門檻後**自動部署**至測試或生產環境（支援 A/B 測試、藍綠部署）。題目找錯誤的，(D) 把 CI 的工作說成 CD，職責錯位。\n3. **其他選項為何刪**（題目找錯誤的，正確對應都刪）：\n   - (A) CI：原始碼/資料變動觸發訓練測試 → 教材原文，刪。\n   - (B) CI：整合單元測試、準確率驗證、效能基準比較 → 教材原文，刪。\n   - (C) CD：通過測試門檻後自動部署 → 教材原文，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 161-171（MLOps - 持續整合與持續部署）\n\n**融會貫通**：易混淆對照「**CI = 整合/訓練/測試（事前驗證）vs CD = 部署/上線/A/B/藍綠（事後發布）**」。記法：CI 是「**準備好可上線的東西**」，CD 是「**把它送出去**」。看到「觸發訓練」鎖定 CI，看到「自動部署/A/B/藍綠」鎖定 CD。",
    "22": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問模型版本控管工具 MLflow vs DVC 的功能對應，何者**正確** → 考點是兩個工具的職責邊界。\n2. **正確答案 (C) 為何對**：教材原文 — **MLflow = 開源平台，用於管理機器學習全流程**（實驗記錄、模型訓練、部署與版本控制）；**DVC（Data Version Control）= 版本控制工具，專為 ML 項目設計，支援資料集與模型的版本追蹤與再現性**。(C) 完整對應兩個工具的定位。\n3. **其他選項為何刪**：\n   - (A) MLflow → 容器編排工具 → 類別錯位（編排是 K8s 的工作），刪。\n   - (B) DVC → 模型推論服務封裝 → 類別錯位（封裝是 Flask/FastAPI 的工作），刪。\n   - (D) MLflow 與 DVC 都是雲端部署平台 → 兩者都不是部署平台（是版本管理工具），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 175-179（MLOps - 模型版本控管）\n\n**融會貫通**：易混淆對照「**MLflow（全流程平台）vs DVC（資料版本控制）**」— MLflow 像「ML 版的 GitHub + Jenkins」（涵蓋實驗、追蹤、部署），DVC 像「資料版的 Git」（專注資料/模型檔案版本）。實務常並用：DVC 管資料、MLflow 管實驗與部署。看到「容器/推論/部署平台」字眼出現在 MLflow/DVC 題就警覺類別錯位。",
    "23": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問藍綠部署（Blue-Green）與金絲雀部署（Canary）的敘述，何者**正確** → 考點是兩種部署策略的共通定位（都是 CD 中的風險控制手段）。\n2. **正確答案 (A) 為何對**：教材在 CD 段落（line 171）明示 CD「支援 A/B 測試或藍綠部署以控制風險」；在成效追蹤章節（line 241）再次提到「可搭配藍綠部署、金絲雀部署等技術，降低新模型不穩定帶來的風險」。兩者皆為 MLOps 中**支援風險控制的部署策略**。\n3. **其他選項為何刪**：\n   - (B) 藍綠部署需要關閉整個服務才能更新 → 違反教材精神。藍綠的本意是「同時保留新舊版本切換」**不中斷服務**，刪。\n   - (C) 金絲雀部署是非自動化、需手動操作 → 違反教材精神。Canary 是自動化部署策略（小流量先測），刪。\n   - (D) 兩者都會中斷服務 → 兩者皆設計來**避免**中斷服務（風險控制），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 171、241（MLOps - 持續部署 / 成效追蹤 - 模型更新）\n\n**融會貫通**：記法「**藍綠 = 兩套並存切換、金絲雀 = 小流量試水溫**」— 藍綠是「同時運行兩個版本，瞬間切換」（風險：要兩倍資源），金絲雀是「先給 5% 用戶試，沒問題再擴大」（風險：較小但慢）。兩者 + 滾動更新（Rolling Update）構成 MLOps 三大風險控制部署策略。",
    "24": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MLOps 模型監控的「常見監控項目」何者**並非**教材所列 → 考點是辨識技術監控指標 vs 不相關指標（員工滿意度）。\n2. **正確答案 (D) 為何對**：開發人員員工滿意度屬於**人資 / 組織管理**指標，不是 MLOps 的監控項目。教材明列模型監控項目 = **(1) 模型漂移（Model Drift）/ (2) 資料漂移（Data Drift）/ (3) 錯誤率、延遲、吞吐量等效能指標**。員工滿意度與模型表現無關，類別錯位。\n3. **其他選項為何刪**（題目問「並非」，教材所列都刪）：\n   - (A) 模型漂移（Model Drift）→ 預測分佈與訓練時不同，教材原文，刪。\n   - (B) 資料漂移（Data Drift）→ 輸入資料統計特徵改變，教材原文，刪。\n   - (C) 錯誤率、延遲、吞吐量等效能指標 → 教材原文，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 185-191（MLOps - 模型監控與回饋機制）\n\n**融會貫通**：易混淆對照「**Model Drift（預測分佈變了）vs Data Drift（輸入特徵變了）**」— 一個看「輸出端」，一個看「輸入端」。記法：監控項目都跟「模型/資料/效能」三個關鍵字相關，看到「員工/部門/組織」這種人資指標出現在技術監控題就警覺類別錯位。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MLOps「回饋與自動修正流程」的敘述，何者**錯誤** → 考點是區分「可視化工具」vs「再訓練流程」（兩者不可互相取代）。\n2. **正確答案 (D) 為何對**：(D) 說「整合 Prometheus + Grafana 後即可完全省略自動再訓練流程」— 違反教材精神。Prometheus + Grafana 是教材列出的**可視化與預警工具**（Log 分析 + Dashboard），用於**監控與通知**；**再訓練流程（Retraining Pipeline）是另一條獨立的修正路徑**，兩者搭配使用而非取代。題目找錯誤的，(D) 答對。\n3. **其他選項為何刪**（題目找錯誤的，正確流程都刪）：\n   - (A) 設定觸發門檻（如準確率下降 5%） → 教材原文，刪。\n   - (B) 啟動再訓練流程（Retraining Pipeline） → 教材原文，刪。\n   - (C) 透過熱更新（Hot Swap）或滾動更新替換模型版本 → 教材原文，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 193-205（MLOps - 模型監控與回饋機制）\n\n**融會貫通**：易混淆對照「**監控 vs 修正**」— Prometheus + Grafana 負責「看到問題」（監控/預警），Retraining Pipeline 負責「解決問題」（修正/更新）。兩者是上下游關係不可取代。常見干擾：把工具吹捧成「萬能解」（裝了 Prometheus 就不用再訓練？不可能）。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 KPI 三層級設計的對應，何者**正確** → 考點是 KPI 三層級（系統/應用/業務）的指標歸屬。\n2. **正確答案 (A) 為何對**：教材原文三層級 KPI — **系統層級：推論延遲（Inference Latency）、吞吐量（Throughput）、服務可用率（Uptime）、資源使用率（如 GPU 記憶體）**。(A) 的對應完全正確。\n3. **其他選項為何刪**：\n   - (B) 應用層級：投資報酬率 ROI、轉換率、成本節省 → 這些是**業務層級**指標（教材原文 line 221），層級錯位，刪。\n   - (C) 業務層級：F1-Score、Accuracy、預測準確率 → 這些是**應用層級**指標（教材原文 line 219），層級錯位，刪。\n   - (D) 三層級指標完全相同 → 教材明示三層級各有不同指標，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 215-221（成效追蹤與優化 - KPI 設定）\n\n**融會貫通**：記法「**系統層（機器跑得好不好）→ 應用層（模型準不準）→ 業務層（賺不賺錢）**」。三層級對應三種視角：系統 = 工程指標（延遲/吞吐/Uptime/GPU）、應用 = ML 指標（CTR/Accuracy/F1）、業務 = 商業指標（ROI/轉換率/留存）。常見干擾就是「層級互換」— 看到 ROI 跑到系統層、F1 跑到業務層就警覺。",
    "27": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料與績效回收週期（Feedback Loop）」的設計，何者**最符合**教材建議 → 考點是教材建議的多層次回收節奏（日/週/月）。\n2. **正確答案 (A) 為何對**：教材原文建議的回收週期 = **每日監控推論效能與使用情況；每週收集錯誤樣本與業務回饋；每月進行一次模型重新評估或 retraining 需求確認**。(A) 完整對應三層節奏，從高頻監控（每日效能）到中頻分析（每週樣本）再到低頻評估（每月重評）。\n3. **其他選項為何刪**：\n   - (B) 一年回收一次足矣 → 頻率過低，違反「定期回收」原則，模型漂移可能早就嚴重，刪。\n   - (C) 完全不需要回收週期 → 違反 MLOps 核心精神（回饋與監控不可缺），刪。\n   - (D) 只在重大故障時才回收 → 被動處理，違反「主動定期監測」精神，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 225-231（成效追蹤與優化 - 資料與績效回收週期）\n\n**融會貫通**：記法「**日效能 / 週樣本 / 月重評**」三層回收節奏。對應實務：每日看 Dashboard 數字（自動監控）、每週看錯誤樣本（人工 + 系統）、每月決定要不要重訓（評審會議）。常見干擾把頻率拉到極端（一年一次/從不/只看故障），都違反「主動定期」精神。",
    "28": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「跨層級指標聯動」的敘述，何者**最正確** → 考點是教材建議的「技術 + 業務」雙軌制（跨部門共同語言）。\n2. **正確答案 (B) 為何對**：教材原文 — 「實務中，單一層級指標可能無法全面反映系統效能，建議採『**技術指標 + 業務指標**』雙軌制，讓**工程團隊與業務部門有共同語言與追蹤重心**」。(B) 完整對應教材建議。\n3. **其他選項為何刪**：\n   - (A) 單一層級指標即可全面反映系統效能 → 教材明示「單一層級可能無法全面反映」，與雙軌制建議相反，刪。\n   - (C) 工程指標與業務指標完全衝突無法協調 → 教材強調兩者應建立**共同語言**（協調，不是衝突），刪。\n   - (D) 業務團隊不應介入技術指標 → 跨部門整合章節（後續 Q29）明示業務部門角色重要，刪。\n\n**📖 章節來源**：chunks/L21302.txt line 233-235（成效追蹤與優化 - 跨層級指標聯動）\n\n**融會貫通**：記法「**技術 + 業務雙軌制 = 跨部門共同語言**」。實務情境：工程團隊只看 F1-Score 不夠（業務看不懂），業務團隊只看 ROI 不夠（無法追溯模型問題），兩者並用才能在會議上對齊（例：F1 從 0.85 降到 0.78，導致 ROI 下降 12%）。看到「單一指標 / 衝突 / 業務不該介入」這類隔離化敘述直接刪。",
    "29": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問跨部門整合的部門角色責任對應，何者**錯誤** → 考點是辨識資訊部門的職責範圍（部署/權限/API 維運 vs 資料標註/行銷文案）。\n2. **正確答案 (D) 為何對**：(D) 說「資訊部門：負責資料標註與行銷文案撰寫」— 角色錯位。教材原文 — **資訊部門：負責部署、權限管理、API 整合與維運支援**，確保 AI 系統可穩定接軌企業基礎架構。資料標註通常由業務/客服或專門標註團隊負責；行銷文案是行銷部門工作。題目找錯誤的，(D) 答對。\n3. **其他選項為何刪**（題目找錯誤的，正確對應都刪）：\n   - (A) 業務與行銷部門：提供需求情境與績效指標 → 教材原文（line 261），刪。\n   - (B) 客服與營運部門：回收互動案例與異常反應 → 教材原文（line 263），刪。\n   - (C) 法務與風險部門：審查資料隱私、模型公平性與風險揭露 → 教材原文（line 265），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 261-267（跨部門整合 - 明確部門角色與參與責任）\n\n**融會貫通**：記法「**部門四角色：業務（需求/績效）/ 客服（互動/案例）/ 法務（隱私/公平/合規）/ 資訊（部署/API/維運）**」。常見干擾就是「角色互換」— 把資訊部門的工作（API/部署）和業務部門的工作（資料標註/文案）對調。看到「資訊部門 + 文案/標註」這種組合就警覺類別錯位。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問將 AI 納入組織治理流程的措施，何者**並非**教材所列 → 考點是辨識正確治理機制（建立溝通）vs 反向操作（取消協作）。\n2. **正確答案 (D) 為何對**：(D) 說「取消所有跨部門協作會議以提升開發速度」— 違反教材原則。教材明示 AI 治理需「建立常態溝通與決策機制」，**取消跨部門協作會造成需求脫節、責任模糊**（教材在風險章節也警示此問題）。題目問「並非教材所列」，(D) 是反向操作。\n3. **其他選項為何刪**（題目問「並非」，教材所列都刪）：\n   - (A) 設立 AI 治理委員會：統籌資源分配、風險審查與戰略發展 → 教材原文（line 283），刪。\n   - (B) 內部 AI 產品經理或協調人員：作為技術與部門間的橋梁 → 教材原文（line 285），刪。\n   - (C) 跨部門培訓與教育機制：強化非技術人員對 AI 的理解 → 教材原文（line 287），刪。\n\n**📖 章節來源**：chunks/L21302.txt line 281-287（跨部門整合 - AI 納入組織治理流程）\n\n**融會貫通**：記法「**AI 治理三件套：治理委員會 + AI 產品經理 + 跨部門培訓**」。對應三層次：戰略層（委員會統籌）、執行層（PM 協調）、文化層（培訓教育）。常見干擾就是「反向操作」— 把『加強協作』反過來說『取消會議』。看到「取消跨部門/減少溝通」這類反向措辭直接刪 — 治理的本質就是「制度化的協作」。"
  },
  "mock_L23101": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「機器學習模型核心任務的本質」→ 考點是教材對 ML 本質的定位（不是技術手段，而是面對「不確定性」的方法論）。\n2. **正確答案 (B) 為何對**：教材明指 ML 模型的核心任務「並非僅在於尋找絕對規則，而是要能處理資料中不可避免的『不確定性』，並在此基礎上進行合理的預測與決策」，這正是機率與統計在 ML 中扮演關鍵角色的原因。\n3. **其他選項為何刪**：\n   - (A) 尋找絕對規則與唯一解 → 教材**明確否定**這種看法（「並非僅在於尋找絕對規則」），刪。\n   - (C) 透過資料壓縮降低運算成本 → 屬於降維或壓縮模型的目的，不是 ML 本質，刪。\n   - (D) 將所有特徵正規化至 [0,1] 區間 → 這是特徵工程的前處理動作，不是模型「核心任務」，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 9（前言與章節導覽）\n\n**融會貫通**：記法「**ML 不是找絕對解、而是與不確定性共處**」。這也是為什麼 ML 必須建立在機率/統計之上 — 因為所有的「不確定性」量化都靠機率工具。看到「絕對規則／唯一解」這種太絕對的字眼通常就是干擾項。",
    "2": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問條件機率分佈 `P(Y|X)` 兩種意涵中**錯誤**的敘述 → 考點是 `P(Y|X)` 的適用範圍。\n2. **正確答案 (D) 為何對**：選項 (D) 說「`P(Y|X)` 僅適用於連續型變數的密度估計，不適用於分類任務」**錯誤**。事實上分類任務（離散 Y）正是 `P(Y|X)` 最典型的應用（如分類機率、邏輯迴歸、貝氏分類器），迴歸（連續 Y）也適用。`P(Y|X)` 是 ML 模型的通用形式化，與 Y 的型態無關。\n3. **其他選項為何刪**：\n   - (A) 預測導向：模型輸出為機率而非確定性結果 → 教材列示的兩種意涵之一，刪。\n   - (B) 不確定性評估：反映模型信心程度 → 教材列示的另一種意涵，刪。\n   - (C) X 為輸入特徵、Y 為目標變數 → 教材定義（line 17），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 15-20（資料與隨機變數的機率表示）\n\n**融會貫通**：記法「**`P(Y|X)` 是 ML 的通用語**」— 分類（Y 離散）、迴歸（Y 連續）、生成模型都用。看到「僅適用於 XX」這種限縮性敘述，通常都是干擾項。",
    "3": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問機率分佈在「模型設計」中扮演的角色 → 考點是分佈與模型架構之間的關係（先驗假設）。\n2. **正確答案 (B) 為何對**：教材明指「選用的機率分佈代表對資料生成機制的先驗假設」，並會「影響模型選擇與參數學習方式」。例如邏輯迴歸假設目標變數服從伯努利分佈、線性迴歸假設誤差項服從常態分佈、VAE 將潛在變數分佈納入模型核心。\n3. **其他選項為何刪**：\n   - (A) 僅作為視覺化工具 → 過度貶低，分佈是模型核心假設不是視覺化工具，刪。\n   - (C) 用於計算模型訓練時間 → 與訓練時間無關，刪。\n   - (D) 僅在資料前處理階段使用，與模型本身無關 → 教材明指分佈深入模型架構（VAE），不是只有前處理，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 22、70（離散/連續機率分佈、模型設計中的先驗假設）\n\n**融會貫通**：記法「**選分佈 = 選假設**」。在模型設計中，每個分佈背後都對應一組對資料生成機制的信念（Generative Assumption），這也是為什麼換分佈就會換模型（伯努利→邏輯迴歸、常態→線性迴歸、潛在變數分佈→VAE）。",
    "4": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問離散型隨機變數**錯誤**敘述 → 考點是 PMF vs PDF 的混淆（離散用 PMF，連續用 PDF）。\n2. **正確答案 (C) 為何對**：選項 (C) 說「可使用機率密度函數（PDF）描述其特定取值的機率」**錯誤**。離散型必須用 **PMF（機率質量函數）**描述每一特定取值的機率，PDF 是「連續型」隨機變數的工具。教材把兩者刻意對調是高頻干擾。\n3. **其他選項為何刪**：\n   - (A) 取值是有限或可數的 → 教材定義（line 28），刪。\n   - (B) 例如擲骰子的結果 → 教材舉例（line 28），刪。\n   - (D) 透過 PMF 描述每一個特定取值的機率 → 教材定義（line 32），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 26-32、52-54（離散/連續型機率分佈）\n\n**融會貫通**：記法「**M = Mass 質量／離散**；**D = Density 密度／連續**」。PMF 講「某點機率」，PDF 講「區間機率」（單點機率為零）。看到 PDF 用在離散、或 PMF 用在連續，立刻刪。",
    "5": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PMF **正確**敘述 → 考點是 PMF 的核心性質（單點機率 + 總和為 1）。\n2. **正確答案 (B) 為何對**：教材明確列出 PMF 的核心性質「PMF 總和等於 1（`∑ P(X=xᵢ)=1`）」（line 32-38），這是離散型機率分佈必須滿足的歸一化條件。\n3. **其他選項為何刪**：\n   - (A) PMF 描述連續型於某取值範圍內的機率 → 錯誤，這是 PDF 的描述（連續型用 PDF），刪。\n   - (C) PMF 在單一點的機率為零 → 錯誤，這是**連續型**的性質（PDF 單點機率為零），PMF 的單點就是機率值（如 `P(X=1)=1/6`），刪。\n   - (D) PMF 需透過積分計算區間內的機率 → 錯誤，積分是 PDF 的計算方式（`∫ₐᵇ f(x)dx`），PMF 是用加總（`∑`），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 32-38（離散型機率分佈）\n\n**融會貫通**：記法「**離散用加（∑）、連續用積（∫）**」。三個 PDF 屬性（連續、單點零、積分）都被刻意安到 PMF 身上做干擾。",
    "6": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問離散型機率分佈與情境配對**錯誤**者 → 考點是泊松（Poisson）vs 指數（Exponential）的混淆。\n2. **正確答案 (C) 為何對**：選項 (C) 說「泊松分佈描述事件發生『之間的間隔時間』，具備無記憶性」**錯誤**。泊松描述的是「固定時間/空間區間中事件**發生次數**」（如單位時間客服來電數）。「間隔時間 + 無記憶性」是**指數分佈**的定義，且指數是連續型不是離散型。教材常將兩者對調做干擾。\n3. **其他選項為何刪**：\n   - (A) 伯努利 = 兩種可能結果（成功/失敗），二元分類 → 教材定義（line 42），刪。\n   - (B) 二項 = n 次獨立試驗中事件發生次數 → 教材定義（line 43），刪。\n   - (D) 泊松 = 固定區間中事件發生次數，稀有事件 → 這才是教材原文定義（line 44），正確敘述刪。\n\n**📖 章節來源**：chunks/L23101.txt line 42-44、67（離散分佈三典型、指數分佈）\n\n**融會貫通**：記法「**泊松數次數（離散）、指數量時間（連續）**」。兩者互為對偶 — 若單位時間內事件數服從 Poisson(λ)，事件間隔時間就服從 Exponential(λ)。看到「無記憶性」這個關鍵字，立刻聯想到指數分佈。",
    "7": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PDF **錯誤**敘述 → 考點是「PDF 單點值是密度不是機率」這個易錯點。\n2. **正確答案 (D) 為何對**：選項 (D) 說「PDF 在單一點的取值即為該點發生的確切機率」**錯誤**。連續型隨機變數在「單一點」的機率為 **0**；PDF 的單點值 `f(x)` 是「密度（density）」，不是機率本身。必須對區間 [a,b] 做積分 `∫ₐᵇ f(x)dx` 才能得到機率。\n3. **其他選項為何刪**：\n   - (A) 描述隨機變數於某取值範圍內的機率 → 教材原文定義（line 54），刪。\n   - (B) `P(a≤X≤b) = ∫ₐᵇ f(x)dx` → 教材原文公式（line 58），刪。\n   - (C) `f(x)` 為連續型隨機變數的 PDF → 教材定義（line 61），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 52-60（連續型機率分佈）\n\n**融會貫通**：記法「**密度 ≠ 機率**」。PDF 的 `f(x)` 可以大於 1（不像機率必須 ≤ 1），因為它是「機率/單位長度」。連續型必須講「區間機率」，單點機率永遠為 0。",
    "8": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問連續型機率分佈配對**錯誤**者 → 考點是卡方（Chi-square）vs 指數（Exponential）的應用混淆。\n2. **正確答案 (D) 為何對**：選項 (D) 說「卡方分佈主要用於描述等待時間或生存時間」**錯誤**。「等待時間／生存時間」是**指數分佈**的應用（line 67）；卡方分佈用於描述「一組獨立標準常態分佈變數**平方和**」的分佈結果，廣泛應用於變異數分析、卡方適合度檢定、列聯表獨立性檢定（line 68）。題目把指數和卡方應用情境對調。\n3. **其他選項為何刪**：\n   - (A) 常態分佈 = 鐘型對稱、誤差建模/參數估計/標準化 → 教材定義（line 65），刪。\n   - (B) 均勻分佈 = 固定區間內等機率、初始化參數/隨機抽樣 → 教材定義（line 66），刪。\n   - (C) 指數分佈 = 間隔時間、無記憶性 → 教材原文（line 67），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 65-68（連續分佈四典型）\n\n**融會貫通**：記法「**卡方 = 平方和的分佈**（用於統計檢定）；**指數 = 等待時間**（無記憶性）」。在 ML 實務上，卡方常見於特徵獨立性檢定（Chi-square test），指數則常見於存活分析。",
    "9": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「邏輯迴歸處理二元分類」時假設**目標變數**服從何種分佈 → 考點是邏輯迴歸的分佈假設（伯努利）。\n2. **正確答案 (C) 為何對**：教材明指「邏輯迴歸模型假設目標變數服從**伯努利分佈**，用以處理二元分類問題」（line 70）。伯努利分佈描述「成功/失敗」、「0/1」這類二元結果，正好對應二元分類的 Y。\n3. **其他選項為何刪**：\n   - (A) 常態分佈 → 這是「**線性迴歸**對誤差項」的假設，不是邏輯迴歸對 Y 的假設，刪。\n   - (B) 均勻分佈 → 用於初始化或隨機抽樣，不是分類模型的目標變數假設，刪。\n   - (D) 泊松分佈 → 描述事件「發生次數」（如客服來電數），不是二元分類，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 70（模型設計中的先驗假設）\n\n**融會貫通**：記法「**邏輯迴歸 = 伯努利（二元）；線性迴歸 = 常態（誤差項）**」。注意題目問的是「目標變數」服從哪個分佈，不是「誤差項」 — 線性迴歸的常態是針對誤差項，邏輯迴歸的伯努利是針對目標變數 Y。",
    "10": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問模型與機率分佈假設配對**錯誤**者 → 考點是「線性迴歸 vs 邏輯迴歸」分佈假設的 swap 干擾。\n2. **正確答案 (D) 為何對**：選項 (D) 說「線性迴歸假設目標變數服從伯努利分佈以處理二元分類」**錯誤**。「目標變數服從伯努利」是**邏輯迴歸**（二元分類）的假設，線性迴歸的假設是「**誤差項服從常態分佈**」。題目把兩個模型的假設前提互相對調是經典 swap 干擾。\n3. **其他選項為何刪**：\n   - (A) 邏輯迴歸 = 目標變數服從伯努利、二元分類 → 教材原文（line 70），刪。\n   - (B) 線性迴歸 = 誤差項服從常態 → 教材原文（line 70），刪。\n   - (C) VAE = 將潛在變數與觀察變數的分佈型態納入模型核心 → 教材原文（line 70），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 70（模型設計中的先驗假設）\n\n**融會貫通**：兩個迴歸的分佈假設是高頻考點 — **邏輯迴歸 → 伯努利（Y）**；**線性迴歸 → 常態（ε）**。注意「假設對象」也不一樣：邏輯迴歸假設 Y、線性迴歸假設誤差項，這個微妙差異也常被命題設計成干擾。",
    "11": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問離散型機率分佈**不包含**者 → 考點是離散三典型（Bernoulli/Binomial/Poisson）vs 連續分佈的辨識。\n2. **正確答案 (D) 為何對**：教材列示的離散型機率分佈三典型為 **Bernoulli / Binomial / Poisson**（line 42-44）。卡方分佈（Chi-square）屬於**連續型**機率分佈，與常態、均勻、指數同類（line 65-68），不在離散型清單中。\n3. **其他選項為何刪**：\n   - (A) 伯努利分佈 → 離散三典型之一，刪。\n   - (B) 二項分佈 → 離散三典型之一，刪。\n   - (C) 泊松分佈 → 離散三典型之一，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 42-44、65-68（離散/連續分佈典型）\n\n**融會貫通**：記法「**離散三劍客 = Bernoulli / Binomial / Poisson**」；「**連續四將軍 = 常態 / 均勻 / 指數 / 卡方**」。卡方是連續型不是離散型 — 這個分類錯位常被命題作為干擾。",
    "12": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問條件機率的**數學定義** → 考點是 `P(A|B)` 的公式記憶。\n2. **正確答案 (B) 為何對**：教材條件機率定義為 `P(A|B) = P(A∩B) / P(B)`（line 80-82），表示「在事件 B 發生的前提下，事件 A 發生的機率」。分子是聯合機率 `P(A∩B)`、分母是條件 `P(B)`。\n3. **其他選項為何刪**：\n   - (A) `P(A|B) = P(A) × P(B)` → 這是事件**獨立**時的聯合機率公式 `P(A∩B)=P(A)P(B)`，不是條件機率定義，刪。\n   - (C) `P(A|B) = P(A) + P(B) − P(A∩B)` → 這是聯合事件機率（聯集）公式 `P(A∪B)`，刪。\n   - (D) `P(A|B) = P(B) / P(A∩B)` → 分子分母倒置，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 78-82（條件機率定義）\n\n**融會貫通**：記法「**條件機率 = 聯合 / 條件**（`P(A∩B)/P(B)`）」。把它理解成「縮小樣本空間到 B 後 A 占的比例」。三個錯誤選項分別對應獨立事件、聯集、倒置 — 都是命題常用的干擾組合。",
    "13": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問條件機率在 ML 中的應用場景**並非**教材所列者 → 考點是教材條件機率的三大應用 vs 其他不在章節中的範式。\n2. **正確答案 (D) 為何對**：教材列示條件機率在 ML 的三大應用為：(1) 分類任務中的條件預測（邏輯迴歸、貝氏分類器）、(2) 生醫與金融風控的風險預測（罹病風險、違約機率）、(3) 生成模型中的變數關聯建構（VAE、HMM）（line 86-88）。**強化式學習的動作選擇策略**屬於另一範式，**不在條件機率章節討論**。\n3. **其他選項為何刪**：\n   - (A) 分類任務中的條件預測（邏輯迴歸、貝氏分類器以 `P(Y|X)` 為核心）→ 教材原文（line 86），刪。\n   - (B) 生醫與金融風控的風險預測 → 教材原文（line 87），刪。\n   - (C) 生成模型中的變數關聯建構（VAE、HMM）→ 教材原文（line 88），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 86-88（條件機率在 ML 中的應用場景）\n\n**融會貫通**：注意題目問「**教材所列**」，所以強化式學習雖然在實務上會用到條件機率（policy `π(a|s)` 本質也是條件機率），但**不在 L23101 章節討論範圍**。**教材慣例 > 業界慣例**是 iPAS 命題的鐵律。",
    "14": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問**貝氏定理**的數學形式 → 考點是貝氏公式的記憶（與條件機率定義作區分）。\n2. **正確答案 (A) 為何對**：教材貝氏定理 `P(A|B) = P(B|A) · P(A) / P(B)`（line 96-98），表示「在事件 B 已發生的情況下，重新評估事件 A 發生機率」。分子是「似然 × 先驗」、分母是「邊際機率」。\n3. **其他選項為何刪**：\n   - (B) `P(A|B) = P(A) × P(B) / P(B|A)` → 分子分母位置錯亂，刪。\n   - (C) `P(A|B) = P(A∩B) × P(B)` → 完全錯誤的形式（應該是除不是乘），刪。\n   - (D) `P(A|B) = P(A) − P(B) + P(B|A)` → 加減運算不是貝氏的乘除形式，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 96-98（貝氏定理）\n\n**融會貫通**：記法「**後驗 = 似然 × 先驗 / 證據**」（Posterior = Likelihood × Prior / Evidence）。貝氏定理本質上是條件機率定義的變形 — 將 `P(A∩B)` 拆成 `P(B|A)·P(A)` 後代入即得。這也是貝氏定理的「派生關係」。",
    "15": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問貝氏定理四元素配對**錯誤**者 → 考點是 Prior / Likelihood / Marginal / Posterior 的對應。\n2. **正確答案 (D) 為何對**：選項 (D) 說「`P(A|B)` 為邊際機率（Marginal Probability）」**錯誤**。`P(A|B)` 是**後驗機率（Posterior Probability）**，是貝氏定理的核心輸出，代表「觀察 B 之後對 A 機率的重新估計」（line 114-118）。**邊際機率是 `P(B)`**（不是 `P(A|B)`）。題目把 Posterior 跟 Marginal 對調是高頻干擾。\n3. **其他選項為何刪**：\n   - (A) `P(A)` = 先驗機率，觀察 B 前對 A 的初始信念 → 教材定義（line 102-104），刪。\n   - (B) `P(B|A)` = 似然，A 發生前提下 B 的可能性 → 教材定義（line 106-108），刪。\n   - (C) `P(B)` = 邊際機率，B 發生的總體機率 → 教材定義（line 110-112），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 102-118（貝氏定理四元素）\n\n**融會貫通**：記法「**先 P(A)、似 P(B|A)、邊 P(B)、後 P(A|B)**」。注意「邊際 vs 後驗」差異：**邊際 P(B)** 是無條件的整體機率，**後驗 P(A|B)** 才是有條件、被更新的機率。題目刻意把這兩個對調是經典 swap 干擾。",
    "16": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問**後驗機率（Posterior）**的意涵 → 考點是貝氏推論中的「觀察前 vs 觀察後」對比。\n2. **正確答案 (B) 為何對**：教材後驗機率定義 = 「在觀察到事件 B 之後，根據新的資訊更新後，對事件 A 發生機率的重新估計」（line 114-118），這也是貝氏定理的**核心輸出**。\n3. **其他選項為何刪**：\n   - (A) 在尚未觀察任何資料前，對事件發生的初始信念 → 這是**先驗機率 P(A)** 的定義（觀察「前」），不是後驗，刪。\n   - (C) 事件 B 發生的總體機率 → 這是**邊際機率 P(B)** 的定義，刪。\n   - (D) 事件 A 與事件 B 同時發生的聯合機率 → 這是**聯合機率 P(A∩B)** 的定義，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 114-118（後驗機率）\n\n**融會貫通**：時間軸記法 — **先驗（觀察前）→ 似然（觀察過程）→ 後驗（觀察後）**。後驗 = 用新資料更新後的信念，是 ML 中所有「線上學習」、「貝氏更新」的核心機制。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問貝氏定理的**關鍵意涵** → 考點是教材對貝氏定理「方法論層次」的定位（不是公式而是更新機制）。\n2. **正確答案 (B) 為何對**：教材明指貝氏定理的關鍵意涵 = 「將『原有知識』與『新資料觀察』整合起來，產生即時的後驗機率調整，使得機器學習模型在面對不確定性與資料稀疏問題時，能保有推論的彈性與解釋力」（line 120）。\n3. **其他選項為何刪**：\n   - (A) 計算事件之間互斥關係的工具 → 互斥關係用集合運算或加法定理，非貝氏定理目的，刪。\n   - (C) 取代條件機率定義的等價公式 → 貝氏定理是**建立在**條件機率上的工具，不是「取代」，刪。\n   - (D) 限定僅適用於離散型隨機變數的推論方法 → 貝氏定理對離散/連續變數都適用，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 120（貝氏定理的關鍵意涵）\n\n**融會貫通**：記法「**貝氏 = 用新資料更新舊信念**」。這也是為什麼貝氏推論在「資料稀疏」（如小樣本醫療診斷）和「線上學習」（如推薦系統即時更新）特別有優勢 — 它允許在新資料進入時不斷修正先驗。",
    "18": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問似然 vs 邊際機率**錯誤**敘述 → 考點是兩者意義完全不同，不可混淆。\n2. **正確答案 (D) 為何對**：選項 (D) 說「似然與邊際機率為同一概念的不同稱呼，在貝氏公式中可互換」**錯誤**。**似然 `P(B|A)` 是條件機率**（A 發生前提下 B 的可能性）；**邊際機率 `P(B)` 是無條件機率**（無論 A 是否發生，B 發生的整體可能性）。兩者意義完全不同，在貝氏公式中分別位於分子和分母，**絕對不可互換**。\n3. **其他選項為何刪**：\n   - (A) 似然 `P(B|A)` 是 A 發生前提下 B 發生的可能性 → 教材定義（line 106-108），刪。\n   - (B) 邊際機率 `P(B)` 是 B 發生的總體機率 → 教材定義（line 110-112），刪。\n   - (C) 邊際機率可視為所有可能 A 條件下 B 發生機率的加權總和 → 教材原文「所有可能 A 條件下 B 發生機率的加權總和」（line 112），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 106-112（似然與邊際機率）\n\n**融會貫通**：記法「**似然有條件（B|A）、邊際無條件（B）**」。實務上邊際機率可由全機率公式得到：`P(B) = Σ P(B|A)·P(A)`，這也說明為什麼 (C) 講「加權總和」是正確的 — 因為邊際是把所有 A 情況下的條件機率加權平均得到的結果。",
    "19": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「統計推論的**核心任務**」→ 考點是教材對統計推論的定位（不是優化、不是降維，而是「估計+判斷+量化不確定性」）。\n2. **正確答案 (B) 為何對**：教材明指統計推論的核心任務 = 「利用樣本資料對母體參數或模型行為進行估計與判斷，並量化不確定性」（line 128）。三個關鍵字：**樣本→母體**、**估計與判斷**、**量化不確定性**。\n3. **其他選項為何刪**：\n   - (A) 直接最小化模型損失函數 → 這是模型訓練（優化）的目標，非統計推論，刪。\n   - (C) 將高維資料降至低維表示 → 這是降維（如 PCA）的目的，刪。\n   - (D) 找出資料中所有可能的特徵組合 → 這是特徵工程（組合搜尋），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 128（統計推論）\n\n**融會貫通**：記法「**統計推論 = 樣本看母體**」。樣本是手上有的（小群），母體是想推論的（全體）— 中間靠統計工具（參數估計、假設檢定）橋接，並量化「我推得有多準」（不確定性）。",
    "20": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「參數估計 vs 假設檢定」配對**錯誤**者 → 考點是兩者「輸出結果」的對應（最常被 swap 的點）。\n2. **正確答案 (D) 為何對**：選項 (D) 說「參數估計 — 提供 p 值、檢定統計量，並根據顯著水準決定是否拒絕虛無假設」**錯誤**。「p 值、檢定統計量、顯著水準」是**假設檢定**的輸出結果；**參數估計**的輸出是「點估計值（如平均數）與信賴區間（如 95% CI）」（line 132 表格）。題目把兩者輸出對調。\n3. **其他選項為何刪**：\n   - (A) 參數估計 = 推測母體參數的「值」或「區間」→ 教材表格「目的」欄（line 132），刪。\n   - (B) 假設檢定 = 驗證關於母體參數的「主張」是否成立 → 教材表格「目的」欄（line 132），刪。\n   - (C) 參數估計 = 點估計值與信賴區間 → 教材表格「輸出結果」欄（line 132），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 130-132（統計推論兩大分支對照表）\n\n**融會貫通**：記法「**估計給區間（CI）、檢定給 p 值**」。兩者目的也不同 — 估計問「**多少**」（多少平均收入？），檢定問「**有沒有**」（新藥是否有效？）。混淆兩者的輸出是命題高頻設計。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問假設檢定**流程順序** → 考點是 5 步驟流程記憶（A→B→C→D→E）。\n2. **正確答案 (A) 為何對**：教材列示假設檢定整體流程為（line 136-143）：**A. 設定虛無假設與對立假設 → B. 選擇檢定方法與檢定統計量 → C. 決定顯著水準 → D. 計算檢定統計量與 p 值 → E. 比較顯著水準（α）並進行決策**。選項 (A) 完全符合此順序。\n3. **其他選項為何刪**：\n   - (B) 先計算 p 值再設定虛無假設 → 順序倒置，沒有假設怎麼算 p 值？刪。\n   - (C) 先決定顯著水準 → 必須先有假設才能談 α，刪。\n   - (D) 先選擇檢定方法再設定虛無假設 → 沒有假設就無從選方法，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 136-143（假設檢定流程）\n\n**融會貫通**：記法「**假設 → 方法 → α → 算 p → 決策**」。邏輯上必須「**先立假設**」（要驗什麼），才能「**選方法**」（怎麼驗），「**設 α**」（容錯多大），「**算 p**」（實際算），「**比較並決策**」（拒絕或不拒絕）。順序不能跳，這是統計推論的鐵律。",
    "22": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問顯著水準（α）**正確**敘述 → 考點是 α 的定義（型一錯誤上限、事前設定）。\n2. **正確答案 (B) 為何對**：教材明指顯著水準（α）= 「研究者於假設檢定前**預先設定**的可接受錯誤機率上限，代表**型一錯誤（Type I Error）**的機率」（line 147）。兩個關鍵字：**事前設定** + **型一錯誤上限**。\n3. **其他選項為何刪**：\n   - (A) α 表示型二錯誤的機率 → 錯誤，α 是**型一**錯誤；型二錯誤通常用 β 表示，刪。\n   - (C) α 越大代表檢定越嚴格 → 相反，α 越**小**檢定越嚴格（如 0.01 比 0.05 嚴格），刪。\n   - (D) α 與 p 值為同一指標的不同稱呼 → 兩者完全不同，**α 是事前設定的上限、p 值是事後算出的機率**，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 147（顯著水準）\n\n**融會貫通**：記法「**α 在前（事前定），p 在後（事後算）；α 越小越嚴**」。型一錯誤 = 「真的時候卻拒絕」（false positive），是研究者最害怕的錯誤，所以要事前設定上限。",
    "23": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 p 值的**意義** → 考點是 p 值的定義（事後計算、衡量資料與虛無假設的相符程度）。\n2. **正確答案 (B) 為何對**：教材明指 p 值 = 「在觀察到樣本資料**後**所計算出的機率，用來衡量資料與虛無假設的相符程度」（line 149）。關鍵：**事後計算** + **衡量相符度**。\n3. **其他選項為何刪**：\n   - (A) 在虛無假設為真的前提下，型一錯誤發生的機率上限 → 這是**顯著水準 α** 的定義（事前），題目刻意 swap，刪。\n   - (C) 模型預測準確率的指標 → 這是 ML 評估指標（如 Accuracy），與 p 值無關，刪。\n   - (D) 母體參數的點估計值 → 這是參數估計的輸出（如樣本平均數），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 149（p 值）\n\n**融會貫通**：記法「**α 是門檻、p 是計算值**」。p < α 則拒絕虛無假設（資料與虛無假設不符到可拒絕的程度）。題目把 α 的定義安到 p 值身上是 L23101 高頻干擾。",
    "24": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問統計推論**錯誤**敘述 → 考點是「統計推論依賴機率模型」這個本質。\n2. **正確答案 (D) 為何對**：選項 (D) 說「統計推論不需依賴機率模型即可進行」**錯誤**。教材明指「參數估計與假設檢定**均依賴機率模型作為推論依據**，並對樣本中的不確定性進行量化處理」（line 130）。統計推論的本質就是建立在機率模型之上。\n3. **其他選項為何刪**：\n   - (A) 統計推論可協助判斷某特徵是否與目標變數顯著相關 → 教材原文應用（line 124），刪。\n   - (B) 統計推論可協助評估兩種模型的表現差異是否具有統計意義 → 教材原文應用（line 124），刪。\n   - (C) 假設檢定為統計推論的常用工具之一 → 教材原文（line 124），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 124-130（統計推論本質）\n\n**融會貫通**：記法「**統計推論 = 機率模型 + 樣本 = 對母體的推斷**」。沒有機率模型，就無法「量化不確定性」（信賴區間、p 值都建立在機率模型上）。看到「不需依賴機率」、「不需假設分佈」這類字眼幾乎都是干擾項。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問統計量在 ML **應用階段**敘述**錯誤**者 → 考點是「統計量貫穿 ML 全流程」這個定位。\n2. **正確答案 (D) 為何對**：選項 (D) 說「統計量僅適用於模型部署階段，與訓練無關」**錯誤**。教材明指「這些統計量**廣泛應用於機器學習各階段**，從前期的資料探索與特徵工程，到後期的模型訓練與效能評估」（line 153-155），絕非僅限於部署階段。\n3. **其他選項為何刪**：\n   - (A) 統計量廣泛應用於 ML 各階段 → 教材原文（line 153），刪。\n   - (B) 從資料探索與特徵工程到模型訓練與效能評估皆使用 → 教材原文（line 153-155），刪。\n   - (C) 在資料前處理與探索階段有助於確認變數分佈與異常 → 教材原文（line 155），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 153-155（統計量的應用範圍）\n\n**融會貫通**：記法「**統計量貫穿 ML 全流程**」— 從 EDA（探索性分析）、特徵工程、訓練、評估、到部署後監控，都需要統計量。看到「僅適用於 X 階段」這種限縮敘述基本都是干擾項。",
    "26": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問統計量與意義配對**錯誤**者 → 考點是偏態（Skewness）vs 峰度（Kurtosis）的混淆。\n2. **正確答案 (C) 為何對**：選項 (C) 說「偏態（Skewness）— 觀察資料是否具有尖峰或厚尾」**錯誤**。**偏態（Skewness）**是「判斷分佈**是否對稱**」（line 159）；「**尖峰／厚尾**」是**峰度（Kurtosis）**的觀察重點（line 160）。題目把兩個統計量的意義對調。\n3. **其他選項為何刪**：\n   - (A) 期望值 = 反映變數平均趨勢，為許多模型的預測基準與參數估計核心 → 教材原文（line 157），刪。\n   - (B) 變異數與標準差 = 衡量資料離散程度 → 教材原文（line 158），刪。\n   - (D) 峰度 = 觀察尖峰或厚尾，偵測異常值密度與風險擴散參考 → 教材原文（line 160），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 159-160（偏態與峰度）\n\n**融會貫通**：記法「**偏態看歪不歪（對稱性）、峰度看尖不尖（尖峰/厚尾）**」。對應的處理動作也不同：**偏態大 → 對數/Box-Cox 轉換**；**峰度大 → 異常值偵測**。混淆兩者的意義是 L23101 高頻 swap 干擾。",
    "27": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**偏態過大**」常採取的處理方式 → 考點是偏態對應的特徵變換手法（對數/Box-Cox）。\n2. **正確答案 (B) 為何對**：教材明指「**偏態（Skewness）**過大時，常需對變數進行**對數轉換或 Box-Cox 轉換**，以改善模型收斂性與預測穩定性」（line 159）。對數/Box-Cox 是處理偏斜分佈的標準變換手法。\n3. **其他選項為何刪**：\n   - (A) 主成分分析（PCA）降維 → PCA 用於降低特徵維度（共線性），不是處理偏態，刪。\n   - (C) 增加訓練樣本數 → 樣本數無法改變單一特徵的偏態分佈，刪。\n   - (D) 改用分類損失函數 → 損失函數與目標任務型態相關，與特徵偏態無關，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 159（偏態的處理方式）\n\n**融會貫通**：記法「**偏態 → 對數/Box-Cox**」是特徵工程的標準動作。實務上看到右偏分佈（如收入、房價）通常都會做 log 轉換，讓分佈接近常態，模型（特別是線性模型）才能穩定收斂。",
    "28": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**變異數與標準差**」對特徵工程的指引 → 考點是離散程度與「是否需標準化」的對應。\n2. **正確答案 (B) 為何對**：教材明指變異數與標準差 = 「衡量資料的**離散程度**，能判斷特徵是否需進行**標準化處理**，避免尺度不一致對模型訓練造成偏誤」（line 158）。\n3. **其他選項為何刪**：\n   - (A) 用於判斷類別變數的分佈型態 → 變異數/標準差用於**數值變數**，類別變數通常看頻率分佈或熵，刪。\n   - (C) 用於決定模型損失函數的選擇 → 損失函數選擇與任務（分類/迴歸）相關，不是變異數決定，刪。\n   - (D) 用於判斷分佈是否對稱 → 這是**偏態（Skewness）**的任務，不是變異數/標準差，題目刻意 swap，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 158（變異數與標準差）\n\n**融會貫通**：記法「**變異數/標準差 → 標準化決策**」。實務上若特徵尺度差異大（如年齡 0-100 vs 收入 0-1000000），會做 Z-score 標準化或 Min-Max 縮放，避免模型偏向大尺度特徵。注意 (D) 是經典 swap — 對稱性是偏態的任務不是變異數的任務。",
    "29": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問用以「視覺化輔助解釋」統計量的圖形**不包含**者 → 考點是教材列示三種視覺化（直方圖/箱型圖/QQ-plot）vs ROC 曲線的辨識。\n2. **正確答案 (D) 為何對**：教材明列三種視覺化方式 = **直方圖、箱型圖、QQ-plot**（line 162），用於輔助解釋統計量、理解資料行為模式。**ROC 曲線**屬於**分類模型評估**的視覺化（用於評估二元分類器的 TPR vs FPR 權衡），與統計量探索無關。\n3. **其他選項為何刪**：\n   - (A) 直方圖 → 教材列示視覺化工具之一（line 162），刪。\n   - (B) 箱型圖 → 教材列示視覺化工具之一（line 162），刪。\n   - (C) QQ-plot → 教材列示視覺化工具之一（line 162），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 162（視覺化輔助）\n\n**融會貫通**：記法「**統計量視覺化三劍客：直方圖、箱型圖、QQ-plot**」。ROC 曲線屬於**模型評估**範疇（與 AUC 配套），不是統計量視覺化。混淆 EDA 視覺化和模型評估視覺化是常見干擾。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 L23101 章節重點**錯誤**敘述 → 考點是 α 與 p 值的定義 swap（章節整合題）。\n2. **正確答案 (D) 為何對**：選項 (D) 說「顯著水準（α）為觀察到樣本資料後所計算出的機率，用以衡量資料與虛無假設相符程度」**錯誤**。這個敘述是**p 值**的定義（事後計算）；**顯著水準（α）**是「假設檢定**前預先設定**的型一錯誤機率上限」（line 147）。兩者順序與意義不同，被刻意對調為干擾項。\n3. **其他選項為何刪**：\n   - (A) ML 可形式化為條件機率分佈 `P(Y|X)` 的學習問題 → 教材原文（line 15），刪。\n   - (B) 邏輯迴歸假設目標變數服從伯努利、線性迴歸假設誤差項符合常態 → 教材原文（line 70），刪。\n   - (C) 貝氏定理可整合先驗信念與新資料觀察，產生後驗更新 → 教材原文（line 120），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 15、70、120、147-149（章節整合）\n\n**融會貫通**：記法「**α = 事前門檻（pre-set）、p 值 = 事後算值（post-data）**」。L23101 章節的高頻 swap 有四對：(1) PMF vs PDF、(2) 泊松 vs 指數、(3) 邏輯迴歸 vs 線性迴歸分佈假設、(4) α vs p 值。把這四對的差異記牢，章節整合題基本不會錯。",
    "31": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目強調「有限或可數的」取值（如骰子 1-6）→ 考點是離散型機率函數選擇。\n2. **正確答案 (B) 為何對**：教材 line 28「值是有限或可數的，例如擲骰子的結果（1、2、3、4、5、6）」+ line 32-38「透過機率質量函數（Probability Mass Function, PMF）描述隨機變數『每一個特定取值的機率』... PMF 總和等於 1」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) PDF 用於連續變數（line 54），不適合離散，刪。\n   - (C) CDF 教材未討論作為主要分類工具，且 CDF 也可用於離散，敘述「僅適用於連續」錯誤，刪。\n   - (D) 聯合機率分佈 → 描述多變數，與此題單一變數情境無關，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 26-38（離散型機率分佈）\n\n**融會貫通**：記法「**離散→PMF（質量）｜連續→PDF（密度）**」。PMF 點機率 + 總和=1，PDF 區間機率 + 積分=1，兩者是離散/連續世界的對應工具。",
    "32": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「二項與伯努利的關係」→ 考點是二項分佈作為「n 次伯努利的累計」。\n2. **正確答案 (B) 為何對**：教材 line 43「二項分佈（Binomial）：描述在 n 次獨立試驗中，某事件發生的次數，常用於模擬多次伯努利事件的累計行為」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全相同 → 反了，伯努利是 n=1 的特例，二項是 n 次累計，刪。\n   - (C) 二項=連續 → 反了，兩者都是離散分佈（line 30-44 在離散段），刪。\n   - (D) 間隔時間 → 那是指數分佈（line 67）或泊松（line 44 是「次數」非「間隔」），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 42-43（離散分佈 - 伯努利與二項）\n\n**融會貫通**：記法「**伯努利 = 一次硬幣｜二項 = n 次硬幣累計**」。例如丟硬幣 1 次成功與否 = 伯努利；丟 10 次成功幾次 = 二項（n=10）。",
    "33": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PMF 與 PDF「本質差異」→ 考點是離散質量點機率 vs 連續密度區間機率。\n2. **正確答案 (B) 為何對**：教材 line 32-38「PMF 描述隨機變數每一個特定取值的機率... PMF 總和等於 1」+ line 54-61「PDF 描述隨機變數於某取值範圍內的機率... P(a≤X≤b)=∫ₐᵇf(x)dx」。(B) 完整對應兩者本質。\n3. **其他選項為何刪**：\n   - (A) PMF/PDF 角色顛倒 → 與教材矛盾，刪。\n   - (C) 完全相同 → 反了，離散用 PMF、連續用 PDF，刪。\n   - (D) 兩者皆需積分計算單點 → 反了，PMF 直接給點機率，PDF 單點機率為 0 須用區間積分，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 30-61（離散型與連續型機率分佈）\n\n**融會貫通**：記法「**PMF 質量、PDF 密度｜PMF 點、PDF 區間**」。PMF 直接讀取每個離散點機率值；PDF 單點機率為 0（連續變數取任一精確點機率趨近於零），需積分區間。",
    "34": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目是「錯誤」敘述 → 找與教材矛盾選項。\n2. **正確答案 (D) 為何對（錯誤敘述）**：教材 line 67「指數分佈（Exponential）：指數分佈描述的是事件發生之間的間隔時間，適用於隨機過程中等待時間的分佈... 該分佈的特徵是無記憶性」。「間隔時間 + 無記憶性」是指數分佈的特性，不是常態分佈的特性。(D) 與教材矛盾，是錯誤敘述。\n3. **其他選項為何對（皆正確敘述）**：\n   - (A) 對稱鐘型 → 教材 line 65「對稱的鐘型分佈，是最常見的連續型分佈」，正確。\n   - (B) 誤差建模、參數估計 → 教材 line 65「廣泛應用於誤差建模、參數估計」，正確。\n   - (C) 標準化、生成模型 → 教材 line 65「特徵分數標準化與生成模型」，正確。\n\n**📖 章節來源**：chunks/L23101.txt line 65-67（連續型分佈 - 常態 vs 指數）\n\n**融會貫通**：記法「**常態 = 鐘型 + 誤差/參數/標準化/生成｜指數 = 間隔時間 + 無記憶性**」。常見分佈用途分清，避免「等待時間」與「鐘型誤差」搞混。",
    "35": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問卡方分佈「核心用途」→ 考點是標準常態平方和 + 統計檢定應用。\n2. **正確答案 (A) 為何對**：教材 line 68「卡方分佈（Chi-square）：主要用於描述一組獨立標準常態分佈變數平方和的分佈結果，廣泛應用於統計檢定領域，特別是在變異數分析、卡方適合度檢定、列聯表獨立性檢定等情境中」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 間隔時間 + 無記憶性 → 那是指數分佈（line 67），刪。\n   - (C) 固定區間相同機率 → 那是均勻分佈（line 66），刪。\n   - (D) 固定時間事件次數 → 那是泊松分佈（line 44），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 68（連續型分佈 - 卡方）\n\n**融會貫通**：記法「**卡方 = 標準常態平方和 → 變異數分析/適合度/獨立性檢定**」。卡方常用於假設檢定的檢定統計量分佈，例如類別變數獨立性檢定（列聯表）。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 VAE 與機率分佈關係 → 考點是 VAE 將分佈「納入模型架構核心」的角色。\n2. **正確答案 (B) 為何對**：教材 line 70「至於生成模型（例如變分自編碼器，Variational Autoencoder），則更進一步將潛在變數與觀察變數的分佈型態納入模型架構核心，使機率分佈不只是輔助工具，而是模型運作本身的一部分」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全不使用機率分佈 → 反了，VAE 核心就是機率分佈，刪。\n   - (C) 只能監督分類、無法生成 → 反了，VAE 是生成模型（line 70），刪。\n   - (D) 伯努利分佈、僅二元分類 → 那是邏輯迴歸的假設（line 70），不是 VAE，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 70（機率分佈作為模型假設）\n\n**融會貫通**：記法「**邏輯迴歸 → 伯努利｜線性迴歸 → 誤差常態｜VAE → 潛在+觀察變數分佈納入核心**」。三者展示「機率分佈→模型假設」從「外在工具」到「內在架構」的層次演進。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 HMM 與條件機率的角色 → 考點是建構潛在變數與觀察變數依存關係。\n2. **正確答案 (B) 為何對**：教材 line 88「生成模型中的變數關聯建構：在變分自編碼器或隱馬可夫模型（Hidden Markov Model, HMM）中，條件機率用於建構潛在變數與觀察變數間的依存關係」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅用於輸出層 → 反了，HMM 的隱狀態轉移與觀察輸出都用條件機率，刪。\n   - (C) 純粹依賴決策樹 → HMM 屬於機率圖模型，與決策樹無關，刪。\n   - (D) 只處理離散變數、不需條件機率 → 反了，HMM 核心就是條件機率，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 86-88（條件機率應用 - 生成模型）\n\n**融會貫通**：記法「**HMM/VAE = 條件機率建構潛在↔觀察依存**」。HMM 的「隱→觀」 + 「隱→隱」轉移皆是條件機率，是序列建模的經典例子。",
    "38": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目要求「拆解」貝氏定理公式 → 考點是分子 = 似然 × 先驗、分母 = 邊際、結果 = 後驗。\n2. **正確答案 (A) 為何對**：教材 line 96-118「P(A|B) = P(B|A)·P(A) / P(B)」+ 四元素逐一列出：P(A)=先驗、P(B|A)=似然、P(B)=邊際、P(A|B)=後驗（line 102-118）。(A) 完整對應公式拆解。\n3. **其他選項為何刪**：\n   - (B) 分子=先驗、分母=後驗 → 反了，後驗是計算結果（左式 P(A|B)），不在分母，刪。\n   - (C) 分子=邊際、分母=似然 → 顛倒，刪。\n   - (D) 不涉及似然×先驗乘積 → 反了，分子 P(B|A)·P(A) 正是兩者乘積，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 96-118（貝氏定理四元素）\n\n**融會貫通**：記法「**後驗 = (似然 × 先驗) / 邊際**」。直觀理解：用「新資料的似然」與「原有信念的先驗」相乘，再用「資料整體機率」normalize，得到更新後的後驗信念。",
    "39": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目強調後驗機率的「地位」→ 考點是貝氏定理「核心輸出」。\n2. **正確答案 (A) 為何對**：教材 line 114-118「P(A|B)：後驗機率（Posterior Probability）— 在觀察到事件 B 之後，根據新的資訊更新後，對事件 A 發生機率的重新估計。這是貝式定理的核心輸出」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 後驗 = 先驗 → 反了，後驗是「更新後」的結果，先驗是「更新前」的初始信念（line 104），兩者本質不同，刪。\n   - (C) 後驗 = 事件 B 總體機率 → 那是邊際機率（line 112），刪。\n   - (D) 僅適用於離散變數 → 教材未限定，貝氏定理也適用於連續變數，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 114-120（貝氏定理 - 後驗機率）\n\n**融會貫通**：記法「**先驗（事前）→ 似然（新資料）→ 後驗（事後核心輸出）**」。貝氏的精髓是「信念更新」：拿到新證據後，從先驗 P(A) 轉為後驗 P(A|B)。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問統計推論「兩大核心分支」→ 考點是參數估計 + 假設檢定。\n2. **正確答案 (B) 為何對**：教材 line 130「統計推論可概略分為兩大核心分支：參數估計（Parameter Estimation）與假設檢定（Hypothesis Testing），兩者雖然目的不同，但均依賴機率模型作為推論依據，並對樣本中的不確定性進行量化處理」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 只有參數估計一個 → 反了，是兩大分支，刪。\n   - (C) 兩者同一分支不同名稱 → 反了，目的不同（line 132 表格清楚對比），刪。\n   - (D) 不依賴機率模型 → 反了，「均依賴機率模型作為推論依據」（line 130），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 130-132（統計推論 - 兩大分支）\n\n**融會貫通**：記法「**參數估計（值/區間）+ 假設檢定（主張驗證）= 統計推論雙翼**」。兩者皆建立在機率模型上量化不確定性，但前者輸出 CI，後者輸出 p 值。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問參數估計「輸出結果具體形式」→ 考點是點估計 + 信賴區間。\n2. **正確答案 (B) 為何對**：教材 line 132 表格「參數估計 — 輸出結果：提供點估計值（如平均數）與信賴區間（如 95% CI）」+ 例子「根據樣本估計出平均體重為 68 公斤，95% 信賴區間為 [66, 70]」。(B) 完整對應教材輸出形式 + 例子。\n3. **其他選項為何刪**：\n   - (A) p 值與檢定統計量 → 那是假設檢定的輸出（line 132 表格），不是參數估計，刪。\n   - (C) 虛無假設與對立假設 → 那是假設檢定的設定階段（line 141-143），不是輸出，刪。\n   - (D) 顯著水準 α → 那是假設檢定前設定的閾值（line 147），不是參數估計的輸出，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 132（統計推論 - 參數估計輸出表格）\n\n**融會貫通**：記法「**參數估計 → 點估計 + CI｜假設檢定 → p 值 + 拒絕/接受**」。兩者輸出差異是區分兩大分支的關鍵指標。",
    "42": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「並非」教材所述應用情境 → 找與教材無關的選項。\n2. **正確答案 (D) 為何對（並非教材所述）**：「最大化神經網路卷積核數量」屬於 CNN 模型架構設計（L23203），與統計推論無關，是錯誤的應用情境。\n3. **其他選項為何屬於教材**：\n   - (A) 特徵與目標變數顯著相關 → 教材 line 124「某個特徵是否與目標變數顯著相關」，正確。\n   - (B) 兩種模型表現差異是否具統計意義 → 教材 line 124「兩種模型的表現差異是否具有統計意義」，正確。\n   - (C) 模型訓練穩定性、特徵差異、模型選擇合理性 → 教材 line 128「我們可以推斷模型訓練的結果是否穩定、資料特徵之間是否存在顯著差異、以及模型選擇是否具有合理依據」，正確。\n\n**📖 章節來源**：chunks/L23101.txt line 124-128（統計推論 - 應用情境）\n\n**融會貫通**：記法「**統計推論服務於：相關性檢驗 / 模型比較 / 訓練穩定性 / 特徵差異 / 模型選擇合理性**」。它是「模型評估與特徵選擇」的客觀依據，不直接介入模型架構設計。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問期望值在「線性迴歸」中的角色 → 考點是平均趨勢 + 截距項。\n2. **正確答案 (B) 為何對**：教材 line 157「期望值（Expected Value）：反映變數的平均趨勢，為許多模型的預測基準與參數估計核心，例如線性迴歸中的截距項」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅用於視覺化 → 反了，是「預測基準與參數估計核心」（line 157），刪。\n   - (C) 即為標準差 → 期望值衡量平均、標準差衡量離散（line 158），不同概念，刪。\n   - (D) 用於計算 p 值 → p 值來自假設檢定統計量（line 149），不是期望值，刪。\n\n**📖 章節來源**：chunks/L23101.txt line 157（統計量 - 期望值）\n\n**融會貫通**：記法「**期望值 = 平均趨勢 = 線性迴歸截距項**」。E[Y|X=0] 即截距 β₀，是線性迴歸的基準預測值。",
    "44": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問偏態 vs 峰度的「判斷對象差異」→ 考點是「對稱」vs「尖峰厚尾」分流。\n2. **正確答案 (B) 為何對**：教材 line 159-160「偏態（Skewness）：判斷分佈是否對稱」+「峰度（Kurtosis）：觀察資料是否具有尖峰或厚尾，亦可作為偵測異常值密度與風險擴散的一項參考指標」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 偏態與峰度判斷對象顛倒 → 與教材矛盾，刪。\n   - (C) 兩者皆判斷中心位置 → 反了，中心位置是期望值/中位數的工作，刪。\n   - (D) 兩者皆衡量離散程度 → 反了，離散程度是變異數/標準差的工作（line 158），刪。\n\n**📖 章節來源**：chunks/L23101.txt line 159-160（統計量 - 偏態與峰度）\n\n**融會貫通**：記法「**偏態看對稱（向左或向右偏）｜峰度看尖瘦/厚尾（極端值多寡）**」。實務上偏態大→對數/Box-Cox 轉換；峰度高→注意異常值與風險擴散。",
    "45": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目是「錯誤」敘述 → 找與教材矛盾的選項。\n2. **正確答案 (D) 為何對（錯誤敘述）**：教材 line 162「這些統計量常透過視覺化方式（如直方圖、箱型圖、QQ-plot）輔助解釋」— 沒有列入 ROC 曲線。ROC 曲線是分類模型評估工具（屬於 L23303），非資料分佈探索工具，無法判斷偏態與峰度。(D) 為錯誤敘述。\n3. **其他選項為何對（皆正確的視覺化工具）**：\n   - (A) 直方圖 → 教材列為視覺化工具（line 162），正確。\n   - (B) 箱型圖 → 教材列為視覺化工具（line 162），正確。\n   - (C) QQ-plot → 教材列為視覺化工具（line 162），且 QQ-plot 用途即判斷理論分佈接近度，正確。\n\n**📖 章節來源**：chunks/L23101.txt line 162（統計量視覺化工具）\n\n**融會貫通**：記法「**資料探索三工具：直方圖（形狀）/ 箱型圖（四分位+離群）/ QQ-plot（分佈接近度）｜ROC 屬模型評估，不是分佈探索**」。要會分清「資料分佈視覺化」與「模型表現視覺化」兩大類用途。"
  },
  "mock_L23102": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性代數在機器學習中扮演的角色」→ 考點是線性代數作為 ML 的**數學基礎地位**(資料表示+模型運算)。\n2. **正確答案 (B) 為何對**：教材開宗明義說「線性代數是機器學習模型運算與表示的數學基礎，核心概念貫穿於資料結構表示、模型參數計算、梯度更新與特徵轉換等環節」；現代 ML/DL 演算法都以矩陣與向量為運算單位。(B) 完整複述教材原文。\n3. **其他選項為何刪**：\n   - (A) 僅用於資料視覺化 → 太狹隘，視覺化是工具非角色，刪。\n   - (C) 僅用於監督式學習 → 線性代數貫穿監督/非監督/深度學習，無偏限，刪。\n   - (D) 取代機率統計 → 兩者互補不互斥，無「取代」關係，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 9（前言與章節導覽）\n\n**融會貫通**：記法「**矩陣是 ML 的母語**」。資料表示(向量/矩陣)、模型訓練(梯度=向量)、特徵轉換(矩陣乘法)、降維(矩陣分解)四環節都仰賴線性代數。看到「僅用於 X」或「取代 Y」這種絕對化敘述，多半是干擾項。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「向量在 ML 中的主要角色」→ 考點是**向量 vs 矩陣**的角色區分(向量=單樣本，矩陣=多樣本/權重)。\n2. **正確答案 (B) 為何對**：教材定義「向量是具有方向與大小的數學物件，通常用於描述單一樣本的特徵組合」，例如 5 維樣本 `x = [x₁, x₂, …, x₅]ᵀ`。(B) 同時涵蓋「數學定義(方向+大小)」與「主要用途(單樣本特徵)」。\n3. **其他選項為何刪**：\n   - (A) 描述多筆樣本集合 → 那是**矩陣**的角色(如特徵矩陣 X ∈ ℝⁿˣᵈ)，不是向量，刪。\n   - (C) 描述所有層之間權重 → 那是**權重矩陣**的角色，刪。\n   - (D) 純量集合不具方向性 → 向量明確「具有方向與大小」，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 19-21（向量在機器學習中的角色）\n\n**融會貫通**：易混淆對照「**向量=1 筆樣本/權重 1 條，矩陣=n 筆樣本/權重 1 層**」。(A) 是典型的 swap 干擾(把矩陣角色塞給向量)。",
    "3": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「點積敘述何者**錯誤**」→ 考點是**點積 vs L2 範數**(兩個常被混淆的向量運算)。\n2. **正確答案 (D) 為何對**：(D) 說「點積用於計算向量長度/大小」→ **錯誤**。「計算長度/大小」是 **L2 範數(歐幾里得範數)** 的功能；點積的物理意義是「投影」與「相似度」。題目刻意 swap 兩者功能。\n3. **其他選項為何刪**(全是點積的正確敘述)：\n   - (A) 點積為線性模型預測核心運算 → 對(線性模型 ŷ = wᵀx 就是點積)，刪。\n   - (B) 評估兩向量同方向對應程度 → 對(教材原文)，刪。\n   - (C) 物理意義含投影與相似度 → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 27-37（向量運算：點積與 L2 範數）\n\n**融會貫通**：記法「**點積看相似，範數看大小**」。點積 = `a·b` 結果是純量(衡量同方向對應)；L2 範數 = `||a||₂` 結果也是純量(但是衡量自身長度)。題目把「長度/大小」貼給點積就是典型 swap 干擾。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「L2 範數的別稱與用途」→ 考點是 **L2 範數 = 歐幾里得範數** 的對應記憶。\n2. **正確答案 (B) 為何對**：教材原文「L2 範數，或稱歐幾里得範數，用於計算向量的『長度』或『大小』，亦為正規化與正則化(如 L2 損失)的基礎」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 曼哈頓範數 / 元素絕對值總和 → 那是 **L1 範數**的別稱與用途，刪。\n   - (C) 無窮範數 / 取最大絕對值 → 那是 **L∞ 範數(Chebyshev 範數)**，刪。\n   - (D) 協方差範數 → **虛構名詞**，教材無此概念，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 33-37（L2 範數）\n\n**融會貫通**：範數家族記法「**L1 曼哈頓(絕對值和)，L2 歐幾里得(長度)，L∞ 切比雪夫(最大值)**」。L2 範數對應 L2 正則化(Ridge)，L1 範數對應 L1 正則化(Lasso)，搭配記憶。",
    "5": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「矩陣的常見應用**不包含**何者」→ 找**錯誤**選項。考點是**向量 vs 矩陣**角色區分。\n2. **正確答案 (C) 為何對**：(C) 說「描述單一樣本的特徵組合(方向與大小)」→ 那是**向量**的角色(Q2 已考)，不是矩陣。矩陣是**多個向量的集合**。\n3. **其他選項為何刪**(全是矩陣的正確應用)：\n   - (A) 特徵矩陣 X ∈ ℝⁿˣᵈ → 對(多筆樣本)，刪。\n   - (B) 權重矩陣 W ∈ ℝᵈˣᵏ → 對(神經網路權重)，刪。\n   - (D) 特徵轉換的線性映射 → 對(矩陣乘法可做線性變換)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 19-53（向量與矩陣表示）\n\n**融會貫通**：Q2 與 Q5 是**對偶題型** — Q2 問「向量是什麼」、Q5 問「矩陣不是什麼」，答案都靠**向量(單樣本)vs 矩陣(多樣本/權重)** 區分。看到「方向與大小」就應指向**向量**。",
    "6": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「矩陣運算與用途配對何者**錯誤**」→ 考點是**轉置 vs 求逆/偽逆**的用途區分。\n2. **正確答案 (D) 為何對**：(D) 說「**轉置(Transpose)**用於封閉解求解/無法反矩陣時近似解決」→ **錯誤**。封閉解求解是 **矩陣求逆(Inverse)與偽逆(Pseudo-Inverse)** 的用途；轉置的功能是「將列與行互換、用於維度對齊與內積計算」。題目把兩運算 swap。\n3. **其他選項為何刪**(配對皆正確)：\n   - (A) 矩陣乘法 — 模型運算核心(批次預測/權重更新) → 對，刪。\n   - (B) 轉置 — 列行互換、維度對齊 → 對(原始定義)，刪。\n   - (C) 求逆/偽逆 — 封閉解求解 → 對(最小平方解 θ = (XᵀX)⁻¹Xᵀy)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 57-59（矩陣運算）\n\n**融會貫通**：記法「**轉置換列行、求逆解方程**」。最小平方解 `θ = (XᵀX)⁻¹Xᵀy` 同時用到轉置(Xᵀ)與求逆((XᵀX)⁻¹)，但兩者各司其職 — 轉置處理維度對齊，求逆才是真正求解。",
    "7": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性迴歸預測值的矩陣表示」→ 考點是線性迴歸的**矩陣形式**記憶。\n2. **正確答案 (A) 為何對**：教材原文「線性迴歸中，預測值可由 `ŷ = Xθ` 表示」(X 為特徵矩陣 ∈ ℝⁿˣᵈ，θ 為參數向量 ∈ ℝᵈ)。維度一致：n×d · d×1 = n×1，恰為 n 筆預測值。\n3. **其他選項為何刪**：\n   - (B) `ŷ = X⁻¹θ` → X 通常不為方陣，無法求逆；無此公式，刪。\n   - (C) `ŷ = XᵀX` → 是**最小平方解**中的中間量(d×d 方陣)，不是預測值，刪。\n   - (D) `ŷ = θθᵀ` → 結果是 d×d 矩陣，不是 n 維預測向量，維度不符，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 63、23（線性迴歸矩陣形式）\n\n**融會貫通**：線性迴歸三個關鍵公式「**預測 ŷ = Xθ，損失 L = ||y−Xθ||²，封閉解 θ = (XᵀX)⁻¹Xᵀy**」串成一條鏈。記住維度核對是辨別公式對錯的快速方法。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「神經網路前向傳播的線性層運算形式」→ 考點是 **前向傳播公式 `z⁽ˡ⁾ = W⁽ˡ⁾a⁽ˡ⁻¹⁾ + b⁽ˡ⁾`** 的記憶。\n2. **正確答案 (B) 為何對**：教材原文「神經網路前向傳播每一層計算本質為矩陣與向量乘法：`z⁽ˡ⁾ = W⁽ˡ⁾ a⁽ˡ⁻¹⁾ + b⁽ˡ⁾`」(W 為權重矩陣、a 為前一層輸出、b 為偏差向量)。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) `z⁽ˡ⁾ = a⁽ˡ⁻¹⁾ Σ + b⁽ˡ⁾` → Σ 通常是奇異值對角矩陣，與前向傳播無關，刪。\n   - (C) `z⁽ˡ⁾ = W⁽ˡ⁾⁻¹ a⁽ˡ⁻¹⁾` → 前向傳播不用求逆(求逆是封閉解專屬)；且缺偏差項，刪。\n   - (D) `z⁽ˡ⁾ = a⁽ˡ⁻¹⁾ ⊗ b⁽ˡ⁾` → ⊗ 為張量積，與線性層運算不符，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 64-68（神經網路前向傳播）\n\n**融會貫通**：前向傳播口訣「**線性層 W·a+b，再過激活 σ**」。完整一層為 `a⁽ˡ⁾ = σ(W⁽ˡ⁾a⁽ˡ⁻¹⁾ + b⁽ˡ⁾)` — 先線性變換(本題考點)、再非線性激活(下一步)。看到 W⁻¹ 或 ⊗ 都是干擾項。",
    "9": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「PCA 的線性代數運算核心」→ 考點是 **PCA 的兩大運算：協方差 + 矩陣分解**。\n2. **正確答案 (B) 為何對**：教材原文「主成分分析(PCA)需對特徵矩陣進行協方差計算與矩陣分解，以尋找最具代表性的投影方向」。(B) 完整對應。協方差矩陣 → 特徵值分解 → 取最大特徵值對應方向 = 主成分方向。\n3. **其他選項為何刪**：\n   - (A) 矩陣求逆 → PCA 不仰賴求逆，刪。\n   - (C) 權重矩陣轉置 → 與 PCA 核心無關(PCA 處理的是特徵矩陣，非權重矩陣)，刪。\n   - (D) 點積運算 → 點積是基礎運算之一，但 PCA 核心是**矩陣分解**，不是單純點積，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 70（PCA 矩陣形式）\n\n**融會貫通**：PCA 流程「**中心化 → 算協方差矩陣 → 特徵值分解(或 SVD) → 取最大特徵值方向**」。後面 Q14、Q19、Q25 會反覆考 PCA 與矩陣分解的關係 — 記住「協方差計算+矩陣分解」是 PCA 的雙核心。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性變換的本質」→ 考點是線性變換的**核心定義**(線性 vs 非線性)。\n2. **正確答案 (A) 為何對**：教材原文「線性變換的本質是在不破壞空間線性結構的前提下，對資料進行伸縮、旋轉或投影等操作」。(A) 完整對應，且**線性**是關鍵字 — 不能破壞線性結構。\n3. **其他選項為何刪**：\n   - (B) 離散→連續的**非線性**映射 → 「非線性」與「線性變換」矛盾，刪。\n   - (C) 機率分佈轉條件機率 → 那是貝氏推論的範疇，刪。\n   - (D) 施加非線性激活函數 → 那是**激活函數**的功能，非線性變換，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 74（線性變換的本質）\n\n**融會貫通**：記法「**線性變換 = 縮放/旋轉/剪切/投影四操作**」。神經網路 = 線性變換(W·a+b) + 非線性激活(σ)，兩者交替。看到「非線性」字眼配「線性變換」必為干擾。",
    "11": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性變換幾何意義配對何者**錯誤**」→ 考點是**旋轉 vs 投影**的定義區分(常見 swap 干擾)。\n2. **正確答案 (D) 為何對**：(D) 說「**投影(Projection)**改變方向不改變長度、常見於正交變換」→ **錯誤**。那是**旋轉(Rotation)** 的定義；投影的正確定義是「將高維向量投射到某個子空間(如主成分空間或分類超平面)，保留對任務最有意義的資訊」。題目把 Rotation 和 Projection 對調。\n3. **其他選項為何刪**(配對正確)：\n   - (A) 縮放 — 調整長度不改方向 → 對，刪。\n   - (B) 旋轉 — 改方向不改長度、正交變換 → 對(教材原文)，刪。\n   - (C) 剪切 — 方向傾斜變化、非對角矩陣 → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 80-94（線性變換的四種幾何意義）\n\n**融會貫通**：四操作易混淆比較表「**縮放=改長度不改方向，旋轉=改方向不改長度，剪切=方向傾斜，投影=高維→子空間**」。Q11 是典型 swap 干擾(旋轉/投影屬性互換) — 看到「投影+不改長度」或「旋轉+降到子空間」這種搭配就要警覺。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「特徵空間(Feature Space)的定義」→ 考點是 **特徵空間 = 特徵張成的數學空間** 的核心定義。\n2. **正確答案 (A) 為何對**：教材原文「特徵空間是指資料中各個特徵所張成的數學空間，每一個軸代表一個特徵維度，每一筆資料可視為空間中的一個點」。(A) 完整對應，且強調**幾何結構影響任務**(分類/迴歸/聚類)。\n3. **其他選項為何刪**：\n   - (B) 隱藏層權重組成的高維張量空間 → 那是**權重空間/參數空間**，不是特徵空間，刪。\n   - (C) 損失值在參數空間的分佈 → 那是**損失曲面(loss landscape)**，刪。\n   - (D) 訓練樣本標籤的離散集合 → 那是**標籤空間(label space)**，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 100（特徵空間定義）\n\n**融會貫通**：易混淆四空間「**特徵空間(輸入 x)、參數空間(θ/W)、損失曲面(L(θ))、標籤空間(y)**」。題目用三個錯選項分別 swap 到參數/損失/標籤空間，記住特徵空間專指「特徵軸張成、樣本為點」即可破題。",
    "13": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性變換達成的目標**不包含**何者」→ 找錯誤選項。考點是線性變換的**三大目標(重組/轉換/加權)**。\n2. **正確答案 (D) 為何對**：(D) 說「**增加非線性表達能力**」→ **錯誤**。線性變換本身就是「線性」運算，不會引入非線性；增加非線性是**激活函數**的工作。線性變換的三大目標為：特徵重組、維度轉換、方向加權。\n3. **其他選項為何刪**(全是線性變換的目標)：\n   - (A) 特徵重組(PCA 即線性組合) → 對(教材原文)，刪。\n   - (B) 維度轉換(高維→低維/嵌入空間) → 對(教材原文)，刪。\n   - (C) 方向加權(強化某些方向敏感性) → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 102-114（線性變換達成的目標）\n\n**融會貫通**：記法「**線性變換三目標 = 重組/轉換/加權**」。Q10、Q13 都強調「線性 ≠ 非線性」 — 神經網路靠**線性變換+非線性激活**雙引擎協作，分清楚誰負責什麼是必考點。",
    "14": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「PCA 如何運用線性變換達成降維與特徵重組」→ 考點是 **PCA = 最大化變異量的正交基底投影**。\n2. **正確答案 (B) 為何對**：教材原文「PCA 透過找出一組能最大化資料變異量的正交向量基底，將原始資料透過矩陣乘法映射到這組基底所定義的空間中，達到降維與特徵重組的目的」。(B) 完整對應「正交基底 + 矩陣乘法映射」兩大要素。\n3. **其他選項為何刪**：\n   - (A) 矩陣求逆找無關方向 → PCA 不用求逆，找的是「最大變異」方向不是「無關」方向，刪。\n   - (C) 隨機投影 → 那是 **Random Projection**(JL Lemma)，與 PCA 截然不同，刪。\n   - (D) 非線性激活壓縮 → PCA 是**線性**降維，沒有非線性元素，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 116（PCA 與線性變換）\n\n**融會貫通**：PCA 三句話「**找正交基底 → 最大化變異 → 矩陣乘法投影**」。Q9 考 PCA 的線性代數核心(協方差+分解)、Q14 考 PCA 的線性變換角度(正交基底+投影)、Q19 考 PCA 的應用場景，三者串成完整 PCA 知識圖。",
    "15": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性變換在 ML 中出現形式**配對錯誤**何者」→ 考點是 **Autoencoder 的真正角色**。\n2. **正確答案 (D) 為何對**：(D) 說「Autoencoder 透過**分類損失函數**將離散標籤映射為連續潛在向量」→ **錯誤**。Autoencoder 是「特徵投影與空間壓縮」的代表，仰賴**線性變換將高維資料重構為低維潛在向量空間**(與 LDA 同類)，目標是**重建損失(reconstruction loss)** 不是分類損失，且輸入是**連續資料**不是「離散標籤」。\n3. **其他選項為何刪**(配對正確)：\n   - (A) 線性/邏輯迴歸 — `y = wᵀx + b` 一維線性投影 → 對(教材原文)，刪。\n   - (B) 神經網路前向傳播 — `z = Wa + b` → 對(教材原文，Q8 已考)，刪。\n   - (C) 嵌入層 — 離散類別→連續向量的矩陣線性查詢 → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 120-134（線性變換在 ML 中的出現形式）\n\n**融會貫通**：Autoencoder vs 嵌入層易混淆 — **Autoencoder** 是「**連續資料→低維重構**」(無監督降維)；**Embedding** 是「**離散類別→連續向量**」(查表式線性變換)。Q15 把 Autoencoder 的輸入/損失全錯填，是典型「定義拼貼」干擾。",
    "16": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「LDA(線性判別分析)在線性變換中的角色」→ 考點是 **LDA = 特徵投影與空間壓縮類別** 的歸屬。\n2. **正確答案 (B) 為何對**：教材原文「LDA(線性判別分析, Linear Discriminant Analysis)、Autoencoder 等，皆仰賴線性變換將高維資料重構為低維潛在向量空間」。(B) 完整對應，且強調「特徵投影與空間壓縮」這個類別歸屬。\n3. **其他選項為何刪**：\n   - (A) 非線性投影找分類邊界 → LDA 是**線性**判別，非「非線性」，刪。\n   - (C) 離散類別轉為連續向量 → 那是 **Embedding** 的功能(Q15)，刪。\n   - (D) 計算梯度方向的工具 → LDA 不是梯度計算工具(梯度是優化器的事)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 132-134（特徵投影與空間壓縮）\n\n**融會貫通**：LDA vs PCA 差別「**PCA 找最大變異方向(無監督)，LDA 找最佳分類投影方向(有監督，最大化類間/最小化類內)**」。但兩者都用**矩陣分解+線性投影**，所以 Q19 中 PCA 與 LDA 並列為**特徵值分解**的應用場景。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「矩陣分解(Matrix Factorization)的核心概念」→ 考點是 **矩陣分解 = 拆解高維矩陣為較小子矩陣乘積** 的基本定義。\n2. **正確答案 (B) 為何對**：教材原文「矩陣分解是指將一個高維矩陣 X ∈ ℝᵐˣⁿ 拆解為數個較小矩陣的乘積，這些子矩陣在運算上更具可解性，或在幾何上具有特定意涵」。(B) 完整對應「拆解+乘積+可解性+幾何意涵」四要素。\n3. **其他選項為何刪**：\n   - (A) 矩陣加常數項 → 那不是分解，是平移運算，刪。\n   - (C) 機率方式更新條件機率 → 那是貝氏推論/EM 算法範疇，刪。\n   - (D) 轉換為非線性表示 → 矩陣分解屬**線性代數**工具，非「非線性」，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 142（矩陣分解的核心概念）\n\n**融會貫通**：記法「**矩陣分解 = 拆乘積、抓潛在結構**」。後續 Q18-Q23、Q26 考具體三方法(特徵值分解/SVD/NMF)的差異 — 先掌握「拆乘積」這個共通本質，再分別記三方法的適用條件。",
    "18": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「特徵值分解 `A = QΛQᵀ` 何者**錯誤**」→ 考點是**特徵值分解的適用範圍(對稱方陣)**。\n2. **正確答案 (D) 為何對**：(D) 說「**特徵值分解適用於任意實數矩陣(不需為方陣)**」→ **錯誤**。特徵值分解**只適用於對稱方陣**；「適用於任意實數矩陣(不需為方陣)」是 **SVD(奇異值分解)** 的特性。題目刻意把特徵值分解與 SVD 的適用範圍 swap。\n3. **其他選項為何刪**(全是特徵值分解的正確敘述)：\n   - (A) 適用於對稱方陣 → 對(教材原文)，刪。\n   - (B) Q 為正交矩陣，由特徵向量構成 → 對(教材原文)，刪。\n   - (C) Λ 為對角矩陣，對角元素為特徵值 → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 148-162、176（特徵值分解 vs SVD 適用範圍）\n\n**融會貫通**：易混淆對照「**特徵值分解=對稱方陣(嚴格)，SVD=任意實數矩陣(寬鬆)**」。SVD 是特徵值分解的「廣義版」 — 把對稱方陣放寬到任意矩陣。Q18 與 Q20、Q23 反覆考此區別，這是最高頻 swap 題。",
    "19": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**特徵值分解的應用場景」→ 找錯誤。考點是**特徵值分解 vs SVD 的應用差異**。\n2. **正確答案 (C) 為何對**：(C) 說「推薦系統：分解使用者-項目矩陣，找出潛在偏好向量」→ 那是 **SVD(奇異值分解)** 的招牌應用，**不是特徵值分解**。特徵值分解的應用是 PCA 與 LDA(都需對對稱矩陣分解)。\n3. **其他選項為何刪**(全是特徵值分解的正確應用)：\n   - (A) PCA(對協方差矩陣做特徵值分解) → 對，刪。\n   - (B) LDA(找最佳分類投影方向) → 對，刪。\n   - (D) 找拉伸方向基底並量化重要性 → 對(特徵值分解的幾何意義原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 165-170、190-195（特徵值分解 vs SVD 應用場景）\n\n**融會貫通**：應用場景對照「**特徵值分解 → PCA/LDA(對稱矩陣場景)；SVD → 降維/推薦/LSA/影像壓縮(任意矩陣場景)**」。推薦系統的 user-item 矩陣是**長方形非方陣**，所以非特徵值分解能處理 — 一看到「使用者-項目矩陣」就是 SVD 招牌。",
    "20": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「SVD `X = UΣVᵀ` 何者**錯誤**」→ 考點是 **V/Vᵀ 的真正屬性**。\n2. **正確答案 (D) 為何對**：(D) 說「Vᵀ 為對稱正定矩陣，且 V 對角元素為 0 或 1」→ **錯誤**。教材原文「V 為右奇異向量矩陣(對應特徵方向)」，是**正交矩陣**(VᵀV = I)，不是「對稱正定 + 對角為 0/1」(那是排列矩陣 / 二元矩陣的特性)。\n3. **其他選項為何刪**(全為 SVD 的正確敘述)：\n   - (A) 適用任意實數矩陣(不需方陣) → 對(教材原文)，刪。\n   - (B) U 為左奇異向量矩陣(樣本方向) → 對(教材原文)，刪。\n   - (C) Σ 為奇異值對角矩陣，非負對角線 → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 174-184（SVD 三組件定義）\n\n**融會貫通**：SVD 三組件記法「**U=樣本向量(左)，Σ=重要性權重(對角)，V=特徵向量(右)**」 — 左右奇異向量都是**正交矩陣**，Σ 是**對角非負**。題目用「對稱正定 + 對角為 0/1」這種錯誤屬性堆疊，是典型「亂貼定義」干擾。",
    "21": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非** SVD 的應用場景」→ 找錯誤。考點是 **SVD vs NMF 應用差異**。\n2. **正確答案 (D) 為何對**：(D) 說「主題建模(Topic Modeling)：將文件-詞矩陣分解為主題與詞彙分佈」→ 那是 **NMF(非負矩陣分解)** 的招牌應用，**不是 SVD**。SVD 的四大應用為：資料降維、推薦系統、LSA、影像壓縮。題目把 NMF 應用塞入 SVD。\n3. **其他選項為何刪**(全為 SVD 正確應用)：\n   - (A) 資料降維(保留前 k 個奇異值) → 對(教材原文)，刪。\n   - (B) 推薦系統(分解使用者-項目矩陣) → 對(教材原文)，刪。\n   - (C) 潛在語意分析 LSA → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 190-195、212-217（SVD vs NMF 應用場景）\n\n**融會貫通**：易混淆「**LSA(SVD 做的語意分析) vs Topic Modeling(NMF 做的主題建模)**」 — 兩者都處理「文件-詞矩陣」但工具不同：LSA 用 SVD 找潛在語意結構，Topic Modeling 用 NMF 分解出主題分佈。題目把這兩個近似應用 swap，是高頻陷阱。",
    "22": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「NMF `X ≈ WH` 何者**錯誤**」→ 考點是 **NMF 的非負性約束**。\n2. **正確答案 (C) 為何對**：(C) 說「適用於任意實數矩陣，且分解結果允許正負值」→ **錯誤**。NMF 全名「**Non-negative** Matrix Factorization」，要求 **X ≥ 0、W ≥ 0、H ≥ 0**，不允許負值；「任意實數矩陣、允許正負」是 SVD 的特性。題目把 NMF 與 SVD 對調。\n3. **其他選項為何刪**(全為 NMF 正確敘述)：\n   - (A) 分解為 W(基底/潛在特徵)與 H(組合係數) → 對(教材原文)，刪。\n   - (B) 視為「可加疊部件」、語意解釋力、稀疏性 → 對(教材原文幾何意義)，刪。\n   - (D) 應用含主題建模、生物訊號、影像分析、社群分析 → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 201-217（NMF 原理、幾何意義與應用）\n\n**融會貫通**：NMF 招牌特徵「**非負 + 可加疊部件 + 稀疏性 + 語意解釋力**」。為何要非負？因為很多現實資料天然非負(像素強度、詞頻、訊號強度) — 強制非負才能保留「累加組合」這種直觀解釋。Q22 是 SVD↔NMF swap 干擾。",
    "23": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「三種矩陣分解與適用矩陣類型配對何者**錯誤**」→ 考點是**三方法適用範圍**綜合比較。\n2. **正確答案 (D) 為何對**：(D) 說「**特徵值分解 — 非負矩陣 (X ≥ 0)**」→ **錯誤**。特徵值分解適用於「對稱方陣」；「非負矩陣 (X ≥ 0)」是 **NMF** 的適用條件。題目把兩方法 swap。\n3. **其他選項為何刪**(配對正確)：\n   - (A) 特徵值分解 — 對稱方陣 → 對(Q18 已考)，刪。\n   - (B) SVD — 任意實數矩陣(不需方陣) → 對(Q18/Q20 已考)，刪。\n   - (C) NMF — 非負矩陣 (X ≥ 0) → 對(Q22 已考)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 148-151、176、201-202（三方法適用矩陣比較）\n\n**融會貫通**：三方法適用條件總表「**特徵值分解=對稱方陣(最嚴)；SVD=任意實數矩陣(最寬)；NMF=非負矩陣(特殊約束)**」。從嚴到寬：特徵值分解 ⊂ SVD，NMF 是另一條軌道(只看符號不看形狀)。Q18/Q20/Q22/Q23 反覆考三條軸的區別，建議用此表整合。",
    "24": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**維度簡化帶來的效益」→ 找錯誤。考點是維度簡化的**四大效益**。\n2. **正確答案 (D) 為何對**：(D) 說「增加模型非線性表達能力」→ **錯誤**。維度簡化是**線性**運算(矩陣分解)，不會增加非線性表達能力；增加非線性是**激活函數**或**核方法(kernel method)** 的功能。維度簡化的四大效益為：提升訓練效率、穩定模型表現、強化解釋性、利於視覺化。\n3. **其他選項為何刪**(全為維度簡化效益)：\n   - (A) 提升訓練效率(減參數/省資源) → 對(教材原文)，刪。\n   - (B) 穩定模型表現(去雜訊/共線性、降過擬合) → 對(教材原文)，刪。\n   - (C) 強化資料解釋性(幾何/語意意義) → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 225-239（維度簡化的四大效益）\n\n**融會貫通**：維度簡化四效益口訣「**效率(快)、穩定(準)、解釋(懂)、視覺化(看)**」。Q10、Q13、Q14、Q24 都涉及「線性 vs 非線性」的陷阱 — 線性代數工具本身不引入非線性，看到「增加非線性」配「降維/線性變換」必為干擾。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「PCA 與 SVD 關係何者**錯誤**」→ 考點是 **PCA 必須仰賴矩陣分解** 的本質。\n2. **正確答案 (D) 為何對**：(D) 說「PCA 不需要任何矩陣分解技術即可實現」→ **錯誤**。教材明示「PCA 需對特徵矩陣進行協方差計算與**矩陣分解**」(line 70)；實作上 PCA 有兩條路徑：①對協方差矩陣做特徵值分解、②直接對特徵矩陣做 SVD。兩條都靠矩陣分解。\n3. **其他選項為何刪**(正確敘述)：\n   - (A) PCA 可透過協方差矩陣特徵值分解實現 → 對(教材 line 169)，刪。\n   - (B) SVD「保留前 k 奇異值/向量」可用於 PCA → 對(教材 line 192)，刪。\n   - (C) PCA 與 SVD 皆可降維、線性代數工具有關聯 → 對，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 70、169、192（PCA 與 SVD 關係）\n\n**融會貫通**：PCA 兩條實作路徑「**路徑 1：協方差矩陣 → 特徵值分解(對稱方陣場景)；路徑 2：特徵矩陣 → SVD(數值穩定、長方形也可)**」。實務上 sklearn 的 `PCA` 預設用 SVD(數值穩定) — 這就是為何 Q19/Q21 反覆強調「SVD 用於 PCA 計算」。",
    "26": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**為** NMF 的幾何意義」→ 找**正確**選項。考點是**三種矩陣分解的幾何意義 swap**。\n2. **正確答案 (C) 為何對**：教材原文「NMF 將資料視為幾個『可加疊的部件』，提供具備語意解釋力的解構方式，並能自然引入稀疏性」(line 208-210)。(C) 完整對應「可加疊部件 + 語意解釋 + 稀疏」三要素。\n3. **其他選項為何刪**：\n   - (A) 不同空間基底的縮放與旋轉、數值穩定性 → 那是 **SVD** 的幾何意義(line 186-188)，刪。\n   - (B) 找拉伸方向基底、量化每方向重要性 → 那是**特徵值分解**的幾何意義(line 163-165)，刪。\n   - (D) 機率推論將資料投影到條件機率空間 → 那是貝氏推論，非 NMF 幾何意義，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 163-165、186-188、208-210（三方法幾何意義對照）\n\n**融會貫通**：三方法幾何意義對照表「**特徵值分解=拉伸方向基底(關鍵詞：拉伸/重要性)；SVD=空間基底縮放與旋轉(關鍵詞：旋轉/穩定性)；NMF=可加疊部件(關鍵詞：可加/稀疏/語意)**」。Q26 是經典三方塊 swap 題，題目把(A)(B)(C)三個分解方法的幾何敘述大亂鬥 — 抓「可加疊部件」這個唯一 NMF 招牌詞即可破題。",
    "27": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「OLS 的核心概念」→ 考點是 **OLS = 誤差『平方總和』最小化**。\n2. **正確答案 (B) 為何對**：教材原文「最小平方估計(OLS)是一種以『誤差最小化』為目標的參數估計方法，比較模型預測值與實際觀測值之間的差異，使這些差異的**平方總和**達到最小」。(B) 完整對應「誤差最小化 + 平方總和」兩個關鍵字。\n3. **其他選項為何刪**：\n   - (A) 誤差**最大化** → 字面就反，刪。\n   - (C) **絕對值**最小化 → 那是 **MAE(Mean Absolute Error)** / **最小絕對偏差(LAD)** 的核心，不是 OLS，刪。\n   - (D) 機率分佈最大化 → 那是 MLE/貝氏估計，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 247（OLS 核心概念）\n\n**融會貫通**：易混淆「**OLS = 誤差平方總和最小(MSE 系) vs LAD/MAE = 誤差絕對值總和最小**」。OLS 對離群點敏感(平方放大誤差)，LAD 較穩健(絕對值不放大) — 這也呼應 Q29 的「資料分散/離群點扭曲擬合」考點。",
    "28": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性迴歸的幾何本質」→ 考點是 **線性迴歸 = 在特徵空間做投影到平面**。\n2. **正確答案 (B) 為何對**：教材原文「從幾何角度看，線性迴歸的本質是一種投影：將輸入資料在特徵空間中投影到一個最接近實際結果的平面上，這個平面就是模型學到的線性關係」。(B) 完整對應「投影 + 最接近實際結果的平面 + 線性關係」三要素。\n3. **其他選項為何刪**：\n   - (A) **非線性**映射 + 離散標籤 → 線性迴歸是**線性**+**連續輸出**，雙錯，刪。\n   - (C) 機率推論 P(Y|X) 後驗 → 那是**邏輯迴歸/貝氏迴歸**範疇，刪。\n   - (D) 非線性激活函數組合 → 線性迴歸無激活函數，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 251（線性迴歸的幾何觀點）\n\n**融會貫通**：線性迴歸三角度「**代數：ŷ = Xθ(Q7)；幾何：投影到擬合平面(Q28)；統計：MSE 最小化(Q27)**」三位一體。看到「線性迴歸+非線性/離散/機率」這種搭配必為干擾 — 線性迴歸是**線性模型 + 連續輸出 + 確定性映射**。",
    "29": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「線性迴歸資料分佈影響何者**正確**」→ 找正確選項。考點是 **資料分散/離群點會扭曲擬合平面**。\n2. **正確答案 (B) 為何對**：教材原文「資料的排列與變異會影響模型的準確性 — 資料若分佈過於分散或存在離群點，擬合出的平面可能會受到扭曲」。(B) 完整對應(這是 OLS 平方放大誤差的副作用 — 離群點被平方後權重變大，把擬合平面拉偏)。\n3. **其他選項為何刪**：\n   - (A) 對排列與變異不敏感 → 教材明示**會影響**，刪。\n   - (C) 與資料分佈無關 → 教材明示**受分佈影響**，刪。\n   - (D) 只能用於完全均勻分佈 → 太絕對，現實中無此條件，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 253（資料分佈對線性迴歸的影響）\n\n**融會貫通**：實務應用「**離群點偵測 + 資料前處理**比模型選擇更關鍵」。OLS 對離群點敏感是其先天弱點 — 因應策略：①離群點偵測移除、②改用穩健迴歸(Huber/RANSAC)、③改用 LAD(絕對值最小)。Q27 的 OLS vs LAD、Q29 的離群點扭曲，兩題串成「OLS 弱點+對策」。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**線性迴歸常見應用」→ 找錯誤。考點是**迴歸(連續) vs 分類(離散)** 的任務區分。\n2. **正確答案 (D) 為何對**：(D) 說「影像分類(將輸入影像對應到離散物件類別)」→ **錯誤**。影像分類是**分類任務**(離散標籤輸出)，不是**迴歸任務**(連續數值輸出)。教材列線性迴歸四大應用為：銷售預測、醫療風險評估、房價估值、行為建模(全為連續數值預測)。\n3. **其他選項為何刪**(全為線性迴歸正確應用)：\n   - (A) 銷售預測(預測未來營收=連續) → 對(教材原文)，刪。\n   - (B) 醫療風險評估(機率/成本=連續) → 對(教材原文)，刪。\n   - (C) 房價估值(預測價格=連續) → 對(教材原文)，刪。\n\n**📖 章節來源**：chunks/L23102.txt line 259-262（線性迴歸的應用情境）\n\n**融會貫通**：迴歸 vs 分類最快判別「**輸出是數字(連續)→迴歸；輸出是類別(離散)→分類**」。即使「醫療風險評估」聽起來像分類，教材把它定義為「預測**患病機率或醫療成本**」(都是連續數值)所以歸為迴歸。看到「影像分類/類別/標籤」就應指向分類任務(SVM/CNN)，不是線性迴歸。",
    "31": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**本節介紹的主軸不包含**」→ 考點是教材第 11 行明列的章節導覽範圍。\n2. **正確答案 (D) 為何對**：教材 line 11「本節從**向量與矩陣表示、線性變換與特徵空間**開始，到**矩陣分解與維度簡化**與**最小平方估計與線性迴歸**，介紹基礎概念背後的幾何意義與演算法對應」。教材主軸就這四大塊，**梯度下降法與反向傳播屬於 L23103 最佳化章節**，故 (D) 不在本節，為答案。\n3. **其他選項為何刪**：\n   - (A) 向量與矩陣表示 ✓ 教材 line 11 明列\n   - (B) 線性變換與特徵空間 ✓ 教材 line 11 明列\n   - (C) 矩陣分解與維度簡化、最小平方估計與線性迴歸 ✓ 教材 line 11 明列\n\n**章節來源**：chunks/L23102.txt line 9-11（前言與章節導覽）\n\n**融會貫通**：記法「**線代四大塊：向量矩陣 → 線性變換 → 矩陣分解 → 最小平方**」。本節 L23102 是線性代數**基礎工具**，最佳化（梯度下降）在 L23103，兩章不要混淆。",
    "32": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**模型參數向量 θ 與輸入向量 x 的預測值公式**」→ 考點是教材 line 23 的標準寫法。\n2. **正確答案 (A) 為何對**：教材 line 23「模型的參數向量 θ = [θ₁, θ₂, …, θ_d] 可用於計算預測值 **ŷ = θᵀ x**」。直引教材。\n3. **其他選項為何刪**：\n   - (B) ŷ = θ x² → 非線性平方項，不符線性模型，刪。\n   - (C) ŷ = x θ⁻¹ → 向量求逆無定義（向量無逆），刪。\n   - (D) ŷ = θ + x → 維度不對齊（兩個向量相加得向量而非純量），刪。\n\n**章節來源**：chunks/L23102.txt line 21-23（向量在機器學習中的角色）\n\n**融會貫通**：記法「**ŷ = θᵀ x**」是線性模型的**核心預測公式**：\n- θᵀ x 為**點積（純量結果）**\n- 等價於 Σ θᵢ xᵢ\n- 對應到矩陣形式即 num 7 的 ŷ = Xθ（批次預測，整個樣本矩陣 X 乘 θ）\n\n考點常考兩種寫法的對應：**單樣本 θᵀ x（純量）** vs **批次 Xθ（向量）**。",
    "33": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**點積（Dot Product）的物理意義**」→ 考點是教材 line 31 的兩個關鍵詞。\n2. **正確答案 (A) 為何對**：教材 line 31「其物理意義是『**投影**』和『**相似度**』」。直引教材。\n3. **其他選項為何刪**：\n   - (B) 長度和面積 → 「長度」是 **L2 範數**的意義（line 37），不是點積，刪。\n   - (C) 機率和條件期望 → 非教材所述，刪。\n   - (D) 曲率和梯度 → 非教材所述，刪。\n\n**章節來源**：chunks/L23102.txt line 27-31（向量在機器學習中的角色 - 點積）\n\n**融會貫通**：記法「**點積 = 投影 + 相似度**」。應用對照：\n- **投影**：將 x 投影到 θ 方向的長度 → 線性模型預測核心（ŷ = θᵀx）\n- **相似度**：cosine similarity 的分子是兩向量點積 → NLP/推薦系統的相似度判斷\n\n陷阱：**長度 / 大小** 是 **L2 範數**（line 37）的物理意義，不要與點積混淆。",
    "34": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**向量加減與線性組合**」的用途 → 考點是教材 line 41 的具體例舉。\n2. **正確答案 (A) 為何對**：教材 line 39-41「向量加減與線性組合：可用於計算**誤差向量、梯度向量**等」。直引教材。\n3. **其他選項為何刪**：\n   - (B) 特徵值與特徵向量 → 屬於**特徵值分解**的範疇（line 146），不是基本向量加減，刪。\n   - (C) 條件機率分佈 → 屬於機率統計範疇，非線代運算，刪。\n   - (D) 非線性映射 → 線性組合本質為**線性**運算，反了，刪。\n\n**章節來源**：chunks/L23102.txt line 39-41（向量在機器學習中的角色 - 向量加減與線性組合）\n\n**融會貫通**：記法「**向量加減 → 誤差向量、梯度向量**」。實務對照：\n- **誤差向量** e = y - ŷ（預測值與真實值相減）\n- **梯度向量** ∇L = (∂L/∂θ₁, …, ∂L/∂θ_d)（損失對各參數的偏導組合）\n\n兩者皆是線性代數中向量加減 / 線性組合的直接應用，串接到 L23103 梯度下降的更新規則 θ ← θ - η∇L。",
    "35": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**重構特徵空間的目的不包含**」→ 考點是教材 line 96 列舉的三項目的。\n2. **正確答案 (D) 為何對**：教材 line 96「其目的在於讓資料在轉換後的空間中更利於模型處理。例如，透過適當的線性變換，可以**強化資料的分群結構、降低維度冗餘，或提高對特定方向的敏感度**」。教材所列三項目的中**不包含「非線性決策邊界」**，且「非線性」與「線性變換」本質衝突，故 (D) 不在範圍，為答案。\n3. **其他選項為何刪**：\n   - (A) 強化分群結構 ✓ 教材 line 96 明列\n   - (B) 降低維度冗餘 ✓ 教材 line 96 明列\n   - (C) 提高對特定方向的敏感度 ✓ 教材 line 96 明列\n\n**章節來源**：chunks/L23102.txt line 96（線性變換 - 重構特徵空間的目的）\n\n**融會貫通**：記法「**線性變換三大目的：分群、降冗、敏感**」。注意：\n- **線性**變換 ≠ 非線性表達能力（後者要靠激活函數）\n- num 13、num 24 也考過「非線性誤植」陷阱，是 L23102 的常見干擾項\n\n考點常見「線性變換能不能擬合非線性決策邊界」→ **不能**，要靠 NN 的激活函數，這是 L23102 與後續深度學習章節的分水嶺。",
    "36": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**方向加權**」的具體意涵 → 考點是教材 line 112-114 的明確定義。\n2. **正確答案 (C) 為何對**：教材 line 112-114「方向加權：強化模型對於某些方向（變數組合）的敏感性」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 特徵做線性組合產生新表示 → 那是「**特徵重組**」的定義（line 104-106），刪。\n   - (B) 高維轉低維或嵌入空間 → 那是「**維度轉換**」的定義（line 108-110），刪。\n   - (D) 非線性激活 → 與線性變換本質衝突，刪。\n\n**章節來源**：chunks/L23102.txt line 102-114（線性變換達成的三項目標）\n\n**融會貫通**：記法表（線性變換三大達成目標）：\n- **特徵重組**：線性組合 → 新表示（PCA 為例）\n- **維度轉換**：高 → 低 / 嵌入空間\n- **方向加權**：強化對某些方向（變數組合）的敏感性\n\n考點常考三項**配對識別**，記住每項的關鍵詞：重組=線性組合、轉換=維度、加權=方向敏感。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**嵌入層（Embedding Layer）**」的核心操作 → 考點是教材 line 128-130 的定義。\n2. **正確答案 (B) 為何對**：教材 line 128-130「嵌入層（Embedding Layer）：將**離散類別轉為連續空間的向量表示**，其核心操作也是**一組特定矩陣的線性查詢與轉換**」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 連續轉離散 → 方向反了，嵌入層是**離散 → 連續**，刪。\n   - (C) 非線性激活 → 嵌入層核心是**線性**查詢，刪。\n   - (D) 梯度反向傳播誤差 → 那是訓練機制，不是嵌入層的定義，刪。\n\n**章節來源**：chunks/L23102.txt line 128-130（線性變換在 ML 模型中的出現形式 - 嵌入層）\n\n**融會貫通**：記法「**Embedding = 離散→連續 = 線性查詢**」。實務對照：\n- 詞嵌入（Word2Vec、GloVe）：詞ID（離散） → d 維向量（連續）\n- 類別嵌入：產品/使用者ID（離散） → 隱藏特徵向量（連續）\n\n實作上 Embedding 層就是一個**lookup 矩陣** W ∈ ℝ^{|V|×d}，輸入 one-hot 向量 e_i，輸出 W e_i = W 的第 i 行 — 完全是矩陣乘法（線性查詢）。",
    "38": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**矩陣分解後的子矩陣可視為何種結構**」→ 考點是教材 line 142 的核心闡述。\n2. **正確答案 (A) 為何對**：教材 line 142「分解後的矩陣可視為**資料的潛在結構（如主成分、潛在特徵）之表現**，有助於後續的建模與解釋」。直引教材。\n3. **其他選項為何刪**：\n   - (B) 標籤分佈、直接分類 → 矩陣分解是**非監督**降維工具，不是分類器，刪。\n   - (C) 條件機率推論 → 屬於機率模型範疇，不是矩陣分解的核心意義，刪。\n   - (D) 離群點集合 → 異常偵測是矩陣分解的**衍生應用**，不是子矩陣的本質意義，刪。\n\n**章節來源**：chunks/L23102.txt line 140-142（矩陣分解的核心概念）\n\n**融會貫通**：記法「**矩陣分解 = 找潛在結構**」。三大分解的「潛在結構」對應：\n- **特徵值分解**：拉伸方向（line 165）\n- **SVD**：主方向重要性（line 188）\n- **NMF**：可加疊的部件（line 208-210）\n\n這層意義是矩陣分解的**共通哲學** — 不只是數值拆解，而是**揭示資料的內在結構**，為後續建模（如 PCA、推薦系統、LSA）提供基礎。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**特徵值分解的幾何意義**」→ 考點是教材 line 163-165 的明文敘述。\n2. **正確答案 (B) 為何對**：教材 line 163-165「幾何意義：特徵值分解找出一組能穩定表示資料在空間中『**拉伸方向**』的基底，並**量化每個方向的重要性**」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 不同空間基底的縮放與旋轉 → 那是 **SVD 的幾何意義**（line 186-188），刪。\n   - (C) 可加疊的部件 → 那是 **NMF 的幾何意義**（line 208-210），刪。\n   - (D) 機率推論潛在變數 → 屬於機率模型，非特徵值分解，刪。\n\n**章節來源**：chunks/L23102.txt line 163-165（特徵值分解 - 幾何意義）\n\n**融會貫通**：記法表（三大分解幾何意義對照）：\n- **特徵值分解** → **拉伸方向** + 重要性量化\n- **SVD** → **縮放與旋轉**操作（不同空間基底）\n- **NMF** → **可加疊的部件**（語意解釋）\n\n考點常考三者**配對識別**，記住關鍵詞：特徵值=拉伸、SVD=縮放旋轉、NMF=可加疊。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**SVD 的幾何意義**」→ 考點是教材 line 186-188 的明文敘述。\n2. **正確答案 (B) 為何對**：教材 line 186-188「幾何意義：SVD 將原始矩陣轉換為**不同空間基底的縮放與旋轉操作**，具有極佳的**數值穩定性**與**資訊解構能力**」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 拉伸方向基底 → 那是**特徵值分解的幾何意義**（line 165），刪。\n   - (C) 條件機率表 → 非教材所述，刪。\n   - (D) 可加疊的部件 → 那是 **NMF 的幾何意義**（line 208-210），刪。\n\n**章節來源**：chunks/L23102.txt line 186-188（SVD - 幾何意義）\n\n**融會貫通**：記法「**SVD = 縮放 + 旋轉 + 數值穩定**」。SVD 的三個矩陣 X = U Σ Vᵀ 對應到幾何操作：\n- **Vᵀ**（右奇異向量轉置）→ **旋轉**（原空間旋轉）\n- **Σ**（奇異值對角矩陣）→ **縮放**（各方向重要性）\n- **U**（左奇異向量）→ **旋轉**（映射到目標空間）\n\n對比 num 39 的特徵值分解（拉伸方向），SVD 多了「旋轉到不同空間基底」這個維度，所以**可用於非方陣**（line 176），是更通用的分解工具。",
    "41": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**NMF 應用場景不包含**」→ 考點是教材 line 213-217 的四項應用清單。\n2. **正確答案 (D) 為何對**：教材 line 213-217 列舉 NMF 應用為「主題建模、生物訊號分析、影像分析、社群分析」。**推薦系統屬於 SVD 的應用**（line 193「分解使用者 - 項目矩陣，找出潛在偏好向量」），故 (D) 不屬於 NMF，為答案。\n3. **其他選項為何刪**：\n   - (A) 主題建模 ✓ 教材 line 214 明列為 NMF 應用\n   - (B) 生物訊號分析 ✓ 教材 line 215 明列為 NMF 應用\n   - (C) 影像分析 ✓ 教材 line 216 明列為 NMF 應用\n\n**章節來源**：chunks/L23102.txt line 213-217（NMF 應用場景）、line 193（SVD 應用 - 推薦系統）\n\n**融會貫通**：記法（三大分解的招牌應用對照）：\n- **SVD**：資料降維、**推薦系統**、潛在語意分析（LSA）、影像壓縮（line 192-195）\n- **NMF**：**主題建模**、生物訊號、影像分析、社群分析（line 213-217）\n- **特徵值分解**：PCA、LDA（line 169-170）\n\n陷阱：**推薦系統用 SVD**（使用者-項目矩陣可含負值，且 SVD 數值穩定），不是 NMF。考點常用「推薦系統誤植到 NMF」當干擾項（呼應 num 21 SVD 的反向考法）。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**矩陣求逆與偽逆的用途**」→ 考點是教材 line 59 的明文敘述。\n2. **正確答案 (B) 為何對**：教材 line 59「矩陣求逆（Inverse）與偽逆（Pseudo-Inverse）：用於**封閉解的求解（如最小平方解）**，或在**無法反矩陣的情況下近似解決**」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 批次預測與權重更新 → 那是**矩陣乘法**的用途（line 57），刪。\n   - (C) 列與行互換 → 那是**轉置（Transpose）**的用途（line 58），刪。\n   - (D) 特徵值與特徵向量 → 那是**特徵值分解**的範疇（line 146），刪。\n\n**章節來源**：chunks/L23102.txt line 55-59（矩陣在 ML 中的應用 - 常見矩陣運算）\n\n**融會貫通**：記法表（三大矩陣運算與用途）：\n- **矩陣乘法** → 批次預測、權重更新、特徵空間轉換\n- **轉置** → 維度對齊、內積計算\n- **求逆 / 偽逆** → 封閉解（如 OLS 解 (XᵀX)⁻¹Xᵀy）、無法反矩陣時用偽逆近似\n\n實務對照：當 XᵀX **可逆**（樣本數 > 特徵數且無共線性）→ 用 Inverse；當 XᵀX **不可逆**（特徵共線或樣本不足）→ 用 Pseudo-Inverse（Moore-Penrose 偽逆）。",
    "43": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**利於視覺化與後續分析**」的具體內容 → 考點是教材 line 237-239 的明文敘述。\n2. **正確答案 (A) 為何對**：教材 line 237-239「利於視覺化與後續分析：在維度降低後，可將資料**投影至二維或三維空間中**，方便進行**資料探索、群集判斷與異常偵測**等任務」。直引教材。\n3. **其他選項為何刪**：\n   - (B) 映射至高維特徵空間 → 反了，維度簡化是**降維**，不是升維，刪。\n   - (C) 機率分佈、貝氏推論 → 屬於機率模型，非維度簡化的視覺化效益，刪。\n   - (D) 切分訓練集與測試集 → 那是資料分割，非維度簡化效益，刪。\n\n**章節來源**：chunks/L23102.txt line 237-239（維度簡化與學習效率 - 視覺化效益）\n\n**融會貫通**：記法表（維度簡化四大效益）：\n- **訓練效率** → 減少參數量、加快訓練（line 225-227）\n- **穩定模型** → 去除雜訊、降低過擬合（line 229-231）\n- **解釋性** → 幾何或語意意義（line 233-235）\n- **視覺化** → **2D / 3D 投影**做資料探索、群集判斷、異常偵測（line 237-239）\n\n實務：t-SNE、UMAP、PCA 投影到 2D 是資料科學家**第一步**的視覺化工具。",
    "44": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**投影（Projection）的幾何意涵**」→ 考點是教材 line 92-94 的明文敘述。\n2. **正確答案 (D) 為何對**：教材 line 92-94「投影（Projection）：**將高維向量投射到某個子空間（如主成分空間或分類超平面），保留對任務最有意義的資訊**」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 調整長度、不改變方向 → 那是**縮放（Scaling）**的意涵（line 80-82），刪。\n   - (B) 改變方向、不改變長度 → 那是**旋轉（Rotation）**的意涵（line 84-86），刪。\n   - (C) 傾斜變化、非對角矩陣 → 那是**剪切（Shearing）**的意涵（line 88-90），刪。\n\n**章節來源**：chunks/L23102.txt line 78-94（線性變換的四種幾何意涵）\n\n**融會貫通**：記法表（四種線性變換幾何操作）：\n- **縮放（Scaling）** → 調長度、不變方向\n- **旋轉（Rotation）** → 改方向、不變長度\n- **剪切（Shearing）** → 傾斜變化（非對角矩陣）\n- **投影（Projection）** → **高維 → 子空間**，保留有意義資訊\n\n考點常以**四選一配對**形式出題（num 11 是錯誤配對版），記住四個關鍵動詞：縮、旋、剪、投。",
    "45": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**幾何角度下線性迴歸的擬合平面代表的意義**」→ 考點是教材 line 251 的明文闡述。\n2. **正確答案 (B) 為何對**：教材 line 251「從幾何角度來看，線性迴歸的本質是一種投影：我們將輸入資料在特徵空間中投影到一個最接近實際結果的平面上。**這個平面，就是模型所學習到的線性關係**」。直引教材。\n3. **其他選項為何刪**：\n   - (A) 條件機率分佈 → 線性迴歸是**幾何投影**模型（line 251），不是機率分佈，刪。\n   - (C) 離群點集合 → 離群點是**影響擬合**的因素（line 253），不是平面本身，刪。\n   - (D) 損失函數等高線 → 等高線是參數空間中的損失分佈，不是特徵空間中的擬合平面，刪。\n\n**章節來源**：chunks/L23102.txt line 249-253（幾何觀點下的線性迴歸）\n\n**融會貫通**：記法「**擬合平面 = 模型學到的線性關係**」。線性迴歸的兩種等價詮釋：\n- **代數**：找參數 θ 使 Σ(y - θᵀx)² 最小（OLS，呼應 num 27）\n- **幾何**：在特徵空間中找一個**平面**（高維中為超平面），讓資料投影到此平面上的誤差最小（呼應 num 28）\n\n這個幾何觀點呼應 line 253 的提醒：資料**分散或有離群點**會扭曲平面 → 解釋了為何線性迴歸對離群點敏感（呼應 num 29）。"
  },
  "mock_L23103": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「訓練模型的本質為何」→ 考點是教材對「訓練模型」最根本的定義。\n2. **正確答案 (B) 為何對**：教材開宗明義指出「訓練模型本質上就是一個數值優化問題（Numerical Optimization Problem）」，不論線性模型權重、神經網路數千萬連接係數、或強化式學習策略,核心邏輯皆是「找出一組能讓目標函數達到最小或最大值的參數組合」。(B) 完整對應這個定義。\n3. **其他選項為何刪**：\n   - (A) 資料前處理問題 → 前處理只是訓練前的準備,不是訓練本質,刪。\n   - (C) 機率分佈推論問題、與優化無關 → 後半「與優化無關」與教材直接矛盾,刪。\n   - (D) 特徵工程問題 → 特徵工程是輸入面,不是訓練本身,刪。\n\n**📖 章節來源**：chunks/L23103.txt line 9(前言與章節導覽)\n\n**融會貫通**：記法「**訓練 = 優化**」。整章 L23103 的根基命題就是這句話 — 後面所有的目標函數、決策變數、優化演算法都是圍繞「找參數讓目標函數最小/最大」這件事展開。看到題目問「ML 訓練的本質」,先聯想「數值優化」四個字。",
    "2": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**:題目問目標函數的別稱「不包含」哪一個 → 考點是教材列出的別稱清單(三選一刪去)。\n2. **正確答案 (C) 為何對**:教材明示目標函數「也稱為損失函數或成本函數」,三者為同概念別稱。「適應函數(Fitness Function)」屬於演化演算法(如基因演算法)範疇,不在 L23103 教材的列示中,所以「不包含」選 (C)。\n3. **其他選項為何刪**:\n   - (A) 損失函數 → 教材原文別稱,刪(包含)。\n   - (B) 成本函數 → 教材原文別稱,刪(包含)。\n   - (D) 目標函數本身 → 自己等於自己,屬於正解的同義詞,刪(包含)。\n\n**📖 章節來源**:chunks/L23103.txt line 21(最佳化問題的基本結構 — 目標函數)\n\n**融會貫通**:記法「**目=損=成**」三同義(目標函數=損失函數=成本函數)。「Fitness Function」是基因演算法/演化計算的專用詞,跟梯度下降派系的「Loss/Cost」不同家族,看到「適應」這個詞就要警覺是 swap 干擾。",
    "3": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問目標函數依任務類型配對「錯誤」者 → 考點是「迴歸用 MSE / 分類用 Cross-Entropy」這條教材鐵則。\n2. **正確答案 (D) 為何對**:選項 (D) 說「分類任務 — MSE」是錯誤配對。教材明示「不當選擇損失函數(例如分類問題使用迴歸損失),將導致模型訓練無效,甚至完全無法收斂」。分類應使用交叉熵,MSE 是迴歸專用。\n3. **其他選項為何刪**:\n   - (A) 迴歸 — MSE → 教材標準配對,正確,刪。\n   - (B) 分類 — Cross-Entropy → 教材標準配對,正確,刪。\n   - (C) 排序與排名 — Contrastive Loss / Ranking Loss → 教材原文配對,正確,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 24-35、145(目標函數依任務類型選擇)\n\n**融會貫通**:口訣「**迴 MSE、分 CE、排對比/排序**」。題目把 MSE 錯安到分類任務是非常經典的 swap 干擾,實務上分類用 MSE 不只是效能差,而是「無法收斂」級的錯誤,這是教材重點警告。",
    "4": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「決策變數(Decision Variables)的意涵」→ 考點是教材對決策變數的定義。\n2. **正確答案 (B) 為何對**:教材原文「決策變數是模型中可調整的數值參數,亦即學習過程中需要被『優化』的對象」。線性模型的權重係數、神經網路的權重偏差、機率模型的條件機率表都是決策變數,核心特徵是「可調整 + 被優化」。\n3. **其他選項為何刪**:\n   - (A) 固定常數、不可調整 → 與「可調整」直接相反,刪。\n   - (C) 評估階段的測試指標 → 評估指標(F1/Acc)不是被優化的參數,刪。\n   - (D) 資料前處理的清洗規則 → 前處理規則屬資料工程,不是模型內可調參數,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 41(最佳化問題的基本結構 — 決策變數)\n\n**融會貫通**:記法「**決策變數 = 被優化的對象**」。三組典型決策變數:線性模型權重/偏差、神經網路每層權重/偏差、機率模型條件機率表/潛在變數。注意區分「決策變數(被優化)」vs「評估指標(F1、Acc — 衡量結果)」,後者不會出現在梯度下降的更新公式裡。",
    "5": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「並非教材列舉的決策變數形式」→ 考點是教材列三類決策變數,要找出不在清單上的那個。\n2. **正確答案 (D) 為何對**:F1 分數、Accuracy 屬於「評估指標」,用來衡量模型訓練後的表現,並不是模型內被優化的「參數」。教材列出的三類決策變數是:線性模型(權重/偏差)、神經網路(每層權重/偏差)、機率模型(條件機率表/潛在變數)。\n3. **其他選項為何刪**:\n   - (A) 線性模型 — 權重係數與偏差項 → 教材原文,刪。\n   - (B) 神經網路 — 每層權重與偏差數值 → 教材原文,刪。\n   - (C) 機率模型 — 條件機率表、潛在變數 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 43-45(決策變數的三類形式)\n\n**融會貫通**:這題是 Q4 的延伸版 — 區分「決策變數(被優化)」vs「評估指標(衡量結果)」。記法「**會被梯度更新的才是決策變數**」。F1、Accuracy 不會出現在反向傳播裡(它們甚至常常不可導),所以不可能是決策變數。",
    "6": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問可行域敘述「錯誤」者 → 考點是 4 個常見約束(非負/上下限/總和/稀疏)各自的定義,要找出被反向描述的那個。\n2. **正確答案 (D) 為何對**:「稀疏性限制」的核心是「**限制多數參數為 0**(如 L1 正則化),促進模型簡化與可解釋性」,並非「增加多數參數的權重」。題目把「限制為 0」反向寫成「增加權重」,而且把目的「避免過擬合/簡化」誤寫成「避免欠擬合」,是雙重反向干擾。\n3. **其他選項為何刪**:\n   - (A) 可行域=參數空間,定義合法範圍 → 教材原文定義,刪。\n   - (B) 非負條件 — NMF 參數須為正 → 教材原文舉例,刪。\n   - (C) 總和約束 — 機率分佈總和為 1 → 教材原文舉例,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 51-66(最佳化問題的基本結構 — 可行域)\n\n**融會貫通**:記法「**稀疏 = 多數歸零**」。L1 正則化(Lasso)是最經典的稀疏性限制工具,它讓多數參數被壓縮為 0,只保留少數重要特徵;這跟「增加權重」是相反操作,看到稀疏+增加權重就要立刻刪。",
    "7": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問凸性(Convexity)對最佳化問題的意涵 → 考點是凸函數的核心性質「全域最佳解可達」。\n2. **正確答案 (A) 為何對**:教材原文「如果一個目標函數是凸函數,那麼從任一初始點開始,只要持續往下降的方向走,最終一定能找到全域最佳解」、「凸問題具有可預期、穩定的求解特性」。線性迴歸、邏輯迴歸是典型凸問題。(A) 完整對應這兩句教材定義。\n3. **其他選項為何刪**:\n   - (B) 多個局部最小值與鞍點、不確定性 → 這是「非凸問題」(如神經網路損失函數)的特性,張冠李戴,刪。\n   - (C) 某些區段不可導 → 這是「可導性」議題的描述,跟「凸性」是不同性質,刪。\n   - (D) 凸函數總是非凸 → 邏輯矛盾(自我否定),刪。\n\n**📖 章節來源**:chunks/L23103.txt line 73-75(最佳化問題的基本結構 — 凸性)\n\n**融會貫通**:記法「**凸=全域、非凸=局部陷阱**」。凸性是 ML 優化裡的天堂門票 — 一旦問題是凸的,梯度下降幾乎保證收斂到最佳解;反之神經網路是非凸,所以才需要 Momentum、Adam 等技巧避免陷在鞍點/局部最小值。",
    "8": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問可導性與非凸問題的敘述「錯誤」者 → 考點是非凸問題「能不能訓練」這個極端說法。\n2. **正確答案 (D) 為何對**:教材明示「非凸問題雖求解充滿不確定性,但若使用適當初始化、動量機制與調整策略,依然能取得效果良好的解」。深度學習本身就是非凸問題的最大應用領域,顯然不是「完全無法獲得有效解」。(D) 用「完全無法」的極端詞,屬於誇大干擾。\n3. **其他選項為何刪**:\n   - (A) 微分→計算梯度→獲得下降方向→優化器運作前提 → 教材原文,刪。\n   - (B) 某些區段不可導→訓練不穩或收斂困難 → 教材原文,刪。\n   - (C) 神經網路損失函數常存在局部最小值與鞍點 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 77-86(可導性與非凸問題)\n\n**融會貫通**:遇到「完全無法、絕對不能、必定」等極端詞要警覺 — ML 領域很少有這種絕對命題。神經網路就是「非凸 + 能訓練得很好」的活範例,Adam/SGD+momentum 就是教材說的「動量機制」。",
    "9": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「為」教材所列 ML 脈絡應用的最佳化類型 → 考點是「線性模型 vs 深度學習 vs 生成模型」三類問題的特性,要找正確配對。\n2. **正確答案 (A) 為何對**:教材原文「線性模型訓練 — 問題結構簡單、可解析求解,訓練速度快且具有理論保證」,完整對應 (A)。\n3. **其他選項為何刪**:\n   - (B) 深度學習屬「大規模凸問題、可直接解析求解」→ 深度學習是「**非凸**」、需依賴 SGD/Adam 等「**數值演算法逼近**」,不可解析,刪。\n   - (C) 生成模型「完全使用單一固定損失,不需啟發式」→ 教材原文「需搭配啟發式搜尋或抽樣估計等技術」,刪。\n   - (D) 線性模型「大規模非凸,需 SGD/Adam」→ 把線性模型描述成深度學習,屬性互換,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 92-102(機器學習脈絡中的應用)\n\n**融會貫通**:三類問題記法「**線性=凸+解析、深度=非凸+逼近、生成=複雜+啟發式**」。(B) 跟 (D) 是經典的 swap 干擾(把線性 ↔ 深度學習特性互換),看到「線性 + 非凸」或「深度學習 + 凸」就刪。",
    "10": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問損失函數的「本質角色」→ 考點是教材對損失函數的核心定位(橋梁/導航器)。\n2. **正確答案 (A) 為何對**:教材原文「損失函數是連結資料、模型與學習目標之間的橋梁,提供一個可度量的依據,讓演算法知道『預測得好不好』,並根據這個評價反覆修正參數」;後面又稱之為學習過程的「**導航器**」。(A) 完整對應這兩個關鍵定義。\n3. **其他選項為何刪**:\n   - (B) 部署階段監控指標、與訓練無關 → 與「連結學習目標、引導訓練」完全相反,刪。\n   - (C) 取代梯度的下降方向計算工具 → 損失函數是被計算梯度的對象,不是取代梯度,角色混淆,刪。\n   - (D) 資料前處理的標準化函數 → 損失函數作用在預測輸出端,不是前處理,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 106、147(損失函數與學習目標)\n\n**融會貫通**:記法「**損失函數 = 導航器**」。它的角色是「告訴模型預測得好不好 + 指出該往哪個方向修正」,本質是訓練的方向指引,不是評估或前處理工具。",
    "11": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問損失函數設計意義的敘述「錯誤」者 → 考點是「損失函數是訓練核心」這個定位。\n2. **正確答案 (D) 為何對**:教材明示損失函數設計「直接決定模型是否能有效理解任務本質」、「影響整體收斂行為與學習效率」,是學習過程的核心。(D) 說「與模型效能無關、僅是評估階段工具」與教材完全相反 — 損失函數是「訓練階段」的核心,不是「評估階段」的工具。\n3. **其他選項為何刪**:\n   - (A) 體現策略偏好與風險容忍度 → 教材原文,刪。\n   - (B) 決定如何看待假陽性/假陰性等不同錯誤 → 教材原文舉例,刪。\n   - (C) 影響參數調整方向、幅度、收斂行為、學習效率 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 110-116(損失函數的設計意義)\n\n**融會貫通**:易混淆「**損失函數(訓練用) vs 評估指標(測試用)**」— 損失函數要可導、用於梯度更新;評估指標(如 F1、AUC)可不可導都行、用於人類判讀模型好壞。看到「損失函數僅是評估工具」就立刻刪。",
    "12": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問迴歸損失函數與特性的配對「錯誤」者 → 考點是 MSE/MAE/Huber 各自的特性,要找出被 swap 的配對。\n2. **正確答案 (D) 為何對**:「放大較大誤差的懲罰、適合誤差分佈穩定」是 **MSE** 的特性(平方放大大誤差);MAE 是「對極端值較不敏感、適用含異常值資料」(絕對值不放大)。(D) 把 MSE 的特性錯安到 MAE,屬性互換。\n3. **其他選項為何刪**:\n   - (A) MSE — 放大大誤差懲罰、適合穩定分佈 → 教材原文,刪。\n   - (B) MAE — 對極端值不敏感、適合含異常值 → 教材原文,刪。\n   - (C) Huber — 結合 MSE/MAE 優點、穩定性與抗雜訊平衡 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 124-126(迴歸任務損失函數)\n\n**融會貫通**:記法「**MSE 放大、MAE 穩健、Huber 折衷**」。差異本質在於「平方 vs 絕對值」對極端誤差的反應 — MSE 把誤差平方所以放大、MAE 用絕對值所以線性、Huber 在誤差小時用平方、誤差大時改用絕對值。",
    "13": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問分類損失函數與特性的配對「錯誤」者 → 考點是 Cross-Entropy / Contrastive / Focal 三者各自的角色,要找 swap。\n2. **正確答案 (D) 為何對**:「強化對難分類樣本的學習、處理資料不平衡」是 **Focal Loss** 的特性(Focal 用 (1-p)^γ 降低易分樣本的損失權重);交叉熵則是「衡量預測機率與實際標籤的距離、為多數分類模型的標準選擇」。(D) 把 Focal 的特性錯安到 Cross-Entropy。\n3. **其他選項為何刪**:\n   - (A) Cross-Entropy — 衡量機率距離、多數分類標準 → 教材原文,刪。\n   - (B) Contrastive Loss — 學習樣本對相似度、人臉辨識/語意匹配 → 教材原文,刪。\n   - (C) Focal Loss — 強化難分類樣本、處理不平衡 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 130-132(分類任務損失函數)\n\n**融會貫通**:記法「**CE 標準、Contrastive 配對、Focal 救不平衡**」。Focal Loss 最常用於物件偵測(如 RetinaNet)的不平衡資料(背景多、前景少);Cross-Entropy 是普通分類預設;Contrastive 用於 metric learning(學距離)。",
    "14": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「並非教材所列的損失函數類別」→ 考點是把優化演算法名稱混入損失函數清單的干擾。\n2. **正確答案 (D) 為何對**:Adam 是「優化演算法」(Adaptive Moment Estimation),其角色是「決定參數更新方向與步長」,根本不是損失函數。教材的損失函數三大類是迴歸(MSE/MAE/Huber)、分類(Cross-Entropy/Contrastive/Focal)、排序與重建(Ranking/Reconstruction);沒有所謂「Adam Loss」。\n3. **其他選項為何刪**:\n   - (A) Ranking Loss — 排序損失,搜尋/推薦系統 → 教材原文,刪。\n   - (B) Reconstruction Loss — 重建損失,自編碼器/生成模型 → 教材原文,刪。\n   - (C) Huber 損失 — MSE+MAE 折衷 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 124-137、253(損失函數類別 + Adam 是優化器)\n\n**融會貫通**:重要區分「**損失函數(被優化的對象) vs 優化器(執行優化的工具)**」— Adam、SGD、Momentum 都是優化器;MSE、Cross-Entropy 都是損失函數。看到「XX Loss」名稱還是要驗證它是不是真的損失函數,有時是優化器名混進來。",
    "15": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「不當選擇損失函數」的後果 → 考點是教材對損失函數選擇錯誤的嚴重性警告。\n2. **正確答案 (B) 為何對**:教材原文直接點名「不當選擇損失函數(例如分類問題使用迴歸損失),將導致模型訓練無效,甚至完全無法收斂」。(B) 完整對應教材這句嚴重後果描述。\n3. **其他選項為何刪**:\n   - (A) 略微減速、仍能正常收斂 → 與「完全無法收斂」程度差距太大,刪。\n   - (C) 過擬合、但泛化能力佳 → 過擬合與泛化矛盾,且不是教材所述後果,刪。\n   - (D) 自動切換為其他損失函數 → 機器不會自動切換,屬幻想,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 145(損失函數對學習行為的影響)\n\n**融會貫通**:這題對應 Q3 的反向版 — Q3 是配對題(分類用 MSE 是錯誤配對),Q15 是後果題(用了會怎樣)。記法「**用錯損失 = 完全不收斂**」,不是「效果差一點」這種輕量結果。實務上分類問題硬用 MSE 會讓 loss 曲線完全跑不下去。",
    "16": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問優化演算法的「核心職責」→ 考點是優化器的本質角色定義。\n2. **正確答案 (B) 為何對**:教材原文「這些演算法負責判斷每次應該往哪個方向移動、該移動多遠,以逐步接近最佳解」;不同優化器在「更新方式、計算效率、收斂行為」上各有特色。(B) 完整對應「方向+步長」這個核心職責。\n3. **其他選項為何刪**:\n   - (A) 資料前處理與特徵縮放 → 那是資料工程,不是優化器,刪。\n   - (C) 設計神經網路架構與層數 → 那是模型架構設計,不是優化,刪。\n   - (D) 評估模型在測試集表現 → 那是評估階段,不是訓練階段,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 151-153(常見優化演算法與比較 — 引言)\n\n**融會貫通**:記法「**優化器 = 方向 + 步長**」。每個優化器(GD/SGD/Momentum/Adam)的差異本質,都可以拆成「梯度怎麼算(方向)」+「學習率怎麼調(步長)」兩件事,這就是分類優化演算法的兩大主軸。",
    "17": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問梯度下降法(GD)的敘述「錯誤」者 → 考點是 GD 與 SGD 在「用多少資料估梯度」的本質差異。\n2. **正確答案 (D) 為何對**:「每次使用一筆樣本來估算梯度」是 **SGD(隨機梯度下降)** 的概念;GD 是用「**整個訓練資料集**」計算梯度。(D) 把 SGD 的概念錯安到 GD,是 GD/SGD 最高頻的 swap 干擾。\n3. **其他選項為何刪**:\n   - (A) 使用整個訓練資料集計算梯度 → GD 的核心概念,教材原文,刪。\n   - (B) 更新穩定、能準確反映全體資料平均方向 → GD 的優點,教材原文,刪。\n   - (C) 計算成本高、訓練速度慢 → GD 的缺點,教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 161-177(梯度下降法 GD vs SGD)\n\n**融會貫通**:記法「**GD=全資料、SGD=一筆、Mini-batch=一小批**」。三者最核心的差異就是「每次梯度估計用多少樣本」。GD 穩定但慢、SGD 快但震盪、Mini-batch 是折衷且最常用。看到「GD + 一筆樣本」就是 swap 干擾。",
    "18": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問 SGD 特性的敘述「正確」者 → 考點是 SGD 的「快但不穩」雙面性。\n2. **正確答案 (B) 為何對**:教材原文 SGD「更新速度快、記憶體需求低,但梯度波動大、收斂不穩定」,適用大型資料集、線上學習與即時訓練。(B) 完整對應教材對 SGD 優缺點的描述。\n3. **其他選項為何刪**:\n   - (A) 更新穩定、準確反映平均方向、但成本高 → 那是 **GD** 的特性,屬性互換,刪。\n   - (C) 計算速度慢、收斂穩定、適小型資料集 → 那也是 GD 的特性(且「慢+穩」是 GD 的標誌),刪。\n   - (D) 必須使用整個資料集才能更新 → 那是 GD 定義,SGD 是一筆樣本就能更新,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 173-185(隨機梯度下降 SGD)\n\n**融會貫通**:記法「**SGD = 快 + 抖**」。SGD 的優點(快)和缺點(抖)是一體兩面 — 因為只看一筆樣本所以快,但也因此估計不準所以抖;這個雙面性正是 Mini-batch 折衷誕生的理由。",
    "19": "**答案**:(C)\n\n**解題思路**:\n1. **關鍵線索**:題目問「深度學習中最常見的選擇」是哪種優化演算法 → 考點是教材對 Mini-batch SGD 的明確定位。\n2. **正確答案 (C) 為何對**:教材原文「小批次梯度下降(Mini-batch SGD)在更新穩定性與效率之間取得平衡,是**深度學習中最常見的選擇**」,且能與 GPU 加速高度結合(GPU 平行運算特別適合一次處理一批資料)。\n3. **其他選項為何刪**:\n   - (A) GD — 整個資料集 → 計算成本太高,大型 ML 用不起,不是「最常見」,刪。\n   - (B) SGD — 一筆樣本 → 太抖、無法善用 GPU 平行計算,不是「最常見」,刪。\n   - (D) 牛頓法 — 二階導數 → 二階海森矩陣計算成本太高,大型深度學習根本不用,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 187-199(小批次梯度下降 Mini-batch SGD)\n\n**融會貫通**:記法「**深度學習 = Mini-batch + GPU**」。深度學習實務上幾乎都用 batch size 32/64/128/256 來訓練(這就是 mini-batch),配合 GPU 平行運算才能在合理時間內訓完。看到「深度學習最常用」+「優化器」一定先想 Mini-batch SGD。",
    "20": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問動量法(Momentum)的敘述「錯誤」者 → 考點是 Momentum 的核心功能(累積梯度方向)vs Adagrad 的核心功能(自動調學習率)。\n2. **正確答案 (D) 為何對**:「自動調整每個參數的學習率、特別適合稀疏特徵」是 **Adagrad** 的特性(Adagrad 根據各參數歷史梯度大小調學習率);動量法的核心是「**累積前幾次梯度的方向**,幫助克服局部震盪」(模仿物理動量)。(D) 把 Adagrad 的功能錯安到 Momentum。\n3. **其他選項為何刪**:\n   - (A) 模仿物理動量、累積前幾次梯度方向、克服局部震盪 → 教材原文,刪。\n   - (B) 加速收斂、穩定學習、適合高曲率/非平滑空間 → 教材原文優點,刪。\n   - (C) 適深層神經網路、收斂速度要求高 → 教材原文應用場景,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 211-223、225-233(Momentum vs Adagrad)\n\n**融會貫通**:記法「**Momentum=方向累積、Adagrad=學習率調整**」。兩者解決不同問題:Momentum 解決「梯度方向震盪」(透過慣性),Adagrad 解決「參數更新速度不一致」(透過個別學習率)。看到「Momentum + 自動調學習率」就是 swap。",
    "21": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問優化演算法與其核心特性配對「錯誤」者 → 考點是 Adagrad / RMSprop / Adam 的演進關係(RMSprop 修 Adagrad、Adam 結合 Momentum+RMSprop)。\n2. **正確答案 (D) 為何對**:「引入滑動平均、修正過快下降」是 **RMSprop** 的特性,不是 Adagrad 自己;而且 RMSprop 修正的是「**Adagrad**」(而非 Adam)。(D) 雙重錯誤:演算法錯(說成 Adagrad)、修正對象錯(說成 Adam)。\n3. **其他選項為何刪**:\n   - (A) Adagrad — 根據歷史梯度大小、自動調學習率 → 教材原文,刪。\n   - (B) RMSprop — 滑動平均、修正 Adagrad 過快下降 → 教材原文,刪。\n   - (C) Adam — 結合 Momentum+RMSprop、追蹤一階與二階動量 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 225-247(Adagrad → RMSprop → Adam 演進關係)\n\n**融會貫通**:記法「**Adagrad → RMSprop → Adam** 三代演進」:Adagrad 開頭(調學習率但會過度衰減)→ RMSprop 用滑動平均修正衰減 → Adam 再加上 Momentum 拿到一階+二階動量。看到「Adagrad 修正 Adam」這種反向關係就是錯,因為先後順序是 Adagrad 早於 Adam。",
    "22": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問 Adagrad 的「主要限制」→ 考點是 Adagrad 的學習率累積衰減問題。\n2. **正確答案 (B) 為何對**:教材原文「Adagrad 限制:學習率會隨時間過度衰減,可能導致收斂停止」。這是因為 Adagrad 累積歷史梯度平方和,分母只會越來越大,所以學習率會越來越小,訓練後期幾乎沒法更新。這正是 RMSprop 引入滑動平均要修正的問題。\n3. **其他選項為何刪**:\n   - (A) 無法處理稀疏特徵 → 反了,Adagrad 反而「特別適合處理稀疏特徵」(教材原文優點),刪。\n   - (C) 記憶體需求過高 → Adagrad 記憶體需求不算高,且不是教材列的限制,刪。\n   - (D) 完全不收斂 → 太極端,Adagrad 仍能收斂只是後期變慢,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 235-237(Adagrad 限制)\n\n**融會貫通**:記法「**Adagrad 越走越慢**」。學習率衰減是 Adagrad 的設計副作用 — 累積分母只增不減,所以後期學習率必然趨近 0,訓練可能提前停止。這個缺陷直接催生了 RMSprop(用指數滑動平均讓分母不會無限膨脹)。",
    "23": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問 RMSprop 的敘述「錯誤」者 → 考點是 RMSprop 自身定義 vs Adam 定義的混淆。\n2. **正確答案 (D) 為何對**:「結合動量與 RMSprop、追蹤梯度的一階與二階動量」是 **Adam** 的定義;RMSprop 本身僅「引入滑動平均修正 Adagrad」,並沒有結合 Momentum,也沒有追蹤一階動量(只追蹤二階)。(D) 把 Adam 的定義錯安到 RMSprop。\n3. **其他選項為何刪**:\n   - (A) 引入滑動平均、修正 Adagrad 過快下降 → 教材原文 RMSprop 概念,刪。\n   - (B) 穩定訓練、適合非穩定梯度(如 RNN) → 教材原文 RMSprop 優點,刪。\n   - (C) 語音處理、序列建模等非凸問題 → 教材原文 RMSprop 應用場景,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 239-251、253-257(RMSprop vs Adam)\n\n**融會貫通**:記法「**RMSprop=二階動量、Adam=一階+二階動量(加 Momentum)**」。Adam 比 RMSprop 多了一個「一階動量(梯度方向累積)」也就是 Momentum 的部分。看到「RMSprop 結合動量」就要警覺 — 那是 Adam 不是 RMSprop。",
    "24": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問 Adam 的「核心概念」→ 考點是 Adam 的完整定義(動量 + RMSprop + 自動調學習率)。\n2. **正確答案 (A) 為何對**:教材原文「Adam 結合動量與 RMSprop,追蹤梯度的一階與二階動量,自動調整各參數的學習率」,訓練快速、收斂穩定、廣泛應用於圖像、語言、強化式學習,是目前最常用的深度學習優化器之一。(A) 完整對應教材定義。\n3. **其他選項為何刪**:\n   - (B) 僅一階動量、與 Momentum 等價 → Adam 還有二階動量(來自 RMSprop),不等價,刪。\n   - (C) 不需梯度資訊即可更新 → Adam 仍依賴梯度,只是處理方式更精細,刪。\n   - (D) 只能用於分類、不適用迴歸或 RL → 教材原文「圖像、語言、強化式學習各類任務」皆適用,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 253-265(Adam — Adaptive Moment Estimation)\n\n**融會貫通**:記法「**Adam = Momentum + RMSprop**」也就是「一階動量(方向)+ 二階動量(調學習率)」合體。Adam 的全名 Adaptive Moment Estimation 直接揭示 — 「Adaptive(自適應學習率)+ Moment(動量)」, 就是這兩個技術的合成詞。",
    "25": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問 GD/SGD/Mini-batch 適用情境配對「錯誤」者 → 考點是三種梯度法各自的適用場景。\n2. **正確答案 (D) 為何對**:「大型資料集、線上學習與即時訓練」是 **SGD** 的適用情境(教材原文);GD 反而適合「**小型資料集、高精度需求、可並行化計算**」(教材原文)。(D) 把 SGD 的適用情境錯安到 GD,屬性互換。\n3. **其他選項為何刪**:\n   - (A) GD — 小型資料集、高精度、可並行 → 教材原文,刪。\n   - (B) SGD — 大型資料集、線上學習與即時訓練 → 教材原文,刪。\n   - (C) Mini-batch SGD — 中大型模型、GPU 加速結合 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 169-185(GD/SGD 適用情境)\n\n**融會貫通**:記法「**GD 慢精準小資料、SGD 快抖大資料、Mini-batch 折衷 GPU 配套**」。GD 與 SGD 的適用情境正好相反 — 一個小資料用、一個大資料用,這是因為計算成本與更新頻率的雙重對比。看到「GD + 大型資料 + 即時」就是 swap 干擾。",
    "26": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「並非教材所列的收斂判準」→ 考點是收斂判準四項清單(損失趨緩/驗證集不升/梯度趨零/步數達上限)的辨識。\n2. **正確答案 (D) 為何對**:教材列四項收斂判準 = 損失函數變化趨緩、驗證集效能不再提升、梯度趨近零、訓練步數或時間達上限。「訓練樣本數量達 10,000 筆」不是收斂判準 — 訓練樣本數是「訓練前就固定的資料規模」,不會在訓練中變化,不能作為「何時停止訓練」的判準。\n3. **其他選項為何刪**:\n   - (A) 損失函數變化趨緩(連續迭代變化幅度<ε)→ 教材原文,刪。\n   - (B) 驗證集效能不再提升 → 教材原文,刪。\n   - (C) 梯度趨近零(損失函數位於平坦區域)→ 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 273-293(常見的收斂判準)\n\n**融會貫通**:記法「**收斂判準 4 項:損趨緩、驗不升、梯近零、步達上限**」。注意「樣本數」與「步數」的差異 — 樣本數是資料規模(訓前定),步數/epoch 是迭代次數(訓中累積);只有後者能當收斂判準。",
    "27": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「驗證集效能不再提升」作為收斂判準的「潛在風險」→ 考點是過擬合風險(Early Stopping 的另一面)。\n2. **正確答案 (B) 為何對**:教材原文「若模型在驗證集上的指標持續持平甚至下降,代表模型可能已達到其泛化能力上限。**此時再繼續訓練反而可能導致過擬合**」。也就是說當驗證集效能停滯時,模型對訓練集還能持續擬合,但會擬合到雜訊上,造成過擬合。\n3. **其他選項為何刪**:\n   - (A) 完全無法訓練 → 太極端,模型仍能在訓練集上繼續訓練,只是無泛化提升,刪。\n   - (C) 立即放棄模型重新設計 → 不是教材所述對策,過於激進,刪。\n   - (D) 自動切換為非監督式學習 → 機器不會自動切換學習模式,屬幻想,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 281-283(驗證集效能與過擬合)\n\n**融會貫通**:記法「**驗證集停滯 → 該停了,不停會 overfit**」。這就是 Early Stopping 策略的理論基礎 — 當驗證集指標連續幾個 epoch 不升,就該停;繼續訓只會讓模型記憶訓練集雜訊,泛化能力反而下降。",
    "28": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「並非教材所列導致訓練不穩定的因素」→ 考點是不穩定因素四項清單(學習率/初始權重/不連續分佈/批次大小)的辨識。\n2. **正確答案 (D) 為何對**:教材列四大不穩定因素 = 學習率過高、初始權重設置不當、損失函數或資料分佈不連續、批次大小過小。「GPU 顯示卡型號過舊」屬於硬體效能議題(影響訓練速度),不在「訓練穩定性(梯度行為)」的討論範圍。\n3. **其他選項為何刪**:\n   - (A) 學習率過高 — 步伐過大、震盪或發散 → 教材原文,刪。\n   - (B) 初始權重不當 — 陷入極端值/鞍點 → 教材原文,刪。\n   - (C) 損失函數/資料分佈不連續 — 梯度訊號不穩 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 299-315(訓練穩定性的不穩定因素)\n\n**融會貫通**:記法「**訓練穩定 4 大要素:學習率、初始權重、資料連續、批次大小**」— 全都跟「梯度估計與更新行為」直接相關。硬體(GPU 型號、記憶體)只影響「速度」,不影響「穩定性」;看到硬體議題出現在訓練穩定性題目就刪。",
    "29": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問穩定訓練策略與用途配對「錯誤」者 → 考點是 4 策略(學習率調整/Early Stopping/Gradient Clipping/Batch Normalization)各自的功能,要找 swap。\n2. **正確答案 (D) 為何對**:「限制梯度的最大值、避免爆炸、主要用於 RNN」是 **梯度裁剪(Gradient Clipping)** 的功能;批次正規化(Batch Normalization)的功能是「**在每一層中標準化中間輸出,使輸入分佈穩定,提升收斂速度與模型穩定性**」。(D) 把 Gradient Clipping 的功能錯安到 Batch Norm。\n3. **其他選項為何刪**:\n   - (A) Learning Rate Scheduling — 自動調降學習率(Step Decay/Cosine Annealing/ReduceLROnPlateau)→ 教材原文,刪。\n   - (B) Early Stopping — 驗證集連續未改善即中止、防過擬合 → 教材原文,刪。\n   - (C) Gradient Clipping — 限制梯度最大值、避免發散、適 RNN/深層 → 教材原文,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 321-335(穩定訓練策略)\n\n**融會貫通**:易混淆「**梯度裁剪 vs 批次正規化**」— 兩者都能穩定訓練,但作用面不同。Gradient Clipping 處理「**梯度數值**」(防爆炸,常用 RNN);Batch Normalization 處理「**中間層輸出**」(穩定輸入分佈,常用 CNN/MLP)。看到「Batch Norm 限制梯度」就是 swap。",
    "30": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「梯度爆炸」應優先採用哪種技術 → 考點是 Gradient Clipping 的專屬用途。\n2. **正確答案 (B) 為何對**:教材原文「梯度爆炸會導致權重變動過大甚至溢出。梯度裁剪能限制梯度的最大值,防止數值爆炸,特別適用於深度神經網路或 RNN 訓練」。Gradient Clipping 就是針對梯度爆炸而生的技術。\n3. **其他選項為何刪**:\n   - (A) 增大學習率 → 學習率太大反而是「梯度爆炸/震盪」的成因之一(教材列為不穩定因素),只會火上加油,刪。\n   - (C) 減少訓練資料量 → 資料量與梯度爆炸無直接關聯,刪。\n   - (D) 改用 MAE 作為損失 → MAE 是迴歸損失,跟梯度爆炸(梯度數值問題)不是同層議題,刪。\n\n**📖 章節來源**:chunks/L23103.txt line 329-331、445-447(梯度裁剪與梯度爆炸)\n\n**融會貫通**:記法「**梯度爆炸 = Gradient Clipping**」一對一配對。RNN 因為時序展開有 BPTT,連乘導致梯度爆炸或消失最嚴重,所以 Clipping 在 RNN/LSTM 中幾乎是標配。LSTM 主要解「梯度消失」,Clipping 主要解「梯度爆炸」,兩者配套使用。",
    "31": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問凸性對最佳化的「**具體保證**」→ 考點是 **凸函數 → 全域最佳解**。\n2. **正確答案 (A) 為何對**：教材 line 76-78「如果一個目標函數是凸函數，那麼從任一初始點開始，只要持續往下降的方向走，**最終一定能找到全域最佳解**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 多個局部最小值 → 那是**非凸問題**的特性（line 89-90），刪。\n   - (C) 凸函數必非可導 → 反了，凸函數通常可導（如 MSE、邏輯損失），刪。\n   - (D) 不影響最佳解品質 → 反了，凸性正是最佳解品質的關鍵保證，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 76-78（最佳化問題的基本結構 - 函數性質：凸性）\n\n**融會貫通**：記法「**凸 = 任點下降 = 全域最佳解保證**」。實務上凸問題（線性迴歸、邏輯迴歸）求解穩定可預測；神經網路屬非凸，需依賴動量與調整策略才能取得良好解（呼應 num 32、num 39）。",
    "32": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**非凸問題**」（神經網路）的特性 → 考點是 **多局部最小值 + 鞍點 + 但可救**。\n2. **正確答案 (B) 為何對**：教材 line 88-91「如神經網路中的損失函數，常存在**多個局部最小值與鞍點**。這使得優化過程充滿不確定性，但若使用**適當初始化、動量機制與調整策略**，依然能取得效果良好的解」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 只有單一全局最小值 → 那是凸問題的特性，反了，刪。\n   - (C) 完全無法用梯度下降 → 反了，神經網路正是用 SGD/Adam 訓練，刪。\n   - (D) 鞍點對訓練無影響 → 反了，鞍點是非凸問題的主要難點之一，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 88-91（最佳化問題的基本結構 - 非凸問題）\n\n**融會貫通**：記法「**非凸問題 = 多局部最小 + 鞍點，但 init + momentum + schedule 三件套可救**」。鞍點（Saddle Point）= 某方向最大、另一方向最小的點，梯度也為零但不是真極值，是深度學習實務的主要難題之一。",
    "33": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**屬於凸問題**」→ 考點是教材**明確列舉**凸問題的具體例子。\n2. **正確答案 (B) 為何對**：教材 line 80-81「凸問題具有可預期、穩定的求解特性。像**線性迴歸、邏輯迴歸**等皆屬於凸問題」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 深層神經網路 → 教材 line 88-89 明列為**非凸**問題，刪。\n   - (C) GAN 對抗損失 → 教材 line 102 列為非凸 / 對抗結構，刪。\n   - (D) 強化式學習 → 教材 line 102 列為複雜結構，非凸，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 80-81、88-91（最佳化問題的基本結構 - 凸性 / 非凸問題）\n\n**融會貫通**：記法表：\n- **凸問題**：線性迴歸、邏輯迴歸 → 求解穩定、有理論保證\n- **非凸問題**：神經網路、GAN、RL → 需數值逼近、依賴 init/momentum/schedule\n\n考點常考「**識別**哪個是凸 / 非凸」，記住兩個招牌凸問題即可秒解。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問**進階優化方法**（Adam、RMSprop 等）解決什麼**實務挑戰** → 考點是教材列舉的**三大挑戰**。\n2. **正確答案 (B) 為何對**：教材 line 205-209 明列「進階方法主要目的是解決以下實務挑戰：(1) **梯度方向不穩定**（如震盪或鞍點）(2) **參數更新速度不一致**（某些參數變動大、某些幾乎不變）(3) **固定學習率難以應對不同訓練階段的需求**」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 減少參數總量 → 那是模型壓縮 / 蒸餾的目標，與優化演算法無關，刪。\n   - (C) 提升標籤品質 → 那是資料工程，不是優化演算法職責，刪。\n   - (D) 取代基本梯度下降 → 反了，進階方法在**基本梯度更新機制上**進一步引入動態調整（line 203），是擴展不是取代，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 203-209（常見優化演算法與比較 - 進階方法引言）\n\n**融會貫通**：記法「**進階三大救援目標：方向穩、速度勻、率動態**」。\n- **方向穩**：動量法（克服震盪、鞍點）\n- **速度勻**：Adagrad（依參數歷史梯度自適應）\n- **率動態**：RMSprop、Adam（滑動平均 + 一階+二階動量）",
    "35": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問動量法（Momentum）的**核心概念** → 考點是「**前幾次梯度方向累積 + 物理動量隱喻**」。\n2. **正確答案 (B) 為何對**：教材 line 215-216「動量法 ... 模仿物理動量，將**前幾次梯度的方向累積**，幫助模型克服局部震盪」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 根據歷史梯度大小調整學習率 → 那是 **Adagrad** 的核心概念，刪。\n   - (C) 引入滑動平均修正學習率 → 那是 **RMSprop** 的核心概念，刪。\n   - (D) 對所有樣本一次性計算 → 那是**批次梯度下降（GD）**，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 213-220（常見優化演算法與比較 - 動量法）\n\n**融會貫通**：記法「**Momentum = 物理動量 = 梯度方向累積 = 克服震盪**」。動量法**累積過去方向**讓更新有「慣性」，能：\n- 加速通過平坦區域（梯度小但累積方向一致）\n- 衝過局部震盪（單次梯度方向亂跳，但累積方向穩定）\n\n陷阱：動量法不調整**學習率**，只調整**方向**。Adagrad/RMSprop/Adam 才是調整學習率的方法。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Adam 的**應用情境** → 考點是教材**直接列舉**的應用範圍。\n2. **正確答案 (B) 為何對**：教材 line 256-258「目前最常用的深度學習優化器之一，**適用於圖像、語言、強化式學習**等各類任務」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅適用線性迴歸 → 反了，Adam 是**深度學習**的主流優化器，線性迴歸用解析解即可，刪。\n   - (C) 只能非監督分群 → Adam 是**通用**優化器，分類/迴歸/分群都用，刪。\n   - (D) 計算成本極高僅 CPU → 反了，Adam 計算成本相對 SGD 略高但**廣泛用於 GPU 訓練**，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 248-258（常見優化演算法與比較 - Adam）\n\n**融會貫通**：記法「**Adam = 訓練快 + 收斂穩 + 圖像/語言/RL 通吃**」。Adam 之所以成為深度學習預設選擇，因為它**結合動量與 RMSprop**：\n- 一階動量（梯度均值）→ 像動量法\n- 二階動量（梯度平方均值）→ 像 RMSprop\n\n實務上多數 PyTorch/TF 教學首選 Adam，學習率預設 1e-3 多數情境都能跑。",
    "37": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Adagrad 的**適用情境** → 考點是教材**明列**的「稀疏特徵 / 不均衡參數更新」。\n2. **正確答案 (A) 為何對**：教材 line 230「Adagrad ... 適合處理**稀疏特徵**或**不均衡參數更新**問題」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 大型 dense 矩陣 → 反了，Adagrad 的設計初衷是稀疏特徵，dense 反而不是它的強項，刪。\n   - (C) 只用影像 → Adagrad 不限應用領域，刪。\n   - (D) 學習率不衰減 → 反了，Adagrad 的主要**限制**就是學習率會隨時間過度衰減（line 232），刪。\n\n**📖 章節來源**：chunks/L23103.txt line 226-232（常見優化演算法與比較 - Adagrad）\n\n**融會貫通**：記法「**Adagrad = 稀疏特徵救星 + 不均衡參數調整**」。Adagrad 的招牌應用：NLP 詞向量訓練（高維稀疏 one-hot 輸入），每個維度的梯度更新次數差異大，Adagrad 能依各參數**歷史梯度大小**自動調整學習率。\n\n陷阱：稀疏特徵 = Adagrad，**RNN 非穩定梯度 = RMSprop**，兩者不要混淆。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 RMSprop 引入「**滑動平均**」的**目的** → 考點是 **修正 Adagrad 學習率過快下降**。\n2. **正確答案 (B) 為何對**：教材 line 238-240「RMSprop ... 引入**滑動平均**，**修正 Adagrad 學習率過快下降的問題**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 降低 GPU 記憶體 → 滑動平均的計算與記憶體優化無關，刪。\n   - (C) 取代動量機制 → 反了，動量與 RMSprop 在 Adam 中**結合使用**，不是取代，刪。\n   - (D) 增加 SGD 梯度波動 → 反了，RMSprop 的目的是**穩定訓練**，不是增加波動，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 236-246（常見優化演算法與比較 - RMSprop）\n\n**融會貫通**：對比記法：\n- **Adagrad**：累積**全部歷史**梯度平方 → 學習率**單調下降**到接近零（後期幾乎不動）\n- **RMSprop**：用**滑動平均**（指數加權平均）→ 學習率**會浮動**，不會單向衰減 → 適合**非穩定梯度**（如 RNN）\n\n實務上 RMSprop 是 RNN/LSTM 的標準選擇，後被 Adam（=RMSprop + Momentum）逐漸取代。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問**非凸最佳化問題**（神經網路）取得良好解的**策略** → 考點是教材的**三件套救援**。\n2. **正確答案 (B) 為何對**：教材 line 91「非凸問題 ... 但若使用**適當初始化、動量機制與調整策略**，依然能取得效果良好的解」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 只能用閉式解析解 → 反了，非凸問題**沒有閉式解**，必須用數值逼近（SGD/Adam），刪。\n   - (C) 必須先轉換為凸問題 → 一般神經網路無法轉凸問題，反了，刪。\n   - (D) 與初始化、動量無關 → 反了，這三件套正是非凸問題的關鍵救援，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 88-91（最佳化問題的基本結構 - 非凸問題策略）\n\n**融會貫通**：記法「**非凸三件套：init + momentum + schedule**」：\n- **適當初始化**：Xavier、He 初始化等\n- **動量機制**：Momentum / Adam 的一階動量\n- **調整策略**：學習率調整、批次正規化、梯度裁剪\n\n實務上深度學習工程師遇到「訓練不收斂」第一檢查這三項。呼應 num 31-32 的凸/非凸對比，形成完整知識迴路。",
    "40": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**梯度趨近零**」作為收斂判準的**合理性** → 考點是 **平坦區域 + 更新幅度極小**。\n2. **正確答案 (A) 為何對**：教材 line 281-285「**梯度趨近零** ... 當模型參數的梯度值持續逼近零，表示損失函數**已位於平坦區域**，參數更新幅度極小，亦為常見的**收斂跡象**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 必表示過擬合 → 兩件事不同（過擬合是訓練/驗證集差距），刪。\n   - (C) 訓練資料品質不佳 → 與梯度為零無因果關係，刪。\n   - (D) 訓練不穩定指標 → 反了，梯度趨近零是**穩定收斂**的跡象，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 281-285（收斂判準與訓練穩定性 - 梯度趨近零）\n\n**融會貫通**：記法「**梯度 → 0 = 平坦區 = 收斂跡象**」。但要小心**鞍點陷阱**：鞍點的梯度也為零但不是真極值（呼應 num 32）。實務上要結合**驗證集效能 + 梯度範數**雙重判斷，避免被鞍點誤判為收斂。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**訓練步數達上限**」作為收斂判準的**補充建議** → 考點是 **應與其他指標搭配**。\n2. **正確答案 (B) 為何對**：教材 line 289-293「訓練步數或時間達上限 ... 此類條件應**與其他指標搭配使用**，避免模型**尚未收斂即中止**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 單獨使用、互斥 → 反了，教材強調搭配使用，刪。\n   - (C) 永遠優於其他判準 → 反了，它是**輔助性**判準，刪。\n   - (D) 僅 GPU 訓練適用 → 與硬體無關，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 289-293（收斂判準與訓練穩定性 - 訓練步數達上限）\n\n**融會貫通**：記法「**步數上限 = 安全網，不是主判準**」。四種收斂判準對比：\n- **損失變化趨緩**（ε 門檻）→ 主判準\n- **驗證集效能不再提升** → 主判準（防過擬合）\n- **梯度趨近零** → 輔助\n- **步數/時間上限** → 安全網（防無限訓練）\n\n實務上至少同時用兩個判準（如 ε + early stopping）才穩。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**損失函數變化趨緩**」判準的**判定條件** → 考點是 **連續多次迭代 + ε 門檻**。\n2. **正確答案 (B) 為何對**：教材 line 271-275「**損失函數變化趨緩** ... 當訓練損失在**連續多次迭代**中變化幅度極小（如**變化量低於設定的 ε**），表示模型學習已進入平緩階段，可視為收斂」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 單一迭代變零 → 損失不會「突然」變零，反了，刪。\n   - (C) 測試集 100% → 100% 反而可能是過擬合或資料漏洩，且測試集不應在訓練中監控（應用驗證集），刪。\n   - (D) 梯度絕對值大於門檻 → 反了，是**小於**門檻才收斂，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 271-275（收斂判準與訓練穩定性 - 損失函數變化趨緩）\n\n**融會貫通**：記法「**ΔLoss < ε 且持續 N 次 = 收斂**」。實務上 ε 通常設 1e-4 ~ 1e-6 視任務而定。注意**連續多次**（而非單次）才算 — 單次小變化可能只是隨機波動。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**初始權重設置不當**」的**具體後果** → 考點是 **陷入極端值/鞍點，學習無法啟動**。\n2. **正確答案 (B) 為何對**：教材 line 309-311「初始權重設置不當 ... 可能**陷入極端值、鞍點**，導致**學習無法啟動或卡在局部解**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全不影響 → 反了，初始化是 NN 訓練的關鍵之一，刪。\n   - (C) 必然提升收斂 → 反了，不當初始化會傷收斂，刪。\n   - (D) 只影響推論 → 反了，初始化影響訓練全程，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 309-311（收斂判準與訓練穩定性 - 訓練不穩定因素）\n\n**融會貫通**：記法「**初始化爛 = 卡死起點**」。實務常見初始化方法：\n- **Xavier (Glorot)**：保持輸入/輸出方差一致，適合 sigmoid/tanh\n- **He**：適合 ReLU 系列激活函數\n- **小常數**（如全 0 / 全相同）→ **絕對禁忌**，所有 neuron 學一樣東西\n\n呼應 num 39 的「非凸三件套」之一：適當初始化。",
    "44": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**批次大小過小**」對訓練的**影響** → 考點是 **梯度估計變異大 + 更新方向不穩**。\n2. **正確答案 (B) 為何對**：教材 line 315「批次大小過小 ... **梯度估計變異過大**，造成**更新方向不穩定**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全不影響 → 反了，批次大小是 NN 訓練重要超參數，刪。\n   - (C) 必然加快且不失穩定 → 反了，過小會犧牲穩定性，刪。\n   - (D) 越小越好 → 反了，太小會不穩，太大記憶體爆 + 收斂慢；通常 32~256 是甜蜜點，刪。\n\n**📖 章節來源**：chunks/L23103.txt line 313-315（收斂判準與訓練穩定性 - 訓練不穩定因素）\n\n**融會貫通**：記法「**batch 太小 = 梯度抖 = 方向亂**」。批次大小（Batch Size）權衡：\n- **太大**（如 1024+）：梯度估計準、更新穩，但**記憶體吃緊**、收斂慢、易陷局部解\n- **太小**（如 1~4）：更新快但**梯度雜訊大**、訓練不穩\n- **甜蜜點**（如 32~256）：兼顧穩定與效率\n\n實務上配合 Mini-batch SGD（呼應 num 18, num 25）是深度學習標配。",
    "45": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目「**不是**學習率調整方法」→ 考點是教材**明列**的三種 Learning Rate Scheduling。\n2. **正確答案 (D) 為何對**：教材 line 320-322「學習率調整（Learning Rate Scheduling）... **Step Decay、Cosine Annealing、ReduceLROnPlateau**」。(A)(B)(C) 都在列表，**Gradient Clipping（梯度裁剪）是另一種穩定訓練策略**（line 327-329，用於防止梯度爆炸），不屬於學習率調整，故 (D) 為答案。\n3. **其他選項為何刪**：\n   - (A) Step Decay ✓ 教材有列\n   - (B) Cosine Annealing ✓ 教材有列\n   - (C) ReduceLROnPlateau ✓ 教材有列\n   - (D) **Gradient Clipping** → 屬於梯度層級的穩定策略，不是學習率調整\n\n**📖 章節來源**：chunks/L23103.txt line 320-322（學習率調整）、line 327-329（梯度裁剪）\n\n**融會貫通**：穩定訓練策略四件套對比：\n- **學習率調整**（Step Decay / Cosine / ReduceLROnPlateau）→ 動學習率\n- **梯度裁剪**（Gradient Clipping）→ 動梯度大小（防爆炸，呼應 num 30）\n- **早停**（Early Stopping）→ 動訓練時機（防過擬合）\n- **批次正規化**（Batch Normalization）→ 動輸入分佈\n\n考點常考「**配對**」——把方法歸到對的類別，避免混淆。"
  },
  "mock_L23201": {
    "1": "**答案**：(D)\n\n**解題思路**:\n1. **關鍵線索**：題目問「ML vs 傳統規則式系統的差別，何者**錯誤**」→ 考點是兩者最本質的區別，也就是**學習方式**（規則 vs 資料）。\n2. **正確答案 (D) 為何對**：選項 (D) 說「傳統規則式系統**可從資料分佈自動歸納模式**」，這句話**錯誤** — 傳統規則式系統的核心就是「人工撰寫 if-then 規則」，**沒有自動歸納能力**；自動歸納正是 ML 才有的招牌特性。題目要選「錯誤」敘述，所以 (D)。\n3. **其他選項為何刪**：\n   - (A) ML 透過資料自動學習模型 → ML 的標準定義，**正確**，刪。\n   - (B) 規則式系統依賴人為規則 → 規則式系統的核心特徵，**正確**，刪。\n   - (C) ML 依統計規律萃取模式 → ML 工作原理的另一種說法，**正確**，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 9（機器學習原理與技術）\n\n**融會貫通**：記法「**規則靠人、ML 靠資料**」。題目把 ML 才有的「自動歸納」能力錯安到規則式系統身上，是典型的 **swap 干擾**（兩個概念屬性互換）。看到「規則式系統+自動歸納」這種組合就要警覺。",
    "2": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「機器學習本質的 5 大環節**不包含**」→ 考點是教材精確列出的 5 環節清單，要找冒名頂替者。\n2. **正確答案 (C) 為何對**：教材明定 5 大環節 =「任務類型／學習目標／資料假設／模型訓練／評估過程」。「**部署策略**」**不在這 5 項裡** — 它屬於監督式訓練流程的「測試與部署」階段，跟「本質環節」是不同層級的概念。\n3. **其他選項為何刪**：\n   - (A) 任務類型 → 5 大環節之一，刪。\n   - (B) 學習目標 → 5 大環節之一，刪。\n   - (D) 評估過程 → 5 大環節之一，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 13（前言與章節導覽）\n\n**融會貫通**：易混淆對照 — 「**本質環節**」是概念性框架（5 項），「**訓練流程階段**」是執行性步驟（4 階段：資料準備→訓練→驗證→測試部署）。「部署策略」是後者的尾巴，被偷塞進前者就是干擾項。記法：**5 環節無「部署」**。",
    "3": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**機器學習三大核心範式之一」→ 考點是教材對「核心範式」的精確定義。\n2. **正確答案 (D) 為何對**：教材明定三大核心範式 = 監督式（Supervised）／非監督式（Unsupervised）／強化式（Reinforcement）。**半監督式（Semi-Supervised）僅在非監督應用場景中被提及為「先備處理階段」**，並未列為核心範式。\n3. **其他選項為何刪**：\n   - (A) 監督式學習 → 三大核心範式之一，刪。\n   - (B) 非監督式學習 → 三大核心範式之一，刪。\n   - (C) 強化式學習 → 三大核心範式之一，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 13、236（前言／非監督式應用場景）\n\n**融會貫通**：易混淆對照 — 半監督式雖然在實務上很重要，但**教材慣例**只承認三大核心範式。「核心範式」與「應用變體」是兩層概念。記法：**三大範式 = 監督/非監督/強化**，semi 是 hybrid 不算。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「特徵空間（Feature Space）下列敘述何者**正確**」→ 考點是教材對特徵空間的定義與性質。\n2. **正確答案 (B) 為何對**：教材直接寫「每一個樣本可視為此空間中的一個點，而整體資料的幾何分佈特性（如密集程度、邊界形狀）會直接影響模型能否有效進行分類、預測或分群」。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 「僅適用於影像資料」→ 教材明列輸入來源含結構化表格、文字、影像、語音、感測器，**多模態通用**，刪。\n   - (C) 「維度越高一定越好」→ 是「**維度災難**」的反例（高維會帶來計算成本與稀疏性問題），刪。\n   - (D) 「結構化表格資料不需前處理」→ 教材寫「資料**必須**經過適當的轉換與前處理」才能變為向量/矩陣，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 23-25（機器學習的基本結構／輸入資料與特徵空間）\n\n**融會貫通**：實務應用 — 特徵空間是 ML 的**舞台**，模型再強，特徵幾何分佈太混亂（類別重疊、分散度不均）就是學不起來。記法：**樣本 = 點，分佈 = 形**。",
    "5": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「任務與其標籤型態配對**錯誤**」→ 考點是各任務的標籤型態（離散/連續/無標籤/高維轉低維）。\n2. **正確答案 (C) 為何對**：聚類（Clustering）是**非監督**任務，定義為「在**無標籤**情況下，根據樣本間相似度進行分群」。題目把它寫成「**已知類別標籤**」，這就把它變成分類問題了 — 屬性互換干擾。\n3. **其他選項為何刪**：\n   - (A) 分類 — 離散型類別 → 教材定義「標籤為離散型（如 0、1 或多類別）」，正確，刪。\n   - (B) 迴歸 — 連續實數 → 教材定義「預測一個連續的數值，標籤為實數」，正確，刪。\n   - (D) 降維 — 高維轉低維、保留資料結構 → 教材定義「將高維資料映射至較低維度，以保留資料結構的同時簡化模型計算」，正確，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 39-41、180（任務目標與標籤型態／非監督式聚類）\n\n**融會貫通**：易混淆對照 — **有標籤 + 離散 = 分類**；**無標籤 + 相似度 = 聚類**。兩者輸出形式很像（都是類別），但「標籤是否事先存在」是分水嶺。記法：**聚類沒老師**。",
    "6": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型與其隱含假設（Hypothesis Space）配對**正確**」→ 考點是線性模型/決策樹/神經網路各自的假設空間。\n2. **正確答案 (C) 為何對**：教材明列三組對應 — 線性模型=線性邊界、決策樹=條件規則、**神經網路=非線性結構學習抽象表示**。(C) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 線性模型 — 條件規則 → 條件規則是決策樹的假設，**屬性互換**，刪。\n   - (B) 決策樹 — 線性邊界 → 線性邊界是線性模型的假設，**屬性互換**，刪。\n   - (D) 神經網路 — 線性邊界 → 神經網路的招牌是「非線性」，這裡寫成線性顯然錯，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 57-59（模型與假設空間）\n\n**融會貫通**：記法 — **線性=直線切、決策樹=if-then 規則、神經網路=非線性抽象**。三者對應假設空間的「形狀想像」差很多，看到題目用兩兩對調當干擾項是常見手法。",
    "7": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「損失函數與其適用情境配對**錯誤**」→ 考點是 MSE/MAE/Cross-Entropy 各自的適用任務類型。\n2. **正確答案 (D) 為何對**：教材明列「**交叉熵損失（Cross-Entropy Loss）用於分類任務**，衡量預測機率分佈與實際標籤的差距」。題目 (D) 卻寫「交叉熵 — 迴歸任務，衡量連續數值間的距離」— 任務類型錯，描述也是 MSE 的特性，**雙重屬性錯配**，所以選 (D)。\n3. **其他選項為何刪**：\n   - (A) MSE — 迴歸、對大誤差懲罰較重 → 教材原話，刪。\n   - (B) MAE — 迴歸、對異常值較魯棒 → 教材原話，刪。\n   - (C) Cross-Entropy — 分類、衡量機率分佈與標籤差距 → 教材原話，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 69-75（學習目標與損失函數）\n\n**融會貫通**：記法 — **「MSE/MAE 處理連續、Cross-Entropy 處理分類」**。MSE 跟 Cross-Entropy 是經典互換干擾組，看到「交叉熵 + 迴歸」或「MSE + 分類機率」就是錯配。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Train/Validation/Test 用途**錯誤**」→ 考點是三段分割各自的職責。\n2. **正確答案 (B) 為何對**：教材明定「驗證集用來**調整超參數與監控過擬合**」、「測試集是**最終評估**模型表現的依據」。(B) 把驗證集說成「最終評估」是把 Validation 跟 Test 的用途**對調**了。題目要找「錯誤」描述，所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 訓練集 — 模型參數學習 → 教材原話，刪。\n   - (C) 驗證集 — 調整超參數+監控過擬合 → 教材原話，刪。\n   - (D) 測試集 — 最終評估模型表現 → 教材原話，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 83-85（資料分割與評估準則）\n\n**融會貫通**：易混淆對照 — **Validation vs Test**：Val 是「過程中調整」(可重複看)，Test 是「最後一次驗收」(只能看一次，否則洩漏)。記法：**Val=練習考、Test=正式考**。",
    "9": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**迴歸任務的評估指標」→ 考點是迴歸 vs 分類的指標歸屬。\n2. **正確答案 (D) 為何對**：教材明列迴歸三指標 = **MAE / MSE / R²**；F1 分數歸在**分類任務**（與 Accuracy、Precision/Recall 同組）。F1 = 2PR/(P+R)，計算需要 Precision 與 Recall，這只有分類問題才能定義（要有 TP/FP/FN 概念）。\n3. **其他選項為何刪**：\n   - (A) MAE → 迴歸三指標之一，刪。\n   - (B) MSE → 迴歸三指標之一，刪。\n   - (C) R²（決定係數）→ 迴歸三指標之一，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 91-95（資料分割與評估準則）\n\n**融會貫通**：記法 — **迴歸三兄弟：MAE/MSE/R²；分類四件套：Accuracy/Precision/Recall/F1**。F1 出現在迴歸選項或 MAE 出現在分類選項，都是錯位干擾。",
    "10": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「監督式學習的核心目標」→ 考點是 Supervised Learning 的本質定義。\n2. **正確答案 (C) 為何對**：教材首段明定「監督式學習的核心目標是透過**標註資料（Labeled Data）**學習一個**映射函數**，讓模型能根據輸入特徵預測對應的輸出結果」。(C) 是教材原話。\n3. **其他選項為何刪**：\n   - (A) 「從無標註資料中發現潛在結構」→ 是**非監督式**核心目標（line 162），刪。\n   - (B) 「透過與環境互動最大化長期累積報酬」→ 是**強化式**核心目標（line 240），刪。\n   - (D) 「將高維資料降維至 2D/3D 視覺化」→ 是**降維任務**（非監督子任務），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 101-103（監督式學習）\n\n**融會貫通**：三範式核心目標一句話 — **監督式=有標籤學映射、非監督=無標籤找結構、強化式=互動最大化報酬**。題目把三範式核心目標互相對調當干擾，是高頻題型。",
    "11": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「監督式學習典型訓練流程的**正確順序**」→ 考點是 4 階段流程的時間先後。\n2. **正確答案 (B) 為何對**：教材明列順序「①資料準備與標記 → ②模型訓練 → ③驗證與調整 → ④測試與部署」。先有資料才能訓練、訓練後才能驗證、驗證後才能上線測試 — (B) 完全對應這個邏輯流。\n3. **其他選項為何刪**：\n   - (A) 模型訓練先於資料準備 → 沒資料怎麼訓練？刪。\n   - (C) 驗證調整先於模型訓練 → 沒模型怎麼驗證？刪。\n   - (D) 模型訓練→驗證→才資料準備 → 邏輯完全倒置，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 135-148（監督式訓練流程與評估方法）\n\n**融會貫通**：記法口訣 — **「料→訓→驗→測」**（料=資料準備，訓=訓練，驗=驗證調整，測=測試部署）。任何「訓練先於資料」的選項都是直接死刑。",
    "12": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**監督式學習典型應用場景」→ 考點是各應用屬於哪種範式。\n2. **正確答案 (B) 為何對**：「客戶分群與行為分析」屬於**非監督式**應用（依相似度自動分群，無預先類別標籤），教材明列在非監督應用場景第一項（line 230）。其餘三項都需「已知標籤」（物件類別、信用等級、疾病類型）才能訓練。\n3. **其他選項為何刪**：\n   - (A) 圖像分類 → 監督式（影像→已知物件類別），刪。\n   - (C) 客戶信用風險評估 → 監督式（資料→已知信用等級），刪。\n   - (D) 醫療診斷 → 監督式（病患資訊→已知疾病類型），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 154-156、230（監督式應用場景／非監督式應用場景）\n\n**融會貫通**：判斷一個應用是監督還是非監督 — **看資料有沒有預先給標籤**。「客戶分群」聽起來像「分類」很容易誤判，但關鍵是「**分群是自動產生的，不是預先指定的**」。記法：**「分群」≠「分類」**。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「分類模型在預測階段如何決定最終預測結果」→ 考點是分類模型的輸出機制。\n2. **正確答案 (B) 為何對**：教材明定「分類模型通常**輸出各類別的預測機率**，再根據**最高機率**選擇預測結果」。例如 3 類問題輸出 [0.1, 0.7, 0.2]，模型就預測為類別 2。\n3. **其他選項為何刪**：\n   - (A) 「直接輸出實數值」→ 那是**迴歸**模型，刪。\n   - (C) 「依樣本相似度自動分群」→ 那是**聚類**（非監督），刪。\n   - (D) 「依環境回饋報酬調整預測」→ 那是**強化式**學習，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 122（監督式主要任務類型／分類）\n\n**融會貫通**：實務應用 — 分類模型輸出機率分佈（softmax 結果），不只給「最終答案」還能給「信心程度」。這也是為什麼可以調整 threshold（如二元分類調整 0.5→0.7 來換取 precision/recall 平衡）。記法：**分類=機率向量取 argmax**。",
    "14": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「監督式學習成敗的**關鍵**」→ 考點是教材對成功因素的判斷。\n2. **正確答案 (C) 為何對**：教材結尾段明寫「模型效能高度仰賴**資料的標註品質**與**特徵設計的精準性**，因此資料前處理、特徵選擇與轉換仍是監督式學習成敗的關鍵」。(C) 是教材直接結論。\n3. **其他選項為何刪**：\n   - (A) 「模型結構越深越好」→ 過深會過擬合、訓練困難，業界與教材皆否定，刪。\n   - (B) 「資料越多越好、與標註品質無關」→ 教材明強調「標註品質」的重要，刪。\n   - (D) 「演算法選擇優先於資料品質」→ 教材立場相反，**資料/特徵 > 演算法**，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 158（監督式學習應用場景結語）\n\n**融會貫通**：實務應用 — 業界格言「**Garbage in, garbage out**」。再好的模型遇到髒標籤就完蛋。記法：**監督式 = 資料 × 特徵 × 模型，三者中前兩者佔比最大**。",
    "15": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「非監督式學習特徵，敘述何者**錯誤**」→ 考點是非監督的輸出形式與監督式的對比。\n2. **正確答案 (C) 為何對**：教材明寫「與監督式學習不同，非監督學習模型的輸出**通常不是具體的預測值**，而是：對資料樣本的分組歸類、對高維資料的降維投影、對潛藏變數或生成機制的估計」。(C) 卻說「輸出是具體預測值（與監督式相同）」— 與教材立場完全相反，所以選 (C)。\n3. **其他選項為何刪**：\n   - (A) 在無標註資料情況下進行學習 → 教材定義，刪。\n   - (B) 從原始資料中發現潛在結構/模式/分佈 → 教材定義，刪。\n   - (D) 適用於探索性分析、資料壓縮與隱含關係挖掘 → 教材定義，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 162、166-170（非監督式學習）\n\n**融會貫通**：易混淆對照 — **監督式輸出=預測值（類別或數值）；非監督式輸出=分組/降維/潛藏結構**。常見錯誤是把非監督當成「沒標籤的分類」，但實際上連「預測什麼」都不一定有明確定義。記法：**監督=答題、非監督=找規律**。",
    "16": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**不屬於**非監督式學習四大主要任務類型」→ 考點是非監督四大任務的精確清單。\n2. **正確答案 (C) 為何對**：教材明列非監督四大任務 = **聚類 / 降維 / 關聯規則學習 / 潛在表示學習**。「**序列決策（Sequential Decision）**」教材分類在 ML 任務目標清單中（line 47-49），但歸屬於**強化式**學習，「針對連續互動情境中採取的行動進行學習，以最大化長期報酬」— 不是非監督。\n3. **其他選項為何刪**：\n   - (A) 聚類 → 非監督四大任務之一，刪。\n   - (B) 降維 → 非監督四大任務之一，刪。\n   - (D) 關聯規則學習 → 非監督四大任務之一，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 47-49、178-192（任務目標／非監督主要任務類型）\n\n**融會貫通**：記法 — **非監督 4 任務「聚降關潛」**（聚類/降維/關聯規則/潛在表示）。序列決策是 RL 的招牌任務，看到它出現在非監督選項就是錯位。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**為**非監督式學習的**內部評估指標**」→ 考點是 P16b 重點，內部 vs 外部指標的精確區分。\n2. **正確答案 (B) 為何對**：教材列**內部評估指標** = 「**Silhouette score（輪廓係數）** / Davies-Bouldin（指數）/ Reconstruction Error（重建誤差）」，**依資料本身的結構特徵評估學習效果，無需外部標籤**。\n3. **其他選項為何刪**：\n   - (A) F1 分數 → **分類任務**指標，非聚類評估指標，刪。\n   - (C) Rand Index → 教材列為**外部**評估指標（需有標籤參考），刪。\n   - (D) Adjusted Mutual Information（AMI）→ 教材列為**外部**評估指標，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 208-214（非監督式評估方式／內部評估指標；對應投影片 P16b 左欄）\n\n**融會貫通**：記法口訣 — **內部「席戴重」**（Silhouette/Davies-Bouldin/Reconstruction Error），**外部「蘭調」**（Rand Index/AMI）。內外差別 = **看不看標籤**，內部只看資料幾何結構自己評估自己。",
    "18": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**為**非監督式學習的**外部評估指標**」→ 考點是 P16b 重點，需找出依賴「部分標籤」的指標。\n2. **正確答案 (D) 為何對**：教材明定「**外部評估指標**：若有部分標籤可參考，則可使用：**Rand Index** / Adjusted Mutual Information（AMI）」。Rand Index 是外部指標的代表，比較聚類結果與真實標籤的一致性。\n3. **其他選項為何刪**：\n   - (A) Silhouette score → **內部**評估指標，看資料結構，刪。\n   - (B) Davies-Bouldin → **內部**評估指標，刪。\n   - (C) Reconstruction Error → **內部**評估指標，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 216-220（非監督式評估方式／外部評估指標；對應投影片 P16b 中欄）\n\n**融會貫通**：易混淆對照（接 Q17 同口訣）— **內部「席戴重」=純看資料；外部「蘭調」=需要標籤**。Rand Index 名字裡有「Index」容易跟 Davies-Bouldin Index 搞混，記**蘭=Rand**，靠標籤算的就是外部。",
    "19": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「非監督式學習的**視覺化輔助分析**方法」→ 考點是 P16b 重點，視覺化的標準做法。\n2. **正確答案 (B) 為何對**：教材明寫「視覺化輔助分析：將**高維結果降維至 2D/3D 空間**進行**圖形檢視**，是非監督式學習中常見的理解方式」。(B) 是教材原話。\n3. **其他選項為何刪**：\n   - (A) 「低維升至高維」→ 方向相反，高維才難看，沒人會升維後再看，刪。\n   - (C) 「直接列出原始高維座標點」→ 高維資料無法視覺化（人類只能看 2D/3D），這就是降維的目的，刪。\n   - (D) 「樣本轉文字描述後人工檢視」→ 非教材方法、不可規模化，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 222-224（非監督式評估方式／視覺化輔助分析；對應投影片 P16b 右欄）\n\n**融會貫通**：實務應用 — 常用的降維視覺化工具如 **t-SNE、UMAP、PCA**，把 100 維資料壓到 2D 平面散點圖，肉眼判斷聚類效果。記法：**人眼只能看 3D 以下，所以一定要降維**。",
    "20": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**非監督式學習常見應用領域」→ 考點是判斷各應用所屬範式。\n2. **正確答案 (C) 為何對**：「醫療診斷（病患資訊 → 疾病類型）」是**監督式**典型應用（line 156），因為「疾病類型」是預先給定的標籤。教材列非監督五大應用 = **客戶分群／社群偵測／影像壓縮／主題模型／特徵工程**，不含醫療診斷。\n3. **其他選項為何刪**：\n   - (A) 客戶分群與行為分析 → 非監督應用第一項，刪。\n   - (B) 社群偵測與異常發現 → 非監督應用第二項，刪。\n   - (D) 主題模型與語意分析 → 非監督應用第四項，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 156、230-234（監督式應用場景／非監督式應用場景）\n\n**融會貫通**：判斷口訣 — **「→」後面是已知類別 = 監督式**。醫療診斷的「→疾病類型」表示疾病類別是事先定義好的，模型只是去學「病患資訊 → 哪個類別」。看到應用情境裡有「→ 某個明確結果」就要警覺是監督式。",
    "21": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「非監督式訓練流程中**並非**教材列出的步驟」→ 考點是非監督流程的精確步驟清單。\n2. **正確答案 (D) 為何對**：非監督式的根本特徵就是「**無標籤**」（line 162、196），既然沒有標籤，自然**沒有「標籤校驗與重新標註」這個步驟**。教材列三步 = ①資料準備與標準化 ②模型選擇與超參數設定 ③模型擬合與重複迭代。\n3. **其他選項為何刪**：\n   - (A) 資料準備與標準化 → 訓練第一步，刪。\n   - (B) 模型選擇與超參數設定（如聚類數 k）→ 訓練第二步，刪。\n   - (C) 模型擬合與重複迭代 → 訓練第三步，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 200-204（非監督式訓練流程）\n\n**融會貫通**：易混淆對照 — **監督式有「標記」步驟**（line 137 資料準備與標記）；**非監督式無「標籤校驗」步驟**（無標籤可校）。看到非監督流程裡出現「標籤」相關動作就是錯誤干擾項。記法：**沒標籤 = 沒得校驗**。",
    "22": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Reconstruction Error（重建誤差）下列敘述何者**正確**」→ 考點是 P16b 重點，Reconstruction Error 的正確歸屬。\n2. **正確答案 (C) 為何對**：教材列 Reconstruction Error 為**非監督式**的**內部評估指標**之一（line 214），依資料本身結構特徵評估。常見於**自編碼器（Autoencoder）**或降維後的還原誤差 — 看「資料降維壓縮後能不能還原回原樣」，**無需外部標籤**。\n3. **其他選項為何刪**：\n   - (A) 「外部評估指標、需要真實標籤」→ 它是**內部**指標、不需要標籤，刪。\n   - (B) 「分類任務的損失函數」→ 分類用的是 Cross-Entropy，刪。\n   - (D) 「強化式學習的長期累積報酬指標」→ RL 報酬指標叫 Average Reward per Episode，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 208-214（非監督式內部評估指標）\n\n**融會貫通**：實務應用 — Reconstruction Error 典型用法：**Autoencoder 把資料壓到低維 z 再解回 x'，比較 x 與 x' 的差距**。差距越小代表低維表示保留越多資訊。記法：**重建誤差 = 壓回去看像不像**，屬於「資料自己評自己」的內部指標。",
    "23": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「強化式學習（RL）的核心目標」→ 考點是 RL 的本質定義。\n2. **正確答案 (C) 為何對**：教材首段明定「強化式學習的特徵在於模型**透過與環境互動**學習決策策略，目標是**最大化長期累積報酬（Reward）**」。(C) 是教材原話。\n3. **其他選項為何刪**：\n   - (A) 「最小化模型輸出與實際標籤的誤差」→ 是**監督式**核心目標，刪。\n   - (B) 「從無標註資料中發現潛在結構」→ 是**非監督式**核心目標，刪。\n   - (D) 「將高維資料降至低維表示」→ 是**降維任務**（非監督子任務），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 240（強化式學習簡介）\n\n**融會貫通**：三範式核心目標終極口訣 — **監督式=最小化誤差、非監督=找潛在結構、強化式=最大化長期報酬**。RL 的特殊性在「**互動**」與「**長期**」兩個關鍵字，看到這兩個字基本就是 RL。",
    "24": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「MDP 七要素描述何者**錯誤**」→ 考點是 Agent/Environment/State/Action/Reward/Policy/Value Function 各自定義。\n2. **正確答案 (C) 為何對**：教材定義「**報酬（Reward）= 環境對代理人某一行為的回饋**，用來指引學習方向」。但題目 (C) 卻寫「報酬：代理人於某一時刻觀察到的環境資訊」— 這是 **State（狀態）**的定義（line 251）。Reward 與 State 的定義被**互換**，所以 (C) 錯。\n3. **其他選項為何刪**：\n   - (A) 代理人 — 執行動作並從經驗中學習的人工智慧 → 教材原話，刪。\n   - (B) 環境 — 代理人互動的外部系統 → 教材原話，刪。\n   - (D) 策略 — 代理人根據當前狀態選擇動作的規則 → 教材原話，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 248-255（強化式學習基本架構／MDP 七要素）\n\n**融會貫通**：易混淆對照 — **State = 觀察到的環境資訊**（input）；**Reward = 環境對動作的回饋**（feedback）。MDP 七要素互換是 RL 最高頻干擾，記法：**State 是看到的、Reward 是收到的**。",
    "25": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**為**強化式學習中『價值函數（Value Function）』的定義」→ 考點是 Value Function 的精確定義。\n2. **正確答案 (B) 為何對**：教材明定「**價值函數（Value Function）：衡量某一狀態或狀態-動作對的長期獎勵期望值**」。關鍵字是「**長期**」與「**期望值**」— 不是當下即時的回饋，而是預期未來累積的總和。\n3. **其他選項為何刪**：\n   - (A) 「代理人在特定狀態下可採取的行為」→ 是 **Action（動作）**定義，刪。\n   - (C) 「環境對代理人行為的即時回饋」→ 是 **Reward（報酬）**定義，刪。\n   - (D) 「代理人根據當前狀態選擇動作的規則」→ 是 **Policy（策略）**定義，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 254-255（強化式學習基本架構）\n\n**融會貫通**：易混淆對照 — **Reward vs Value Function**：Reward 是「**眼前**的即時回饋」，Value Function 是「**長期**的期望總和」。打牌比喻：這一張牌贏多少是 Reward，整局結束的預期勝率是 Value。記法：**價值=遠見、報酬=近利**。",
    "26": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「RL 任務類型分類敘述何者**錯誤**」→ 考點是 Policy Learning / Value-Based / Model-Based / Model-Free 的差別。\n2. **正確答案 (C) 為何對**：教材明寫「**模型式學習（Model-Based RL）：嘗試學習環境轉移與回饋機制，提升策略更新效率**」。它仍然**需要**與環境互動以收集資料來學習環境模型，只是另外建立內部環境模型輔助。題目 (C) 說「**完全不需與環境互動即可學習**」— 完全錯誤，所以選 (C)。\n3. **其他選項為何刪**：\n   - (A) 策略學習 — 直接學最佳策略、Policy Gradient → 教材原話，刪。\n   - (B) 價值學習 — 學狀態/狀態-動作對價值、Q-learning → 教材原話，刪。\n   - (D) 模型無關學習 — 無需環境模型、依賴試誤與經驗回放 → 教材原話，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 261-274（強化式學習主要任務類型）\n\n**融會貫通**：易混淆對照 — **Model-Based vs Model-Free 不是「需不需要互動」而是「有沒有建環境模型」**：Model-Based 互動 + 建模型；Model-Free 只互動不建模型。**RL 任何方法都需要互動**（這是 RL 的本質），題目把「不需互動」安到任何 RL 子類都是錯的。",
    "27": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**教材所列強化式學習評估指標」→ 考點是 RL 評估三指標清單。\n2. **正確答案 (D) 為何對**：教材列 RL 三大評估指標 = ①**平均累積報酬（Avg Reward per Episode）** ②**成功率或任務達成率** ③**策略穩定性與收斂速度**。「**模型參數總量**」屬於**模型大小**問題，與策略表現無直接關聯，不在 RL 績效指標範疇。\n3. **其他選項為何刪**：\n   - (A) 平均累積報酬 → RL 評估指標第一項，刪。\n   - (B) 成功率/任務達成率 → RL 評估指標第二項，刪。\n   - (C) 策略穩定性與收斂速度 → RL 評估指標第三項，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 292-294（強化式訓練流程與評估方法）\n\n**融會貫通**：實務應用 — RL 評估指標的共通特徵是「**動態績效**」（看互動結果而非靜態資料），這也是與監督式 Accuracy/F1 的差別。記法：**RL 評估「報率穩」**（報酬、成功率、穩定性）。模型參數量是「**多大**」不是「**多好**」，跑題。",
    "28": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「強化式學習實務挑戰**不包含**」→ 考點是教材列出的三大 RL 挑戰。\n2. **正確答案 (C) 為何對**：教材結尾明列 RL 三大挑戰 = ①**樣本效率低** ②**訓練不穩定** ③**實務部署門檻高**。「**缺乏可用 GPU**」是**硬體資源**問題，不在教材討論的 RL 本質挑戰範圍 — 任何深度學習都需要 GPU，這不是 RL 特有問題。\n3. **其他選項為何刪**：\n   - (A) 樣本效率低 → 教材列三大挑戰之一，刪。\n   - (B) 訓練不穩定 → 教材列三大挑戰之一，刪。\n   - (D) 實務部署門檻高 → 教材列三大挑戰之一，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 308（強化式學習應用場景結語）\n\n**融會貫通**：易混淆對照 — **「算法挑戰」vs「硬體限制」是兩個層級**。教材討論的是 RL 在「方法論層次」的困難（樣本效率、收斂性、部署），GPU 是通用硬體問題不算 RL 特有。記法：**RL 三大坑「樣訓部」**（樣本/訓練/部署）。",
    "29": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「三大範式對『標註』需求的描述何者**正確**」→ 考點是三範式對「監督訊號」形式的不同定義。\n2. **正確答案 (B) 為何對**：教材分述 — 監督式靠 **Labeled Data**（line 101）、非監督式**無標註**（line 162）、強化式**透過與環境互動的 Reward 取代傳統標註**（line 240、248-253）。三者形式不同，但 RL 的 Reward 在功能上「補位」了監督訊號的角色 — (B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 「三者皆需要人工標註」→ 非監督就不需要，刪。\n   - (C) 「監督式不需標註、非監督式需要標註」→ 兩者角色完全互換，刪。\n   - (D) 「三者皆不需要任何監督訊號」→ 監督式核心就是標籤、RL 核心就是 Reward，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 101、162、240、248-253（三範式核心定義）\n\n**融會貫通**：跨範式記法 — **監督式有 Label、非監督無監督訊號、強化式 Reward 是另一種監督訊號**。RL 的 Reward 是「**間接、延遲、稀疏**」的監督訊號，與傳統 Label 不同但功能相通。記法：**Label/None/Reward**。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「三大範式典型應用領域配對**錯誤**」→ 考點是判斷應用屬於哪個範式。\n2. **正確答案 (D) 為何對**：**影像分類（影像 → 物件類別）**是**監督式**典型應用（line 154），因為「物件類別」是預先給定的標籤。教材列 RL 五大應用 = **遊戲 AI / 自駕車 / 推薦系統 / 金融投資 / 物流排程**（line 302-306），不含影像分類。所以 (D) 把監督式的應用錯安到 RL，**錯誤**。\n3. **其他選項為何刪**：\n   - (A) 監督式 — 醫療診斷 → 監督式應用第三項（line 156），刪。\n   - (B) 非監督式 — 客戶分群與行為分析 → 非監督應用第一項（line 230），刪。\n   - (C) 強化式 — 自走車與機器人控制 → RL 應用第二項（line 303），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 154、230、302-306（三範式應用場景）\n\n**融會貫通**：判斷口訣總結 — **「→ 已知類別」=監督式、「找群」=非監督、「動態決策」=RL**。影像分類有明確「→物件類別」這個箭頭就是監督式，RL 的特徵是「**連續互動 + 長期報酬**」（如遊戲、駕車、推薦）。記法：**RL 五大應用「遊駕推金物」**（遊戲/自駕/推薦/金融/物流）。",
    "31": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**不屬於**」教材所列應用領域 → 考點是 chunks line 11 明列的多元領域清單。\n2. **正確答案 (D) 為何對**：教材 line 11「機器學習已廣泛應用於**語音辨識、圖像辨識、語意理解、醫療診斷、金融預測、推薦系統**等多元領域」。(A)(B)(C) 全部直引教材，(D)「晶片光罩製程設計」**未出現**於教材清單，故為答案。\n3. **其他選項為何刪**：\n   - (A) 語音辨識、圖像辨識 ✓ 教材有列\n   - (B) 語意理解、醫療診斷 ✓ 教材有列\n   - (C) 金融預測、推薦系統 ✓ 教材有列\n   - (D) 晶片光罩製程設計 → 教材未列\n\n**📖 章節來源**：chunks/L23201.txt line 11（前言與章節導覽 - 應用領域）\n\n**融會貫通**：教材的六大應用領域是常考重點，記法「**語音 + 圖像 + 語意 + 醫療 + 金融 + 推薦**」六字訣。考試常用「**業界看似合理但教材未列**」的選項作干擾，記住「教材定義優先業界慣例」原則。",
    "32": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**不包含**」於教材所列輸入資料來源 → 考點是 chunks line 23 明列的五大來源。\n2. **正確答案 (D) 為何對**：教材 line 23「機器學習的輸入資料來源多樣，可能來自**結構化表格、文字紀錄、影像、語音訊號或感測器資料**等」。(A)(B)(C) 全部直引教材，(D)「區塊鏈智能合約位元組碼」**未出現**於教材清單，故為答案。\n3. **其他選項為何刪**：\n   - (A) 結構化表格、文字紀錄 ✓ 教材有列\n   - (B) 影像、語音訊號 ✓ 教材有列\n   - (C) 感測器資料 ✓ 教材有列\n   - (D) 區塊鏈智能合約位元組碼 → 教材未列\n\n**📖 章節來源**：chunks/L23201.txt line 23（機器學習的基本結構 - 輸入資料與特徵空間）\n\n**融會貫通**：記法「**表 + 文 + 影 + 聲 + 感**」五字訣（結構化表格、文字、影像、語音、感測器）。所有資料必須**經過適當轉換與前處理**，才能表示為向量或矩陣輸入模型（line 23），呼應 num 4 特徵空間考點。",
    "33": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問損失函數角色與影響哪項「**錯誤**」→ 考點是 chunks line 65-66、line 77 的核心定義。\n2. **正確答案 (C) 為何對**：教材 line 77「損失函數的形式**不僅影響模型的數值表現**，**更會決定學習方向與收斂路徑**」。(C) 說「與學習方向、收斂路徑完全無關」與教材完全相反，故為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 量化誤差 ✓ 教材 line 65「透過損失函數將預測與實際結果之間的誤差量化」\n   - (B) 關鍵評價機制 + 風險取捨 ✓ 教材 line 65-66「是整個學習流程中的關鍵評價機制，其設計反映了任務的偏好與風險取捨」\n   - (D) MSE 對大誤差懲罰、MAE 對異常值魯棒 ✓ 教材 line 69-72 直引\n\n**📖 章節來源**：chunks/L23201.txt line 65-66（損失函數角色）、line 69-72（MSE/MAE 特性）、line 77（學習方向影響）\n\n**融會貫通**：記法「**損失函數三重角色：量化 + 評價 + 引導方向**」。損失函數不只是「打分數」，它**決定模型往哪個方向走**——選錯損失函數會讓模型學偏（如分類任務誤用 MSE，會導致機率輸出的梯度信號變弱）。呼應 num 7 損失函數與任務配對考點。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**學習的核心任務**」找什麼樣的函數 → 考點是 chunks line 61 泛化能力概念。\n2. **正確答案 (B) 為何對**：教材 line 61「學習的核心任務，在於從整個假設空間中找出一個**泛化能力最佳的函數**，即能在**未知資料上維持良好預測效果**的模型」。(B) 完全直引教材。\n3. **其他選項為何刪**：\n   - (A) 訓練集 100% 準確率 → 反了，這是**過擬合**陷阱，不是學習目標，刪。\n   - (C) 參數最少 → 與「泛化能力」無直接因果（雖然奧坎剃刀有關但非教材定義），刪。\n   - (D) 計算複雜度最低 → 非教材定義的核心任務，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 53-61（模型與假設空間 - 泛化能力）\n\n**融會貫通**：記法「**泛化（Generalization）= 在未知資料上仍維持良好預測**」。這是 ML 與「死背 / 查表」的根本差別——若模型只在訓練集表現好（甚至 100%），但測試集崩盤，叫**過擬合（Overfitting）**。實務上要透過驗證集（呼應 num 8）監控過擬合，這是評估「泛化能力」的關鍵手段。",
    "35": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**不屬於**」分類任務評估指標 → 考點是 chunks line 89-91、line 93-95 的兩類指標對比。\n2. **正確答案 (D) 為何對**：教材 line 89-91「**分類任務**：準確率（Accuracy）、精確率與召回率（Precision/Recall）、F1 分數」；line 93-95「**迴歸任務**：平均絕對誤差（MAE）、均方誤差（MSE）、**決定係數（R²）**」。(D) R² 屬於**迴歸**指標，不屬於分類，故為答案。\n3. **其他選項為何刪**：\n   - (A) Accuracy ✓ 教材分類列表有\n   - (B) Precision/Recall ✓ 教材分類列表有\n   - (C) F1 分數 ✓ 教材分類列表有\n   - (D) R² → 屬於**迴歸**指標（line 95），不屬於分類\n\n**📖 章節來源**：chunks/L23201.txt line 89-91（分類評估指標）、line 93-95（迴歸評估指標）\n\n**融會貫通**：記法表：\n- **分類**：Accuracy / Precision / Recall / **F1**\n- **迴歸**：MAE / MSE / **R²**\n\n考點常用「**指標放錯類別**」作干擾（如 F1 配迴歸、R² 配分類），記住兩組指標互不相通。呼應 num 9（F1 不屬於迴歸）形成正反雙考點。",
    "36": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**不屬於**」分類任務典型應用 → 考點是 chunks line 117-120 列舉的三個分類例子。\n2. **正確答案 (D) 為何對**：教材 line 117-120 明列分類應用「**郵件分類（垃圾信 vs 一般信件）、客戶流失預測（流失 vs 留存）、圖像辨識（貓、狗或其他物件）**」。(D)「房價預測」屬於**迴歸**任務（教材 line 127 明列），不是分類，故為答案。\n3. **其他選項為何刪**：\n   - (A) 郵件分類 ✓ 教材分類列表\n   - (B) 客戶流失預測 ✓ 教材分類列表\n   - (C) 圖像辨識（貓、狗）✓ 教材分類列表\n   - (D) 房價預測 → 屬於**迴歸**（line 127）\n\n**📖 章節來源**：chunks/L23201.txt line 113-122（監督式學習 - 分類）、line 124-129（監督式學習 - 迴歸）\n\n**融會貫通**：記法表：\n- **分類典型例子**：郵件分類、客戶流失預測、圖像辨識（離散標籤）\n- **迴歸典型例子**：房價預測、銷售量預測、滿意度評分（連續數值）\n\n關鍵判別：**標籤是離散類別 → 分類；連續實數 → 迴歸**。考點常將兩類例子互換干擾。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**屬於**」迴歸任務典型應用 → 考點是 chunks line 127-129 列舉的迴歸例子。\n2. **正確答案 (B) 為何對**：教材 line 127-129 明列迴歸應用「**房價預測、銷售量預測、使用者滿意度評分（如 1 至 5 顆星）**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 郵件分類 → 屬於**分類**（line 117），刪。\n   - (C) 客戶分群 → 屬於**非監督式聚類**（line 230），刪。\n   - (D) 影像中物件類別辨識 → 屬於**分類**（line 120），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 124-131（監督式學習 - 迴歸應用例子）\n\n**融會貫通**：注意「**滿意度評分（1~5 顆星）**」這個例子常被誤認為分類（5 類）。教材明確將其歸為**迴歸**——因為評分本質是有序連續值，可預測 4.3 顆星這種中間值；若硬要當分類則失去「相鄰類別相似」的順序資訊。呼應 num 36 形成正反雙考點。",
    "38": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**不屬於**」非監督式輸出三種類型 → 考點是 chunks line 167-170 明列的三類。\n2. **正確答案 (D) 為何對**：教材 line 167-170「非監督學習模型的輸出通常**不是具體的預測值**，而是：(1) 對資料樣本的分組、歸類 (2) 對高維資料的降維、投影 (3) 對潛藏變數或生成機制的估計」。(D) 「對未知輸入產生具體預測類別標籤」正是**監督式分類**的輸出形式，與非監督式相反，故為答案。\n3. **其他選項為何刪**：\n   - (A) 分組歸類 ✓ 教材列表\n   - (B) 降維投影 ✓ 教材列表\n   - (C) 潛藏變數估計 ✓ 教材列表\n   - (D) 具體預測類別標籤 → 監督式輸出，**非**非監督式\n\n**📖 章節來源**：chunks/L23201.txt line 166-170（非監督式學習 - 基本架構）\n\n**融會貫通**：記法「**非監督三輸出：分組 + 降維 + 潛藏**」。關鍵差異——監督式輸出「**具體預測值**」（類別/數值），非監督式輸出「**結構/分組/表示**」。呼應 num 15「非監督式輸出不是具體預測值」形成核心知識迴路。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**潛在表示學習（Representation Learning）**」的正確描述 → 考點是 chunks line 190-192 的定義。\n2. **正確答案 (B) 為何對**：教材 line 190-192「**潛在表示學習（Representation Learning）— 透過非監督方式學習可解釋或有用的資料內部結構，特別常見於語言模型、影像編碼等深度學習應用**」。(B) 完全直引教材。\n3. **其他選項為何刪**：\n   - (A) 需大量人工標註 → 反了，潛在表示學習是**非監督方式**，不需標註，刪。\n   - (C) 強化式子任務 → 屬於非監督式四大任務之一，不是 RL，刪。\n   - (D) 僅結構化表格 → 反了，教材明列**語言模型、影像編碼**等深度學習應用，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 190-192（非監督式學習 - 潛在表示學習）\n\n**融會貫通**：記法「**Representation Learning = 非監督 + 學習內部結構 + 語言/影像深度學習**」。實務上的代表案例：\n- **語言模型**：Word2Vec / BERT 預訓練的詞向量（非監督）\n- **影像編碼**：Autoencoder / VAE / 對比學習（SimCLR）\n\n是現代 deep learning 預訓練的基礎範式，後續才能透過監督式微調（fine-tuning）做下游任務。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問非監督式「**也常用於**」何種角色 → 考點是 chunks line 236 的延伸應用。\n2. **正確答案 (B) 為何對**：教材 line 236「非監督式學習不僅在探索未知資料結構中具有關鍵價值，也常用於**模型初始化、資料標註支援與半監督學習的先備處理階段**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 取代監督式 → 反了，兩者**互補**而非取代，刪。\n   - (C) 替代 RL 環境互動 → 完全無關，RL 有獨立的決策互動機制，刪。\n   - (D) 線性迴歸閉式解 → 線性迴歸的閉式解（最小平方法）屬於**監督式**領域，與非監督無關，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 236（非監督式學習 - 應用價值總結）\n\n**融會貫通**：記法「**非監督三大延伸角色：模型初始化 + 標註支援 + 半監督先備**」。實務範例：\n- **模型初始化**：用 Autoencoder 預訓練 encoder 權重\n- **標註支援**：用聚類找出代表性樣本給人工標註（active learning）\n- **半監督先備**：少量標註 + 大量無標註資料，先用非監督抽特徵\n\n呼應 num 29 三範式對標註需求，補充「非監督式不只是獨立任務、還可支援其他範式」的整合觀點。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MDP「**狀態（State）**」的定義 → 考點是 chunks line 251 的逐字定義。\n2. **正確答案 (B) 為何對**：教材 line 251「**狀態（State）：代理人於某一時刻觀察到的環境資訊**」。(B) 完全直引教材。\n3. **其他選項為何刪**：\n   - (A) 「可採取的行為」→ 那是**動作（Action）**的定義（line 252），刪。\n   - (C) 「環境對行為的回饋」→ 那是**報酬（Reward）**的定義（line 253），刪。\n   - (D) 「選擇動作的規則」→ 那是**策略（Policy）**的定義（line 254），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 247-256（強化式學習 - MDP 七要素）\n\n**融會貫通**：MDP 七要素逐一對應：\n- **Agent**：學習者\n- **Environment**：外部系統\n- **State**：當前觀察資訊\n- **Action**：可採取行為\n- **Reward**：行為回饋\n- **Policy**：選動作的規則\n- **Value Function**：長期獎勵期望\n\n考點常**互換定義**作干擾（State ↔ Action ↔ Reward ↔ Policy），記住「**State 是觀察 / Action 是行為 / Reward 是回饋 / Policy 是規則**」四字訣。呼應 num 24、25 形成 MDP 七要素完整覆蓋。",
    "42": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MDP「**策略（Policy）**」的定義 → 考點是 chunks line 254 的逐字定義。\n2. **正確答案 (C) 為何對**：教材 line 254「**策略（Policy）：代理人根據當前狀態選擇動作的規則**」。(C) 完全直引教材。\n3. **其他選項為何刪**：\n   - (A) 「長期獎勵期望值」→ 那是**價值函數（Value Function）**的定義（line 255），刪。\n   - (B) 「觀察到的環境資訊」→ 那是**狀態（State）**的定義（line 251），刪。\n   - (D) 「互動的外部系統」→ 那是**環境（Environment）**的定義（line 249），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 247-256（強化式學習 - MDP 七要素）\n\n**融會貫通**：對比記憶：\n- **Policy（策略）**：State → Action 的對應規則（行為的「**怎麼做**」）\n- **Value Function（價值函數）**：State 或 (State, Action) → 長期報酬期望（行為的「**值多少**」）\n\n兩者經常被混淆——Policy 告訴你「**做什麼**」，Value 告訴你「**這個狀態/動作有多好**」。RL 任務類型 Policy-Based vs Value-Based 正是基於這個區別（呼應 num 26）。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問依「**決策空間**」區分 RL 的正確配對 → 考點是 chunks line 277-279 的離散/連續對比。\n2. **正確答案 (B) 為何對**：教材 line 277-279「**離散動作空間：適用於分類型選擇，如遊戲動作、導航決策。連續動作空間：適用於控制類任務，如機械臂運動、車輛轉向控制**」。(B) 完整直引教材。\n3. **其他選項為何刪**：\n   - (A) 離散用機械臂、車輛轉向 → 反了，那是**連續**動作空間，刪。\n   - (C) 連續用遊戲動作、導航 → 反了，那是**離散**動作空間，刪。\n   - (D) 無本質區別 → 反了，動作空間類型影響演算法選擇（如 DQN 適合離散、DDPG 適合連續），刪。\n\n**📖 章節來源**：chunks/L23201.txt line 276-279（強化式學習 - 動作空間分類）\n\n**融會貫通**：記法表：\n- **離散動作空間**：選擇有限項（遊戲方向鍵：上下左右 / 導航：直行/轉彎）→ DQN、A2C\n- **連續動作空間**：實數區間（機械臂角度 30.5° / 車輛轉向 -0.7）→ DDPG、SAC、PPO\n\n實務上自駕車「**油門深度 + 方向盤角度**」屬連續，而「**換哪檔位**」則屬離散——同一個任務可能混合兩種空間。",
    "44": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 RL 訓練流程的「**正確順序**」→ 考點是 chunks line 285-288 的 A-D 四步驟。\n2. **正確答案 (C) 為何對**：教材 line 285-288「A. 初始化策略或價值函數 B. 與環境互動並收集經驗 C. 根據報酬更新策略或價值估計 D. 重複試誤學習，逐步提升決策表現」。(C) 完整對應教材 A→B→C→D 順序。\n3. **其他選項為何刪**：\n   - (A) 互動 → 初始化 → 試誤 → 更新 → 順序錯亂，必須先**初始化**才能互動，刪。\n   - (B) 更新 → 初始化 → 互動 → 試誤 → 更新放第一個不合邏輯（還沒收經驗），刪。\n   - (D) 試誤 → 互動 → 更新 → 初始化 → 初始化放最後是反邏輯，刪。\n\n**📖 章節來源**：chunks/L23201.txt line 283-288（強化式學習 - 訓練流程四步驟）\n\n**融會貫通**：記法「**初始化 → 互動 → 更新 → 試誤循環**」（IIUT 四字訣）。這流程與監督式（資料準備→訓練→驗證→測試）有根本差異：\n- **監督式**：靜態資料 + 一次性訓練週期\n- **RL**：動態互動 + 持續試誤循環\n\n呼應 num 11 監督式流程順序考點，形成「**範式 ↔ 訓練流程**」對比知識迴路。",
    "45": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**不屬於**」RL 在遊戲 AI 與對弈系統的具體應用 → 考點是 chunks line 302 明列的三個經典案例。\n2. **正確答案 (D) 為何對**：教材 line 302「遊戲 AI 與對弈系統：**AlphaGo、OpenAI Five、DeepMind Atari 等**」。(A)(B)(C) 直引教材，(D) ImageNet 屬於**監督式圖像分類**競賽（非 RL、非遊戲對弈），故為答案。\n3. **其他選項為何刪**：\n   - (A) AlphaGo ✓ 教材列表（圍棋 AI）\n   - (B) OpenAI Five ✓ 教材列表（Dota 2 AI）\n   - (C) DeepMind Atari ✓ 教材列表（雅達利遊戲 AI）\n   - (D) ImageNet → 監督式分類競賽，非 RL\n\n**📖 章節來源**：chunks/L23201.txt line 300-306（強化式學習 - 應用場景）\n\n**融會貫通**：RL 五大應用場景（line 302-306）記法：\n- **遊戲對弈**：AlphaGo / OpenAI Five / Atari\n- **自駕與機器人**：動作序列、導航、連續控制\n- **推薦與廣告**：即時反饋、長期價值最大化\n- **金融投資**：連續決策、風險控制\n- **運輸物流**：多階段決策、路徑規劃\n\n陷阱：監督式（ImageNet 分類）/ 非監督式（客戶分群）/ RL（AlphaGo）三類案例**互不相通**，考點常將監督式知名案例混進 RL 列表作干擾，記住「**有獎勵 / 有決策序列 → RL**」核心判別。"
  },
  "mock_L23202": {
    "1": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「機器學習演算法核心任務」的正確敘述 → 考點是 ML 的**本質定義**（學什麼 + 為了什麼）。\n2. **正確答案 (A) 為何對**：教材開宗明義「機器學習演算法的核心任務，是學習一個從輸入特徵映射至目標結果的規則，並具備良好的泛化能力」。兩個關鍵字 = **映射規則** + **泛化能力**，(A) 完整涵蓋。\n3. **其他選項為何刪**：\n   - (B) 完全記憶所有樣本目標值 → 這是「過擬合」的描述，不是 ML 目標，刪。\n   - (C) 不需泛化能力，只要訓練集表現好 → 違背 ML 核心精神，刪。\n   - (D) 僅處理離散類別預測 → 那只是分類任務，ML 還包含迴歸、分群、降維等，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 9（常見機器學習演算法）\n\n**融會貫通**：記法「**學規則 + 能泛化**」是 ML 兩大要件。把「訓練集表現好」當成 ML 目標是典型新手錯誤 — 訓練集表現好但測試集差，叫過擬合 (overfitting)，是 ML 的災難。",
    "2": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**」線性迴歸的「模型假設」→ 要找出**不是假設**的選項。\n2. **正確答案 (D) 為何對**：線性迴歸 5 大假設 = **線性關係 / 誤差常態分佈 / 變異數齊一 / 誤差獨立 / 無多重共線性**。模型本身允許誤差項 ε 存在，**從不要求「預測值與實際值完全相等」**，那是不可能的目標。(D) 不是模型假設。\n3. **其他選項為何刪**：\n   - (A) 線性關係 → 5 大假設之一，刪。\n   - (B) 誤差常態分佈 → 5 大假設之一，刪。\n   - (C) 無多重共線性 → 5 大假設之一，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 60-80（線性迴歸 - 模型假設）\n\n**融會貫通**：背 5 大假設口訣「**線性、常態、齊一、獨立、無共線**」。模型容許誤差 ε 是線性迴歸的核心設計，所以「預測等於實際」這種絕對條件不會成為假設 — 屬於 swap 干擾，把「目標」說成「假設」。",
    "3": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Lasso（L1 正則化）的正確敘述 → 考點是 **Lasso 的核心特性**（L1 + 壓零 + 特徵選擇）。\n2. **正確答案 (C) 為何對**：Lasso 全名 Least Absolute Shrinkage and Selection Operator，在損失函數加入 **L1 範數懲罰項 λΣ|βⱼ|**（係數絕對值和），其特性是**能將部分係數直接壓縮為零**，達到自動**特徵選擇**效果。(C) 三個元素全對。\n3. **其他選項為何刪**：\n   - (A) 只能限制係數大小、無法壓零 → 這是 **Ridge** 的特性，把 Lasso 跟 Ridge 對換了，刪。\n   - (B) 加入 L2 範數懲罰項 → 是 **Ridge** 的公式，刪。\n   - (D) 適合資料完全沒有多重共線性 → 相反，Lasso/Ridge 都是**為了處理多重共線性而生**，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 114-119、127-130（Lasso 迴歸與嶺迴歸 - 定義/公式）\n\n**融會貫通**：記法「**Lasso = L1 = 壓零 (Selection)，Ridge = L2 = 縮小不壓零**」。L1 用絕對值（圖形是菱形），交角頂點正好在座標軸上，所以易把係數推到 0；L2 用平方（圖形是圓），切點通常不在軸上，係數會被縮小但不會剛好為 0。",
    "4": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Ridge 迴歸**錯誤**的敘述 → 要找出**對 Ridge 的誤解**（最容易跟 Lasso 搞混）。\n2. **正確答案 (C) 為何對**：教材明確指出「Ridge **不會將係數壓縮為零**，因此**無法自動進行特徵選擇**」。(C) 說 Ridge 「會將部分係數壓縮為零達到特徵選擇」剛好把 Lasso 的特性安在 Ridge 身上，**錯誤**。\n3. **其他選項為何刪**：\n   - (A) 加入 L2 正則化（係數平方和）→ Ridge 的正確公式，刪。\n   - (B) 適合多重共線性嚴重的情況 → Ridge 主要用途，正確，刪。\n   - (D) 防止過大的係數 → Ridge 用 L2 限制係數大小的功能描述，正確，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 120-123、197-201（嶺迴歸 - 定義與使用限制）\n\n**融會貫通**：Lasso vs Ridge 是必考對。**Lasso 壓零 → 特徵選擇；Ridge 縮小不壓零 → 共線性穩定**。看到「Ridge + 特徵選擇」、「Lasso + 完全保留所有特徵」這種組合就要警覺是 swap 干擾。",
    "5": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「SVR vs 傳統線性迴歸」最主要差異 → 考點是 SVR 的**標誌性概念 ε-tube**。\n2. **正確答案 (B) 為何對**：教材說「SVR 與傳統線性迴歸不同，SVR **不追求最小化所有點的平方誤差**，而是**盡可能忽略誤差小於 ε 的資料點，只關注誤差超過 ε 的點**，藉此提升對離群值的抵抗力」。這就是 ε-tube 概念，(B) 完整呈現。\n3. **其他選項為何刪**：\n   - (A) 最小化所有點平方誤差 → 那是**傳統線性迴歸**做的事，SVR 反其道而行，刪。\n   - (C) SVR 必須假設常態分佈 → 教材明說「SVR 不需要誤差項服從常態分佈」，刪。\n   - (D) SVR 無法搭配核函數 → 反了，SVR **可以**搭配核函數處理非線性，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 213-214、252-258（支援向量迴歸 SVR - 定義/假設）\n\n**融會貫通**：記法「**SVR 容錯 ε 內、線性迴歸吃所有誤差**」。ε-tube 像一條容忍帶 — 帶內全免責，只懲罰帶外。這是 SVR 對離群值較有抵抗力的關鍵。",
    "6": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「決策樹迴歸**葉節點預測值**通常為何」→ 考點是迴歸樹葉節點的**聚合方式**。\n2. **正確答案 (C) 為何對**：教材 line 308 明文「在葉節點，**將落在該節點的所有樣本的目標值取平均**，作為該節點的預測值」。範例：10 筆資料目標值平均為 52.3，則所有落入此葉節點的資料預測值皆為 52.3。標準答案 = **平均值**。\n3. **其他選項為何刪**：\n   - (A) 最大值 → 教材沒有此設計，極端化會嚴重偏差，刪。\n   - (B) 中位數 → 中位數雖然抗離群值，但**不是教材定義**的標準作法，刪。\n   - (D) 隨機選一個 → 不合理，毫無統計意義，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 294、308-312（決策樹迴歸 - 模型公式）\n\n**融會貫通**：記法「**迴歸樹葉節點 = 平均；分類樹葉節點 = 多數決**」。注意迴歸跟分類兩種樹的葉節點輸出邏輯不同。雖然實務上有變體用中位數（更抗離群值），但**教材以平均為準**，考試以教材為主。",
    "7": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問隨機森林**迴歸**版的**錯誤**敘述 → 考點是 RF Regressor 的**輸出聚合方式**。\n2. **正確答案 (C) 為何對**：教材 line 363 明白寫「最終預測結果是所有樹的**預測值平均值**」。(C) 說是「中位數」**錯誤** — 那是 RF Regressor 的常見變體，不是教材定義。注意：**分類** RF 才用多數決投票，**迴歸** RF 用平均值。\n3. **其他選項為何刪**：\n   - (A) 每棵樹在不同 Bootstrap 子樣本訓練 → RF 標準作法，正確，刪。\n   - (B) 分裂節點隨機選部分特徵 → RF 「特徵子集」機制，正確，刪。\n   - (D) 抗過擬合強、可算特徵重要性 → RF 兩大標誌特點，正確，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 363、981-987（隨機森林迴歸／分類）\n\n**融會貫通**：RF 雙模式對照「**迴歸取平均、分類取多數決**」。(C) 把分類常用的「中位數」（雖然分類其實是多數決）安到迴歸上，是 swap 干擾。記得：RF Regressor → average；RF Classifier → voting。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問梯度提升迴歸 (GBR) 的**正確**敘述 → 考點是 Boosting 的**序列式 + 殘差學習**核心。\n2. **正確答案 (B) 為何對**：教材說 GBR「核心概念是『**逐步修正誤差**』。先訓練一棵簡單的決策樹，計算預測殘差後，再訓練下一棵樹專門學習修正這些殘差。如此一棵一棵地疊加，最終將多棵弱學習器加總」。(B) 「序列式集成 + 殘差修正 + 弱學習器加總」三件事全對。\n3. **其他選項為何刪**：\n   - (A) 多棵樹並行訓練取平均 → 那是 **Random Forest**（Bagging）的特性，GBR 是序列式，刪。\n   - (C) 不需設定學習率 → 反了，GBR **對學習率超敏感**，需仔細調參，刪。\n   - (D) 無法搭配 Early Stopping → 教材明說「訓練過程**可搭配早停**機制」，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 382-393（梯度提升迴歸 - 定義與特點）\n\n**融會貫通**：Bagging vs Boosting 對照「**Bagging 並行 + 平均 (降 variance)，Boosting 序列 + 殘差 (降 bias)**」。GBR 像接力賽 — 每棒選手專門補上一棒的失誤，最後成績是所有人合計。",
    "9": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 **XGBoost vs LightGBM 分裂策略** 的差異 → 考點是兩者最常被考的招牌差異。\n2. **正確答案 (C) 為何對**：教材明白寫「XGBoost 採『層級式生長』**Level-wise** 策略，在同一深度上同時分裂所有葉子節點」、「LightGBM 採用『葉子式生長』**Leaf-wise** 分裂策略，優先分裂能帶來最大增益（max gain）的葉子節點，這導致樹會垂直地生長，形成更深但不一定均勻的樹結構」。(C) 對應完美。\n3. **其他選項為何刪**：\n   - (A) 兩者都採 Leaf-wise → 錯，XGBoost 不是 Leaf-wise，刪。\n   - (B) 兩者都採 Level-wise → 錯，LightGBM 不是 Level-wise，刪。\n   - (D) 把 XGBoost 跟 LightGBM 對調 → 經典 swap 干擾，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 422-432、1051-1056（高效梯度提升方法）\n\n**融會貫通**：記法「**XG 橫 (Level)、Light 縱 (Leaf)**」。Level-wise = 同層一起分裂（樹較平衡）；Leaf-wise = 挑增益最大的單一葉子分裂（樹較深，速度快但易過擬合）。這是必考對，看到「XGBoost + Leaf-wise」立刻判斷為錯。",
    "10": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問邏輯迴歸雖名「迴歸」實際用於何種問題 → 考點是 LR 的**真實用途**（容易被名字誤導）。\n2. **正確答案 (B) 為何對**：教材 line 506 明寫「邏輯迴歸（Logistic Regression）是一種最基礎、最常用的**分類演算法**，雖名為『迴歸』，實際上是用於解決**分類問題**，尤其適合**二元分類**（Binary Classification）」。輸出機率 p 透過 sigmoid 函數映射到 [0,1]，再依閾值（通常 0.5）分類。\n3. **其他選項為何刪**：\n   - (A) 連續數值預測 → 那是**真正的迴歸**任務（如線性迴歸、SVR），不是 LR，刪。\n   - (C) 分群 → 那是非監督式學習（k-means、DBSCAN），刪。\n   - (D) 降維 → 那是 PCA、t-SNE 的工作，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 506（邏輯迴歸 - 定義）\n\n**融會貫通**：記法「**Logistic Regression 是分類器**」— 別被名字騙了。它叫「迴歸」是因為**輸出機率本身**是個 [0,1] 連續值（在「迴歸機率」），但用途是**分類**。是 ML 命名歷史的一個坑。",
    "11": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 LR 的「線性可分性」是指**誰**跟特徵的線性關係 → 考點是 LR 假設的**精確定義**（最易誤解）。\n2. **正確答案 (C) 為何對**：教材 line 546-551 明寫「線性可分性（**Linearity in Log-Odds**）：特徵與**對數勝率（Log-Odds）**之間呈線性關係」。Log-Odds = ln(p/(1-p))，把機率 [0,1] 映射到 (-∞, +∞)。**LR 的線性是針對 Log-Odds、不是針對 p**。\n3. **其他選項為何刪**：\n   - (A) 目標變數 y 與特徵線性 → 那是**線性迴歸**的假設，不是 LR，刪。\n   - (B) 預測機率 p 與特徵線性 → 常見誤解 — p 跟特徵其實是 **sigmoid 非線性關係**，刪。\n   - (D) 殘差與特徵線性 → 殘差概念不適用於 LR（LR 沒有殘差項 ε），刪。\n\n**📖 章節來源**：chunks/L23202.txt line 546-551（邏輯迴歸 - 模型假設）\n\n**融會貫通**：記法「**LR 線性 = Log-Odds 線性，不是 p 線性**」。經 sigmoid 後 p 跟特徵變非線性 — 這正是 LR 能畫 S 型機率曲線的原因。看到「LR + p 跟特徵線性」這種敘述就要警覺是 partial swap 干擾。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 SVM 的**核心思想** → 考點是 SVM 的標誌性概念「**最大化間隔超平面**」。\n2. **正確答案 (A) 為何對**：教材 line 593-594 明寫「SVM 的核心思想是，在特徵空間中尋找一條最能區分不同類別的**決策邊界（超平面）**，並**最大化兩類之間的間隔（Margin）**」。最大間隔 → 提升對未知資料的泛化能力。\n3. **其他選項為何刪**：\n   - (B) 將所有資料點記入模型、依距離投票 → 那是 **KNN** 的描述，刪。\n   - (C) 透過機率分佈計算後驗機率 → 那是 **Naive Bayes** 的做法，刪。\n   - (D) 映射到 2D 空間後視覺化 → 那是 **t-SNE/PCA** 等降維視覺化方法，不是 SVM，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 593-594（支援向量機 - 定義）\n\n**融會貫通**：記法「**SVM = Max Margin + 超平面**」。最大化間隔的概念來自 Vapnik 的統計學習理論 — 間隔越大，模型對新資料越穩定。注意 SVM 跟 KNN（距離投票）、Naive Bayes（後驗機率）的本質差異常被混淆。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 SVM 處理**非線性**分類的**關鍵技術** → 考點是 SVM 的核心招式「**Kernel Trick**」。\n2. **正確答案 (B) 為何對**：教材 line 596 明寫「若資料無法在原空間中線性分離，SVM 可利用『**核函數（Kernel Function）**』將資料映射到更高維度空間，使其可被線性分隔。這也是 SVM 能處理非線性分類問題的重要原因」。常見核函數 = Linear / Polynomial / **RBF (Gaussian)** / Sigmoid。\n3. **其他選項為何刪**：\n   - (A) 增加訓練資料量 → 對非線性邊界沒有根本幫助，刪。\n   - (C) 縮減特徵維度 → 反了，SVM 是**升維**而非降維，刪。\n   - (D) 提高學習率 → SVM 主要參數是 C 跟 γ，不是學習率（那是 Gradient Boosting/神經網路用語），刪。\n\n**📖 章節來源**：chunks/L23202.txt line 596、650-655（SVM - 定義/常用核函數）\n\n**融會貫通**：記法「**Kernel Trick = 升維求線性**」。形象化想：原本糾纏在一起的兩類資料，升到更高維度看就像把麻花拉直，自然可分。記常見 4 大核：**Linear / Poly / RBF / Sigmoid**。",
    "14": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問**並非**決策樹**分類器**節點分裂指標的選項 → 考點是分類 vs 迴歸指標的辨別。\n2. **正確答案 (D) 為何對**：教材 line 706-717 列出決策樹分類器分裂指標 = **Gini Impurity / Information Gain（基於 Entropy）/ Classification Error** 三種。**MAE（平均絕對誤差）是迴歸**指標，不用於分類節點分裂評估，(D) **不是**。\n3. **其他選項為何刪**：\n   - (A) Gini Impurity → 分類樹分裂指標之一，刪。\n   - (B) Information Gain（基於 Entropy）→ 分類樹分裂指標之一，刪。\n   - (C) Classification Error → 分類樹分裂指標之一，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 706-717（決策樹分類器 - 模型評估指標）\n\n**融會貫通**：記法「**分類用 Gini/IG/Class Error（純度三件套），迴歸用 MSE/RMSE/MAE/R²**」。MAE 是衡量數值誤差大小（迴歸用），無法處理離散類別純度。看到「分類樹 + MAE」立刻判斷為錯（domain mismatch 干擾）。",
    "15": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問決策樹分類器**缺點**敘述的**錯誤**選項 → 要抓出**對缺點的誤解**。\n2. **正確答案 (C) 為何對**：教材 line 738-740 明寫「**模型不連續** — 對連續型變數，決策邊界呈**階梯狀**，而非平滑曲線」。(C) 說「產生平滑決策邊界」**錯誤** — 決策樹是分段常數，**階梯狀邊界**才對。\n3. **其他選項為何刪**：\n   - (A) 容易過擬合、學到雜訊 → 教材 line 733-734 明列為缺點，刪。\n   - (B) 對資料微小變動敏感 → 教材 line 735-736 明列為缺點，刪。\n   - (D) 精度通常不如集成方法 → 教材 line 742-744 明列為缺點，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 738-744（決策樹分類器 - 使用限制）\n\n**融會貫通**：記法「**樹模型 = 分段常數 = 階梯邊界**」。決策樹用「if-then」切資料 → 邊界一定是水平/垂直的階梯，畫不出平滑曲線。要平滑邊界要用 LR、SVM with RBF、或神經網路。看到「決策樹 + 平滑曲線」就是 swap 干擾。",
    "16": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 KNN 特徵縮放的**正確**敘述 → 考點是 KNN 對特徵尺度的依賴性。\n2. **正確答案 (B) 為何對**：教材 line 783-786 明寫「不同尺度的特徵會影響距離計算，導致某些特徵的影響力被過度放大。因此，通常需要進行**特徵縮放**（如標準化或歸一化）」。KNN 基於距離 → 特徵尺度大者主導距離（如年齡 30 vs 收入 50000，後者數量級壓倒），必須先縮放。\n3. **其他選項為何刪**：\n   - (A) KNN 對尺度不敏感 → 反了，KNN **極度敏感**，刪。\n   - (C) 特徵縮放會降低準確度 → 反了，縮放是為了**提升**準確度，刪。\n   - (D) 預測階段不涉及距離計算 → 反了，KNN 預測階段**全靠**距離計算（惰性學習），刪。\n\n**📖 章節來源**：chunks/L23202.txt line 783-786、829-831（KNN - 模型假設/使用限制）\n\n**融會貫通**：「**距離型演算法都要縮放**」— KNN、k-means、SVM with RBF、PCA 都怕大尺度特徵壓倒小尺度特徵。樹模型（Decision Tree、RF、GBM）對尺度**不敏感**，是少數不用縮放的家族。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 KNN 在**高維資料**表現不佳的**主因** → 考點是「**維度詛咒**」這個招牌概念。\n2. **正確答案 (B) 為何對**：教材 line 787-789、825-827 明寫「維度詛咒：在高維度空間中，資料點之間的距離會變得均勻，導致『**最近鄰居**』的概念失去意義，模型效能會下降」。高維下所有點距離趨於相等 → KNN 的「鄰居」概念崩潰。\n3. **其他選項為何刪**：\n   - (A) KNN 需要長時間訓練 → 反了，KNN 是**惰性學習**，訓練只是儲存資料，超快；慢的是**預測階段**，刪。\n   - (C) 只能處理數值型特徵 → 不完全正確（類別型可編碼後處理），且不是高維失效的主因，刪。\n   - (D) 無法處理多類別分類 → 反了，KNN **天然支援多類別**，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 787-789、825-827（KNN - 模型假設/使用限制）\n\n**融會貫通**：記法「**高維 = 距離失靈 = KNN 死**」。維度詛咒（Curse of Dimensionality）= 隨著維度增加，數據空間呈指數膨脹，資料變得稀疏，所有點兩兩距離趨於相等。所以 KNN 在高維要先降維（PCA、UMAP）才有意義。",
    "18": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「樸素」一詞的**核心假設** → 考點是 Naive Bayes「樸素」之所以「樸素」的原因。\n2. **正確答案 (A) 為何對**：教材 line 837-839、862-868 明寫「之所以被稱為『樸素』，是因為簡化地假設**所有用於預測的特徵彼此獨立**」、「特徵條件獨立性（Conditional Independence of Features）：所有特徵在**給定類別的情況下**是相互獨立的」，公式 P(X|C) = P(x₁|C) × P(x₂|C) × ... × P(xₙ|C)。\n3. **其他選項為何刪**：\n   - (B) 所有類別先驗機率相同 → 那是「均勻先驗」假設，**不是** Naive Bayes 的「樸素」內涵，刪。\n   - (C) 特徵與目標完全線性相關 → 那比較像線性迴歸假設，不是 NB，刪。\n   - (D) 訓練資料完全沒有雜訊 → 任何 ML 演算法都不假設這個，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 837-839、862-868（樸素貝氏分類 - 定義/模型假設）\n\n**融會貫通**：記法「**樸素 = 條件獨立**」。「條件」二字很重要 — 是**給定類別 C 下**的獨立性，不是無條件獨立。雖然現實中特徵之間幾乎都有相關性，但這個簡化讓計算超高效，在垃圾郵件、文本分類等場景效果仍然不錯。",
    "19": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Bagging vs Boosting **錯誤**的敘述 → 考點是兩大集成策略的**訓練模式對比**。\n2. **正確答案 (C) 為何對**：教材 line 940-944 明寫 Boosting「**逐步建立**一系列模型，每個新模型都針對前一個模型的錯誤進行修正」。(C) 說 Boosting「**並行**訓練多個獨立模型，互不影響」**錯誤** — 那是 Bagging 的特性，Boosting 是**序列式**且模型互相依賴（後棵修正前棵殘差）。\n3. **其他選項為何刪**：\n   - (A) Bagging 隨機抽樣、獨立模型、多數決/平均 → 教材 line 934-936，正確，刪。\n   - (B) Bagging 降 Variance、代表 Random Forest → 教材 line 937-938，正確，刪。\n   - (D) Boosting 序列式、修正前一個錯誤、降 Bias → 教材 line 942-943，正確，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 932-944（集成式分類 - Bagging vs Boosting）\n\n**融會貫通**：記法「**Bagging = 並行 + 降變異 (RF)；Boosting = 序列 + 降偏差 (XGBoost/LightGBM)**」。Bagging 像投票（每個獨立發聲）；Boosting 像接力（每棒接續上棒）。(C) 把 Boosting 的訓練模式跟 Bagging 對調，是典型 swap 干擾。",
    "20": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問集成式**分類器**決定最終類別的機制 → 考點是分類任務的**結果整合方法**。\n2. **正確答案 (B) 為何對**：教材 line 950-957 明寫「投票機制（Voting）：每棵樹或每個弱模型都會產生類別預測，最終的類別是由**多數票決定**，或是**加權投票**決定」、「有些方法（如 Gradient Boosting、XGBoost、LightGBM）可以輸出每個類別的**預測機率**，而不是單純類別」。多數決 / 加權投票 / 機率平均都是合理機制。\n3. **其他選項為何刪**：\n   - (A) 取類別預測的「平均值」→ 類別是離散標籤，「平均」沒意義，刪。\n   - (C) 隨機選一個基模型 → 違背集成精神（集成就是要綜合多模型），刪。\n   - (D) 取最後一棵樹的預測 → 那是**單一模型**用法，不是集成，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 950-957、981-987（集成式分類 - 投票機制/機率輸出）\n\n**融會貫通**：「**分類用投票、迴歸用平均**」— 集成的兩大整合機制依任務類型不同。Random Forest 分類用多數決；Gradient Boosting 分類用加權整合 + Softmax 機率輸出。要記得分類無法做數值平均（類別不是數）。",
    "21": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 **XGBoost** 技術特點的**錯誤**敘述 → 考點是 XGBoost vs LightGBM 的招牌差異（必考對）。\n2. **正確答案 (D) 為何對**：教材 line 421-426、1047-1051 明寫「XGBoost 採用『層級式生長』**Level-wise** 策略，在同一深度上同時分裂所有葉子節點」。(D) 說 XGBoost「採用 **Leaf-wise** 葉子式生長策略」**錯誤** — 那是 LightGBM 的特性。\n3. **其他選項為何刪**：\n   - (A) 使用二階導數資訊（Hessian）→ 教材 line 423/1049，XGBoost 標誌特性，正確，刪。\n   - (B) 支援稀疏資料與缺失值自動處理 → 教材 line 423/1050，XGBoost 特性，正確，刪。\n   - (C) 內建 L1、L2 正則化 → 教材 line 454，XGBoost 特點，正確，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 421-426、1047-1053（高效梯度提升方法 - XGBoost/LightGBM）\n\n**融會貫通**：再次強化記法「**XG 橫 (Level-wise)，Light 縱 (Leaf-wise)**」。這題跟 Q9 是同一考點兩個視角 — Q9 直接問差異，Q21 偽裝成「XGBoost 特點」考你會不會把 LightGBM 特性誤掛上去。看到「XGBoost + Leaf-wise」立判錯。",
    "22": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 k-means 的**標準流程順序** → 考點是 k-means 的 4 步驟邏輯順序。\n2. **正確答案 (B) 為何對**：教材 line 1097-1113 明列 4 步驟：①**初始化**（隨機選 K 個資料點作為初始質心）→ ②**分配**（將每個資料點分到離其最近的質心所在群集）→ ③**更新**（重新計算每群平均值作為新質心）→ ④**重複**（直到質心不再顯著移動或達到最大迭代）。(B) 順序完全對齊。\n3. **其他選項為何刪**：\n   - (A) 「初始化 → 重複迭代 → 分配 → 更新」→ 順序錯亂，「重複」應該放最後，刪。\n   - (C) 「分配 → 初始化 → 更新」→ 沒初始質心怎麼分配？順序顛倒，刪。\n   - (D) 計算所有點兩兩距離 → 選 K 個最遠 → 那不是 k-means，比較像啟發式初始化的某些變體，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1097-1113（k-means 分群 - 步驟）\n\n**融會貫通**：記法「**初(始)分(配)更(新)重(複) = 初分更重**」（諧音「初次分手很重」）。k-means 是 EM 演算法的經典實例：分配 = Expectation（給定質心算屬於誰）、更新 = Maximization（給定歸屬重算質心）。",
    "23": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 k-means **限制**的**錯誤**敘述 → 要找出**不是限制的選項**（即被誤當作限制的內容）。\n2. **正確答案 (D) 為何對**：教材 line 1121-1129 明列 k-means 缺點包含「只能形成**球形或凸形**群集，**無法處理形狀不規則**的群集」。(D) 說「能形成任意形狀，包括月牙、環形」**錯誤** — 那是 **DBSCAN** 的能力，k-means 做不到。\n3. **其他選項為何刪**：\n   - (A) 需要預先指定 K 值 → k-means 真實限制，刪。\n   - (B) 對初始質心敏感 → k-means 真實限制（所以有 k-means++），刪。\n   - (C) 對離群值敏感 → k-means 真實限制（質心用平均，被離群值拉走），刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1121-1129（k-means 分群 - 缺點）\n\n**融會貫通**：記法「**k-means 只會切圓 (球形)，要切月牙環形找 DBSCAN**」。k-means 用「離質心最近」分群 → 邊界自然是線性切割，形成 Voronoi 圖（多邊形），無法處理彎曲群集。看到「k-means + 任意形狀」立判錯。",
    "24": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問階層式分群的**正確**敘述 → 考點是 Agglomerative vs Divisive 的方向差異。\n2. **正確答案 (B) 為何對**：教材 line 1139-1148 明寫「**凝聚式（Agglomerative）= 由下而上（bottom-up）**：從將每個資料點視為獨立群集開始，每一步迭代都將最相似的兩個群集合併，直到所有資料點最終匯聚成一個單一的大群集」。(B) 完全對齊。\n3. **其他選項為何刪**：\n   - (A) 凝聚式 = top-down → 反了，凝聚式是 bottom-up，刪。\n   - (C) 分裂式 = bottom-up → 反了，分裂式是 **top-down**（line 1147），刪。\n   - (D) 階層式需預先指定 K → 反了，教材 line 1152 明寫「**無需預先指定 K 值**」是階層式優點，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1139-1148、1152（階層式分群 - 原理/優點）\n\n**融會貫通**：記法「**Agg 凝聚向上合（bottom-up），Div 分裂向下切（top-down）**」。凝聚式像滾雪球（個體 → 群集）；分裂式像切蛋糕（整體 → 個體）。階層式不需指定 K（相對 k-means 的優勢），可從樹狀圖 (Dendrogram) 任選一刀決定群數。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 DBSCAN **優點**的**錯誤**敘述 → 要找出**不是優點**的選項（即被誤當作優點的「缺點」）。\n2. **正確答案 (D) 為何對**：教材 line 1192-1194 明列 DBSCAN **缺點**：「**處理密度不均勻的群集效果不佳**」。(D) 說「對密度不均勻處理效果**優於** k-means」**錯誤** — DBSCAN 對密度不均勻處理**也不好**（因為單一 Eps/MinPts 無法適應不同密度區域）。\n3. **其他選項為何刪**：\n   - (A) 無需預先指定群集數量 → 教材 line 1187，DBSCAN 真實優點，刪。\n   - (B) 能發現任意形狀群集 → 教材 line 1188，DBSCAN 標誌優點（克服 k-means 的球形限制），刪。\n   - (C) 能辨識並標記噪聲點 → 教材 line 1189，DBSCAN 真實優點，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1185-1194（DBSCAN - 優點/缺點）\n\n**融會貫通**：記法「**DBSCAN 三優一缺：無需 K、任意形狀、抓噪聲；密度不均則翻車**」。密度不均（如資料同時有稠密小群跟稀疏大群）→ Eps 設小則大群被切碎、設大則小群被併吞，無解。這時要用 HDBSCAN 或 OPTICS 等變體。",
    "26": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 DBSCAN 的**兩個關鍵參數** → 考點是 DBSCAN 標誌性的 (Eps, MinPts) 組合。\n2. **正確答案 (C) 為何對**：教材 line 1172-1179 明寫「設定兩個關鍵參數：**Eps（epsilon）**：鄰域半徑，定義一個點周圍的搜索範圍；**MinPts（Minimum Points）**：形成一個核心群集所需的最小點數」。\n3. **其他選項為何刪**：\n   - (A) K + 初始質心 → 那是 **k-means** 的參數，刪。\n   - (B) 學習率 + 正則化 λ → 那是梯度下降類 (如 GBM、神經網路) 或正則化模型（Lasso/Ridge）的參數，刪。\n   - (D) C + γ → 那是 **SVM** 的核心參數（懲罰參數 + 核函數參數），刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1172-1179（DBSCAN - 原理）\n\n**融會貫通**：記法「**DBSCAN 雙參數：Eps 看多遠、MinPts 看多少**」。Eps 太大 → 群集會黏在一起；Eps 太小 → 太多點變噪聲。MinPts 通常設為「dim + 1」起跳。記住四大演算法的核心參數別搞混：k-means (K)、DBSCAN (Eps/MinPts)、SVM (C/γ)、Random Forest (n_estimators/max_depth)。",
    "27": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PCA 特性的**錯誤**敘述 → 要找出**對 PCA 的誤解**。\n2. **正確答案 (C) 為何對**：教材 line 1239-1241 明寫 PCA 缺點「**只能捕捉線性關係**，對於非線性結構的數據效果不佳」。(C) 說 PCA「能有效捕捉**非線性**結構」**錯誤** — PCA 本質是線性正交變換，只能捕捉線性關係。\n3. **其他選項為何刪**：\n   - (A) 線性降維、正交變換投影 → 教材 line 1203-1205，PCA 標準定義，正確，刪。\n   - (B) 每個主成分代表最大變異量方向 → 教材 line 1207，PCA 核心特性，正確，刪。\n   - (D) 對離群值敏感（影響協方差矩陣）→ 教材 line 1245，PCA 真實缺點，正確，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1203-1207、1239-1245（PCA - 定義/缺點）\n\n**融會貫通**：記法「**PCA 是線性王（Linear），抓非線性要找 t-SNE/UMAP**」。PCA 用線性組合 + 正交變換 — 無法處理彎曲流形（manifold）結構。所以高維非線性結構（如人臉表情、文字嵌入）通常用 t-SNE/UMAP 視覺化。看到「PCA + 非線性」立判錯。",
    "28": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 t-SNE 的**正確**敘述 → 考點是 t-SNE 的招牌特性（非線性 + 視覺化專用）。\n2. **正確答案 (B) 為何對**：教材 line 1251-1252 明寫「t-SNE 是**非線性降維方法**，尤其專為**高維數據的視覺化**而設計」、line 1270「能很好地**保留局部結構**，適合高維數據的視覺化，用於呈現傳統線性方法難以發現的複雜非線性關係和群集結構」。(B) 三件事全對。\n3. **其他選項為何刪**：\n   - (A) 線性降維、類似 PCA → 反了，t-SNE **非線性**，刪。\n   - (C) 計算效率高、適合數百萬樣本 → 反了，教材 line 1274「計算成本高昂，不適合處理非常大的數據集（**通常限制在數萬個樣本**）」，刪。\n   - (D) 完全 deterministic、每次結果相同 → 反了，教材 line 1275「結果可能受隨機初始化和隨機過程的影響，**每次運行結果略有不同**」，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1251-1278（t-SNE - 定義/優點/缺點）\n\n**融會貫通**：記法「**t-SNE = 視覺化專用 + 慢 + 不穩定**」。t-SNE 用 t 分佈解決「擁擠問題」，能畫出漂亮的群集圖 — 但**只適合視覺化**（不能拿轉換後的特徵餵下游模型，因為非線性映射無法應用到新資料）。要視覺化用 t-SNE/UMAP，要降維後再建模用 PCA。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Apriori 的**核心性質** → 考點是「Apriori 性質」這個招牌定理。\n2. **正確答案 (A) 為何對**：教材 line 1330-1334 明寫「Apriori 性質：如果一個項集是**頻繁的**，那麼它的所有**非空子集也一定是頻繁的**。反之，如果一個項集**不頻繁**，那麼包含它的**任何超集也一定不頻繁**」。這個性質大幅減少搜尋空間（不頻繁項集的所有超集都可剪枝掉）。\n3. **其他選項為何刪**：\n   - (B) 必須掃描 N 次（N = 項目總數）→ Apriori 確實多次掃描，但**不是「項目總數次」**，是「直到沒有新的頻繁項集生成」，描述不精確，刪。\n   - (C) 不能用於關聯規則挖掘 → 反了，Apriori **就是**經典的關聯規則挖掘演算法，刪。\n   - (D) 構建 FP 樹遞歸挖掘 → 那是 **FP-Growth** 的做法（教材 line 1375-1380 + 1391-1401），不是 Apriori 的核心性質，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1330-1334、1375-1380（Apriori 演算法 - 原理/FP-Growth 對照）\n\n**融會貫通**：記法「**Apriori 性質：不頻繁的爸爸生不出頻繁的兒子（超集）**」。這個性質讓 Apriori 能大量剪枝。但 Apriori 仍需多次掃描資料集，效率不如 **FP-Growth**（只需兩次掃描 + 不生成候選集）。注意 Apriori 跟 FP-Growth 的對照常考。",
    "30": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Isolation Forest 異常偵測的**核心思想** → 考點是「**路徑長度 vs 異常分數**」這個招牌關係。\n2. **正確答案 (A) 為何對**：教材 line 1427-1428 明寫「核心思想基於一個直觀的觀察：**異常點通常是少數的**，並且與正常點在特徵空間中**相距較遠**。因此，在隨機劃分數據時，異常點**更容易被快速「孤立」**出來（即**只需要很少的分割**就能將其分開）」、line 1442「異常點因為其孤立性，通常在 iTree 中具有**較短的路徑長度**」。\n3. **其他選項為何刪**：\n   - (B) 異常點路徑**較長**、難以孤立 → 反了，異常點容易被孤立 → 路徑**短**，刪。\n   - (C) 需要計算所有點兩兩距離 → 反了，教材 line 1451「**不需要任何距離度量**」，這是 IF 的優勢，刪。\n   - (D) 只能用於低維 → 反了，教材 line 1450「**尤其適合處理高維數據和大規模數據集**」，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1427-1453（Isolation Forest - 定義/原理/優點）\n\n**融會貫通**：記法「**異常 = 少數 + 遠 → 路徑短 → 易孤立**」。Isolation Forest 反向思考 — 不是找「正常的密集區」（如 DBSCAN）或「正常的邊界」（如 One-Class SVM），而是直接找「能很快被分割出來的點」。**路徑越短 → 越異常**，跟距離方法（KNN-based outlier）有根本差異。看到「IF + 路徑長」立判錯。",
    "31": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問線性迴歸的「無多重共線性」假設**違反**後會怎樣 → 考點是**假設違反 → 係數估計失真**。\n2. **正確答案 (B) 為何對**：教材 line 78-79 列出假設「無多重共線性（No Multicollinearity）：自變數之間不應高度相關，以免影響係數估計的穩定性」；line 102-103 進一步指明「當自變數間高度相關時，會造成迴歸係數不穩定，影響解釋力」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) R² 必為負值 → 多重共線性不直接決定 R² 正負，多重共線性主要傷的是**係數穩定性**而非擬合度，刪。\n   - (C) 必然欠擬合 → 反了，多重共線性常造成**過擬合**（係數過大過敏感），且「欠擬合 → 預測恆等於平均」是 R² 為負時的描述，與此題無關，刪。\n   - (D) 無關 → 教材明列此項為線性迴歸五大假設之一，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 78-79、102-103（線性迴歸 - 模型假設 / 使用限制）\n\n**融會貫通**：記法「**多重共線性 → 係數抖**」。處方：Ridge（L2 正則化）特別適合多重共線性嚴重的情況（chunks line 122-123）。考點常考「違反假設會怎樣」+「怎麼處理」。",
    "32": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 L1（Lasso）vs L2（Ridge）的**對比** → 考點是兩種正則化的**核心差異**。\n2. **正確答案 (B) 為何對**：教材 line 113-117「Lasso 在損失函數中加入 L1 正則化項（權重絕對值和），不僅限制係數大小，還能將部分係數直接縮減為零，達到特徵選擇的效果」；line 121-123「Ridge 在損失函數中加入 L2 正則化項（權重平方和），防止模型產生過大的係數，特別適合多重共線性嚴重的情況」。兩者本質差異 = **絕對值和 vs 平方和** + **稀疏特徵選擇 vs 平滑收縮**。\n3. **其他選項為何刪**：\n   - (A) 完全等價 → 兩者損失函數形式與效果都不同，刪。\n   - (C) L2 才有特徵選擇 → 反了，特徵選擇是 **L1 (Lasso)** 的招牌，刪。\n   - (D) 均無法處理多重共線性 → 反了，**Ridge 正是處理多重共線性的首選**，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 113-130（Lasso 迴歸與嶺迴歸 - 定義 / 模型公式）\n\n**融會貫通**：記法「**L1 = Lasso = 稀疏 = 特徵選擇**；**L2 = Ridge = 平滑 = 多重共線性救星**」。若想兩者兼顧，業界有 Elastic Net（L1 + L2 混合），但 L23202 chunks 未提，本科目不考。",
    "33": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 R²（決定係數）**為負值**代表什麼 → 考點是 R² 的**幾何意義基準線**。\n2. **正確答案 (B) 為何對**：R² 的定義 = 1 - (SS_res / SS_tot)。當模型預測比「直接用目標變數平均值預測」還差時，SS_res > SS_tot，R² 算出來 < 0，表示模型已**失去解釋力**（連最簡單的平均值預測都不如）。\n3. **其他選項為何刪**：\n   - (A) 擬合非常好 → R² 越接近 1 才表示擬合好，負值剛好相反，刪。\n   - (C) 不可能為負 → 在 sklearn 等實作中 R² 在訓練集理論值 ∈ [0,1]，但**測試集 / 交叉驗證下**確實可能為負，並非計算錯誤，刪。\n   - (D) 資料完全沒變異 → 若 SS_tot = 0，R² 公式分母為 0 不可計算，與「負值」是不同情境，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 52-54、162（線性迴歸 / Ridge & Lasso - 評估指標 R²）\n\n**融會貫通**：記法「**R² < 0 = 模型比平均值還爛**」。考點常出現的陷阱：認為 R² 必 ∈ [0,1]，這在訓練集成立，但測試集可破。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Bagging 的「Bootstrap 採樣」**機制核心** → 考點是 **有放回 + 多子樣本 + 聚合**。\n2. **正確答案 (B) 為何對**：教材 line 363「隨機森林... 每棵樹都在不同的隨機子樣本（Bootstrap Sample）上訓練，且在每次分裂節點時，只隨機選取部分特徵進行考慮。最終預測結果是所有樹的預測值平均值」+ line 934「Bagging（Bootstrap Aggregating）」。Bootstrap 採樣的本質就是**有放回隨機抽樣**，每棵獨立樹「並行」訓練，最後聚合。\n3. **其他選項為何刪**：\n   - (A) 無放回 → 反了，Bootstrap 的定義就是**有放回**，刪。\n   - (C) 必須用全部樣本 → 那就不是 Bagging 了，刪。\n   - (D) 與隨機森林無關 → 反了，隨機森林正是 Bagging 的代表演算法，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 363、934（隨機森林迴歸 / Bagging 集成）\n\n**融會貫通**：記法「**Bagging = Bootstrap + Aggregating = 有放回採樣 + 並行 + 平均/投票**」。隨機森林在 Bagging 之上加了**特徵隨機選擇**，這是它與單純 Bagging 的差別。",
    "35": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 SVM 的 C 參數（教材稱「正則化參數」）**調整意義** → 考點是 C 大小 vs **誤差容忍程度**。\n2. **正確答案 (B) 為何對**：教材 line 660-665 區段討論 SVM 軟邊距與懲罰參數 C；C 越大代表對誤分類的**懲罰越強**，模型傾向把訓練集每個點都分對 → 硬邊距 → 易**過擬合**；C 越小代表容忍誤差 → 軟邊距 → 模型較寬鬆。\n3. **其他選項為何刪**：\n   - (A) 完全不影響 → 反了，C 是 SVM **最重要超參數之一**，刪。\n   - (C) 反向描述 → C 大 = 嚴格 = 過擬合，不是欠擬合，刪。\n   - (D) 只影響核函數選擇 → C 與核函數獨立，C 影響**邊距硬軟程度**，核函數參數（如 γ）是另一回事，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 592-696（支援向量機 - 模型原理 / 模型假設）\n\n**融會貫通**：記法「**C 大 = 硬邊距 = 不容錯 = 易過擬合**；**C 小 = 軟邊距 = 容錯多 = 模型穩健**」。實務上通常用 GridSearchCV 或 RandomSearch 搜尋 C 與核函數參數的最佳組合。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 KNN 使用的**距離度量** → 考點是教材列舉的**多種距離可選**。\n2. **正確答案 (B) 為何對**：教材 line 759「計算新資料點與訓練集中所有資料點之間的距離（例如**歐幾里得距離、曼哈頓距離等**）」。明確列出至少兩種距離選項。\n3. **其他選項為何刪**：\n   - (A) 只能用歐幾里得 → 反了，曼哈頓距離也可用，且實務中 Minkowski 距離（含歐幾里得、曼哈頓為特例）也常見，刪。\n   - (C) 與預測結果無關 → 反了，KNN 整個預測流程都依賴距離計算，刪。\n   - (D) 必須 Lp（p≥3）→ 完全是腦補，教材沒這要求，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 759（K 最近鄰分類 - 模型原理）\n\n**融會貫通**：記法「**KNN 距離可選**：歐幾里得（L2）、曼哈頓（L1）等」。實務上文本資料常用**餘弦相似度**，但教材未把它列入 KNN 距離選項，故 num 37 的 SVM 核函數列表才會把「餘弦」當作 trap。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 KNN 的 **K 值選擇** 對模型的影響 → 考點是 **K 太小過擬合 vs K 太大欠擬合**。\n2. **正確答案 (B) 為何對**：教材 line 813-815「K 值的選擇對模型效能影響很大，**太小容易受雜訊影響**（過擬合），**太大則可能模糊類別邊界**（欠擬合）。通常需要透過**交叉驗證**來選擇最佳 K 值」。(B) 完整覆蓋。\n3. **其他選項為何刪**：\n   - (A) K 越大越好無上限 → 反了，K 太大會欠擬合，刪。\n   - (C) K=1 才最佳 → 反了，K=1 容易過擬合（被一個雜訊點主導），刪。\n   - (D) K 與效能無關 → 反了，K 是 KNN 最關鍵超參數，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 813-815（K 最近鄰分類 - 使用限制）\n\n**融會貫通**：記法「**K 小 = 過擬合（雜訊敏感）**；**K 大 = 欠擬合（邊界模糊）**」。K 的選擇通常用**交叉驗證**找最佳值，與 SVM 的 C 參數、決策樹 max_depth 是同類問題。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 KNN 為何屬「**惰性學習（Lazy Learning）**」→ 考點是 KNN **無顯式訓練 / 預測時算所有距離** 的特質。\n2. **正確答案 (B) 為何對**：教材 line 750「K 最近鄰分類（KNN）是一種**非參數、惰性學習**的分類演算法」+ line 794-796「無需訓練階段（惰性學習）：模型訓練速度快、因為訓練階段基本上**只是儲存資料**。**所有計算發生在預測階段**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 必須長時間訓練 → 反了，KNN 訓練階段幾乎不耗時，刪。\n   - (C) 訓練完無法加入新資料 → 反了，新資料直接加入訓練集即可，刪。\n   - (D) 只能在 GPU 運算 → KNN 是 CPU 演算法，且大資料下確實慢，但 GPU 不是必要條件，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 750、794-796（K 最近鄰分類 - 定義 / 適用情境）\n\n**融會貫通**：記法「**KNN = 懶人 = 預測才算**」。相反詞 = **Eager Learning（積極學習）**，如 SVM、決策樹、神經網路，訓練階段就把模型參數建好。KNN 的「慢」發生在**預測階段**，這也是它在大資料下的缺點。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問貝氏定理 P(C|X) = P(X|C)·P(C) / P(X) 各機率項的**意義** → 考點是 **後驗、先驗、邊緣機率** 的角色。\n2. **正確答案 (B) 為何對**：教材 line 853-859 列出：\n   - P(C|X)：**後驗機率（Posterior Probability）**，模型欲預測的目標\n   - P(X|C)：**似然（Likelihood）**（在類別 C 下觀察到特徵 X 的機率）\n   - P(C)：**先驗機率（Prior Probability）**\n   - P(X)：**證據（Evidence）/ 邊緣機率**\n   (B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) P(C|X) 是先驗 → 反了，它是**後驗**，刪。\n   - (C) P(X) 是後驗 → 反了，P(X) 是邊緣機率，刪。\n   - (D) 四項等價 → 完全錯，四項代表不同機率，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 845-859（樸素貝式分類 - 模型原理）\n\n**融會貫通**：記法「**P(C|X) = 後驗 = 想預測**；**P(C) = 先驗 = 類別比例**；**P(X) = 邊緣 = 觀察到 X 的機率**」。實務計算時 P(X) 對所有類別 C 都相同（常數），所以**只比較 P(X|C)·P(C) 的大小**即可選出最可能的類別。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問樸素貝式的**零機率問題（Zero Probability）**及其解法 → 考點是 **平滑技術 / 拉普拉斯平滑**。\n2. **正確答案 (B) 為何對**：教材 line 908-910「『零機率』問題：如果訓練集中某個類別的某個特徵值從未出現過，那麼其條件機率將為零，**導致整個後驗機率為零**，即使該樣本在測試時出現。這通常透過**拉普拉斯平滑（Laplace Smoothing）**或其他平滑技術來解決」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 零機率不存在 → 反了，這是 Naive Bayes 的著名問題，刪。\n   - (C) 必須捨棄該樣本 → 不需要，平滑技術可處理，刪。\n   - (D) 學習率衰減 → 那是**梯度下降**領域的技術（神經網路、邏輯迴歸），與 Naive Bayes 無關，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 908-910（樸素貝式分類 - 使用限制 / 零機率問題）\n\n**融會貫通**：記法「**零機率 = 連乘變零 → 拉普拉斯平滑救援**」。拉普拉斯平滑的本質 = 給所有計數加一個小常數 α（通常 α=1），確保條件機率 > 0。常出現在文本分類（某個詞在某類別下從未出現過 → 平滑後仍可有非零機率）。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問樸素貝式分類的**最佳適用情境** → 考點是教材明確列舉的「**文本分類**」場景。\n2. **正確答案 (B) 為何對**：教材 line 841「Naïve Bayes 在許多應用，特別是**文本分類、垃圾郵件過濾、情感分析**等領域，仍能展現出良好的效果」+ line 884「如垃圾郵件過濾、情感分析、新聞分類等，儘管單詞之間並非完全獨立，但樸素貝式在這些任務中表現出色」。即使「特徵獨立」假設不嚴格成立，文本場景下仍有實用價值。\n3. **其他選項為何刪**：\n   - (A) 連續型迴歸 → Naive Bayes 是**分類**演算法，不直接做連續預測（line 918），刪。\n   - (C) 必須極大資料量 → 反了，Naive Bayes 在**小資料**下也能運作，且計算高效，刪。\n   - (D) 影像 CNN 特徵 → 影像辨識主流是卷積神經網路（CNN），不是 Naive Bayes，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 841、884（樸素貝式分類 - 模型假設 / 適用情境）\n\n**融會貫通**：記法「**Naive Bayes 招牌應用 = 文本分類（垃圾郵件 / 情感 / 新聞）**」。原因：文本特徵（詞袋）天然高維稀疏，且「條件獨立」雖不嚴格成立，實務效果仍佳；計算快、易實作，是 NLP 基線模型。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PCA 的**執行流程**順序 → 考點是 **協方差矩陣 → 特徵值分解 → 選 K 大特徵向量 → 投影**。\n2. **正確答案 (B) 為何對**：教材 line 1215-1225 列出 PCA 流程：「**協方差矩陣計算** → 對協方差矩陣進行**特徵值分解**，得到一組特徵值和對應的特徵向量 → 選擇前 K 個最大特徵值對應的特徵向量作為主成分 → 將原資料投影到主成分空間」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) sigmoid 變換 → 那是邏輯迴歸、神經網路用的，與 PCA 無關，刪。\n   - (C) 樹狀圖切分 → 那是**階層式分群**的方法，不是 PCA，刪。\n   - (D) 先做 k-means → 兩者獨立，PCA 不需要先分群，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1213-1225（PCA - 模型原理）\n\n**融會貫通**：記法「**PCA 三步：協方差 → 特徵值分解 → 選 K 大**」。實務小撇步：通常透過「累積解釋變異比（cumulative explained variance ratio）」決定 K（如保留 95% 變異）。PCA 對**離群值敏感**（line 1245），因為協方差矩陣會被異常值放大。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 **One-Class SVM** 異常偵測的**核心方法** → 考點是 **邊界學習 / 核函數映射 + 緊湊邊界**。\n2. **正確答案 (B) 為何對**：教材 line 1463-1481「One-Class SVM ... 只學習一個類別（通常是正常數據）的模式，並構建一個能將大多數正常樣本包圍起來的決策邊界 ... 利用核函數（如 RBF 核），將所有的訓練數據非線性地映射到一個高維特徵空間 ... 找到一個能夠將所有正常數據點與**原點**最大程度分離的超平面」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 兩兩距離排序 → 不是 One-Class SVM 的方法，較像 K-NN 異常偵測，刪。\n   - (C) 必須有正常與異常標籤 → 反了，One-Class SVM 的優勢就是**只需正常資料**訓練（line 1493「只需要正常數據進行訓練」），刪。\n   - (D) 只能低維 → 反了，教材 line 1492「對於高維數據表現良好」，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1463-1499（One-Class SVM - 定義 / 原理 / 優點）\n\n**融會貫通**：對比 Isolation Forest（num 30）：\n- **Isolation Forest**：路徑短 = 異常（樹結構）\n- **One-Class SVM**：邊界外 = 異常（核函數高維空間 + 緊湊邊界）\n兩者都屬非監督異常偵測，皆**不需異常標籤**。",
    "44": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問關聯規則 A⇒B 的**三大指標** Support、Confidence、Lift **定義** → 考點是 **Lift 的公式 + 解讀**。\n2. **正確答案 (C) 為何對**：教材 line 1359-1366「**提升度（Lift）：Lift(A⇒B) = Confidence(A⇒B) / P(B)**。若 **Lift > 1 表示 A 和 B 正相關**；若 **Lift < 1 表示負相關**；若 Lift = 1 表示獨立」。(C) 完整對應。\n3. **其他選項為何刪**：\n   - (A) Support 定義錯 → Support = P(A∩B)（**A 與 B 同時出現的頻率**），不是條件機率，刪。\n   - (B) Confidence 定義錯 → Confidence = P(B|A)（**在包含 A 的交易中也含 B 的條件機率**），(B) 把它寫成「A 與 B 同時頻率」剛好是 Support，刪。\n   - (D) 三指標等價 → 完全錯，三項衡量不同維度，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1345-1366（Apriori 演算法 - 支持度 / 信賴度 / 提升度）\n\n**融會貫通**：記法表：\n- **Support = P(A∩B)** → 規則的**普遍性**\n- **Confidence = P(B|A)** → 規則的**可靠度**\n- **Lift = Confidence / P(B)** → 規則的**有效性**（A 是否真的「提升」B 出現的機率）\n\n陷阱：高 Confidence 不一定有用。例如 B 本身發生率 99%，即使 Confidence = 0.99，Lift = 1.0，A 對 B 無提升力。",
    "45": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 **FP-Growth 相對於 Apriori** 的**優勢** → 考點是 **FP 樹 + 無候選集 + 兩次掃描**。\n2. **正確答案 (B) 為何對**：教材 line 1379「FP-Growth 是比 Apriori 更高效的關聯規則挖掘演算法。主要優勢在於**無需生成大量的候選集**，而是透過構建一個稱為 **FP 樹（Frequent Pattern Tree）**的緊湊資料結構來挖掘頻繁項目集」+ line 1409-1411「不需要生成候選集，減少了不必要的計算和記憶體消耗。**只需兩次掃描資料集**即可完成頻繁項目集的挖掘」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 必須掃描 N 次 → 反了，**Apriori 才需要多次掃描**（line 1373），FP-Growth 只需 2 次，刪。\n   - (C) 不能用於關聯規則挖掘 → 反了，FP-Growth 正是關聯規則挖掘演算法，刪。\n   - (D) 兩者效率完全相同 → 反了，FP-Growth 顯著更高效，刪。\n\n**📖 章節來源**：chunks/L23202.txt line 1373-1411（Apriori 使用限制 / FP-Growth - 定義 / 優點）\n\n**融會貫通**：對比記法表：\n- **Apriori**：迭代生成候選集、**多次掃描資料**、Apriori 性質剪枝、計算成本高\n- **FP-Growth**：建 **FP 樹**緊湊結構、**只兩次掃描**、無需候選集、效率高\n\n實務上大資料下首選 FP-Growth（Spark MLlib 也是用 FP-Growth）；小資料、教學用 Apriori 即可。"
  },
  "mock_L23203": {
    "1": "**答案**：(B)\n\n**解題思路**:\n1. **關鍵線索**：題目問深度學習 vs 傳統機器學習的「關鍵差異」→ 考點是深度學習的招牌特性「自動學習高階抽象特徵」。\n2. **正確答案 (B) 為何對**：教材明寫「相較於傳統機器學習依賴手工特徵工程，深度學習透過多層神經網路結構，能自動學習數據中的高階抽象特徵」(line 9)。(B) 完全對應教材原句，是 DL 相對 ML 的核心區別。\n3. **其他選項為何刪**：\n   - (A) 「DL 依賴大量人工特徵工程」→ 這是傳統 ML 的特性，被誤安到 DL 身上，屬 swap 干擾，刪。\n   - (C) 「DL 只能處理結構化資料」→ DL 在影像、語音、NLP 全領域大放異彩(line 9-11)，敘述明顯錯誤，刪。\n   - (D) 「DL 不需任何運算資源」→ 教材明寫 DL「龐大的運算需求」(line 11) 是其實務挑戰之一，違反常識也違反教材，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 9-11(前言與章節導覽)\n\n**融會貫通**：記法「**特徵工程：ML 靠手工、DL 自動學**」。這題是典型「DL vs ML 概念屬性互換」干擾 — (A) 把人工特徵工程錯安到 DL，是最常見陷阱。看到「DL+人工特徵工程」這種組合就要警覺。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「加權求和」階段除了 Σwᵢxᵢ 之外還會加什麼 → 考點是人工神經元的數學公式組成。\n2. **正確答案 (B) 為何對**：教材給出公式 `Z = w₁x₁ + w₂x₂ + ... + wₙxₙ + b = Σwᵢxᵢ + b`(line 48-50)，並明寫「還會加上一個偏置項(Bias, b)，允許神經元在沒有任何輸入訊號時也能被激活，或者調整激活的閾值」(line 44)。偏置項 b 是加權求和不可或缺的一部分。\n3. **其他選項為何刪**：\n   - (A) 學習率 → 屬於「優化器」超參數，用於更新權重時控制步長，不在加權求和公式裡，刪。\n   - (C) 損失值 → 屬於「損失函數」輸出，是評估指標，跟神經元加權求和無關，刪。\n   - (D) 殘差 → 是 ResNet 的「跳躍連接」概念(Output = Input + Sublayer)，跟基本神經元加權求和無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 40-50(人工神經元與感知器概念)\n\n**融會貫通**：記公式 `Z = Σwᵢxᵢ + b`。偏置 b 的角色 = 「就算所有輸入 = 0，神經元也可能被激活」的調整旋鈕。常見陷阱會把「學習率」「殘差」「損失值」這些深度學習其他組件名詞混進加權求和公式選項中作為干擾。",
    "3": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問感知器敘述「**錯誤**」者 → 注意是找錯的；考點是感知器的「著名限制」。\n2. **正確答案 (C) 為何對**：教材明寫感知器的限制是「無法解決非線性可分的問題，例如著名的 XOR(互斥或)問題；也因此，單個感知器無法構成更複雜、功能性更強的模型」(line 110)。(C) 說感知器「能解決 XOR」，跟教材完全相反，是錯誤敘述，故選。\n3. **其他選項為何刪**：\n   - (A) Frank Rosenblatt 於 1957 年提出 → 教材原文 line 72 完全一致，敘述正確，刪。\n   - (B) 使用步階函數作為激活函數 → 教材原文 line 75「通常使用步階函數(Step Function)作為其激活函數」，正確，刪。\n   - (D) 是一種二元分類器 → 教材原文 line 74「感知器是一種二元分類器」，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 72-75、105-110(人工神經元與感知器概念)\n\n**融會貫通**：記法「**感知器 = 線性可分 OK，非線性 NG**」。XOR 問題是感知器最著名的歷史限制 — 1969 年 Minsky 出書點出這個問題，曾經讓 AI 進入第一次寒冬。看到「感知器+解 XOR」這種組合一定錯。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問激活函數的「**最根本作用**」→ 考點是激活函數存在的「最重要理由」。\n2. **正確答案 (B) 為何對**：教材原文「激活函數最根本、最重要的作用 ... 若沒有激活函數，或只使用線性激活函數，那麼無論神經網路有多少層，其最終輸出都只是輸入的線性組合 ... 透過引入非線性激活函數，神經網路才能夠學習並逼近任意複雜的非線性函數關係」(line 120-124)。引入非線性 = 教材明定的最根本作用。\n3. **其他選項為何刪**：\n   - (A) 加快訓練速度+不用梯度下降 → 激活函數不是用來取代優化器，且 DL 訓練本來就靠梯度下降，敘述錯誤，刪。\n   - (C) 提供分類結果最終標籤 → 那是輸出層+argmax 的工作，不是激活函數本職，刪。\n   - (D) 取代損失函數計算預測誤差 → 損失函數跟激活函數是不同組件、職責不同，搞混兩者，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 120-124(激活函數的角色)\n\n**融會貫通**：記法「**激活函數 = 非線性引擎**」。沒有它，再深的網路也退化成單層線性。常見干擾把激活函數的角色與「損失函數」「優化器」「輸出層」搞混 — 它們各司其職，不能彼此取代。",
    "5": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Sigmoid 與 ReLU 的「輸出特性」→ 要分別記住兩者輸出範圍/行為。\n2. **正確答案 (A) 為何對**：教材原文「Sigmoid 函數：將輸出壓縮至 0 到 1 之間，可視為激活強度或機率」(line 131-133)、「ReLU 函數：輸入為正時，直接輸出，為負時輸出 0，實現稀疏激活」(line 135-137)。(A) 完全對應兩者教材定義。\n3. **其他選項為何刪**：\n   - (B) Sigmoid [-1,1]、ReLU [0,1] → Sigmoid 是 [0,1]，[-1,1] 是 Tanh 的範圍；ReLU 也不是 [0,1] 而是 [0,∞)，雙重錯誤，刪。\n   - (C) 兩者輸出範圍相同 → Sigmoid [0,1]、ReLU [0,∞)，明顯不同，刪。\n   - (D) ReLU 輸出壓縮至 [0,1] 可視為機率 → 那是 Sigmoid 的特性，把兩者特性互換，是 swap 干擾，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 131-138(激活函數的角色)\n\n**融會貫通**：三大常見激活函數速記表 — **Sigmoid [0,1]** / **Tanh [-1,1]** / **ReLU [0,∞)，正→直傳，負→0**。考題愛把 Sigmoid 與 Tanh 範圍互換、把 ReLU 與 Sigmoid 屬性互換。記法：S 像機率 → [0,1]；T 對稱 → [-1,1]；R 像激流 → 正暢通負堵塞。",
    "6": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Forward / Backward 各「負責什麼任務」→ 兩者角色互補，常考互換干擾。\n2. **正確答案 (B) 為何對**：教材原文「前向傳播 → 做預測」(line 159)、「反向傳播 → 調整參數」(line 189)；BP 透過鏈式法則「將預測誤差從輸出端反向傳遞至網路的每一層，以便更新權重和偏置」(line 200)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) Forward 調參、BP 做預測 → 兩者角色完全互換，是 swap 干擾，刪。\n   - (C) 兩者都做預測，差別只在方向 → BP 不做預測，BP 算梯度+更新參數，刪。\n   - (D) 兩者都調整參數 → Forward 不調參，只逐層往前計算到輸出層做預測，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 155-161、188-196(前向傳播與反向傳播原理)\n\n**融會貫通**：記法「**Forward 預測（往前推）、Backward 修正（往回傳）**」。兩者構成一個訓練循環(line 230)。常見陷阱就是把兩者角色互換 — 看到「Forward 調參」「BP 做預測」這種組合一定錯。",
    "7": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問反向傳播「計算梯度時運用的核心數學原理」→ 純記憶題，BP 與哪個數學工具掛鉤。\n2. **正確答案 (A) 為何對**：教材原文「反向傳播是神經網路進行學習和參數調整的過程，運用微積分的連鎖律(Chain Rule)，將預測誤差從輸出端反向傳遞至網路的每一層」(line 200)；「這個機制，正是透過微積分中的連鎖律(Chain Rule)來實現的」(line 218)。連鎖律 = BP 的數學核心。\n3. **其他選項為何刪**：\n   - (B) 拉格朗日乘子法 → 用於有約束最佳化問題，跟 BP 梯度計算無關，刪。\n   - (C) 傅立葉轉換 → 用於訊號分析、頻域分解，跟 BP 無關，刪。\n   - (D) 牛頓二項式定理 → 純代數展開公式，跟梯度計算無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 200、218(前向傳播與反向傳播原理)\n\n**融會貫通**：記法「**BP = Chain Rule 反向走**」。連鎖律的精神是「複合函數導數 = 各層導數連乘」— 這正是為什麼梯度可以從輸出層往回逐層計算到輸入層。其他三個選項都是常見數學工具但跟 BP 無關，純干擾項。",
    "8": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「適合迴歸問題的損失函數」→ 考點是任務類型 vs 損失函數搭配。\n2. **正確答案 (C) 為何對**：教材原文「迴歸問題(預測連續值)：均方誤差(Mean Squared Error, MSE)」「平均絕對誤差(Mean Absolute Error, MAE)」(line 252-258)。MSE/MAE = 迴歸的標準損失函數。\n3. **其他選項為何刪**：\n   - (A) 二元交叉熵 → 教材歸類為「分類問題」損失函數，用於是非二元分類(line 264)，刪。\n   - (B) 類別交叉熵 → 教材歸類為「分類問題」損失函數，用於多分類(line 266)，刪。\n   - (D) Hinge Loss → 教材沒提，但業界知此為 SVM/分類用損失，不是迴歸用，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 252-267(損失函數與優化器)\n\n**融會貫通**：記法「**迴歸用 MSE/MAE、分類用 Cross-Entropy**」。常見干擾就是把分類用的損失誤套到迴歸任務上 — 看到「迴歸+交叉熵」或「分類+MSE」這種搭配就要警覺。MSE 對 outlier 敏感(平方放大誤差)、MAE 對 outlier 較魯棒(絕對值線性)。",
    "9": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問過擬合的「特徵」→ 考點是訓練/驗證集表現的差距。\n2. **正確答案 (B) 為何對**：教材原文「情況特徵：模型在訓練集上的損失很低，準確率很高；模型在驗證集(或測試集)上的損失高，準確率顯著低於訓練集」(line 290-293)。(B) 完全對應 — 「訓練好但泛化差」是過擬合招牌特徵。\n3. **其他選項為何刪**：\n   - (A) 訓練集損失高、準確率低 → 這是欠擬合(Underfitting) 的特徵，模型沒學好，刪。\n   - (C) 訓練+測試表現都差 → 同樣是欠擬合特徵；過擬合的訓練表現一定好，刪。\n   - (D) 不需驗證集就能確認過擬合 → 過擬合就是要用「訓練 vs 驗證集」落差才能診斷，否則無從判斷，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 290-293(過擬合與正則化技術)\n\n**融會貫通**：記法「**過擬合 = 訓練好、測試壞；欠擬合 = 兩個都壞**」。診斷過擬合一定要有 train/val 兩個指標對照才看得出來 — 這是為什麼資料一定要切 train/validation/test。看到「不需驗證集就能確認過擬合」這種說法直接刪。",
    "10": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 L1(Lasso) 與 L2(Ridge) 的差異 → 兩者最常被互換考。\n2. **正確答案 (B) 為何對**：教材原文「L1 正則化：在損失函數中加入『權重的絕對值總和』，促使部分權重縮小為零，達到特徵選擇的效果」(line 301-303)、「L2 正則化：加『權重平方和』，防止權重過大，讓模型更平滑、穩定」(line 305-307)。(B) 完全對應教材。\n3. **其他選項為何刪**：\n   - (A) L1 平方和+平滑、L2 絕對值+壓零 → 把 L1 與 L2 特性完全互換，是經典 swap 干擾，刪。\n   - (C) L1 與 L2 完全相同 → 兩者數學形式與效果都不同，刪。\n   - (D) 兩者只能用於迴歸，無法應用於神經網路 → 教材正則化技術專章就是在講神經網路怎麼用 L1/L2(line 295-308)，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 301-308(過擬合與正則化技術)\n\n**融會貫通**：記法「**L1 絕對值壓零做特徵選擇 / L2 平方和限大小求平滑**」。L1 像「特徵砍刀」— 不重要的權重直接歸零；L2 像「平滑器」— 大權重被拉小但不歸零。最常見干擾就是 (A) 那種特性互換，記住 1 → 絕對值(一次方)、2 → 平方就不會錯。",
    "11": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Dropout 的「敘述」→ 考點是 Dropout 與其他正則化技術的差異。\n2. **正確答案 (A) 為何對**：教材原文「Dropout：在訓練過程中隨機屏蔽部分神經元，避免神經元彼此過度依賴，降低過擬合風險」(line 313-315)。(A) 完全對應教材定義。\n3. **其他選項為何刪**：\n   - (B) 在損失函數中加入權重平方和 → 那是 L2 正則化的做法(line 305-307)，刪。\n   - (C) 驗證集損失不再下降時提前停止 → 那是 Early Stopping 的做法(line 317-319)，刪。\n   - (D) 將輸出壓縮到 [0,1] → 那是 Sigmoid 激活函數的作用(line 131-133)，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 313-319(過擬合與正則化技術)\n\n**融會貫通**：四大正則化技術對照表 — **L1 絕對值壓零** / **L2 平方和限大** / **Dropout 隨機關神經元** / **Early Stopping 提前剎車**。Dropout 直觀類比：每次訓練都「隨機 fire 一些員工」，避免某員工過度依賴隊友。考題常把四者特徵互換 — 認清各自關鍵詞就不會錯。",
    "12": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 MLP 結構特性「**錯誤**」者 → 考點是 MLP 跟 CNN/RNN 的本質區別。\n2. **正確答案 (D) 為何對**：教材原文「MLP 假設輸入特徵是獨立的，會將輸入數據(如圖片的像素點、文本的單詞)『攤平』成一維向量處理，因此會丟失重要的空間(像素間的相對位置)或序列(單詞的順序)資訊」(line 403-405)。(D) 說 MLP 「對順序/空間關係敏感、可保留像素或詞序資訊」，與教材完全相反 — MLP 會丟失這些資訊，故為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 屬於前饋神經網路的典型代表 → 教材原文 line 331「被視為前饋神經網路的典型代表」，正確，刪。\n   - (B) 層與層之間全連接 → 教材原文 line 333「層與層之間是全連接」，正確，刪。\n   - (C) 資訊只能單向從輸入層流向輸出層 → 教材原文 line 333「資訊只能單向從輸入層流向輸出層，中間沒有任何迴圈或反饋」，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 331-333、403-405(多層感知器 MLP)\n\n**融會貫通**：記法「**MLP 攤平丟結構，CNN 保空間、RNN 保序列**」。MLP 把輸入當作一維獨立特徵 → 無法處理影像/文本順序，這正是 CNN(用卷積保留空間)、RNN(用循環保留時序)誕生的動機。看到「MLP+保留空間/順序」就要警覺。",
    "13": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問輸出層「任務類型 vs 激活函數搭配」**錯誤**者 → 純對照記憶題。\n2. **正確答案 (D) 為何對**：教材原文「迴歸問題：通常使用 1 個或多個神經元(取決於預測值的維度)，通常不使用激活函數(或使用線性激活函數)」(line 367-369)。(D) 說「迴歸必須使用 Softmax」，與教材完全相反 — Softmax 是多分類用的，迴歸不用 Softmax，故為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 二元分類 = 1 神經元 + Sigmoid → 教材原文 line 359-361 完全一致，刪。\n   - (B) 多類別分類 = 神經元數 = 類別數 + Softmax → 教材原文 line 363-365 完全一致，刪。\n   - (C) 迴歸 = 1 或多神經元 + 不用或線性激活 → 教材原文 line 367-369 完全一致，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 358-369(多層感知器 MLP)\n\n**融會貫通**：輸出層搭配速記表 — **二元 → 1+Sigmoid** / **多類別 → N+Softmax** / **迴歸 → 1或多+線性/無**。Softmax 的作用是「把 N 個數字轉成總和為 1 的機率分佈」— 只有多分類需要。迴歸要的是一個連續實數，硬套 Softmax 會把輸出限制在 [0,1] 區間內、且總和為 1，完全違反迴歸需求。",
    "14": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 CNN 卷積層特性「**錯誤**」者 → 考點是 CNN 跟 MLP 的核心差異。\n2. **正確答案 (D) 為何對**：教材原文「權重共享(Weight Sharing)：同一個卷積核在輸入數據的不同位置上是共享權重的，減少了模型的參數數量」(line 456-458)；卷積層採「局部連接+權重共享」(line 504-506)。(D) 說卷積層是「全連接結構」，與卷積層的「局部連接」核心特性完全相反 — 全連接是 MLP/Dense Layer 的特性，故為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 卷積核滑動，每次只看小區域 → 教材原文 line 450「在輸入數據上進行滑動(卷積運算)，每次只關注輸入的一個小區域」，正確，刪。\n   - (B) 權重共享、辨識位置不變特徵 → 教材原文 line 456-459，正確，刪。\n   - (C) 每個卷積核產生一個特徵映射 → 教材原文 line 452-454，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 445-459(卷積神經網路 CNN)\n\n**融會貫通**：記法「**CNN 局部連接+權重共享，MLP 全連接**」。卷積層的「局部連接」反映了影像「鄰近像素相關性強」的特性；「權重共享」讓同一個 filter 在影像各處都能偵測同一種特徵 — 兩者大幅減少參數量並提供平移不變性。看到「卷積層+全連接」這種組合一定錯，是把 CNN 跟 Dense Layer 搞混。",
    "15": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問池化層敘述「**正確**」者 → 考點是 Max Pooling vs Average Pooling 的差異。\n2. **正確答案 (B) 為何對**：教材原文「最大池化(Max Pooling)：從核掃過區域中提取最大值。這被認為可以捕捉區域內最顯著的特徵」(line 473)。(B) 完全對應教材原句。\n3. **其他選項為何刪**：\n   - (A) 增加特徵映射尺寸 → 教材 line 468「目的是縮減特徵映射的尺寸(降採樣)」，是縮減不是增加，刪。\n   - (C) 大幅增加模型參數量 → 池化層**沒有可學習參數**，反而降低後續計算量，刪。\n   - (D) 平均池化選取最大值 → 平均池化是「計算區域內所有值的平均值」(line 474)；最大值是 Max Pooling，把兩者互換是 swap 干擾，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 466-474(卷積神經網路 CNN)\n\n**融會貫通**：記法「**Max = 最顯著特徵、Avg = 平滑均值**」。池化的三大作用：縮減尺寸(降採樣)、減少計算量、增加平移不變性 — 全都不增加參數。常見干擾把 Max/Avg 對調，或誤把池化說成「增加參數/尺寸」。記名稱本意就不會錯。",
    "16": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 CNN 衍伸模型與其核心技術「對應錯誤」者 → 經典模型與其招牌技術的記憶題。\n2. **正確答案 (D) 為何對**：教材原文「ResNet：透過引入『殘差連接』(或跳躍連接)，解決了訓練極深層網路時的梯度消失和模型退化問題」(line 568-570)。(D) 說「ResNet 透過 Inception 模塊解梯度消失」— Inception 模塊是 GoogLeNet 的招牌(line 564-566)，而 ResNet 是用殘差連接，兩者技術完全錯置，故為錯誤對應。\n3. **其他選項為何刪**：\n   - (A) AlexNet 用 ReLU+Dropout+GPU → 教材原文 line 556-558，正確，刪。\n   - (B) VGG 用 3×3 小卷積核堆疊 → 教材原文 line 560-562，正確，刪。\n   - (C) GoogLeNet 引入 Inception 模塊+並行不同大小卷積 → 教材原文 line 564-566，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 556-574(卷積神經網路 CNN 衍伸模型)\n\n**融會貫通**：CNN 經典模型速記表 — **AlexNet(2012) ReLU+Dropout+GPU 開啟現代 CNN** / **VGG 多個 3×3 堆疊** / **GoogLeNet Inception 多尺度並行** / **ResNet 殘差連接解梯度消失** / **DenseNet 全層密集連接**。最常見干擾就是把 ResNet 跟 GoogLeNet 的招牌技術互換 — 記名字本身：Res = Residual、Goog = Google 的 Inception。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 RNN 核心特點「**正確**」者 → 考點是 RNN 與其他前饋網路的根本區別。\n2. **正確答案 (B) 為何對**：教材原文「RNN 具有內部『記憶』機制 ... RNN 的核心特點是神經元之間存在循環連接(Recurrent Connections)，允許資訊在網路內部持續流動，使得當前時間步的輸出不僅依賴於當前輸入，還依賴於過去時間步的計算結果(即『記憶』)」(line 586-588)。(B) 完全對應教材。\n3. **其他選項為何刪**：\n   - (A) 神經元之間不存在任何連接，與 MLP 相同 → 完全反例；RNN 的招牌就是有循環連接，刪。\n   - (C) 不能處理可變長度序列 → 教材原文 line 648-650「能夠處理不同長度的輸入序列」，刪。\n   - (D) 跨時間步不共享權重 → 教材原文 line 620-623「跨時間步共享權重」，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 584-588、620-623(遞迴神經網路 RNN)\n\n**融會貫通**：RNN 四大特徵「**記憶+循環連接+權重共享+可變長度**」。RNN 把序列「展開」後可視為深層前饋網路，每層共享同一套權重 — 這是它能處理任意長度序列的關鍵。常見干擾把這四個特性逐一反向敘述當錯選項，記核心「循環連接+記憶」就抓得到正確答案。",
    "18": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 RNN 處理「很長序列」時反向傳播的「長期依賴問題」→ 考點是 BPTT 過程中遇到的兩大問題。\n2. **正確答案 (B) 為何對**：教材原文「長期依賴問題：梯度消失(Vanishing Gradient Problem)：在處理很長的序列時，梯度在反向傳播過程中會呈指數級衰減 ... 梯度爆炸(Exploding Gradient Problem)：相反地，梯度也可能呈指數級增長」(line 654-663)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 過擬合與欠擬合 → 那是模型泛化問題，跟 RNN 長序列無關，刪。\n   - (C) 特徵縮放錯誤 → 那是資料前處理問題，跟 BPTT 無關，刪。\n   - (D) 池化層尺寸過大 → 那是 CNN 的池化操作問題，RNN 沒有池化層，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 654-663(遞迴神經網路 RNN)\n\n**融會貫通**：記法「**長序列 → 梯度消失/爆炸 → LSTM/GRU 用門控機制救場**」。RNN 在 BPTT 時，梯度沿時間軸連乘許多次激活函數導數 — 若導數小於 1 連乘就衰減成 0(消失)，若大於 1 連乘就爆炸成 ∞。這正是 LSTM/GRU 引入「門控機制」+「細胞狀態」的設計動機。",
    "19": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 LSTM 「門控機制」敘述**正確**者 → 純對應記憶題：LSTM 的三大門 + 細胞狀態。\n2. **正確答案 (B) 為何對**：教材原文「LSTM：引入了『門控機制』(包含輸入門 Input Gate、遺忘門 Forget Gate、輸出門 Output Gate)，以及一個獨立的細胞狀態(Cell State) ... 這些門控單元能夠選擇性地允許資訊流入、保留在細胞狀態中、或從細胞狀態中移除」(line 692-695)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 只有一個門：輸出門 → LSTM 有三個門，敘述明顯錯誤，刪。\n   - (C) 完全摒棄循環結構，改用注意力機制 → 那是 Transformer 的特性(line 717)；LSTM 仍是循環結構的衍伸，刪。\n   - (D) 記憶能力比標準 RNN 差，無法解決梯度消失 → 教材原文 line 695「有效地解決了梯度消失問題，使其能更好地捕捉和記憶長期依賴關係」，敘述完全相反，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 692-695(RNN 衍伸模型)\n\n**融會貫通**：LSTM 三大門記法「**I.F.O.+Cell**」— Input Gate(進)、Forget Gate(忘)、Output Gate(出) + Cell State(記憶傳輸帶)。三門協作就是在問「這資訊要進來嗎？舊的要忘掉嗎？要輸出多少？」記三個門名稱就抓得到。注意 LSTM 仍是 RNN 家族(循環結構)，不是 Transformer。",
    "20": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 GRU 相對於 LSTM 的「差異」→ 考點是 GRU 的雙門結構 vs LSTM 的三門結構。\n2. **正確答案 (B) 為何對**：教材原文「GRU 是 LSTM 的簡化版本，旨在提供類似的長期記憶能力，同時減少計算複雜度和參數數量 ... 只包含兩個門(更新門 Update Gate 和重置門 Reset Gate)，結構更為緊湊」(line 697-700)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) GRU 比 LSTM 多三個門，參數更多 → 與教材完全相反，GRU 是簡化版，門更少，刪。\n   - (C) 完全沒有門控機制 → GRU 有兩個門，敘述錯誤，刪。\n   - (D) 是 CNN 的衍生模型 → GRU 是 RNN 家族，跟 CNN 無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 697-700(RNN 衍伸模型)\n\n**融會貫通**：對照表 — **LSTM 三門(Input/Forget/Output) + Cell State** vs **GRU 兩門(Update/Reset)，無獨立 Cell State**。GRU = LSTM 的精簡版：合併部分門邏輯、去掉 Cell State，性能相當但參數較少 → 訓練更快、適合資源有限場景。看到「GRU+三門」「GRU+CNN」這種組合一定錯。",
    "21": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Transformer「最核心的創新」→ 考點是 Transformer 跟 RNN/CNN 的根本區別。\n2. **正確答案 (B) 為何對**：教材原文「Transformer 是一種完全基於注意力機制(Attention Mechanism)的深度學習模型架構。捨棄了傳統 RNN 的循環結構和 CNN 的卷積結構來處理序列數據」(line 715-717)；「其核心在於能夠並行化處理序列，並透過自注意力機制捕捉輸入序列中任意位置之間的長距離依賴關係」(line 719)。(B) 完全對應 Transformer 原始論文標題「Attention Is All You Need」。\n3. **其他選項為何刪**：\n   - (A) 卷積層+池化層 → 那是 CNN 的核心，Transformer 捨棄卷積結構，刪。\n   - (C) 強化學習中的策略梯度 → 跟 Transformer 架構無關，刪。\n   - (D) 階層式分群 → 非監督式學習方法，跟 Transformer 無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 715-719(Transformer 架構)\n\n**融會貫通**：記法「**Transformer = Attention Is All You Need**」(2017 Google 論文標題)。Transformer 三大特性「完全 Attention + 並行化 + 解長距離依賴」徹底取代 RNN — 因為 RNN 的循環結構強制串行計算、且長序列梯度消失；Transformer 直接用 self-attention 建立任意位置間關係，又能並行。",
    "22": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Self-Attention 「映射到三個向量空間」→ 經典 Q/K/V 三大向量考點。\n2. **正確答案 (B) 為何對**：教材原文「自注意力機制將輸入序列中的每個元素(例如詞向量)通過三個不同的線性變換，映射到三個不同的向量空間，分別產生：查詢向量(Query, Q)：代表『我在找什麼？』；鍵向量(Key, K)：代表『我能提供什麼？』；值向量(Value, V)：代表『如果我被關注了，我會提供什麼資訊？』」(line 815-819)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) Loss/Gradient/Weight → 這是訓練過程中的三個量，跟 Self-Attention 內部結構無關，刪。\n   - (C) Input/Hidden/Output → 這是一般神經網路層次的概念，跟 Q/K/V 三向量無關，刪。\n   - (D) Encoder/Decoder/Discriminator → Encoder/Decoder 是 Transformer 大架構、Discriminator 是 GAN 的元件，混用不同模型，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 815-821(Transformer 自注意力)\n\n**融會貫通**：Q/K/V 直覺記法 — 想像在圖書館找書 ：**Q(Query)** = 「我在找什麼書」(我的需求)；**K(Key)** = 「這本書講什麼」(書背標籤)；**V(Value)** = 「如果我選了這本書，內容是什麼」(書內容)。Self-Attention 用 Q·K 算相似度當權重，再對 V 加權求和。Q/K/V 一律來自「同一序列」(self) 是 Self-Attention 的精髓。",
    "23": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Transformer 如何「感知詞語順序」→ 考點是 Transformer 摒棄循環結構後的補救機制。\n2. **正確答案 (C) 為何對**：教材原文「由於 Transformer 完全摒棄了循環結構，模型本身無法直接感知序列中詞語的順序或絕對位置資訊。因此設計出位置編碼(Positional Encoding) ... 透過將具有特定模式(通常是正弦和餘弦函數)的位置向量加到原始的詞嵌入上，確保模型能理解序列的順序性」(line 838-843)。(C) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 卷積核滑動 → 那是 CNN 的機制；Transformer 沒有卷積，刪。\n   - (B) 循環連接 → 那是 RNN 的機制；Transformer 已經摒棄循環結構，題幹也明示「為了讓 Transformer 感知順序」，刪。\n   - (D) Dropout 隨機屏蔽 → 那是正則化技術，與位置感知無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 838-843(Transformer 位置編碼)\n\n**融會貫通**：記法「**Transformer 無序，靠 PE 注入位置**」。RNN 自然帶順序(時間步)，CNN 自然帶位置(局部接收域)，只有 Transformer 因為 self-attention 對所有位置「同等看待」→ 必須額外用 Positional Encoding(通常用 sin/cos 函數)把位置資訊加到 word embedding 上。考題愛把這個機制跟 RNN/CNN 的順序機制混在一起當干擾。",
    "24": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Transformer 衍伸模型對應「**錯誤**」者 → 純記憶題：BERT/GPT/T5/ViT 各自定位。\n2. **正確答案 (D) 為何對**：教材原文「Vision Transformer(ViT)將 Transformer 架構從 NLP 成功引入電腦視覺領域。ViT 將圖像切分成一系列固定大小的圖像塊(Patches)，然後將這些圖像塊視為序列中的『詞語』，直接輸入到 Transformer 中進行處理」(line 944-948)。(D) 說 ViT「用於語音辨識、無法處理圖像」— 完全相反，ViT 正是用於圖像，故為錯誤對應。\n3. **其他選項為何刪**：\n   - (A) BERT 雙向+MLM+NSP+編碼器 → 教材原文 line 925-928，正確，刪。\n   - (B) GPT 解碼器+單向自迴歸 → 教材原文 line 932-935，正確，刪。\n   - (C) T5 編碼器-解碼器+文字到文字 → 教材原文 line 938-942，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 925-948(Transformer 衍伸模型)\n\n**融會貫通**：Transformer 三大家族速記 — **BERT(Encoder 雙向，做理解)** / **GPT(Decoder 單向自迴歸，做生成)** / **T5(完整 Encoder-Decoder，文字到文字統一框架)** / **ViT(把圖切 Patch 當 token，CV 領域)**。記法「**B-Encoder-理解；G-Decoder-生成；T-兩者-翻譯；ViT-跨界 CV**」。常見干擾把 ViT 跨界目標說錯(語音/NLP)，記 V = Vision 就不會錯。",
    "25": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Autoencoder 的「訓練目標」→ 考點是 AE 跟 GAN 的訓練目標差異。\n2. **正確答案 (B) 為何對**：教材原文「自編碼器透過最小化重構誤差(Reconstruction Error)來進行訓練。重構誤差衡量的是原始輸入數據與解碼器輸出(即重構數據)之間的相似度。常用的損失函數包括均方誤差(MSE)用於連續數據，或二元交叉熵用於二元數據」(line 975-979)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 最大化判別器辨識假資料的能力 → 那是 GAN 中判別器的目標，跟 AE 無關，刪。\n   - (C) 最大化標籤分類準確率 → AE 是非監督式學習(line 964)，沒有標籤可用，刪。\n   - (D) 最小化交叉熵損失(僅用於分類) → AE 通常用 MSE(連續)，雖也用二元交叉熵但限二元資料；且 AE 不是分類任務，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 975-980(生成式模型 — 自編碼器)\n\n**融會貫通**：記法「**AE = Encoder→Bottleneck→Decoder，目標：重構誤差最小**」。AE 強迫資料通過「瓶頸層」壓縮，所以能學到資料的低維有意義表示 → 可用於降維、特徵學習、去噪、異常偵測。注意 AE 主要是「重構」原資料而非「生成」全新樣本 — 後者是 GAN 的強項，這也是 VAE(變分自編碼器)、GAN 出現的原因。",
    "26": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 GAN「核心結構」→ 考點是 GAN 的對抗式雙網路設計。\n2. **正確答案 (B) 為何對**：教材原文「GAN 由兩個相互競爭的神經網路組成：一個生成器(Generator)和一個判別器(Discriminator)。這兩個網路在一個『零和博弈』(Zero-Sum Game)中進行訓練，直到達到平衡」(line 1036-1037)；「達到一個『納什均衡』(Nash Equilibrium)狀態」(line 1078-1079)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 編碼器+解碼器 → 那是 Autoencoder 的結構(line 968-973)，跟 GAN 不同，刪。\n   - (C) 多個卷積層堆疊 → 那是 CNN 的結構，雖然 GAN 內部 G/D 可能用 CNN，但 GAN 的「核心結構」不是這樣描述的，刪。\n   - (D) 僅由一個 RNN 構成 → GAN 是兩個網路對抗，且不限於 RNN，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 1036-1037、1078-1079(生成式模型 — GAN)\n\n**融會貫通**：GAN 對照 AE — **AE 編碼-解碼，自我重構；GAN 生成器-判別器，互相對抗**。GAN 的「零和博弈」直覺：警察(D) vs 罪犯(G) — G 不斷想造假鈔騙過 D，D 不斷強化辨識能力，雙方在博弈中共同進步，直到 D 無法分辨真假(Nash 均衡)。看到「GAN+編碼器解碼器」就要警覺是混了 AE。",
    "27": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 GAN 中「**生成器**」的目標 → 注意是生成器(Generator)，不是判別器。\n2. **正確答案 (B) 為何對**：教材原文「生成器(Generator)輸入：通常接收一個隨機噪聲向量(Latent Vector) ... 功能：目標是將這個隨機噪音轉換成看起來像真實數據的樣本 ... 生成器試圖『欺騙』判別器，讓判別器相信它生成的數據是真實的」(line 1041-1051)；「在這個階段，判別器的參數被固定，生成器被訓練來最小化判別器將其生成數據辨識為假數據的能力 ... 換句話說，生成器試圖『欺騙』判別器，讓判別器對其生成的假數據給出高分(接近 1)」(line 1072-1075)。(B) 完全對應。\n3. **其他選項為何刪**：\n   - (A) 準確區分真實/生成資料 → 那是判別器(Discriminator)的目標，與生成器互換，是 swap 干擾，刪。\n   - (C) 找出最佳卷積核 → 那是 CNN 訓練的目標，跟生成器無關，刪。\n   - (D) 對輸入序列計算 Q/K/V 注意力權重 → 那是 Transformer Self-Attention 的工作，跟生成器無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 1041-1051、1072-1075(生成式模型 — GAN)\n\n**融會貫通**：記法「**G 騙、D 辨**」— Generator 把雜訊轉成假樣本騙過判別器；Discriminator 學會分辨真假。常見干擾把 G/D 目標互換 — 看到「G 區分真假」「D 生成樣本」這種說法一定錯。生成器只看 latent noise + 判別器回饋，不直接看真實資料 — 這是 GAN 跟 AE 的關鍵差異。",
    "28": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 GAN 的「缺點與限制」**錯誤**者 → 三個是教材列出的真實限制，一個是違反常識的反例。\n2. **正確答案 (D) 為何對**：GAN 仍是監督學習的延伸 — 判別器需要「真實樣本」作為訓練的正例，否則無法分辨真假；教材也明寫 GAN 的對抗訓練需要「接收兩種類型的數據：真實的訓練數據樣本，以及生成器生成的假數據樣本」(line 1054-1056)。(D) 說「完全不需要任何訓練資料」與此完全相反，故為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 訓練不穩定+模式崩潰 → 教材原文 line 1097-1099「訓練過程非常敏感，容易出現模式崩潰(Mode Collapse，生成器只生成少數幾種類型的樣本)」，正確，刪。\n   - (B) 對學習率/網路架構超參數敏感 → 教材原文 line 1101-1103，正確，刪。\n   - (C) 缺乏客觀量化指標評估生成品質 → 教材原文 line 1105-1107「缺乏客觀、公認的量化指標來評估生成樣本的品質和多樣性」，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 1097-1107(生成式模型 — GAN 缺點與限制)\n\n**融會貫通**：GAN 三大著名問題「**Mode Collapse(模式崩潰) / 訓練不穩 / 評估難**」。Mode Collapse 直覺：G 發現只要一直生成「最容易騙過 D 的那一種樣本」就能拿高分 → 結果只生成單一類型(例如永遠生同一張臉)。常見干擾就是 (D) 這種違反基本訓練原理的反例 — 任何深度學習模型都需要訓練資料，特別是判別器要看真實樣本當正例。",
    "29": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 TensorFlow 與 Keras 「關係」**正確**者 → 考點是兩者實際上是整合而非競爭關係。\n2. **正確答案 (B) 為何對**：教材原文「Keras 是一個高階神經網路 API，以使用者友善、模組化且易於擴展為設計宗旨。自 TensorFlow 2.0 起，Keras 已被完全整合為 TensorFlow 的官方高階 API，成為其核心組成部分(tf.keras)」(line 1153)；「極簡主義 ... 模組化 ... 易於原型開發」(line 1157-1167)。(B) 完全對應教材描述。\n3. **其他選項為何刪**：\n   - (A) Keras 是 Google 自行開發的低階運算庫、與 TF 競爭 → Keras 是高階 API(不是低階)，且早已整合進 TensorFlow(不是競爭)，雙重錯誤，刪。\n   - (C) Keras 與 TensorFlow 完全無關 → 教材明寫「自 TF 2.0 起被完全整合為官方高階 API」，刪。\n   - (D) Keras 不支援快速原型開發 → 教材原文 line 1165-1167「易於原型開發 ... 適合快速試驗和原型開發」，完全相反，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 1153-1167(深度學習主流框架 — TensorFlow 與 Keras)\n\n**融會貫通**：記法「**Keras = TF 2.0 後的高階皮層(tf.keras)**」。Keras 設計三大特性「極簡主義 + 模組化 + 易於原型開發」— 讓開發者用最少代碼快速搭模型。歷史上 Keras 曾是獨立專案、支援多後端(TF/Theano/CNTK)；TF 2.0 起被官方收編成 tf.keras。常見干擾把兩者寫成競爭關係或誤把 Keras 說成低階庫。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PyTorch 特性敘述「**錯誤**」者 → 考點是 PyTorch 招牌「動態計算圖」。\n2. **正確答案 (D) 為何對**：教材原文「PyTorch 最大的特點是採用動態計算圖，這意味著運算在定義時立即執行，而非像早期 TensorFlow 那樣先構建完整圖形再運行」(line 1180)。(D) 說 PyTorch「完全採用靜態計算圖、與早期 TF 1.x 相同」— 與教材完全相反，PyTorch 正是用動態圖跟 TF 1.x 的靜態圖區分開來的，故為錯誤敘述。\n3. **其他選項為何刪**：\n   - (A) 由 Facebook AI Research(FAIR)開發 → 教材原文 line 1175「PyTorch 由 Facebook AI Research(FAIR)開發」，正確，刪。\n   - (B) 動態計算圖+定義時立即執行+簡化調試 → 教材原文 line 1178-1181，正確，刪。\n   - (C) 內建 Autograd 自動計算梯度 → 教材原文 line 1187-1189「PyTorch 內建自動微分(Autograd)引擎，能夠自動計算任何運算的梯度」，正確，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 1175-1189(深度學習主流框架 — PyTorch)\n\n**融會貫通**：對照表 — **PyTorch 動態圖(Define-by-Run，運算即執行，Pythonic，學術愛用)** vs **早期 TF 1.x 靜態圖(先定義再執行，部署優化好但難調試)**。TF 2.x 也轉向 Eager Execution(類動態)以追上 PyTorch 的開發便利性。常見干擾就是把動態/靜態對調 — 記「PyTorch = Pythonic + 動態」就不會錯。",
    "31": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Tanh 「輸出特性」→ 考點是壓縮輸出範圍 + 穩定訓練的作用。\n2. **正確答案 (B) 為何對**：教材 line 141「某些激活函數（如 Sigmoid 和 Tanh）能將神經元的輸出值壓縮到一個特定的範圍內（如 [0, 1] 或 [-1, 1]）」+ line 143-145「避免數值在網路傳播過程中過大或過小，進而導致梯度爆炸或梯度消失問題」。Tanh 對應 [-1, 1]。\n3. **其他選項為何刪**：\n   - (A) [0, 1] → 那是 Sigmoid 的範圍（line 131-133），不是 Tanh，刪。\n   - (C) 正→直接輸出、負→0 → 那是 ReLU（line 135-137），刪。\n   - (D) 離散步階 → 那是 Perceptron 的步階函數（line 87-94），刪。\n\n**📖 章節來源**：chunks/L23203.txt line 141-145（激活函數的角色 - 壓縮輸出範圍）\n\n**融會貫通**：記法「**Sigmoid [0,1]｜Tanh [-1,1]｜ReLU 正過負零**」三激活函數輸出範圍要分清。Tanh 因為輸出對稱於零，常用於 RNN 隱藏狀態的非線性轉換（line 610）。",
    "32": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「只使用線性激活函數」→ 考點是激活函數最根本作用「引入非線性」的反證。\n2. **正確答案 (B) 為何對**：教材 line 122「若沒有激活函數，或只使用線性激活函數，那麼無論神經網路有多少層，其最終輸出都只是輸入的線性組合。這將導致多層網路的能力等同於單層線性模型，僅能解決線性可分（Linearly Separable）的問題」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 能逼近任意複雜函數 → 反了，那是「有非線性激活」的條件下才成立，刪。\n   - (C) 與 ReLU 完全相同 → 反了，ReLU 是非線性函數，刪。\n   - (D) 避免過擬合 → 線性激活與過擬合無因果關係，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 120-124（激活函數 - 引入非線性）\n\n**融會貫通**：記法「**無非線性 = 多層退化單層**」。實務上若把整個深層網路設成線性，等同於一個大型線性迴歸，不具備深度學習意義。",
    "33": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問損失函數「核心目的」且要「最完整」→ 考點是雙重目的（評估+指引）。\n2. **正確答案 (B) 為何對**：教材 line 242-248「評估誤差：損失函數充當了模型『表現好壞』的量尺，告訴我們當前的預測有多不準確」+「指引優化：損失函數的數值直接為優化器提供依據，優化器的最終目標就是調整模型參數，使損失函數的值達到最小」。(B) 完整涵蓋兩大目的。\n3. **其他選項為何刪**：\n   - (A) 只負責計算梯度 → 計算梯度是反向傳播的工作（line 207-218），不是損失函數本身，刪。\n   - (C) 只用於分類 → 反了，迴歸也需要 MSE/MAE 等損失函數（line 254-258），刪。\n   - (D) 與真實值無關 → 反了，損失函數正是「衡量預測與真實值之間誤差」（line 238），刪。\n\n**📖 章節來源**：chunks/L23203.txt line 238-248（損失函數 - 目的）\n\n**融會貫通**：記法「**Loss = 量尺（評估）+ 指南針（指引）**」。Loss 一邊告訴你錯多少，一邊告訴優化器往哪走（梯度方向）。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問交叉熵「細分應用」→ 考點是二元 vs 類別交叉熵的對應任務。\n2. **正確答案 (B) 為何對**：教材 line 264-266「二元交叉熵：用於判斷是或否的二元分類」+「類別交叉熵：用於多種不同類別的多分類問題」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 二元用於多類別、類別用於二元 → 顛倒，刪。\n   - (C) 兩者完全相同 → 反了，二元/多元任務的損失計算方式不同，刪。\n   - (D) 只能用於迴歸 → 反了，交叉熵本來就是分類任務的損失函數（line 262），迴歸用 MSE/MAE，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 262-266（損失函數 - 分類問題：交叉熵損失）\n\n**融會貫通**：記法「**二元（是/否）→ Binary CE｜多類別 → Categorical CE**」。輸出層搭配上 num 13 講的「二元 Sigmoid / 多類 Softmax」即可形成完整對應關係。",
    "35": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Elastic Net → 考點是 L1 與 L2 的結合。\n2. **正確答案 (C) 為何對**：教材 line 309-311「Elastic Net：結合 L1 和 L2 正則化，兼具特徵選擇與權重平滑的優點，平衡兩種效果」。(C) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 只用絕對值和 → 那是純 L1（line 301-303），不是 Elastic Net，刪。\n   - (B) 只用平方和 → 那是純 L2（line 305-307），不是 Elastic Net，刪。\n   - (D) 隨機屏蔽神經元 → 那是 Dropout（line 313-315），不是 Elastic Net，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 309-311（正則化技術 - Elastic Net）\n\n**融會貫通**：記法「**Elastic Net = L1 特徵選擇 + L2 權重平滑**」。實務上當不確定該用 L1 還是 L2 時，Elastic Net 是穩健中庸的選擇。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問早停法「核心機制」→ 考點是驗證集損失監控停止條件。\n2. **正確答案 (B) 為何對**：教材 line 317-319「早停法（Early Stopping）：在驗證集損失不再下降時提前停止訓練，以防模型在訓練集上過度擬合」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 訓練前停止初始化 → 模型還沒訓練就停下毫無意義，刪。\n   - (C) 訓練集損失上升才停 → 反了，訓練集損失通常會持續下降，要看「驗證集」損失趨勢，刪。\n   - (D) 對權重加入平方和懲罰 → 那是 L2 正則化（line 305-307），不是 Early Stopping，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 317-319（正則化技術 - 早停法）\n\n**融會貫通**：記法「**訓練集損失降但驗證集損失升 → Stop**」。Early Stopping 的關鍵指標是「驗證集」（generalization 指標），訓練集損失下降只是模型在記憶資料。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 CNN 「權重共享」的好處 → 考點是兩大好處（減參數 + 平移不變性）。\n2. **正確答案 (B) 為何對**：教材 line 456-459「同一個卷積核在輸入數據的不同位置上是共享權重的，減少了模型的參數數量，同時也使得 CNN 能夠辨識圖像中位置不變的特徵。例如，無論貓的眼睛在圖像的左邊還是右邊，都能被同一個濾波器辨識」+ line 504-506「權重共享減少了模型的參數數量，降低了模型複雜度，減少了過擬合的風險」。(B) 完整涵蓋兩大好處。\n3. **其他選項為何刪**：\n   - (A) 增加參數數量 → 反了，是「減少」（line 456），刪。\n   - (C) 每位置學獨立權重 → 反了，那是全連接層的行為，與權重共享相反，刪。\n   - (D) 取代池化層 → 池化層的功能是降採樣（line 466-468），權重共享是卷積層特性，兩者並列，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 456-459, 504-506（CNN - 權重共享）\n\n**融會貫通**：記法「**權重共享 = 減參數 + 平移不變性（位置不變特徵辨識）**」。對比 MLP 的全連接層各位置獨立權重，CNN 用一個 kernel 滑過整張圖，左眼右眼都能辨識。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 DenseNet「核心設計」→ 考點是「每層連接所有前一層」的特徵重用機制。\n2. **正確答案 (B) 為何對**：教材 line 572「DenseNet（Dense Convolutional Network）：將每個層與其所有前一層的特徵映射連接起來，實現了特徵的極大重用，進一步緩解了梯度消失，並減少了參數數量」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 殘差連接設計同 ResNet → 反了，DenseNet 是「全連接前所有層」，與 ResNet 的「殘差跳躍連接」不同（line 568, 572），刪。\n   - (C) 摒棄卷積 → DenseNet 仍然是卷積網路，刪。\n   - (D) 深度可分離卷積 → 那是 MobileNet 的設計（line 576-578），不是 DenseNet，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 572-574（CNN 衍伸模型 - DenseNet）\n\n**融會貫通**：記法「**ResNet = 殘差（隔層跳）｜DenseNet = 密集（連所有前層）**」。兩者都緩解梯度消失，但 DenseNet 的特徵重用更徹底，參數量反而更少。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 RNN 反向傳播的「特殊形式」→ 考點是 BPTT 名稱與機制。\n2. **正確答案 (B) 為何對**：教材 line 633-636「RNN 的訓練也使用反向傳播，但由於其時間依賴性，需要使用一種特殊的形式，稱為時間上的反向傳播（Backpropagation Through Time, BPTT）。BPTT 的過程是將整個序列在時間維度上展開，形成一個沒有循環的深層網路。接著像訓練普通的前饋深度網路一樣，從最後一個時間步的損失開始，利用鏈式法則，將梯度沿著時間軸反向傳播」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 靜態反向傳播 → 教材未提此名稱，刪。\n   - (C) SGD 即可、無需特殊 → 反了，RNN 必須用 BPTT，刪。\n   - (D) 卷積反向傳播 → 那是 CNN 的訓練形式，與 RNN 序列性質不符，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 633-636（RNN - 反向傳播 BPTT）\n\n**融會貫通**：記法「**RNN 反向傳播 = BPTT = 時間軸展開 + Chain Rule**」。BPTT 在處理長序列時容易遇到梯度消失（對應 num 18），這正是 LSTM/GRU 引入門控機制的動機（num 19-20）。",
    "40": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Bi-RNN「核心功能」→ 考點是雙向資訊整合的優勢。\n2. **正確答案 (A) 為何對**：教材 line 702-705「雙向遞迴神經網路（Bidirectional RNN, Bi-RNN）：透過同時訓練兩個方向（一個正向從序列開始到結束，另一個反向從序列結束到開始）的 RNN，將隱藏狀態結合起來。使得模型在做預測時，能夠同時考慮到序列中過去和未來的上下文資訊，對於許多上下文敏感的任務（如命名實體辨識）非常有用」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 只能正向 → 反了，Bi-RNN 的「Bi」就是雙向，刪。\n   - (C) 摒棄循環、改用注意力 → 那是 Transformer（line 717），不是 Bi-RNN，刪。\n   - (D) CNN 衍生 → Bi-RNN 屬於 RNN 衍伸（line 690），不是 CNN，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 702-705（RNN 衍伸模型 - Bi-RNN）\n\n**融會貫通**：記法「**Bi-RNN = 正向 + 反向 = 過去 + 未來上下文**」。常見於命名實體辨識（NER）任務：判斷一個詞是否為人名，往往需要看它前後的上下文。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Transformer 解碼器層「核心組件」→ 考點是三組件（Masked Self-Attn / Encoder-Decoder Attn / FFN）。\n2. **正確答案 (B) 為何對**：教材 line 764-770「每個解碼器層包含三個核心組件：帶遮罩的多頭自注意力機制（Masked Multi-head Self-Attention）... 編碼器-解碼器（Encoder-Decoder）注意力機制... 前饋網路（Feed-forward Network, FFN）」。(B) 完整列出三組件。\n3. **其他選項為何刪**：\n   - (A) 只有一個自注意力 → 漏掉 Encoder-Decoder Attention 與 FFN，刪。\n   - (C) 卷積 + 池化 → 那是 CNN 結構（line 445, 466），Transformer 完全摒棄這些（line 717），刪。\n   - (D) 與編碼器完全相同 → 反了，編碼器層只有兩個組件（Self-Attn + FFN，line 747-748），解碼器多了 Masked + Encoder-Decoder Attention，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 764-770（Transformer 解碼器堆疊）\n\n**融會貫通**：記法「**解碼器 = Masked Self-Attn（不偷看未來）+ Encoder-Decoder Attn（看編碼器輸出）+ FFN**」。對比編碼器只有兩件（Self-Attn + FFN），解碼器多兩件是為了「自迴歸生成」與「對齊輸入」。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問多頭注意力與自注意力的「擴展關係」→ 考點是多頭如何擴展自注意力以捕捉多樣關係。\n2. **正確答案 (B) 為何對**：教材 line 823-836「多頭注意力機制（Multi-Head Attention）是自注意力機制的一個擴展，並行地執行多次（多個『頭』）獨立的自注意力運算。每個『頭』都有自己獨立的 Query、Key、Value 權重矩陣，因此它們在不同的『表示子空間』中學習不同的注意力模式」+「捕捉多樣關係：允許模型在同一時間捕捉多種不同的關係類型和上下文訊息」。(B) 完整涵蓋擴展與好處。\n3. **其他選項為何刪**：\n   - (A) 捨棄自注意力 → 反了，多頭是「擴展」而非「取代」，刪。\n   - (C) 只有一個頭 → 反了，「多頭」核心就是多個並行頭，刪。\n   - (D) 僅用於 CNN → Multi-Head Attention 是 Transformer 的核心組件（line 825），與 CNN 無關，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 823-836（Transformer - 多頭注意力機制）\n\n**融會貫通**：記法「**多頭 = 多個自注意力並行 + 不同子空間 + 多樣關係**」。直觀類比：一個人讀句子（單頭），多人各自從不同角度讀（多頭），最後拼接整合 → 比單頭看到更多面向。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Transformer 為何用 Layer Norm 而非 Batch Norm → 考點是序列模型對 batch 大小依賴性的差異。\n2. **正確答案 (B) 為何對**：教材 line 859-865「層歸一化（Layer Normalization, LN）：在每個子層的計算中，會對其輸出進行歸一化處理... 相較於批次歸一化（Batch Normalization），層歸一化不依賴批次大小，因此特別適合自然語言處理這類序列模型。層歸一化能有效穩定訓練過程，避免數值發散，並減少內部協變偏移（Internal Covariate Shift, ICS）」。(B) 完整涵蓋原因與好處。\n3. **其他選項為何刪**：\n   - (A) 計算量遠小於 BN → 教材未提此差異，主因是 batch 依賴性，刪。\n   - (C) 取代殘差連接 → 殘差連接（line 853-857）與層歸一化是並列的兩個子層輔助機制，不互相取代，刪。\n   - (D) BN 在 Transformer 中準確率下降 → 教材未提此結論，原因是「不依賴 batch size」（line 863），刪。\n\n**📖 章節來源**：chunks/L23203.txt line 859-867（Transformer - 層歸一化）\n\n**融會貫通**：記法「**LN 不依賴 batch size → 適合 NLP 變長序列｜BN 依賴 batch size → 適合 CV 固定 batch**」。NLP 序列長度不一、batch 內樣本長度差異大，BN 在這種情境下統計不穩定，LN 對每個樣本獨立歸一化更穩。",
    "44": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目是「錯誤」敘述題 → 找出與教材矛盾的選項。\n2. **正確答案 (D) 為何對（錯誤敘述）**：教材 line 1002-1004「重構而非生成『新』數據：傳統的自編碼器主要用於重構輸入，雖然能學到分佈，但不能像 GAN 那樣憑空生成多樣化的全新樣本」。(D) 與教材直接矛盾，是錯誤敘述。\n3. **其他選項為何對（皆為正確敘述）**：\n   - (A) Encoder + Decoder + 瓶頸層 → 教材 line 970-972「編碼器：負責將高維度的輸入數據轉換為一個低維度的潛在空間向量，這個潛在空間通常被稱為瓶頸層（Bottleneck Layer）」，正確。\n   - (B) 降維、特徵學習、去噪 → 教材 line 984-994 列出這三個用途，正確。\n   - (C) 異常偵測（重構誤差） → 教材 line 996-998「訓練良好的自編碼器在重構正常數據時誤差較小，而在重構異常數據時誤差較大，因此可以通過重構誤差來辨識異常」，正確。\n\n**📖 章節來源**：chunks/L23203.txt line 970-1004（生成式模型 - 自編碼器）\n\n**融會貫通**：記法「**Autoencoder 重構導向（去噪/降維/異常）｜GAN 生成導向（憑空造新樣本）**」。自編碼器的瓶頸層是核心，強迫網路學習資料的精華壓縮表示。",
    "45": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 GAN「訓練流程」→ 考點是兩階段對抗與納什均衡終點。\n2. **正確答案 (B) 為何對**：教材 line 1065-1079「GAN 的訓練是一個動態的、迭代的過程，生成器和判別器輪流進行優化：訓練判別器：在這個階段，判別器被訓練為一個分類器，目標是最大化其區分真實數據和生成數據的能力... 訓練生成器：在這個階段，判別器的參數被固定，生成器被訓練來最小化判別器將其生成數據辨識為假數據的能力... 重複過程：不斷重複，直到生成器能夠生成高度逼真、判別器幾乎無法區分的數據，達到一個『納什均衡』（Nash Equilibrium）狀態」。(B) 完整涵蓋兩階段 + 終點。\n3. **其他選項為何刪**：\n   - (A) 同時更新無順序 → 反了，教材明確說「輪流進行優化」（line 1065），刪。\n   - (C) 只訓練判別器 → 反了，生成器也需更新才能進步，刪。\n   - (D) 需要標註標籤 → 反了，GAN 是無監督學習，輸入是隨機噪聲 + 真實樣本（line 1044, 1056），不需要分類標籤，刪。\n\n**📖 章節來源**：chunks/L23203.txt line 1063-1079（GAN - 運作原理）\n\n**融會貫通**：記法「**GAN = D 先學分辨 → G 再學欺騙 → 重複 → 納什均衡**」。對比 num 27 講的 Generator 目標（欺騙判別器），這題講「整個訓練流程的時序與終點」。"
  },
  "mock_L23301": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料品質與特徵表達在 ML 流程中的重要性」→ 考點是教材開宗明義的核心立場「資料 > 演算法」。\n2. **正確答案 (B) 為何對**：教材原文明確指出「『資料品質與特徵表達』往往**比演算法本身更決定**模型的最終表現」,即使使用最先進演算法,若資料有錯誤或資訊不足仍難以得出良好結果。(B) 是教材立場的逐字翻譯。\n3. **其他選項為何刪**：\n   - (A)「演算法是唯一因素」:絕對化 + 與教材立場相反,刪。\n   - (C)「先進演算法能自動修正資料錯誤」:幻想式敘述,教材沒這結論,刪。\n   - (D)「特徵工程只適用分類」:範圍錯誤,迴歸同樣需要特徵工程,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 9-11（前言與章節導覽）\n\n**融會貫通**：記法「**Garbage In, Garbage Out**」— 資料品質是地基,演算法只是裝潢。看到絕對化敘述（「唯一」「必定」「永遠」）+ 把演算法神化的選項,通常就是干擾項。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖定「填補法（Imputation）」→ 考點是缺失值處理三大類（刪除/填補/指標編碼）中的「填補」分支。\n2. **正確答案 (B) 為何對**：教材列出填補法包含「均值/中位數/眾數填補」「相似樣本填補（Hot Deck、KNN）」「預測模型填補」「缺失指標編碼」四種。(B) 的「均值、中位數、眾數填補」是填補法第一項。\n3. **其他選項為何刪**：\n   - (A)「直接刪除含缺值的列或欄」:這是**刪除法（Deletion）**,不是填補法,刪。\n   - (C)「標記為異常值」:概念混淆,缺失不等於異常,刪。\n   - (D)「移到備份檔」:不是教材定義的處理方式,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 19-35（缺失值處理）\n\n**融會貫通**：缺失值處理三類記法 — 「**刪、填、標**」:刪除法（Deletion）/ 填補法（Imputation）/ 指標編碼（Missing Indicator）。要先分清這題在問哪一類,再看選項對應。",
    "3": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「缺失指標編碼（Missing Indicator）」→ 考點是這個技巧的**特殊用途**:不是補值,而是把「缺失」本身當資訊。\n2. **正確答案 (B) 為何對**：教材定義 — 缺失指標編碼 = 新增一個欄位（is_missing）標示「該值是否缺失」,有助模型學習隱含資訊,常見於樹模型。樹模型可利用「缺失與否」這個訊號本身做分裂。\n3. **其他選項為何刪**：\n   - (A)「直接 0 填,不留記號」:這是均值/常數填補的失敗版本,不留指標就失去指標編碼的精神,刪。\n   - (C)「整欄移除」:這是刪除法,不是指標編碼,刪。\n   - (D)「用 KNN 預測填補」:這是相似樣本填補（Hot Deck/KNN）,不是指標編碼,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 37-39（缺失值處理-缺失指標編碼）\n\n**融會貫通**：缺失指標編碼的精髓是「**缺失本身可能有意義**」(例如「未填收入」可能跟「低收入」高度相關)。常與其他填補法**併用**:一欄補值 + 一欄 is_missing,讓模型同時學到「值」和「是否缺」。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目限定「**統計方法**」偵測異常值 → 考點是異常值偵測三類別中的「統計分支」。\n2. **正確答案 (B) 為何對**：教材明確指出統計方法 = 利用「Z 分數（Z-score）或四分位距（IQR）」界定明顯偏離的觀測值。(B) 完全對齊教材定義。\n3. **其他選項為何刪**：\n   - (A)「Isolation Forest 與 LOF」:這是**機器學習方法**,不是統計方法,刪。\n   - (C)「散佈圖與箱型圖」:這是**視覺化分析**方法,刪。\n   - (D)「神經網路才能判斷」:虛構敘述,教材沒這結論,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 45-55（異常值偵測與處理）\n\n**融會貫通**：異常值偵測三類記法 — 「**統視機**」:**統**計（Z-score/IQR）/ **視**覺化（箱型圖/散佈圖/時間序列圖）/ **機**器學習（Isolation Forest/LOF）。三類各有方法,題目限定哪類就要對應該類工具。",
    "5": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問異常值「處理策略」何者**錯誤**,且 (D) 出現「永遠移除」「必定失敗」絕對化用語 → 警報響起。\n2. **正確答案 (D) 為何對**：(D)「必須永遠移除所有異常值,否則模型必定失敗」**錯誤** — 教材明確指出處理策略有三:**移除/截尾轉換/標記保留**;當異常值本身具預測價值（如欺詐偵測）時應保留並作為特徵。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「在可確認錯誤輸入時直接刪除」:教材移除策略原文,正確,刪。\n   - (B)「截尾與對數、Box-Cox 轉換」:教材截尾與轉換策略原文,正確,刪。\n   - (C)「異常值具預測價值時保留」:教材標記保留策略原文,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 57-69（異常值處理策略）\n\n**融會貫通**：異常值處理三策略 — 「**移、截、留**」。**欺詐偵測** = 最經典的「異常值就是訊號本身」案例,反而最不該移除。看到「永遠」「必定」「唯一」等絕對化字眼 + 與教材彈性立場相反,99% 是錯誤選項。",
    "6": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問處理「重複樣本與資料一致性」**並非**常見做法 → 找出跟此主題無關的選項。\n2. **正確答案 (C) 為何對**：(C)「直接刪除所有大於樣本均值的觀測值」**錯誤** — 大於均值不等於重複（差不多有一半樣本都大於均值！）,這是把「異常值處理」跟「重複樣本處理」混為一談,且該做法本身極不合理。題目要選**並非**做法,所以 (C)。\n3. **其他選項為何刪**：\n   - (A)「主鍵比對或欄位相似度判斷資料重複」:教材重複資料偵測原文,刪。\n   - (B)「統一單位、時間格式、類別值」:教材單位與格式標準化原文,刪。\n   - (D)「確保沒有同一觀察單位多次出現」:重複樣本處理的目標定義,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 73-83（重複樣本與資料一致性檢查）\n\n**融會貫通**：「**重複** ≠ **異常**」— 兩者是不同的清理任務。重複處理用主鍵 / 相似度比對;異常處理用 Z-score / IQR / ML 演算法。這題是經典的「把另一個主題的方法套到本主題」的 swap 干擾。",
    "7": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型對資料品質的敏感度」→ 考點是教材對比的兩派:**樹模型 vs 線性/神經網路**。\n2. **正確答案 (A) 為何對**：教材原文 — 「樹模型（如 XGBoost、Random Forest）對於缺值與異常值具**較高容忍度**,能自動處理部分遺失資訊」。樹模型分裂時可把缺值視為單獨分支,有內建容錯能力。\n3. **其他選項為何刪**：\n   - (B)「樹模型對缺值最敏感」:跟教材立場完全相反,刪。\n   - (C)「線性模型對缺值不敏感」:教材說線性模型**較為敏感**,刪。\n   - (D)「神經網路無需特徵正規化」:神經網路恰恰最需要尺度正規化（否則梯度爆炸/消失）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 99-103（清理流程策略-模型敏感度）\n\n**融會貫通**：記法「**樹皮夠厚、線性神經皮薄**」— 樹模型耐髒;線性 / SVM / KNN / 神經網路都要乾淨資料 + 標準化。實務上不平衡 / 含缺值的表格資料先考慮 XGBoost 系列,常常是最省事的選擇。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料處理紀錄與流程可追溯性（Data Lineage）」的好處 → 考點是這個概念存在的意義。\n2. **正確答案 (B) 為何對**：教材原文 — 所有清理動作應具備明確記錄,「以確保資料處理流程**可被還原、驗證與持續維護**,有助透明度、重現性與資料治理合規」。(B) 是教材原句濃縮。\n3. **其他選項為何刪**：\n   - (A)「隨意刪除歷史紀錄」:跟 Data Lineage「保留紀錄」的初衷完全相反,刪。\n   - (C)「加快訓練速度、直接提升準確度」:Data Lineage 是治理層工具,不直接影響模型表現,刪。\n   - (D)「取代特徵工程」:兩者屬不同層次（治理 vs 建模）,不可能取代,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 105-109（Data Lineage 資料處理紀錄與流程可追溯性）\n\n**融會貫通**：Data Lineage 就像實驗筆記本 — 不直接讓藥變強,但讓你「**知道怎麼做出來的、能複現、能審計**」。實務上 ML 上線後一旦出 bug,沒有 lineage 根本找不到問題出在哪個清理步驟。法規（如 GDPR、台灣個資法）也越來越要求這個。",
    "9": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料型別轉換與欄位格式調整」何者**錯誤** → 鎖定四個選項中跟「類別變數能否直接餵模型」相關的硬知識點。\n2. **正確答案 (D) 為何對**：(D)「類別變數可直接以原始字串輸入所有 ML 模型」**錯誤** — 教材明確指出「大多數演算法（如邏輯迴歸、SVM、神經網路）**無法直接處理類別變數**,需先進行類別資料編碼（Label / One-hot / Target Encoding）」。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「確保數值型與類別型正確標示」:教材類型轉換原文,正確,刪。\n   - (B)「時間資料解析為時間戳、週期性變數、時間差」:教材時間資料解析原文,正確,刪。\n   - (C)「時間資料解析有助時間序列建模」:教材結論,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 85-93、202-204（型別轉換 + 類別資料處理）\n\n**融會貫通**：例外情況 — 樹模型（如 LightGBM、CatBoost）**可以**直接吃類別變數（內建編碼）,但題目說「**所有** ML 模型」就絕對化錯誤了。看到「所有」「任何」「完全」等量詞要立刻檢查反例。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問特徵選擇（Feature Selection）「本質」→ 考點是「選擇 vs 創造」這個根本區別。\n2. **正確答案 (A) 為何對**：教材原文 — 「這個過程**不創造新的特徵**,而是從現有特徵中進行『選擇』。透過系統化的方法保留最具價值的特徵」。(A) 是教材定義的逐字翻譯。\n3. **其他選項為何刪**：\n   - (B)「主動生成新特徵」:這是**特徵工程**（Feature Engineering）的範疇,不是特徵選擇,刪。\n   - (C)「壓縮為一維純量」:這是極端降維,不是選擇,刪。\n   - (D)「必然降低模型解釋性」:相反,特徵選擇通常**提升**解釋性（特徵變少更好懂）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 113-115（特徵選擇與降維方法）\n\n**融會貫通**：易混淆對 — 「**特徵選擇 vs 特徵工程**」:選擇 = 從現有挑（減法）;工程 = 創造新特徵（加法,如「單價 × 數量 → 總價」）。看到「生成」「合成」「衍生」就是工程,看到「篩選」「保留」「子集」就是選擇。",
    "11": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Filter 方法「何者錯誤」+ 出現「特徵間交互作用」→ 直擊 Filter 方法的**限制**。\n2. **正確答案 (D) 為何對**：(D)「能完整考量特徵之間的交互作用」**錯誤** — 教材原文 Filter 方法的**限制**就是「**無法考慮特徵間交互作用**」（因為它是逐一獨立評估特徵）。能精確考量交互作用的是 **Wrapper 方法**。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「透過統計量或相關係數獨立於模型篩選」:教材 Filter 定義,正確,刪。\n   - (B)「皮爾森、卡方、ANOVA」:教材 Filter 常用統計方法,正確,刪。\n   - (C)「速度快、不依賴特定模型」:教材 Filter 優點,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 119-127（特徵選擇方法-Filter）\n\n**融會貫通**：Filter 三鐵則 — 「**獨立、快速、不看互動**」。實務上 Filter 常作為**第一輪粗篩**（一萬個特徵先砍到一千個）,再用 Wrapper / Embedded 精挑。看到「考量特徵互動」就要想到 Wrapper,不是 Filter。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Wrapper 方法「何者正確」+ 出現 RFE、前向/後向選擇等關鍵字 → 考點是 Wrapper 的核心特徵。\n2. **正確答案 (A) 為何對**：教材原文 — 「使用模型表現（如準確率、F1-score）作為標準,透過遞迴特徵消除（Recursive Feature Elimination, RFE）或前向/後向選擇進行特徵篩選」。(A) 完全對齊教材定義。\n3. **其他選項為何刪**：\n   - (B)「完全獨立於模型」:Wrapper **就是要訓練模型**才能評估,這是 Filter 才有的特性,刪。\n   - (C)「計算成本極低」:Wrapper 限制就是「計算成本高」,刪。\n   - (D)「不會有過擬合風險」:教材明確指出 Wrapper 可能過擬合,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 129-135（特徵選擇方法-Wrapper）\n\n**融會貫通**：Wrapper 三特徵 — 「**靠模型表現、貴、可能過擬合**」。RFE 是 sklearn 最常用 Wrapper 工具,反覆訓練模型 → 剔除最不重要特徵 → 再訓練,直到剩 N 個。實務上特徵數 < 100 才適合,不然算到天荒地老。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Embedded 方法「何者正確」+ 出現 Lasso、Ridge → 考點是內建特徵選擇機制的代表方法。\n2. **正確答案 (B) 為何對**：教材原文 — 「在模型訓練**過程中**內建特徵選擇機制,例如決策樹模型的重要性分析或 Lasso、Ridge 等正則化方法」。(B) 完全對齊。\n3. **其他選項為何刪**：\n   - (A)「必須訓練前完成選擇」:這是 Filter 的特性（前處理）,Embedded 是訓練「同時」進行,刪。\n   - (C)「與 Lasso 無關」:Lasso 是 Embedded 經典代表（L1 正則化讓係數壓 0,等同特徵選擇）,刪。\n   - (D)「與 Filter 等價」:兩者邏輯完全不同（Filter 不訓練模型,Embedded 需要訓練）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 137-142（特徵選擇方法-Embedded）\n\n**融會貫通**：三方法時間軸記法 — 「**Filter 訓練前、Embedded 訓練中、Wrapper 訓練後**」（Wrapper 其實是訓練多次,但比喻精神上是用訓練結果回頭選）。Lasso 是最常被考的 Embedded 代表,L1 懲罰把不重要特徵的係數壓到 0,就等於沒選它。",
    "14": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PCA「何者錯誤」+ (D) 出現「非線性」「保留局部鄰近關係」 → 直接命中 PCA 最常被誤解的點:它是**線性**降維。\n2. **正確答案 (D) 為何對**：(D)「PCA 是**非線性**降維方法,能保留局部鄰近關係」**錯誤** — PCA 是**線性**降維,且不專注於局部鄰近關係。(D) 描述的其實是 **t-SNE / UMAP** 的特性。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「線性降維方法」:教材 PCA 屬性,正確,刪。\n   - (B)「線性變換找最大化變異方向」:教材 PCA 定義原文,正確,刪。\n   - (C)「用於視覺化、雜訊過濾、建模加速」:教材 PCA 應用,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 148-150（降維方法-PCA）\n\n**融會貫通**：降維 3 大派系記法 — 「**PCA 線性無監督、LDA 線性有監督、t-SNE/UMAP 非線性視覺化**」。看到「非線性 + 保留局部鄰近 + 視覺化」= t-SNE 家族,絕不是 PCA。SVD 跟 PCA 是近親（線性矩陣分解）,常用於文字（LSA）和推薦系統。",
    "15": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「LDA vs PCA 差異」→ 考點是這對最易混淆 CP 的根本區別:**監督 vs 非監督**。\n2. **正確答案 (B) 為何對**：教材原文 — 「LDA 同為線性降維,但以**最大化類間差異、最小化類內變異**為目標,適用於分類問題」。LDA 看標籤決定降維方向,所以是**監督式**;適合分類前的降維前置處理。\n3. **其他選項為何刪**：\n   - (A)「兩者目標完全相同,都是非監督式」:PCA 是非監督（無視標籤）、LDA 是監督（看標籤）,刪。\n   - (C)「LDA 不能用於分類問題」:相反,LDA **就是為分類設計**的降維,刪。\n   - (D)「LDA 是非線性,類似 t-SNE」:LDA 是線性方法,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 152-154（降維方法-LDA）\n\n**融會貫通**：PCA vs LDA 一句記 — 「**PCA 找變異最大方向（不看標籤）,LDA 找類間分最開方向（看標籤）**」。實務上做分類前的降維,LDA 通常比 PCA 更有效;但 LDA 維度上限 = 類別數 - 1（如 3 類最多降到 2 維）,PCA 無此限制。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Min-Max Normalization」何者正確 → 考點是這個方法的**輸出區間**和**限制**。\n2. **正確答案 (A) 為何對**：教材原文 — 「將數值線性縮放至 **0～1 區間**;優點:保留原始變數的分佈比例,易於解釋;限制:**對極端值敏感**,異常值會壓縮其他數值的縮放範圍」。(A) 同時包含區間 + 比例保留 + 敏感性三要素,完整。\n3. **其他選項為何刪**：\n   - (B)「轉成 μ=0、σ=1 的常態分佈」:這是 **Z-score** 的定義,刪。\n   - (C)「中位數與 IQR 縮放」:這是 **Robust Scaling** 的定義,刪。\n   - (D)「不會被異常值影響」:跟教材「對極端值敏感」相反,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 172-176（資料尺度調整-Min-Max）\n\n**融會貫通**：三尺度方法輸出記法 — 「**Min-Max → [0,1]、Z-score → μ=0σ=1、Robust → 中位數+IQR**」。Min-Max 的致命傷是「異常值會吃掉縮放範圍」(例如 99% 資料是 0–100,但有個 10000 的異常值,結果 99% 資料都被擠進 [0, 0.01]）— 所以含離群值的資料優先用 Robust Scaling。",
    "17": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Z-score Standardization「會轉換成何種特性」→ 直接考公式輸出結果。\n2. **正確答案 (C) 為何對**：教材原文 — 「將數值轉換為**平均值為 0、標準差為 1** 的常態分佈」。公式 z = (x - μ) / σ,結果一定 μ=0、σ=1。\n3. **其他選項為何刪**：\n   - (A)「[0,1] 區間」:這是 Min-Max,刪。\n   - (B)「[-1,1] 區間」:沒有這種標準方法（Tanh 縮放才會到 [-1,1],但不是 Z-score）,刪。\n   - (D)「中位數為 0 的對數分佈」:對數轉換才會改分佈形狀,Z-score 不改形狀（只平移+縮放）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 178-182（資料尺度調整-Z-score）\n\n**融會貫通**：Z-score 的關鍵性質 — 「**形狀不變,位置與尺度標準化**」。原資料是右偏 → Z-score 後還是右偏（只是平均挪到 0）。所以面對偏態分佈,Z-score 並不解決偏態問題,要先做 Log/Box-Cox 分佈轉換,再 Z-score。",
    "18": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Robust Scaling 用什麼統計量「對極端值有高抵抗性」→ 直接命中 Robust 的設計動機。\n2. **正確答案 (C) 為何對**：教材原文 — 「使用**中位數與四分位距（IQR）**進行縮放;優點:對極端值具高度抵抗性,適用於資料分佈偏態或含離群值的情境」。中位數和 IQR 都是**穩健統計量**（不受極端值影響）。\n3. **其他選項為何刪**：\n   - (A)「平均值與標準差」:這是 Z-score 的統計量,平均跟標準差都被異常值影響,刪。\n   - (B)「最大值與最小值」:這是 Min-Max 的統計量,異常值最大化最敏感,刪。\n   - (D)「眾數與全距」:沒有這種標準方法,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 184-188（資料尺度調整-Robust Scaling）\n\n**融會貫通**：穩健統計量記法 — 「**中位數 ≈ Q2、IQR = Q3 - Q1,都不受兩端極值影響**」(只看排序中段）。實務上偏態資料或金融 / 醫療含極值的場景,Robust Scaling 是默認首選;對稱常態分佈才用 Z-score。",
    "19": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問分佈轉換「何者錯誤」+ (D) 說「對數轉換放大極端值」→ 直擊對數轉換的功能誤解。\n2. **正確答案 (D) 為何對**：(D)「對數轉換會**放大**極端值的影響,使偏態加劇」**錯誤** — 教材原文「對數轉換常用於處理**右偏分佈**,**降低**極端值影響（如收入、銷售額）」。對數是**壓縮**極端值（log 10 = 1, log 10000 = 4,大數被壓扁）,讓偏態變對稱,不是加劇。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「對數轉換用於右偏,降低極端值」:教材原文,正確,刪。\n   - (B)「平方根/立方根適用於中度偏態」:教材原文,正確,刪。\n   - (C)「Box-Cox/Yeo-Johnson 自動找最適轉換」:教材原文,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 194-199（分佈轉換）\n\n**融會貫通**：分佈轉換強度排序 — 「**Log > 立方根 > 平方根**」（壓縮程度遞減）。右偏資料越極端用越強的壓縮。Box-Cox 限正值、Yeo-Johnson 允許負值,實務上後者通用性更高。記法「**對數壓縮、不放大**」。",
    "20": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Label Encoding「何者正確」+ 出現「教育程度、服務等級」→ 直接命中其**適用對象是有序類別**。\n2. **正確答案 (A) 為何對**：教材原文 — 「將每個類別對應到一個整數編號（小學→0、高中→1、大學→2）;適用情境:類別具有**明確順序關係（Ordinal Variables）**,如教育程度、服務等級（Basic/Premium/VIP）」。(A) 完全對齊。\n3. **其他選項為何刪**：\n   - (B)「轉成 0/1 二元欄位」:這是 **One-hot Encoding**,刪。\n   - (C)「必須結合目標變數統計量」:這是 **Target Encoding**,刪。\n   - (D)「僅適用無序類別」:跟教材「適用有序類別」完全顛倒,刪（誤用於無序類別才是教材警告的風險）。\n\n**📖 章節來源**：chunks/L23301.txt line 207-215（類別資料處理-Label Encoding）\n\n**融會貫通**：Label Encoding 風險點 — 「**用在無序類別上,模型會誤以為有大小關係**」(如紅=0、藍=1、綠=2,模型會學「綠>紅」)。所以記法「**有序用 Label、無序用 One-hot**」;CatBoost、LightGBM 內部會自動處理這問題,但傳統模型必須手動分。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「One-hot vs Label Encoding 差異」→ 考點是兩者**適用對象的對比**。\n2. **正確答案 (A) 為何對**：教材原文 — 「One-hot 適用情境:**無序類別變數**（如城市名稱、產品類型）;為每個類別新增一個欄位（紅/藍/綠 → is_red、is_blue、is_green）;保留類別完整資訊,不引入順序誤解」。Label 則用於有序類別。(A) 同時對應兩者完整。\n3. **其他選項為何刪**：\n   - (B)「One-hot 僅適用有序類別」:完全顛倒,刪。\n   - (C)「兩者完全相同」:兩者編碼邏輯和適用場景都不同,刪。\n   - (D)「One-hot 必然壓縮維度」:相反,One-hot **大幅增加維度**（K 類別 → K 欄）,刪（這是 High Cardinality 限制）。\n\n**📖 章節來源**：chunks/L23301.txt line 217-225（類別資料處理-One-hot Encoding）\n\n**融會貫通**：One-hot 兩面性 — 「**保留完整資訊但維度爆炸**」。當類別數很大（如「商品 ID」有 10 萬類）,One-hot 會炸出 10 萬個欄位,記憶體炸裂、訓練超慢。這時應改用 **Target Encoding** 或 **Embedding**（深度學習做法）。記法「**無序用 One-hot,但類別太多改 Target**」。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Target Encoding「何者正確」+ 出現「目標變數統計量」→ 直擊這個方法的**核心機制**。\n2. **正確答案 (A) 為何對**：教材原文 — 「將每個類別以其在**目標變數上的統計量**（如平均值、中位數、轉換率）取代。例如針對每個『廣告來源』,以該來源的平均轉換率作為新特徵」。(A) 是教材定義原文。\n3. **其他選項為何刪**：\n   - (B)「必定造成維度爆炸」:相反,Target Encoding **不會造成維度爆炸**（一個類別變數還是一個欄位,只是值變了）,這正是它的優點,刪。\n   - (C)「只能用於迴歸」:教材沒此限制,分類用「類別→該類別的目標平均值」也可,刪。\n   - (D)「與 One-hot 等價」:邏輯完全不同（One-hot 不看目標,Target 才看）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 227-231（類別資料處理-Target Encoding）\n\n**融會貫通**：Target Encoding 適用情境 — 「**高基數類別變數（High Cardinality）且類別與目標高度關聯**」。例子:商品 ID（10 萬個）+ 想預測「會不會被購買」,直接 One-hot 爆炸,Target Encoding 把每個商品 ID 替換成「該商品歷史購買率」,一欄解決。**風險**:容易過擬合（在訓練集統計值有偷看標籤的嫌疑）,實務上要用 K-fold 或加 smoothing。",
    "23": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問時間欄位「結構化拆解」何者正確 → 考點是這個工程的標準做法。\n2. **正確答案 (B) 為何對**：教材原文 — 「原始的時間戳記可分解為『**年、月、日、星期幾、時段**』等,這些元素往往與目標變數具有潛在關聯（例如銷售高峰常出現在假日或下班時段）」。(B) 是教材原文濃縮。\n3. **其他選項為何刪**：\n   - (A)「必須完整保留為單一欄位,不能拆解」:跟教材立場完全相反,刪。\n   - (C)「拆解後資訊量必定下降」:相反,拆解通常**增加**模型可用的結構化資訊,刪。\n   - (D)「不可使用三角函數編碼」:教材明確說可用 sin/cos 做週期性編碼,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 237-245（時間與週期性資料轉換）\n\n**融會貫通**：時間特徵工程兩階段 — 「**拆解（結構化）+ 編碼（週期性）**」。先拆出年/月/日/星期/時段,再對「星期」「月份」這類**循環欄位**做 sin/cos 編碼（讓週日和週一在向量空間是相鄰的）。實務上零售 / 用電 / 流量預測,時間特徵常是模型最重要的訊號源。",
    "24": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「為什麼用 sin/cos 做週期性編碼」→ 考點是這個編碼方式存在的**動機**:解決 Label Encoding 在循環變數上的缺陷。\n2. **正確答案 (B) 為何對**：教材原文 — 「為保留時間的『**週期性結構**』（如一週七天的循環）,可使用三角函數進行週期性編碼。對週期性欄位（如星期幾、月份）使用 sin/cos 轉換,以保留**相鄰關係**」。直接用 Label Encoding（0-6）會讓星期日(6)和星期一(0)距離看起來很遠,但實際上週期上相鄰;sin/cos 解決這問題。\n3. **其他選項為何刪**：\n   - (A)「變成離散類別」:Label / One-hot 才是離散化,sin/cos 是連續變數,刪。\n   - (C)「變成多維 one-hot」:sin/cos 只產出 2 維連續值,不是 one-hot 邏輯,刪。\n   - (D)「轉成常態分佈」:這是分佈轉換的目的,跟 sin/cos 編碼無關,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 241-245（時間與週期性資料轉換-週期性編碼）\n\n**融會貫通**：週期性編碼公式 — `sin(2π · t / T)`, `cos(2π · t / T)`,T 是週期（7、12、24 等）。為什麼要 sin **加** cos?因為單獨 sin 會有兩個不同 t 對應同一值（如 sin 0 = sin π）,加上 cos 就能唯一定位。實務上時間 / 角度 / 經緯度 / 月份這類**循環變數**都該用這招。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問圖像增強「何者錯誤」+ (D) 說「減少訓練資料量」→ 直接違反資料增強的根本目的。\n2. **正確答案 (D) 為何對**：(D)「圖像資料增強會**減少**訓練資料量」**錯誤** — 教材原文「資料增強方法**透過產生額外的新樣本或對現有樣本進行變形,增加資料量、改善資料平衡**」。增強就是「擴增」,絕不可能減少。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「隨機翻轉、旋轉、裁剪、縮放、色彩變換」:教材圖像增強原文,正確,刪。\n   - (B)「人臉辨識、醫學影像分析案例」:教材列舉的應用,正確,刪。\n   - (C)「產生新樣本或變形,增加資料量、改善平衡」:教材資料增強定義,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 247-257（資料增強-圖像增強）\n\n**融會貫通**：資料增強三大目的 — 「**擴量、平衡、抗過擬合**」。圖像增強讓模型對旋轉、光照、裁切等變化更穩健（提升泛化）;醫學影像通常樣本少,增強尤其重要。看到「增強」+「減少」這種對立組合,直接刪。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 SMOTE 是什麼 + 出現「Synthetic Minority Oversampling Technique」全名 → 考點是這個方法的**資料型態與場景**。\n2. **正確答案 (A) 為何對**：教材原文 — 「SMOTE（Synthetic Minority Oversampling Technique）**增加稀少樣本**;案例:用於**不平衡資料分類問題（如詐欺偵測、疾病診斷）**」,屬於**表格式資料增強**。(A) 同時對應「表格 + 增加稀少 + 不平衡分類場景」三要素。\n3. **其他選項為何刪**：\n   - (B)「圖像隨機翻轉」:這是圖像增強,刪。\n   - (C)「同義字替換」:這是文字增強,刪。\n   - (D)「GAN 判別器對抗訓練」:跟 SMOTE 無關（GAN 是生成式模型架構,SMOTE 是 KNN 式合成）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 271-274（資料增強-表格資料 SMOTE）\n\n**融會貫通**：SMOTE 原理 — 「**在少數類樣本之間做線性插值合成新樣本**」（KNN 找鄰居 → 兩點之間隨機取點）。經典場景:詐欺偵測常常正負類比 1:99,直接訓練模型會躺平預測全為「正常」,SMOTE 把詐欺樣本擴增到 1:1 比例。注意:**只擴訓練集,不能擴測試集**（否則資料洩漏）。",
    "27": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問資料型態與增強方法對應「何者錯誤」→ 找出方法錯置到資料型態的選項。\n2. **正確答案 (D) 為何對**：(D)「表格式資料 → 同義字替換與隨機翻轉」**錯誤** — 同義字替換是**文字**方法、隨機翻轉是**圖像**方法,兩者都不適用表格資料。教材對表格資料的增強方法是 **SMOTE**(line 271-274)。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「圖像 → 翻轉、旋轉、裁剪、縮放、色彩變換」:教材圖像增強原文,正確,刪。\n   - (B)「文字 → 同義字替換、隨機插入/刪除/交換」:教材文字增強原文,正確,刪。\n   - (C)「時序 → 噪聲、Scaling/Jittering、窗口裁切」:教材時序增強原文,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 251-274（資料增強-四種資料型態方法對應）\n\n**融會貫通**：四種資料型態增強方法速查 — 「**圖像翻旋裁、文字換插刪、時序噪窗、表格 SMOTE**」。考試常見干擾就是把方法「對調」到錯誤的資料型態。看到表格 + 翻轉/同義字 就立刻刪。",
    "28": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「依任務類型設計特徵」何者正確 → 考點是分類 vs 迴歸的特徵偏好對比。\n2. **正確答案 (A) 為何對**：教材原文 — 「分類任務偏好具**離散分群能力**的特徵（如類別指標、區間編碼）;迴歸任務則偏好與**數值趨勢**密切相關的連續特徵」。(A) 完全對齊。\n3. **其他選項為何刪**：\n   - (B)「分類與迴歸設計完全相同」:跟教材對比邏輯相反,刪。\n   - (C)「分類只能用連續特徵」:絕對化錯誤（離散特徵反而是分類強項）,刪。\n   - (D)「迴歸只能用類別特徵」:絕對化 + 對調,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 280-283（特徵工程策略-依任務類型）\n\n**融會貫通**：任務 vs 特徵偏好記法 — 「**分類愛離散切群,迴歸愛連續趨勢**」。例如預測「是否流失」(分類）愛區間化的「年齡段」、「消費級距」;預測「明天股價」(迴歸）愛連續的「移動平均」、「成交量趨勢」。看到「完全相同」「只能用 X」絕對化敘述,先刪。",
    "29": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「依模型性質調整特徵處理」何者**錯誤** + (D) 說「樹模型對特徵尺度極為敏感,必須嚴格進行標準化」→ 直擊樹模型的標準誤區。\n2. **正確答案 (D) 為何對**：(D)「樹模型對特徵尺度極為敏感,必須嚴格標準化」**錯誤** — 樹模型分裂用「閾值（threshold）」進行（如「年齡 > 30?」）,**與特徵尺度無關**(不論年齡單位是歲還是月,分裂後結果一樣）;只有**線性模型、神經網路、距離式模型**才需要嚴格的尺度處理。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A)「線性模型需注意尺度與共線性」:教材原文,正確,刪。\n   - (B)「樹模型對類別編碼敏感,避免標籤編碼造成誤解」:教材原文,正確,刪。\n   - (C)「距離式模型（KNN）需保證單位一致性」:教材原文,正確,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 286-289（特徵工程策略-依模型性質）\n\n**融會貫通**：模型對尺度的敏感度排序 — 「**KNN/SVM/神經網路 ≫ 線性迴歸 ≫ 樹模型**」。樹模型唯一在意的是「**類別編碼**」(Label Encoding 用在無序類別會讓樹誤分裂）,不在意尺度。所以 XGBoost/LightGBM 上,標準化省略沒差,但 One-hot vs Label 要選對。",
    "30": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「時間性與序列關聯」特徵設計何者正確 + 出現 lag、rolling mean 關鍵字 → 考點是時序特徵工程標準工具箱。\n2. **正確答案 (B) 為何對**：教材原文 — 「提取**滯後值（lag）、移動平均（rolling mean）**等序列特徵;加入時間間隔、事件次數等動態指標」。(B) 完全對齊。\n3. **其他選項為何刪**：\n   - (A)「只能用單一原始時間戳,不能衍生新特徵」:跟教材鼓勵衍生序列特徵相反,刪。\n   - (C)「時間性特徵僅適用於分類任務」:絕對化錯誤（迴歸時序預測同樣大量用,如股價、銷量）,刪。\n   - (D)「序列特徵必然導致過擬合」:絕對化錯誤（適當使用反而提升模型）,刪。\n\n**📖 章節來源**：chunks/L23301.txt line 296-299（特徵工程策略-時間性與序列關聯）\n\n**融會貫通**：時序特徵兩大主力 — 「**Lag（滯後值）+ Rolling（移動視窗統計）**」。Lag 7 = 七天前的銷量、Rolling Mean 30 = 過去 30 天平均銷量。實務上時序預測（銷量、流量、設備故障）幾乎都靠這兩招衍生數十個特徵,加上「過去 7 天事件次數」「距上次購買的時間間隔」等動態指標,模型表現飛躍提升。",
    "31": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**相似樣本填補**」的**具體做法** → 考點是教材**明列**的 Hot Deck / KNN。\n2. **正確答案 (B) 為何對**：教材 line 29-31「相似樣本填補：如 **Hot Deck、K 最近鄰（KNN）填補**，**依據特徵相似度補全遺失值**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 刪除法 → 是另一類「刪除法（Deletion）」，不是「相似樣本填補」（line 19-21），刪。\n   - (C) 統一填 0 → 不屬於相似樣本填補方法，且降低變異性，刪。\n   - (D) 缺失指標編碼 → 是另一類「缺失指標編碼」（line 37-39），不是相似樣本填補，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 23-39（缺失值處理 - 填補法 Imputation）\n\n**融會貫通**：記法「**填補法四種：均值/相似/預測/指標**」：\n- **均值/中位數/眾數** → 簡單但降變異\n- **相似樣本（Hot Deck/KNN）** → 依特徵相似度\n- **預測模型** → 用迴歸/分類模型補（呼應 num 32）\n- **缺失指標編碼** → 新增欄位標示（呼應 num 3）\n\n考點常考「**識別**哪個方法屬哪一類」，記住四種代表方法即可秒解。",
    "32": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**預測模型填補**」的**適用情境** → 考點是 **特徵間高度相關**。\n2. **正確答案 (A) 為何對**：教材 line 33-35「預測模型填補：透過**迴歸或分類模型，預測缺值欄位**，**適用於特徵間具有高度相關性時**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 特徵完全獨立 → 反了，獨立時預測模型無從學習，刪。\n   - (C) 只能類別型 → 教材未限制資料型，數值/類別皆可用（迴歸 vs 分類），刪。\n   - (D) 資料量極小時 → 反了，資料量太小無法訓練填補模型，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 33-35（缺失值處理 - 預測模型填補）\n\n**融會貫通**：記法「**預測模型填補 = 特徵間高相關才有效**」。實務常見場景：醫療資料中「身高」與「體重」高度相關，若體重缺失可用身高（搭配性別、年齡）預測。但若是完全獨立的特徵（如客戶 ID 與消費金額），預測模型填補無法成立，回到均值/中位數較合適。",
    "33": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問哪個「**屬於機器學習方法**」偵測異常值 → 考點是教材**三大類**異常值偵測方法的歸類。\n2. **正確答案 (C) 為何對**：教材 line 53-55「機器學習方法：使用 **Isolation Forest、Local Outlier Factor（LOF）** 等演算法偵測高維資料中的異常」。(C) 直引教材。\n3. **其他選項為何刪**：\n   - (A) Z 分數 → 屬於「**統計方法**」（line 45-47），刪。\n   - (B) IQR → 屬於「**統計方法**」（line 45-47），刪。\n   - (D) 箱型圖、散佈圖、時間序列圖 → 屬於「**視覺化分析**」（line 49-51），刪。\n\n**📖 章節來源**：chunks/L23301.txt line 45-55（異常值偵測 - 三大類方法）\n\n**融會貫通**：記法表「**異常值偵測三類：統計 / 視覺 / ML**」：\n- **統計方法**：Z-score、IQR\n- **視覺化分析**：箱型圖、散佈圖、時間序列圖\n- **機器學習方法**：Isolation Forest、LOF（適合高維資料）\n\n考點常考「**配對**」——把方法歸到對的類別，三類各記兩個招牌即可。",
    "34": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問異常值「**截尾與轉換**」策略 → 考點是 **限上下邊界 + 對數/Box-Cox 轉換**。\n2. **正確答案 (A) 為何對**：教材 line 63-65「截尾與轉換：**將值限制於上下邊界內，或進行對數、Box-Cox 等轉換**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 必須完全刪除 → 反了，教材 line 67-69 還列出「標記保留」策略（欺詐偵測時保留），刪。\n   - (C) 僅能透過神經網路 → 截尾屬於規則式處理，與神經網路無關，刪。\n   - (D) 截尾後必然常態 → 反了，截尾只是限上下界，分佈不保證常態（須搭配對數/Box-Cox），刪。\n\n**📖 章節來源**：chunks/L23301.txt line 57-69（異常值處理策略）\n\n**融會貫通**：記法「**異常值處理三策略：移除 / 截尾轉換 / 標記保留**」：\n- **移除**：可確認錯誤輸入時\n- **截尾與轉換**：限上下邊界 + 對數/Box-Cox（呼應 num 19）\n- **標記保留**：異常本身有預測價值（如欺詐偵測）\n\n實務上 Z-score 偵測（呼應 num 4）+ 截尾轉換是最常見組合，避免一刀切刪除丟失資訊。",
    "35": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**t-SNE、UMAP**」的**適用情境** → 考點是 **保留鄰近關係 + 視覺化探索 + 不適合預測建模**。\n2. **正確答案 (A) 為何對**：教材 line 156-158「t-SNE、UMAP 等非線性降維方法：**可保留高維資料在低維空間中的鄰近關係，常用於視覺化探索，但不適合直接用於預測建模**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 線性 / 與 PCA 等價 → 反了，是**非線性**降維（line 156），刪。\n   - (C) 適合預測建模 → 反了，教材明說「**不適合直接用於預測建模**」，刪。\n   - (D) 只能文字資料 → 教材未限制資料型態，t-SNE 廣泛用於影像/基因等高維視覺化，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 156-158（降維方法 - 非線性降維）\n\n**融會貫通**：對比記法「**降維四法各司其職**」：\n- **PCA**（線性，無監督）→ 視覺化 + 雜訊過濾 + 建模加速\n- **LDA**（線性，有監督）→ 分類問題（呼應 num 15）\n- **t-SNE / UMAP**（非線性）→ 純視覺化探索，**不能拿去訓練模型**\n- **SVD** → 矩陣分解、文字（LSA）、推薦系統（呼應 num 36）\n\n陷阱：t-SNE 每次跑結果不同（隨機初始化），且座標無語意，所以**不能當特徵餵給下游模型**。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**SVD**」的**廣泛應用領域** → 考點是教材**明列**的 LSA、推薦系統。\n2. **正確答案 (B) 為何對**：教材 line 160-162「奇異值分解（SVD）：**適用於矩陣分解，廣泛應用於文字分析（如 LSA）、推薦系統等任務**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅影像辨識 → SVD 主要應用是文字/推薦，影像有 PCA 更常用，刪。\n   - (C) 只能時間序列 → 教材未限制 SVD 於時序，刪。\n   - (D) 非線性 / 與 t-SNE 同類 → SVD 是**線性**矩陣分解，與 t-SNE（非線性）不同類，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 160-162（降維方法 - SVD）\n\n**融會貫通**：記法「**SVD = 矩陣分解 = 文字 LSA + 推薦系統**」。實務應用：\n- **LSA（Latent Semantic Analysis）**：詞-文件矩陣分解 → 取得語意主題\n- **推薦系統**：用戶-物品評分矩陣分解 → Netflix Prize 經典做法（矩陣分解派）\n- 與 PCA 關係：PCA 本質就是中心化資料的 SVD，數學等價但應用情境不同\n\n考點常考「**配對**」——SVD ↔ 文字/推薦，記住兩個招牌應用即可。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**高維特徵直接建模**」可能的**問題** → 考點是教材引出特徵選擇的**動機**。\n2. **正確答案 (B) 為何對**：教材 line 113「面對大量特徵時，若直接進行建模可能導致**模型複雜度提升、運算時間延長，甚至造成過度擬合**的情況」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全沒影響 → 反了，是教材明列的三大風險，刪。\n   - (C) 自動降低運算成本 → 反了，高維反而拉高運算成本，刪。\n   - (D) 必定增加解釋性 → 反了，高維特徵反而降低解釋性，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 113-115（特徵選擇與降維方法 - 引言）\n\n**融會貫通**：記法「**高維三害：複雜度↑ + 時間↑ + 過擬合**」。這也是「維度詛咒（Curse of Dimensionality）」的具體體現：\n- **複雜度**：參數量隨維度爆炸\n- **運算時間**：距離計算、矩陣運算開銷大\n- **過擬合**：高維空間下樣本相對稀疏，模型容易記住噪聲\n\n對應解方就是**特徵選擇**（Filter/Wrapper/Embedded，呼應 num 11-13）+ **降維**（PCA/LDA/SVD/t-SNE，呼應 num 14-15、num 35-36），構成完整知識迴路。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**特徵轉換與標準化**」對哪類模型**尤其關鍵** → 考點是 **梯度/距離模型**。\n2. **正確答案 (B) 為何對**：教材 line 164-166「特徵轉換與標準化處理是機器學習建模前的重要前置步驟，**尤其對於基於梯度或距離計算的模型（如線性模型、SVM、KNN、神經網路）更為關鍵**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅樹模型關鍵 → 反了，樹模型對尺度**不敏感**（呼應 num 29），刪。\n   - (C) 僅分群模型 → 過窄，教材列舉的是梯度/距離類，包含線性/SVM/KNN/NN，刪。\n   - (D) 不重要可省略 → 反了，是重要前置步驟，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 164-166（特徵轉換與資料標準化 - 引言）\n\n**融會貫通**：記法「**標準化敏感模型四件套：線性 / SVM / KNN / NN**」。\n- **梯度類**：線性模型、神經網路 → 不同尺度導致梯度更新失衡\n- **距離類**：SVM、KNN → 大尺度特徵主導距離計算\n\n對比：**樹模型**（決策樹、隨機森林、XGBoost）按閾值切分，與尺度無關，所以不需要標準化（呼應 num 7、num 29）。考點常考「**配對**」——敏感 vs 不敏感模型清單。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 One-hot 在「**High Cardinality**」（高基數）時的**限制** → 考點是 **特徵維度爆炸 + 記憶體 + 訓練延遲**。\n2. **正確答案 (B) 為何對**：教材 line 224-225「限制：**類別數量多（High Cardinality）時會大幅增加特徵維度，造成記憶體消耗與模型訓練延遲**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全不影響 → 反了，是 One-hot 的核心限制，刪。\n   - (C) 自動壓縮維度 → 反了，是擴展維度（每類別一欄），刪。\n   - (D) 必然提升解釋性 → 解釋性與基數無直接因果，且高維反而難解釋，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 217-225（類別資料處理 - One-hot Encoding）\n\n**融會貫通**：記法「**One-hot 高基數 = 維度爆炸**」。實務情境：\n- **城市名稱**：台灣 22 縣市 → 還可接受\n- **郵遞區號**：上千個 → 維度爆炸，改用 **Target Encoding**（呼應 num 22、num 40）\n- **使用者 ID**：百萬級 → 絕對禁用 One-hot，改用 embedding 層\n\n對應決策樹：低基數有序 → Label；低基數無序 → One-hot；高基數有目標關聯 → Target Encoding。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Target Encoding 的「**適用情境與優點**」→ 考點是 **高基數 + 與目標高關聯 + 不爆維度**。\n2. **正確答案 (B) 為何對**：教材 line 229-231「適用情境：**高基數類別變數，且類別與目標變數具高度關聯**。優點：**能保留目標相關資訊，不造成維度爆炸**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 低基數 / 與目標無關 → 反了，低基數用 One-hot 即可；與目標無關時 Target Encoding 無意義，刪。\n   - (C) 永遠優於 One-hot → 過絕對，低基數無序類別 One-hot 仍是首選，刪。\n   - (D) 僅二元分類 → 教材未限制任務型，Target Encoding 可用迴歸/多元分類（轉換率/平均值），刪。\n\n**📖 章節來源**：chunks/L23301.txt line 227-231（類別資料處理 - Target Encoding）\n\n**融會貫通**：記法「**Target Encoding = 高基數救星 + 目標關聯神器**」。實務典型場景：\n- **廣告來源**（成千上百個）→ 用各來源的「平均轉換率」取代\n- **產品 SKU**（萬級）→ 用各 SKU 的「平均銷售額」取代\n- **使用者地區**（高基數）→ 用各地區的「平均流失率」取代\n\n陷阱：Target Encoding 容易**過擬合**（用了目標資訊），實務需配合**交叉驗證 + 平滑（smoothing）**避免訊息洩漏（target leakage）。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問選擇類別編碼策略應依據哪些**因素** → 考點是教材**四大評估維度**。\n2. **正確答案 (B) 為何對**：教材 line 202-203「選擇編碼策略時應依據**類別性質（是否具順序）、類別數量（基數）、模型類型與資料量**進行評估」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅儲存空間 → 過窄，只是其中一個影響因素（高基數會吃記憶體），刪。\n   - (C) 完全隨機 → 反了，是有規則的決策過程，刪。\n   - (D) 僅訓練時間 → 過窄，類別性質、基數、模型才是主軸，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 201-203（類別資料處理 - 引言）\n\n**融會貫通**：記法「**類別編碼四維評估：性質 + 基數 + 模型 + 資料量**」。決策樹邏輯：\n- **有序類別**（教育程度）→ Label Encoding（呼應 num 20）\n- **無序低基數**（城市、產品類型）→ One-hot Encoding（呼應 num 21）\n- **無序高基數 + 與目標高相關**（廣告來源、SKU）→ Target Encoding（呼應 num 22、num 40）\n- **模型類型**：樹模型對類別編碼敏感，避免 Label 誤用（呼應 num 29）\n\n考點常以「四維中缺一」設陷阱，記住四維齊全才完整。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**文字資料增強**」具體方法 → 考點是教材**明列**的四種文字操作。\n2. **正確答案 (B) 為何對**：教材 line 259-261「文字資料增強（Text Augmentation）：**同義字替換、隨機插入、隨機刪除、隨機交換字詞位置**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 翻轉旋轉裁剪 → 那是**圖像增強**（line 253-255），刪。\n   - (C) SMOTE → 那是**表格式資料增強**（line 271-274），刪。\n   - (D) 噪聲、窗口裁切 → 那是**時序資料增強**（line 265-267），刪。\n\n**📖 章節來源**：chunks/L23301.txt line 259-263（資料增強 - 文字資料增強）\n\n**融會貫通**：記法表「**資料增強四型態對應**」：\n- **圖像** → 翻轉/旋轉/裁剪/縮放/色彩變換（呼應 num 25）\n- **文字** → 同義字替換/插入/刪除/交換\n- **時序** → 噪聲/Scaling/Jittering/窗口裁切（呼應 num 43）\n- **表格** → SMOTE 合成（呼應 num 26）\n\n考點常考「**配對**」——某方法屬哪型態，記住四型態各自的代表方法即可秒解。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**時序資料增強**」具體做法**與**應用情境 → 考點是 **噪聲 + Scaling/Jittering + 窗口裁切 + 設備故障/股市**。\n2. **正確答案 (B) 為何對**：教材 line 265-269「時序資料增強（Time-series Augmentation）：透過**增加噪聲、局部時段調整（Scaling, Jittering）、窗口裁切**等方式擴充資料量。案例：**設備故障預測、股市趨勢分析**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 同義字替換 + 情感分析 → 那是文字增強（line 259-263），刪。\n   - (C) SMOTE + 影像 → 對應錯，SMOTE 屬表格、影像屬影像增強，刪。\n   - (D) 翻轉色彩 + 文字分類 → 對應錯，那是影像方法用在文字任務，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 265-269（資料增強 - 時序資料增強）\n\n**融會貫通**：記法「**時序增強三招：噪聲 / Scaling-Jittering / 窗口裁切**」。實務應用：\n- **設備故障預測**：感測器訊號加噪聲提升模型抗噪能力\n- **股市趨勢分析**：窗口裁切擴充訓練樣本，捕捉不同時間段特徵\n- **語音識別**：時間軸 Scaling 模擬不同語速\n\n注意：時序增強需保持「**時間順序性**」，不能像影像那樣隨機翻轉時間軸，否則破壞語意。",
    "44": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**特徵工程策略的本質定位**」→ 考點是教材**章節導讀**的核心觀念。\n2. **正確答案 (B) 為何對**：教材 line 277-278「特徵工程並非僅是技術操作，更涉及**資料理解、領域知識與建模目標的整合**。並非單純地套用預設的演算法或工具，而是一個**有目的、有規劃、需要深思熟慮的決策過程**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅是套用預設工具 → 反了，教材明說「**並非單純地套用**」，刪。\n   - (C) 與領域知識無關 → 反了，教材強調「**領域知識**」是核心要素，刪。\n   - (D) 只需考慮訓練速度 → 過窄，教材強調建模目標、解釋性等多元面向，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 276-278（特徵工程策略 - 引言）\n\n**融會貫通**：記法「**特徵工程 = 資料理解 + 領域知識 + 建模目標**」。這呼應整章的四大思考脈絡：\n- **依任務類型設計**（呼應 num 28）\n- **依模型性質調整**（呼應 num 29）\n- **探索隱含結構**（呼應 num 45）\n- **時間性與序列關聯**（呼應 num 30）\n\n實務啟示：自動化 AutoML 工具只能做到「技術操作」，但「領域知識整合」（如金融知識決定 lag 設定、醫療知識決定哪些症狀組合有意義）仍需人工，這也是資深資料科學家的價值所在。",
    "45": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**探索資料中的隱含結構**」具體做法 → 考點是教材**明列**的合成欄位 + 統計聚合兩招。\n2. **正確答案 (A) 為何對**：教材 line 291-294「探索資料中的隱含結構：**將原始欄位進行合成（如「單價 × 數量」生成總價）**。**利用統計聚合生成群體行為特徵（如「使用者在過去 7 天的點擊次數」）**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 刪除原始欄位 → 反了，探索隱含結構是**衍生新特徵**而非破壞原始資料，刪。\n   - (C) 強制 [0,1] 標準化 → 那是**尺度調整**（呼應 num 16），非「探索隱含結構」，刪。\n   - (D) 僅用單一原始特徵 → 反了，探索隱含結構正是要**合成 + 聚合**，刪。\n\n**📖 章節來源**：chunks/L23301.txt line 291-294（特徵工程策略 - 探索隱含結構）\n\n**融會貫通**：記法「**隱含結構兩招：欄位合成 + 統計聚合**」：\n- **欄位合成**：單價 × 數量 = 總價；身高 ÷ 體重平方 = BMI；經緯度 = 地理區域\n- **統計聚合**：使用者過去 N 天行為（點擊/購買/瀏覽次數）；商品過去 N 天銷售統計\n\n實務典型場景：電商推薦系統大量使用「使用者最近 7/30/90 天的行為聚合」作為特徵，效果遠超原始單筆事件記錄。呼應 num 30 的時間性序列特徵（lag、rolling mean），構成完整的特徵工程知識迴路。"
  },
  "mock_L23302": {
    "1": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**:題目問「模型選擇的**核心目的**」+ 出現「準確率」「部署」「資源」等字眼 → 考點是教材列的「模型選擇四大考量面向」(資料特性 / 任務需求 / 解釋性 / 運算資源)。\n2. **正確答案 (B) 為何對**:選項 (B) 完整覆蓋教材的兩層敘述 — 上層「直接決定後續訓練成效、泛化能力,以及部署後的可用性與效益」、下層「需兼顧資料特性、任務需求、解釋性與運算資源」,這就是教材 line 13-17 的標準定義。\n3. **其他選項為何刪**:\n   - (A) 只看準確率,其他不重要 → **單一面向誘答**,忽略部署/解釋性/資源,刪。\n   - (C) 模型選擇與部署無關 → 教材明說模型選擇會影響「部署後的可用性」,刪。\n   - (D) 只考量演算法理論複雜度 → 同樣是**單一面向**誘答,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 13-17(模型選擇的原則與考量因素)\n\n**融會貫通**:模型選擇=「**多目標最佳化**」,絕對不是只追求一個指標。記住四大面向口訣:**資料、任務、解釋、資源**。看到 (A)(C)(D) 這類「只考量 X」「只看 Y」的絕對化敘述就要警覺,通常都是錯的。",
    "2": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「分類任務的**正確**敘述」+ 選項出現「連續數值」「離散類別」「低維表示」「自動分組」 → 考點是**四大任務類型**(分類/迴歸/降維/聚類)的目標區辨。\n2. **正確答案 (B) 為何對**:分類 (Classification) 的標準定義就是「預測資料所屬的**離散類別**」,教材 line 23-31 列舉的常見情境(垃圾郵件偵測、疾病診斷、客戶流失預測)也與 (B) 完全一致。\n3. **其他選項為何刪**:\n   - (A) 預測**連續數值** → 這是**迴歸**的定義,屬性錯置,刪。\n   - (C) 壓縮為**低維表示** → 這是**降維**的目標,刪。\n   - (D) **自動分組,群內相似群間差異大** → 這是**聚類**的目標,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 23-31(任務類型與模型特性配對 - 分類)\n\n**融會貫通**:四大任務類型一句話對照 — **分類**=離散標籤、**迴歸**=連續數值、**降維**=高維→低維、**聚類**=自動分群。本題是把四個任務的定義打散後讓你選對 → swap 干擾的標準考法,務必背熟各任務的「一句話定義」。",
    "3": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問**並非**「分類任務常用模型」 → 找出選項中**不屬於分類**的演算法。\n2. **正確答案 (D) 為何對**:**K-means 是聚類(非監督)演算法**,目標是把資料自動分群,不是預測類別標籤;教材 line 69 明確把 K-means 歸到**聚類**章節,line 33-37 的分類常用模型清單**沒有** K-means。\n3. **其他選項為何刪**:\n   - (A) 決策樹、隨機森林 → 教材 line 35 列為分類常用模型(具解釋性、適用特徵混合資料),保留。\n   - (B) SVM → 教材 line 36 列為分類常用模型(適合邊界清晰、高維小樣本),保留。\n   - (C) 神經網路 → 教材 line 37 列為分類常用模型(高度非線性/影像語音),保留。\n\n**📖 章節來源**:chunks/L23302.txt line 33-37、69(分類任務常用模型 / 聚類模型)\n\n**融會貫通**:典型「**監督 vs 非監督混搭干擾**」題型 — 把 K-means(非監督聚類)塞進分類選項。記法:**K-means 開頭的「K」≠ 類別 K,而是分群數 K**。看到 K-means 出現在「分類/迴歸」相關題目就是干擾項。",
    "4": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問迴歸任務常用模型的**錯誤**敘述 → 找出**不屬於迴歸**的演算法。\n2. **正確答案 (D) 為何對**:**DBSCAN 是聚類演算法**(密度為基礎的非監督分群),適合有噪聲、群大小不均的資料,**不是迴歸**模型;教材 line 49-53 列的迴歸模型清單只有:線性迴歸、決策樹/隨機森林迴歸、神經網路,**沒有** DBSCAN。\n3. **其他選項為何刪**:\n   - (A) 線性迴歸簡單高解釋,適合線性趨勢 → 教材 line 51 標準敘述,正確,刪。\n   - (B) 決策樹/隨機森林迴歸擅長非線性與特徵交互 → 教材 line 52,正確,刪。\n   - (C) 神經網路適合大規模、高維、非線性 → 教材 line 53,正確,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 49-53、71(迴歸任務常用模型 / 聚類模型 DBSCAN)\n\n**融會貫通**:跟 Q3 同套路 — 把**聚類演算法**塞進迴歸選項。記法:**DBSCAN = Density-Based Spatial Clustering** 名字裡就有 Clustering,絕對不會是迴歸。",
    "5": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問聚類任務的「目標 + 模型」對應正確的選項 → 雙重檢核,需要同時對上**目標定義**和**對應模型特性**。\n2. **正確答案 (B) 為何對**:(B) 把兩件事都講對 —\n   - 目標:「自動分組,使群內相似、群間差異大」← 教材 line 65 的標準定義。\n   - 模型:「K-means → 球狀+群數已知」「DBSCAN → 噪聲+群大小不均」← 教材 line 69-71 的標準對應。\n3. **其他選項為何刪**:\n   - (A) 預測類別 + SVM/邏輯迴歸 → 這是**分類**的目標和模型,刪。\n   - (C) 降為低維 + PCA → 這是**降維**的目標和模型,刪。\n   - (D) 從序列預測未來 + LSTM → 這是**時序**任務的目標和模型,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 63-71(聚類任務目標與模型)\n\n**融會貫通**:**K-means vs DBSCAN** 最常考的差異記法 — K-means 要先指定 **K**(群數),適合**球狀均勻**;DBSCAN 不用指定 K,以密度劃分,適合**噪聲+不規則形狀**。本題用「目標+模型」雙重綁定考你,只要一邊錯就整題錯,務必兩邊都對上。",
    "6": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問降維任務的正確敘述 + 選項出現 PCA / Autoencoder 對比 → 考點是兩者的**線性 vs 非線性**屬性區別。\n2. **正確答案 (A) 為何對**:教材 line 81-82 明確指出:**PCA 保留最大變異方向,具解釋性(線性降維)**;**Autoencoder 透過 Encoder-Decoder,適合非線性降維與結構重建**。(A) 完整對應這兩個屬性。\n3. **其他選項為何刪**:\n   - (B) PCA 是**非線性**降維 → 屬性對調,PCA 是線性的,刪。\n   - (C) PCA 與 Autoencoder 目標**完全相反** → 兩者目標都是降維,只是手法不同(線性 vs 非線性),不是相反,刪。\n   - (D) Autoencoder **無法**用於降維 → 反事實,Autoencoder 的 latent code 本來就是降維用途,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 73-82(降維任務 / PCA / Autoencoder)\n\n**融會貫通**:**PCA vs Autoencoder** 一句話對照 — PCA=**線性 + 可解釋(看 component)**;Autoencoder=**非線性 + 黑盒但表達力強**。實務上 PCA 先做 baseline,如果線性壓不下去再上 Autoencoder。",
    "7": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問時間序列模型的**錯誤**敘述 → 找出**不屬於時序**的演算法。\n2. **正確答案 (D) 為何對**:**K-means 是聚類演算法**,不是時間序列模型;教材 line 84-106 列的時序模型清單 = RNN/LSTM/GRU、TCN、ARIMA,**沒有** K-means。\n3. **其他選項為何刪**:\n   - (A) RNN/LSTM/GRU 適合長序列記憶與依賴 → 教材 line 96-98 標準敘述,正確,刪。\n   - (B) TCN 對長期依賴穩定 → 教材 line 100-102,正確,刪。\n   - (C) ARIMA 適合短期+週期+小資料 → 教材 line 104-106,正確,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 84-106(序列與時間序列任務)\n\n**融會貫通**:K-means 在這份教材是「**萬年干擾項**」(Q3、Q4、Q7、Q30 都拿它來干擾)。記住:K-means **永遠**屬於非監督聚類,看到它出現在分類/迴歸/時序選項就是錯的。",
    "8": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問 TCN 的特色正確敘述 → 考點是 TCN 在教材中的**唯一描述句**。\n2. **正確答案 (B) 為何對**:教材 line 100-102 對 TCN 的描述極簡 — 「時序卷積網路,**對長期依賴具有穩定性**」,屬序列建模常用模型;(B) 直接複述此句。\n3. **其他選項為何刪**:\n   - (A) TCN 是 K-means 的時序變種 → 完全無關,K-means 是聚類,TCN 是 CNN 變體,刪。\n   - (C) TCN 僅能處理影像 → 雖然 TCN 衍生自 CNN(處理影像),但用在時序問題,刪。\n   - (D) TCN 只能用於分類 → TCN 是序列建模(可分類也可回歸/預測),「只能」太絕對,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 100-102(時序卷積網路 TCN)\n\n**融會貫通**:**RNN vs TCN** 差異 — RNN 系列(LSTM/GRU)靠記憶單元、序列依賴;TCN 用因果卷積+擴張卷積處理時序,對**長期依賴更穩定**(因為梯度路徑短)。實務上長序列預測 TCN 常勝過 LSTM。",
    "9": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問 ARIMA 的正確敘述 + 選項提到「深度學習」「影像」「LSTM 等價」 → 考點是 ARIMA 的**屬性與適用情境**。\n2. **正確答案 (B) 為何對**:教材 line 104-106 對 ARIMA 的定位 — 「**統計模型**,適合**短期、週期性明顯且資料量不大**之應用」;(B) 三個關鍵詞(統計 / 短期週期 / 小資料)完整對應。\n3. **其他選項為何刪**:\n   - (A) ARIMA 屬深度學習 → ARIMA 是統計模型(AR+I+MA),不是 DL,刪。\n   - (C) 適用大規模影像 → ARIMA 是一維時序模型,完全不適合影像,刪。\n   - (D) 與 LSTM 完全等價 → ARIMA(線性統計)與 LSTM(非線性 DL)機制完全不同,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 104-106(ARIMA 統計模型)\n\n**融會貫通**:**時序模型三大派系** — 統計派(ARIMA、Prophet)、深度循環派(RNN/LSTM/GRU)、深度卷積派(TCN)。資料小+短期週期 → 統計派;資料大+長期依賴 → 深度派。ARIMA 是統計派的代表。",
    "10": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目說「小型資料集(數百至數千筆樣本)」+ 問模型選擇正確敘述 → 考點是**資料規模 ↔ 模型複雜度**對應原則。\n2. **正確答案 (A) 為何對**:教材 line 112-115 明確指出 — 小資料應選「**結構簡單、參數數量少**」的模型(線性迴歸、邏輯迴歸、決策樹、Lasso/Ridge),目的是**降低過擬合風險**;(A) 完整對應。\n3. **其他選項為何刪**:\n   - (B) 小資料用 DNN 效果一定最好 → 反事實,小資料用 DNN 必過擬合,刪。\n   - (C) 不需要特徵工程 → 反事實,教材 line 115 強調小資料**更需要特徵工程**,刪。\n   - (D) 立即上 GPU 分散式 → 小資料根本不需要分散式,殺雞用牛刀,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 112-115(小型資料集模型選擇)\n\n**融會貫通**:**資料量 ↔ 模型複雜度** 鐵律 — 小資料配簡單模型(避免過擬合)、大資料配複雜模型(發揮表達力)。「深度學習萬能」是常見**誤觀念干擾項**,選項出現「DNN 一定最好」「不需要特徵工程」基本都是錯的。",
    "11": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問中型資料集(數千至數十萬)模型選擇**錯誤**敘述 → 找出與教材敘述不符的選項。\n2. **正確答案 (D) 為何對**:教材 line 117-120 沒有提到「必須使用 GPU 分散式訓練」,反而說「**計算資源與訓練時間,會成為實務上必須考量的限制因素**」— 是要**考量**,不是絕對化要求;單機 CPU/GPU 也能處理中型資料,(D) 過度絕對化,**錯誤**。\n3. **其他選項為何刪**:\n   - (A) 支持隨機森林、XGBoost、LightGBM 等高表現力模型 → 教材 line 119,正確,刪。\n   - (B) 嘗試集成與超參數優化 → 教材 line 120,正確,刪。\n   - (C) 計算資源與訓練時間成為考量 → 教材 line 120 直接寫出來,正確,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 117-120(中型資料集模型選擇)\n\n**融會貫通**:選項中出現**絕對化字眼**(必須、一定、完全、永遠、絕對不、僅能)時要警覺,這類常是干擾項。教材通常用「考量」「可進一步」「適合」等較緩和的措辭。",
    "12": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目說「大型資料集(百萬級以上)」+ 問正確敘述 → 考點是**大資料的舞台**。\n2. **正確答案 (A) 為何對**:教材 line 122-125 明確指出 — 「大規模資料能發揮**深度模型**的表現潛力,特別是在**非結構化資料**(影像、語音、文字)處理上」;(A) 三個關鍵詞(深度模型 / 非結構化 / 影像語音文字)完整對應。\n3. **其他選項為何刪**:\n   - (B) 大資料只能用線性模型 → 反事實,大資料**才是 DNN 的舞台**,刪。\n   - (C) 不需要 GPU 或分散式 → 反事實,教材 line 125 明說大資料需要**擴展性 + GPU/多機**,刪。\n   - (D) 不需考量擴展性 → 反事實,大資料訓練最強調擴展性,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 122-125(大型資料集模型選擇)\n\n**融會貫通**:**資料規模三檔** — 小資料(數百~千):簡單模型+特徵工程;中資料(千~十萬):集成樹模型(RF/XGB/LGBM);大資料(百萬+):深度神經網路+GPU 分散式。要記住每檔對應的「主力模型」。",
    "13": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問「資料規模 vs 模型複雜度」**關係**的正確敘述 → 考點是**對應方向**的記憶。\n2. **正確答案 (B) 為何對**:這是教材 line 110-125 整段「資料規模與模型選擇」的**主軸論述** — 小資料配簡單模型(降過擬合)、大資料配複雜模型(發揮潛力);(B) 把方向講對。\n3. **其他選項為何刪**:\n   - (A) 資料量與模型複雜度無關 → 反事實,兩者強相關,刪。\n   - (C) 資料少用複雜模型 → 方向**對調**,會造成嚴重過擬合,刪。\n   - (D) 資料多用簡單模型 → 方向**對調**,浪費資料,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 110-125(資料規模與模型選擇)\n\n**融會貫通**:**「資料量 ↔ 模型複雜度」對應口訣** — 「小資料配小模型,大資料配大模型」。(C)(D) 是典型**方向對調干擾**,看到這類「資料少用複雜」「資料多用簡單」就是干擾項。",
    "14": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問小型資料集中**特徵工程**的重要性 → 考點是小資料下的**特殊應對**。\n2. **正確答案 (B) 為何對**:教材 line 115 直接寫:「資料前處理與**特徵工程的重要性提高**,需以較強的**先驗假設**支撐模型效果」;(B) 直接複述。邏輯上 — 模型能學到的訊號少,需要用領域知識/特徵工程**手動注入**訊息。\n3. **其他選項為何刪**:\n   - (A) 小資料不需要特徵工程 → 反事實,反而**更需要**,刪。\n   - (C) 特徵工程只在大資料才有意義 → 反事實,大資料反而可依賴模型自己學特徵,刪。\n   - (D) 特徵工程會降低小資料表現 → 反事實,加上去通常能補強表現,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 115(小型資料集特徵工程)\n\n**融會貫通**:**資料量 ↔ 特徵工程重要性** 對應 — 小資料時特徵工程的角色「**從輔助→主角**」(因為模型沒有足夠資料自行發掘規律);大資料時特徵工程角色「**從主角→輔助**」(深度模型自己會學)。深度學習在大資料的勝出,某種程度就是**自動特徵學習**勝過手工特徵。",
    "15": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問**高解釋性模型**的正確敘述 → 考點是教材列的**三個高解釋性代表**。\n2. **正確答案 (A) 為何對**:教材 line 131-133 明確指出 — 「線性迴歸、邏輯迴歸與**淺層決策樹**等模型具備**結構簡單、邏輯可視化**的特性」,決策過程可透過係數、分割規則直接解釋;(A) 完整對應。\n3. **其他選項為何刪**:\n   - (B) 隨機森林是高解釋性 → 教材 line 137-141 把 RF 歸為**低解釋性**模型,刪。\n   - (C) 深度神經網路天生高解釋 → 反事實,DNN 是典型**黑盒**模型,刪。\n   - (D) 高解釋性模型無法用於分類 → 反事實,邏輯迴歸/淺層決策樹本來就是分類模型,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 131-135(高解釋性模型)\n\n**融會貫通**:**高 vs 低解釋性模型分界** — 高解釋:**線性/邏輯/淺樹**(看係數、看 split);低解釋:**RF/GBT/DNN**(模型結構複雜,需 SHAP/LIME 輔助)。注意「**淺層**決策樹」高解釋,但**深層**決策樹或樹集成就不算高解釋了。",
    "16": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問哪些**應用情境特別強調**可解釋性 → 考點是**高風險/合規敏感場域**的辨識。\n2. **正確答案 (B) 為何對**:教材 line 129、135 明確列出對可解釋性有要求的領域 = 「**醫療、金融、法遵**」,需追溯模型決策邏輯;(B) 列的醫療診斷、信貸評分、法規監管完全對應。\n3. **其他選項為何刪**:\n   - (A) 影像分類比賽 → 比賽看 accuracy 不看解釋性,刪。\n   - (C) 電玩遊戲 AI → 沒有合規/法律監管需求,刪。\n   - (D) 純粹研究實驗 → 探索性研究通常重精度不重解釋,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 129-135(模型解釋性需求 - 應用情境)\n\n**融會貫通**:**為何醫療/金融/法遵特別需要可解釋性?** 因為這些領域:(1) **影響使用者重大權益**(健康、財產、法律);(2) **法規要求透明**(GDPR、銀行監理);(3) **錯誤代價極高**(誤診、信用拒絕)。記法:**「人命關天 + 錢 + 法律」三大場域 = 高解釋性需求**。",
    "17": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問**低解釋性模型可解釋性技術**對應**錯誤**選項 → 找出**不屬於可解釋性技術**的選項。\n2. **正確答案 (D) 為何對**:**One-hot Encoding 是類別資料編碼方法**(把類別變數轉為 binary vector),不是可解釋性技術;教材 line 141 列的可解釋性技術明確 = **SHAP / LIME / PDP** 三種,沒有 One-hot。\n3. **其他選項為何刪**:\n   - (A) SHAP → 教材 line 141 明列,正確,刪。\n   - (B) LIME → 教材 line 141 明列,正確,刪。\n   - (C) PDP(Partial Dependence Plot) → 教材 line 141 明列,正確,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 137-141(低解釋性模型 + 可解釋性技術)\n\n**融會貫通**:**三大可解釋性技術記法** — **SHAP**(基於 Shapley value,全局+局部都行)、**LIME**(局部線性近似)、**PDP**(顯示某特徵與預測的邊際關係)。One-hot 屬於**特徵工程/編碼**階段,跟可解釋性無關 — 這種「**階段錯置干擾**」要警覺。",
    "18": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問 RF、GBT、DNN 的**解釋性特性**正確敘述 → 考點是這三類為何被歸為**低解釋性**。\n2. **正確答案 (B) 為何對**:教材 line 137-139 明確指出 — 「雖具備高度預測能力,但其結構**高度非線性且包含大量參數**,使得模型的決策過程**不易直觀理解**」;(B) 完全複述,並指出建議搭配 SHAP/LIME/PDP。\n3. **其他選項為何刪**:\n   - (A) 都屬高解釋性 → 反事實,被歸為**低解釋性**,刪。\n   - (C) 解釋性比線性迴歸高 → 線性迴歸是高解釋代表,RF/GBT/DNN 結構複雜,反向,刪。\n   - (D) 完全無法被解釋 → 太絕對,可透過 SHAP/LIME/PDP **輔助**解釋,只是不直觀,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 137-141(低解釋性模型)\n\n**融會貫通**:**低解釋 ≠ 無解釋** — 黑盒模型可以用 SHAP/LIME 等技術**事後解釋**(post-hoc),只是「直觀可讀性」不如線性模型。(D) 的「完全無法解釋」是典型過度絕對干擾。",
    "19": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問淺層決策樹**為何屬高解釋性** → 考點是**機制原因**而非定義。\n2. **正確答案 (A) 為何對**:教材 line 131-133 講明 — 淺層決策樹「**結構簡單、邏輯可視化**」,決策路徑可透過分割規則直接呈現(if-then-else 樹狀圖),使用者能逐步追溯;(A) 直接對應。\n3. **其他選項為何刪**:\n   - (B) 權重數量極多 → 反事實,**淺層**樹的分裂節點極少才高解釋,「權重多」是 DNN 特性,刪。\n   - (C) 完全等同於深度神經網路 → 反事實,淺樹簡單、DNN 複雜,完全相反,刪。\n   - (D) 無法做預測 → 反事實,淺樹就是用來預測,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 131-133(高解釋性模型 - 淺層決策樹)\n\n**融會貫通**:**淺層 vs 深層決策樹** — 淺層(深度 ≤ 3-5):每個 split 可視化,高解釋;深層(深度大):雖然單棵樹仍可畫,但 split 數量爆炸難以人類閱讀。「**深度**」是決策樹解釋性的關鍵分界。",
    "20": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目說「資源受限場景(IoT、手機 App、邊緣裝置)」+ 問正確敘述 → 考點是**邊緣部署**對模型的特殊要求。\n2. **正確答案 (A) 為何對**:教材 line 147-149 明確指出 — 「適合選用**模型結構簡單、參數少、推論快速**的演算法,例如簡單決策樹、邏輯迴歸或經壓縮後的小型神經網路」,亦可用**剪枝/量化**瘦身;(A) 完整對應。\n3. **其他選項為何刪**:\n   - (B) 直接用最大型 DNN → 反事實,邊緣裝置記憶體/算力受限,扛不住大模型,刪。\n   - (C) 不需考慮模型大小 → 反事實,邊緣部署**最在意**模型大小,刪。\n   - (D) 完全不能用任何 NN → 太絕對,「**經壓縮後的小型 NN**」仍可用,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 147-149(資源受限場景)\n\n**融會貫通**:**邊緣部署 = 小、快、輕** — 三個指標:模型大小(MB)、推論延遲(ms)、功耗(mW)。常見策略:(1) 選輕量架構(MobileNet、TinyML);(2) 壓縮現有模型(剪枝/量化/蒸餾)。",
    "21": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問**並非**用於模型瘦身的技術 → 找出**不屬於模型壓縮**的選項。\n2. **正確答案 (D) 為何對**:**資料增強(Data Augmentation)是擴充訓練資料的技術**(如圖片旋轉、文字 paraphrase),目的是讓模型看到更多樣本,**不是壓縮模型**;教材 line 149、157 提到的瘦身技術 = **剪枝 / 量化 / 蒸餾**,沒有資料增強。\n3. **其他選項為何刪**:\n   - (A) 模型剪枝 → 教材 line 149 列為模型瘦身技術,刪。\n   - (B) 模型量化 → 教材 line 149 列為模型瘦身技術,刪。\n   - (C) 知識蒸餾 → 教材 line 157 列為即時推論加速技術(把大模型 → 小模型),屬瘦身,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 149、157(模型瘦身技術)\n\n**融會貫通**:**模型瘦身三劍客** — **剪枝**(刪掉不重要的權重/神經元)、**量化**(FP32→INT8)、**蒸餾**(student 學 teacher 行為)。**資料增強**屬於「**資料層級**」處理,跟模型壓縮不同階段,屬於**階段錯置干擾**。",
    "22": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問**即時推論需求**情境的考量 → 考點是**延遲控制**的核心策略。\n2. **正確答案 (B) 為何對**:教材 line 155-158 明確指出 — 在秒級/毫秒級回應任務(金融交易、推薦系統)中,須**優先考量推論延遲與效能**,可搭配 **caching、模型蒸餾**等技術;(B) 完整對應。\n3. **其他選項為何刪**:\n   - (A) 即時推論不需考量延遲 → 反事實,延遲**就是**核心議題,刪。\n   - (C) 即時推論只能用最複雜模型 → 反事實,複雜模型**慢**,即時更傾向用小快模型,刪。\n   - (D) 即時推論完全等同於資源受限 → 兩者有重疊但不相同 — 雲端資料中心也可能要即時推論(算力充足但要快),刪。\n\n**📖 章節來源**:chunks/L23302.txt line 155-158(即時推論需求)\n\n**融會貫通**:**即時推論 vs 資源受限** 易混淆 — 即時推論強調「**延遲**」(無論在哪部署),資源受限強調「**裝置算力/記憶體**」;兩者有交集(邊緣設備往往也要即時)但不完全相同。記法:**即時=延遲、受限=容量**。",
    "23": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問**偏差(Bias)**的正確敘述 → 考點是 Bias 的**定義 + 對應現象**。\n2. **正確答案 (B) 為何對**:教材 line 175-179 明確指出 — Bias 是「對資料結構的**擬合能力不足**,無法有效捕捉資料中的主要趨勢,導致系統性誤差偏高(**欠擬合**)」;(B) 完整複述,並標出對應現象 = under-fitting。\n3. **其他選項為何刪**:\n   - (A) Bias 指對訓練雜訊過於敏感 → 這是 **Variance** 的定義,屬性錯置,刪。\n   - (C) Bias 與模型複雜度無關 → 反事實,複雜度↑ → Bias↓,強相關,刪。\n   - (D) Bias 越高泛化越好 → 反事實,Bias 高=欠擬合=模型太弱,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 175-179(偏差 Bias 定義)\n\n**融會貫通**:**Bias vs Variance 一句話對照** — **Bias=欠擬合=模型太簡單抓不到趨勢**;**Variance=過擬合=模型太複雜學到雜訊**。記法口訣:「**B 簡 V 雜**」(Bias 來自簡單模型;Variance 來自雜訊敏感)。",
    "24": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問**變異(Variance)**的正確敘述 → 考點是 Variance 的**定義 + 對應現象**。\n2. **正確答案 (B) 為何對**:教材 line 181-183 明確指出 — Variance 是「對訓練資料的**細微差異或雜訊過於敏感**,導致模型在不同資料集上的表現差異大、**泛化能力差**(過擬合)」;(B) 完整對應 over-fitting。\n3. **其他選項為何刪**:\n   - (A) Variance 指擬合不足 → 這是 **Bias** 的定義,屬性錯置,刪。\n   - (C) Variance 越高越好 → 反事實,Variance 高=過擬合=泛化差,刪。\n   - (D) Variance 完全等同 Bias → 反事實,兩者意義完全相反,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 181-183(變異 Variance 定義)\n\n**融會貫通**:Bias 與 Variance 是 ML 最經典的一對概念,常考**屬性對調干擾**(把 A 的定義安到 B 身上)。看到「對雜訊敏感」「不同資料集表現差異大」「過擬合」 → **Variance**;看到「擬合不足」「無法捕捉趨勢」「欠擬合」 → **Bias**。",
    "25": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問**模型複雜度 vs Bias/Variance 的關係** → 考點是**權衡**(Tradeoff)方向。\n2. **正確答案 (A) 為何對**:教材 line 184-185 明確指出 — 「模型複雜度的提升通常伴隨**偏差的降低與變異的提高**,因此模型選擇應在二者之間取得適當平衡」;(A) 完整對應這個 tradeoff 方向。\n3. **其他選項為何刪**:\n   - (B) 越複雜偏差越高 → 方向**對調**,複雜度↑ → Bias↓,刪。\n   - (C) 越複雜變異越低 → 方向**對調**,複雜度↑ → Variance↑,刪。\n   - (D) Bias 與 Variance 同向變動 → 反事實,兩者**反向**才是 tradeoff,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 184-185(偏差-變異權衡)\n\n**融會貫通**:**Bias-Variance Tradeoff 圖像化記憶** — X 軸=模型複雜度,Y 軸=錯誤;**Bias** 隨複雜度單調**下降**(藍線);**Variance** 隨複雜度單調**上升**(紅線);總誤差是 U 型曲線,**最低點 = 最佳複雜度**。教材表格 line 167-171 就是這個 U 型的具現。",
    "26": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問**低複雜度模型(線性迴歸)**的 Bias/Variance 特性 → 對應教材 tradeoff 的**左側端點**(Low Complexity 行)。\n2. **正確答案 (A) 為何對**:教材 line 186-188 直接寫 — 低複雜度模型「**偏差較高、變異較低**,穩定且具解釋性,但無法處理複雜關係」;對應教材表格 line 168 Low 行(High Bias / Low Variance);(A) 完整複述。\n3. **其他選項為何刪**:\n   - (B) 偏差低、變異高 → 方向**對調**,這是**高複雜度模型**特性,刪。\n   - (C) 偏差變異都極高 → 反事實,只有非常糟的模型才會雙高,刪。\n   - (D) 偏差變異都極低 → 這是**最佳模型**(Optimum)特性,不是低複雜度,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 186-189(低複雜度模型 Bias/Variance)\n\n**融會貫通**:**低複雜度模型對照表** — 線性迴歸/邏輯迴歸/淺層決策樹 = **高 Bias + 低 Variance + 高解釋 + 穩定**;這就是為何高解釋性模型常與低複雜度模型重疊(都來自簡單結構)。",
    "27": "**答案**:(B)\n\n**解題思路**:\n1. **關鍵線索**:題目問**高複雜度模型(DNN)**的 Bias/Variance 特性 → 對應教材 tradeoff 的**右側端點**(High Complexity 行)。\n2. **正確答案 (B) 為何對**:教材 line 190-192 直接寫 — 高複雜度模型「**偏差低、變異高**,可擬合複雜模式,但需更多資料或額外的**正則化方法**以控制變異」;對應教材表格 line 171 High 行(High Variance / Low Bias);(B) 完整對應。\n3. **其他選項為何刪**:\n   - (A) 偏差高、變異低 → 方向**對調**,這是**低複雜度模型**特性,刪。\n   - (C) 偏差變異都極高 → 反事實,刪。\n   - (D) 偏差變異都極低 → 這是 Optimum 不是 High,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 190-192(高複雜度模型 Bias/Variance)\n\n**融會貫通**:**高複雜度模型對照表** — DNN/隨機森林/梯度提升 = **低 Bias + 高 Variance + 黑盒**,擬合力強但易過擬合,**控制 Variance 三招**:(1) 加資料、(2) 正則化(L1/L2/Dropout)、(3) Early stopping。Q26 vs Q27 是**端點對調干擾**的典範。",
    "28": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問**並非**用於減少高複雜度模型 Variance 的方法 → 找出**會反方向放大 Variance** 的選項。\n2. **正確答案 (D) 為何對**:**增加隱藏層 → 模型更複雜 → Variance 更大**(複雜度與 Variance 同向);這不是「減少」Variance,而是**放大** Variance,違背題目要求,(D) 是「並非」的答案。\n3. **其他選項為何刪**:\n   - (A) 增加訓練資料 → 標準減 Variance 招式(資料越多越不會被局部雜訊干擾),刪。\n   - (B) L1/L2 正則化 → 教材 line 192 明列「**正則化方法**控制變異」,刪。\n   - (C) Dropout → DNN 的標準正則化技術(隨機關閉神經元),減 Variance,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 190-192(高複雜度模型 Variance 控制)\n\n**融會貫通**:**減 Variance 三大招** — (1) **加資料**(包括資料增強);(2) **加正則化**(L1/L2/Dropout/Early stopping);(3) **降複雜度**(減層、減神經元)。(D) 是反向操作 — 「增加複雜度」正好放大 Variance,屬於**目標反向干擾**。",
    "29": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**:題目問「模型選擇必須兼顧訓練與部署」的正確敘述 → 考點是教材**收尾論述**的核心觀念。\n2. **正確答案 (A) 為何對**:教材 line 159 直接寫 — 「模型選擇與部署應**同步規劃**,避免訓練完成後才發現模型無法實際上線執行」;(A) 直接複述。實務情境:訓練超準但推論延遲 5 秒,線上根本不能用,就是反例。\n3. **其他選項為何刪**:\n   - (B) 只看訓練效能,部署無關 → 反事實,教材 line 159 明說兩者必須同步,刪。\n   - (C) 部署是維運的事,與資料科學家無關 → 反事實,模型選擇階段就要考量部署,刪。\n   - (D) 訓練完一定能部署 → 反事實,訓練完跑不動是常見情境(模型太大、推論慢),刪。\n\n**📖 章節來源**:chunks/L23302.txt line 159(模型選擇與部署同步規劃)\n\n**融會貫通**:**訓練/部署同步規劃** 是 MLOps 核心概念 — 選模型時就要考量:(1) **推論延遲**是否符合 SLA;(2) **模型大小**是否塞得進部署環境;(3) **依賴套件**是否能在生產環境安裝;(4) **更新成本**(re-train 頻率)。Q29 與 Q1(模型選擇核心目的)首尾呼應 — 部署考量是模型選擇四大面向之一。",
    "30": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問**任務類型 ↔ 模型配適**的**錯誤**對應 → 找出**模型與任務錯配**的選項。\n2. **正確答案 (D) 為何對**:**ARIMA 與 GRU 都是時間序列模型**(ARIMA 是統計時序、GRU 是循環神經網路時序),**不是降維方法**;教材 line 73-82 降維對應的是 **PCA 與 Autoencoder**,(D) 屬於跨章節錯配。\n3. **其他選項為何刪**:\n   - (A) 分類 → 決策樹/SVM/神經網路 → 教材 line 33-37 標準對應,正確,刪。\n   - (B) 迴歸 → 線性迴歸/決策樹迴歸/神經網路 → 教材 line 49-53,正確,刪。\n   - (C) 聚類 → K-means / DBSCAN → 教材 line 69-71,正確,刪。\n\n**📖 章節來源**:chunks/L23302.txt line 63-106(任務類型與模型配對 - 跨段)\n\n**融會貫通**:**任務↔模型對照總表**(必背) — 分類:RF/SVM/NN|迴歸:線性迴歸/RF/NN|聚類:K-means/DBSCAN|降維:**PCA/Autoencoder**|時序:RNN/LSTM/GRU/TCN/ARIMA。Q30 是本章的**綜合測驗題**,把五大任務各拉一個對應出來,把時序模型(ARIMA/GRU)錯置到降維是典型**任務錯配干擾**。",
    "31": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型選擇與架構設計」的**實務考量** → 考點是教材**前言**列出的多項因素。\n2. **正確答案 (B) 為何對**：教材 line 9「選擇適合任務的模型與設定適當的模型架構,是模型表現與產出符合關鍵因素。模型選擇與架構設計不僅需**考量資料規模、特徵性質與任務類型**,還必須**平衡模型複雜度、運算資源限制,以及實務應用場景中對模型解釋性的需求**」。(B) 完整對應。\n3. **其他選項為何刪**：\n   - (A) 只需考量資料規模 → 反了,教材明列多項考量,刪。\n   - (C) 解釋性需求僅學術 → 反了,line 9 與 line 129 明指醫療、金融、法遵等實務情境必要,刪。\n   - (D) 與模型表現無關 → 反了,line 9 「直接決定模型表現與產出」,刪。\n\n**章節來源**：chunks/L23302.txt line 9（前言與章節導覽）\n\n**融會貫通**：記法「**模型選擇五考量：資料規模 + 特徵性質 + 任務類型 + 運算資源 + 解釋性**」。五件事缺一不可,實務上常以決策表方式逐項評估再選模型。",
    "32": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型架構選擇範圍變廣」的**雙重影響** → 考點是教材**正反兼述**的描述。\n2. **正確答案 (B) 為何對**：教材 line 11「隨著機器學習演算法的發展日益成熟,**從簡單的線性模型、樹模型,到深度學習的複雜神經網路**,模型架構的**選擇範圍變得更廣、更靈活,但也更具挑戰性**」。(B) 直引教材,正反並陳。\n3. **其他選項為何刪**：\n   - (A) 只是優勢 → 反了,教材同時提到「也更具挑戰性」,刪。\n   - (C) 只會降低表現 → 反了,教材的措辭是「更廣、更靈活」,刪。\n   - (D) 線性與樹模型已淘汰 → 反了,教材明列「從線性、樹到深度」三種仍並存,刪。\n\n**章節來源**：chunks/L23302.txt line 11（前言與章節導覽）\n\n**融會貫通**：記法「**選擇範圍 = 雙面刃,廣 + 靈活 ⇄ 挑戰性大**」。挑戰性具體為何？呼應 num 31 的五考量 — 候選越多越難評估各維度。實務上會用**baseline 模型先跑、再逐步嘗試複雜模型**的策略應對。",
    "33": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「任務類型與模型特性配對」的**判斷依據** → 考點是教材**明列**的三項依據。\n2. **正確答案 (B) 為何對**：教材 line 21「模型選擇應根據**任務的輸出型態、資料特徵與業務目標**進行判斷」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) Kaggle 排名 → 排名只是參考,並非教材所述依據,刪。\n   - (C) 僅理論複雜度 → 反了,教材重點在輸出型態與業務目標,刪。\n   - (D) 模型發布年份越新越好 → 反了,新舊不是判準,適配性才是,刪。\n\n**章節來源**：chunks/L23302.txt line 21（任務類型與模型特性配對）\n\n**融會貫通**：記法「**配對三依據：輸出型態 + 資料特徵 + 業務目標**」。\n- **輸出型態** → 離散（分類）/ 連續（迴歸）/ 群組（聚類）/ 序列（時序）\n- **資料特徵** → 維度、稀疏性、線性/非線性\n- **業務目標** → 解釋性、即時性、成本\n\n考點常考「**判斷依據**」這三項,不要被選項中的成本/排名等干擾項誤導。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 SVM 的**適用情境** → 考點是教材**明列**的「邊界清晰、高維小樣本」。\n2. **正確答案 (B) 為何對**：教材 line 36「**支援向量機（SVM）：適合邊界清晰、高維小樣本的分類問題**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 邊界模糊、低維大樣本 → 反了,完全相反,刪。\n   - (C) 僅非結構化影像語音 → 那是**神經網路**的強項（line 37）,刪。\n   - (D) 僅迴歸無法分類 → 反了,SVM 在 line 36 明列為**分類**常用模型,刪。\n\n**章節來源**：chunks/L23302.txt line 36（分類任務 - 常用模型）\n\n**融會貫通**：記法「**SVM = 邊界清 + 高維 + 小樣本**」。SVM 用最大邊界（max-margin）原理,需要清晰邊界才能發揮優勢；高維小樣本之所以適合,因為 SVM 不易過擬合（與支援向量點數有關,而非樣本數）。對比 num 35：神經網路需大資料才能發揮,兩者**互補**。",
    "35": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「神經網路」作為**分類**模型的**適用情境** → 考點是教材**明列**的「高度非線性或影像、語音」。\n2. **正確答案 (B) 為何對**：教材 line 37「**神經網路（Neural Network）：當特徵具高度非線性或為影像、語音等資料類型,模型預測結果佳**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅線性可分小資料 → 反了,線性可分用邏輯迴歸/SVM 即可,神經網路是處理**非線性**,刪。\n   - (C) 僅明確邊界且維度極低 → 那是 SVM 強項,刪。\n   - (D) 完全無法處理影像語音 → 反了,影像/語音正是神經網路強項,刪。\n\n**章節來源**：chunks/L23302.txt line 37（分類任務 - 常用模型）\n\n**融會貫通**：記法「**NN = 非線性 + 影像/語音**」。神經網路的**萬能逼近定理**讓它能擬合任意非線性函數,但代價是需大量資料 + 算力。對比表：\n- **決策樹/隨機森林** → 特徵混合且分佈複雜\n- **SVM** → 邊界清晰、高維小樣本\n- **神經網路** → 高度非線性 / 影像 / 語音\n\n三者在分類任務中**互補**,實務上要按資料特性選擇。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**迴歸任務**」的**常見情境** → 考點是教材**明列**的三項例子。\n2. **正確答案 (B) 為何對**：教材 line 47「常見情境：**房價預測、能源消耗預測、業績估算**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 垃圾郵件、疾病診斷 → 那是**分類**任務情境（line 31）,刪。\n   - (C) 群體聚類、降維 → 那是**非監督學習**任務,刪。\n   - (D) 股價序列、語音辨識 → 那是**序列/時序**任務情境（line 92）,刪。\n\n**章節來源**：chunks/L23302.txt line 47（迴歸任務 - 常見情境）\n\n**融會貫通**：四大任務情境記憶表：\n- **分類**：垃圾郵件偵測、疾病診斷、客戶流失預測（line 31）\n- **迴歸**：房價預測、能源消耗預測、業績估算（line 47）\n- **聚類**：群內相似、群間差異大（line 65）\n- **時序**：股價預測、感測器監控、語音辨識（line 92）\n\n考點常考「**情境配對任務類型**」,記住「房價/能源/業績 = 迴歸」即可秒解。",
    "37": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「隨機森林迴歸」的**特性** → 考點是教材**明列**的「非線性與特徵交互效果」。\n2. **正確答案 (B) 為何對**：教材 line 52「**決策樹迴歸、隨機森林迴歸：對於非線性與特徵交互效果有良好處理能力**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 線性模型 → 反了,隨機森林屬樹模型,擅長**非線性**,刪。\n   - (C) 完全無法處理特徵交互 → 反了,正是其強項,刪。\n   - (D) 與線性迴歸等價 → 反了,兩者擅長領域完全不同,刪。\n\n**章節來源**：chunks/L23302.txt line 51-53（迴歸任務 - 常用模型）\n\n**融會貫通**：迴歸模型選擇表：\n- **線性迴歸** → 線性趨勢明顯,高解釋性（line 51）\n- **決策樹/隨機森林迴歸** → 非線性 + 特徵交互（line 52）\n- **神經網路** → 大規模、高維度、非線性強烈（line 53）\n\n「**特徵交互**」是樹模型的招牌優勢 — 樹分裂時自動發現變數組合效應,無需手動設計交叉特徵。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 K-means 與 DBSCAN 的**適用條件差異** → 考點是教材**明列**的兩者特性。\n2. **正確答案 (B) 為何對**：教材 line 69-71「**K-means：資料呈球狀且群數已知時效果良好。DBSCAN：適合有噪聲或群大小不均的資料**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 兩者顛倒 → 反了,刪。\n   - (C) 完全等價 → 反了,設計初衷與適用情境差異大,刪。\n   - (D) K-means 是降維、DBSCAN 是分類 → 反了,兩者都是**聚類**方法,刪。\n\n**章節來源**：chunks/L23302.txt line 69-71（非監督學習 - 聚類）\n\n**融會貫通**：聚類雙星對比記法：\n- **K-means**：球狀 + 群數已知 → 需先知道 K\n- **DBSCAN**：噪聲 + 群大小不均 → 自動找群數 + 識別 outlier\n\n陷阱：實務上若資料**不呈球狀**或**有 outlier**,用 K-means 會出現群心被噪聲拉偏的問題,此時 DBSCAN 是首選。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PCA 的**核心特性** → 考點是教材**明列**的「保留最大變異 + 具解釋性」。\n2. **正確答案 (B) 為何對**：教材 line 81「**PCA（主成分分析）：保留最大變異方向,具解釋性**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 非線性無解釋性 → 反了,PCA 屬**線性**降維且**具解釋性**,刪。\n   - (C) 等同於自編碼器 → 反了,Autoencoder 是**非線性**降維（line 82）,兩者結果不同,刪。\n   - (D) 僅分類任務 → 反了,PCA 是**降維**方法,刪。\n\n**章節來源**：chunks/L23302.txt line 81-82（降維任務）\n\n**融會貫通**：降維雙星對比：\n- **PCA** → 線性 + 保留最大變異 + 高解釋性（係數可解讀）\n- **Autoencoder** → 非線性 + 結構重建（可學習複雜表徵）\n\n考點常考「**何時用 PCA / 何時用 AE**」 — 資料線性可分用 PCA（快速且可解釋）,資料具非線性結構或需重建用 AE。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**序列與時間序列任務**」的**常見情境** → 考點是教材**明列**的三項例子。\n2. **正確答案 (B) 為何對**：教材 line 92「常見情境：**股價預測、感測器數據監控、語音辨識**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 垃圾郵件、客戶流失 → 那是**分類**任務情境,刪。\n   - (C) 聚類、降維 → 那是**非監督**任務,刪。\n   - (D) 房價、能源 → 那是**迴歸**任務情境（line 47）,刪。\n\n**章節來源**：chunks/L23302.txt line 92（序列與時間序列任務 - 常見情境）\n\n**融會貫通**：時序任務「**三招牌情境：股價 + 感測器 + 語音**」。為何時序任務特殊？因為輸入有**時間依賴關係** — 過去影響未來,故須用 RNN/LSTM/GRU（適合長序列記憶,line 96-98）、TCN（長期依賴穩定,line 100-102）、ARIMA（短期週期,line 104-106）三類模型處理。\n\n陷阱：感測器數據常被誤認為迴歸,實際上因為「**時序依賴**」屬性,應歸到時序任務 — 同樣是預測連續數值,但時間順序不可忽略。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**中型資料集**」可採取的**進階策略** → 考點是教材**明列**的「模型集成 + 超參數優化」。\n2. **正確答案 (B) 為何對**：教材 line 120「**可進一步嘗試模型集成與超參數優化,提升預測效能**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 僅最簡單線性模型 → 反了,中型資料可用 XGBoost/LightGBM 等高表現力模型,刪。\n   - (C) 改用人工規則 → 反了,完全違背教材主軸,刪。\n   - (D) 無法支持任何機器學習 → 反了,中型資料是 ML 的甜蜜點,刪。\n\n**章節來源**：chunks/L23302.txt line 119-120（資料規模 - 中型資料集）\n\n**融會貫通**：中型資料策略「**集成 + 超參數優化**」雙引擎：\n- **模型集成**（Stacking/Bagging/Boosting） → 多模型互補\n- **超參數優化**（Grid Search / Random Search / Bayesian Optimization） → 精細調校\n\n實務上中型資料（數千~數十萬）正是 XGBoost/LightGBM 的主戰場,通常 Boosting + Optuna 超參數搜尋是業界首選組合。但要注意 line 120「計算資源與訓練時間,會成為實務上必須考量的限制因素」 — 超參數搜尋耗算力,需在效能與成本間取捨。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**大型資料集**」的**架構與資源要求** → 考點是教材**明列**的「運算能力 + 分散式 + GPU/多機」。\n2. **正確答案 (B) 為何對**：教材 line 125「大型資料訓練也對運算能力、分散式架構支援、模型調校效率有更高要求。此時應選擇**具擴展性且可配合 GPU/多機訓練的架構設計**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 單機 CPU 即可 → 反了,百萬級樣本單機 CPU 不可行,刪。\n   - (C) 不需擴展性 → 反了,教材正強調擴展性,刪。\n   - (D) 僅解釋性高的簡單模型 → 反了,大型資料正是發揮**深度模型**潛力（line 124）,刪。\n\n**章節來源**：chunks/L23302.txt line 122-125（資料規模 - 大型資料集）\n\n**融會貫通**：大型資料「**三項要求：算力 + 分散式 + 調校效率**」。具體架構通常涉及：\n- **GPU/TPU 訓練** → Horovod、DDP（Distributed Data Parallel）\n- **資料平行** → 大批次訓練（Large Batch Training）\n- **模型平行** → ZeRO、FSDP（超大模型切片）\n\n呼應 num 12（大型資料適合深度模型）和 num 13（資料量越大可用越複雜模型）,形成「**規模-架構-模型**」三位一體決策鏈。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**資源充足場景（雲端、資料中心）**」的**模型策略** → 考點是教材**明列**的「高效能 + 集成 + 複雜前後處理」。\n2. **正確答案 (B) 為何對**：教材 line 151-153「資源充足場景（如雲端部署、資料中心）**可使用高效能深度模型、模型集成策略,充分發揮硬體計算能力。同時能支援較複雜的資料前處理與後處理流程**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 最簡單決策樹 → 反了,那是**資源受限**場景的策略（line 149）,刪。\n   - (C) 與受限場景策略相同 → 反了,兩者策略明顯不同（簡單 vs 高效能）,刪。\n   - (D) 避免任何深度模型 → 反了,資源充足正是深度模型主場,刪。\n\n**章節來源**：chunks/L23302.txt line 151-153（運算資源 - 資源充足場景）\n\n**融會貫通**：資源場景對比表：\n- **資源受限（IoT、邊緣）**：簡單決策樹/邏輯迴歸/壓縮模型 + 剪枝/量化（line 147-149）\n- **資源充足（雲端、資料中心）**：高效能深度模型 + 模型集成 + 複雜前後處理（line 151-153）\n- **即時推論**：低延遲優先 + caching + 模型蒸餾（line 155-157）\n\n考點常考「**場景配對策略**」,記住「**雲端 = 火力全開,IoT = 瘦身模型**」的對比即可秒解。",
    "44": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**低模型複雜度**」對應的 Total Error / Variance / Bias² → 考點是教材**附表**的具體列。\n2. **正確答案 (B) 為何對**：教材 line 167-171 對應表「**Low（低複雜度）→ Total Error: High / Variance: Low / Bias²: High**」。(B) 直引表格。\n3. **其他選項為何刪**：\n   - (A) Total Error 低 + Variance 低 + Bias² 低 → 那是**Optimum**那列（line 170）,刪。\n   - (C) Total Error 高 + Variance 高 + Bias² 低 → 那是**High（高複雜度）**那列（line 171）,刪。\n   - (D) Total Error 低 + Variance 高 → 表中沒有此組合,刪。\n\n**章節來源**：chunks/L23302.txt line 167-172（偏差-變異對應表）\n\n**融會貫通**：偏差-變異「U 型曲線」記法：\n| 複雜度 | Total Error | Variance | Bias² |\n|--------|-------------|----------|-------|\n| Low（欠擬合）| High | Low | High |\n| Optimum | Low | Low | Low |\n| High（過擬合）| High | High | Low |\n\n低複雜度時「**偏差主導**」（Bias² 高） → 模型抓不到趨勢 → 系統性誤差大；高複雜度時「**變異主導**」（Variance 高） → 模型對雜訊敏感。實務上用學習曲線（Learning Curve）判斷目前位於曲線哪一側。",
    "45": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**最佳模型複雜度（Optimum Model Complexity）**」對應的 Total Error / Variance / Bias² → 考點是教材**附表**的中間最佳列。\n2. **正確答案 (B) 為何對**：教材 line 170「**Optimum Model Complexity → Total Error: Low / Variance: Low / Bias²: Low**」。(B) 直引表格。\n3. **其他選項為何刪**：\n   - (A) 三項都高 → 表中沒有此組合,刪。\n   - (C) Total Error 高 + Variance 低 + Bias² 高 → 那是**Low（低複雜度）**那列,刪。\n   - (D) Total Error 低 + Variance 高 + Bias² 低 → 表中沒有此組合,刪。\n\n**章節來源**：chunks/L23302.txt line 167-172（偏差-變異對應表）\n\n**融會貫通**：「**Optimum = 三低（總誤差低 + 變異低 + 偏差低）**」是模型選擇追求的**理想位置**。實務上如何接近 Optimum：\n- **欠擬合**（左側）→ 增加模型複雜度 / 加更多特徵 / 減弱正則化\n- **過擬合**（右側）→ 增加資料 / 加正則化（L1/L2/Dropout） / 簡化模型\n\n呼應 num 26-27（低/高複雜度模型 Bias/Variance 特性）、num 28（減少 Variance 方法）, Optimum 是 Bias-Variance Tradeoff 的「**金髮姑娘區**（Goldilocks Zone）」 — 不太冷也不太熱,剛剛好。"
  },
  "mock_L23303": {
    "1": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「訓練/驗證/測試三集角色對應」→ 考點是三集標準分工:Training 學參數、Validation 調超參+監控、Test 最終評估。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — 訓練集用於模型參數的學習與內部結構調整;驗證集用於調整超參數(學習率、正則化係數)與監控訓練過程;測試集僅在訓練完成後使用以模擬實際部署。三者分工分明、不可混用。\n3. **其他選項為何刪**：\n   - (B) 把三者角色互換(測試集 → 學習) → 顛倒分工,刪。\n   - (C) 三者完全相同可隨意互換 → 違反資料分割的基本原則(會造成資料洩漏),刪。\n   - (D) 測試集應在訓練過程中即時使用 → 會造成嚴重資料洩漏,測試集只能用於最終評估,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 21-31(資料分割與準備)\n\n**融會貫通**：記法「**訓參、驗超、測終**」— 訓練集學參數、驗證集調超參、測試集最終評。測試集在訓練過程中介入是資料外洩(Data Leakage)的典型錯誤,實務上會讓報告的效能虛高。",
    "2": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「K-fold 運作原理」→ 考點是 K-fold 標準流程的四個步驟(切 K 折/輪流驗證/重複 K 次/平均)。\n2. **正確答案 (A) 為何對**：(A) 完整描述 K-fold 標準流程 — 將資料平均劃分為 K 個不重疊子集(folds),每次選 1 折作驗證、K-1 折作訓練,重複 K 次後計算指標平均。常見 K=5 或 10,在精確度與運算效率間取得平衡。\n3. **其他選項為何刪**：\n   - (B) 分 2 折訓練測試各一半 → 這是 hold-out 法,不是 K-fold,刪。\n   - (C) K-fold 只執行 1 次,不需重複迭代 → 違反 K-fold「重複 K 次」核心精神,刪。\n   - (D) K-fold 結果無法平均,需用最後一折結果 → 違反「平均作為整體表現」的標準作法,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 37-42、322-325(K-fold 交叉驗證)\n\n**融會貫通**：K-fold 三要素 = **切 K 份 / 輪流驗 / 取平均**。K=5 或 10 是業界常見選擇 — K 越大評估越穩定但計算越貴,LOOCV(K=n)是極端版本。",
    "3": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Batch Gradient Descent」→ 考點是三種梯度下降中的「全量訓練」特性。\n2. **正確答案 (A) 為何對**：(A) 完整描述 Batch GD — 每輪迭代使用**全部資料**計算梯度,方向穩定、收斂路徑平滑;但缺點是記憶體耗用大、難以應用於大規模資料。這正是教材列出的優缺點。\n3. **其他選項為何刪**：\n   - (B) 每次僅使用一筆樣本 → 這是 SGD 的定義,不是 Batch GD,刪。\n   - (C) 每次使用固定筆數樣本 → 這是 Mini-batch SGD 的定義,刪。\n   - (D) 不計算梯度直接隨機更新 → 違反梯度下降基本原理,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 48-50(批次訓練設計與更新策略)\n\n**融會貫通**：三種梯度下降記法 — **全/單/批 = Batch/SGD/Mini-batch**。Batch GD 路徑最平滑但最耗記憶體;SGD 最省記憶體但震盪最大;Mini-batch 折衷,是 DL 主流。",
    "4": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「SGD,何者**錯誤**」→ 考點是 SGD 與 Batch GD 的差異,絕對化敘述(「完全等價」)通常是陷阱。\n2. **正確答案 (D) 為何對**：(D) 說「SGD 與全量訓練完全等價,計算結果完全相同」**錯誤** — SGD 用單筆樣本,梯度估計噪聲大、震盪明顯(但能跳出局部最優);Batch GD 用全部資料,方向穩定、收斂平滑。兩者數學上不等價、行為不同。題目要選「錯誤」,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 每次僅使用一筆樣本進行參數更新 → SGD 的標準定義,**正確**,刪。\n   - (B) 適合線上學習與資料流架構 → 教材明確列出的 SGD 適用場景,**正確**,刪。\n   - (C) 更新震盪較大,收斂速率不穩 → 教材描述的 SGD 缺點,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 52-54(隨機梯度下降)\n\n**融會貫通**：看到「**完全等價**」「**完全相同**」這種絕對化敘述要警覺 — 不同方法各有取捨,不可能完全等價。SGD 噪聲是雙面刃:壞處震盪、好處跳出局部最優。",
    "5": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Mini-batch SGD」→ 考點是 DL 主流方法的特性:固定 batch size、兼具兩者優點。\n2. **正確答案 (A) 為何對**：(A) 完整描述 Mini-batch SGD — 每次使用**固定筆數樣本**進行更新,兼具全量(穩定)與隨機(效率)策略的優點,是目前深度學習最常用的方法。Batch size 會影響梯度估計準確性與訓練速度,需依 GPU 記憶體與任務調整。\n3. **其他選項為何刪**：\n   - (B) 每次只使用 1 筆樣本 → 這是 SGD 的定義,不是 Mini-batch,刪。\n   - (C) 每次使用全部樣本 → 這是 Batch GD 的定義,刪。\n   - (D) Batch size 與梯度估計準確性、訓練速度無關 → 教材明確說 batch size 會影響這兩者,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 56-59(小批次訓練)\n\n**融會貫通**：Mini-batch 是「**折衷之美**」 — 取 Batch GD 的穩定 + SGD 的效率。常見 batch size 為 32/64/128/256,選擇受 GPU 記憶體與任務複雜度影響。",
    "6": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「學習率,何者**錯誤**」→ 考點是學習率特性,看到絕對化敘述(「永遠越大越好」)幾乎必錯。\n2. **正確答案 (C) 為何對**：(C) 說「學習率**永遠越大越好**,模型收斂越快」**錯誤** — 學習率太大會震盪甚至發散,太小會收斂太慢;應根據場景選合適值與調整策略(固定/遞減/動態/預熱)。題目要選錯誤,所以 (C)。\n3. **其他選項為何刪**：\n   - (A) 控制模型每次更新的步伐 → 學習率的標準定義,**正確**,刪。\n   - (B) 是訓練過程中重要的超參數之一 → 教材明確說明,**正確**,刪。\n   - (D) 可採用固定、遞減、動態調整或預熱等策略 → 教材列出的四種策略,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 63-78(學習率調整)\n\n**融會貫通**：學習率是經典「**過猶不及**」超參數 — 太大震盪/發散,太小收斂慢;實務上常從 1e-3、1e-4 起跳並配合衰減策略。看到「永遠最好」「絕對」「必然」等絕對詞要警覺。",
    "7": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「遞減學習率(Step Decay / Exponential Decay)」→ 考點是「降」這個方向關鍵字。\n2. **正確答案 (A) 為何對**：(A) 完整描述教材定義 — 根據訓練次數或驗證集表現,**定期降低**學習率,有助於穩定收斂。後期 LR 降低可避免過度震盪、找到更細的最優點。\n3. **其他選項為何刪**：\n   - (B) 定期增加學習率 → 方向反轉,違反「遞減」名稱本意,刪。\n   - (C) 與初始學習率完全無關 → 遞減的基準就是初始 LR,刪。\n   - (D) 必然導致過擬合 → 與 LR 衰減無因果關係,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 69-71(遞減學習率)\n\n**融會貫通**：三種 LR 策略方向口訣 — **Step Decay 定期降 / ReduceLROnPlateau 停滯降 / Warmup 初期升**。三者的「升降時機」是最容易出題的混淆點。",
    "8": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ReduceLROnPlateau(動態調整學習率)」→ 考點是「停滯時調降」這個觸發條件與方向。\n2. **正確答案 (A) 為何對**：(A) 完整描述教材定義 — 當驗證效能**停滯**時自動**調降**學習率,精細控制學習節奏。當模型卡關時降低 LR 有助於找到更細的下降方向。PyTorch 內建 `ReduceLROnPlateau` 就是這類策略的代表。\n3. **其他選項為何刪**：\n   - (B) 停滯時自動**提升**學習率 → 方向反轉,違反 Reduce(降)的本意,刪。\n   - (C) 不能與其他策略合併使用 → 實務上常與 Early Stopping/warmup 合用,刪。\n   - (D) 與驗證集表現完全無關 → 此策略**就是依驗證集**觸發,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 73-76(動態調整)\n\n**融會貫通**：ReduceLROnPlateau 的「Plateau」就是「**高原停滯**」之意 — 訓練卡在平原時自動降 LR 找下坡。與 Step Decay 的差異:Step 是**定期降**(時間觸發),Plateau 是**停滯降**(指標觸發)。",
    "9": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Warmup 預熱策略」→ 考點是「初期低、逐漸升」的特殊方向(與其他 LR 策略相反)。\n2. **正確答案 (A) 為何對**：(A) 完整描述教材定義 — 訓練初期使用較低學習率,**逐漸升高**,有助於避免初期梯度爆炸;常見於 Transformer 類模型。Transformer 訓練初期梯度容易爆炸,Warmup 是經驗上必備技巧。\n3. **其他選項為何刪**：\n   - (B) 訓練初期使用最高學習率,逐漸降低 → 完全反向,這比較像 Step Decay 的概念,刪。\n   - (C) 與 Transformer 完全無關 → 教材明確說「常見於 Transformer」,刪。\n   - (D) 預熱策略會導致梯度消失 → 反而是為了**避免梯度爆炸**而設計,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 78(預熱策略)\n\n**融會貫通**：Warmup 是 LR 策略中的「**異類**」 — 大部分策略是降 LR,Warmup 反其道而行從低升。實務上 Warmup + Cosine Decay 是 Transformer 訓練的標準組合(先升後降)。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Early Stopping」→ 考點是「監控**驗證集**」這個關鍵 — 不是訓練集也不是測試集。\n2. **正確答案 (A) 為何對**：(A) 完整描述教材定義 — Early Stopping 透過監控**驗證集效能**判斷訓練何時應中止;若訓練過久,模型可能過擬合訓練資料。驗證集是訓練過程中可參考、但不參與參數更新的「監察者」。\n3. **其他選項為何刪**：\n   - (B) 監控訓練集損失 → 訓練集損失通常會持續下降,看不出過擬合警訊,刪。\n   - (C) 監控測試集表現 → 測試集絕不能介入訓練(資料洩漏),刪。\n   - (D) 不需任何監控指標 → 違反 Early Stopping 名稱中「監控」的核心,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 82-86(早停策略與訓練終止準則)\n\n**融會貫通**：三集分工再次出題 — **訓練集學參數、驗證集監控、測試集評估**。Early Stopping 監控驗證集是關鍵,監控訓練集或測試集都是經典錯誤陷阱(前者看不出過擬合、後者造成洩漏)。",
    "11": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Patience 與 Min Delta 的設定」→ 考點是 Early Stopping 兩個關鍵超參數的定義。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — Patience(容忍次數):驗證指標若在**連續 N 次迭代**內無明顯改善則終止訓練;Min Delta(最小改善幅度):效能提升若小於閾值,亦可視為無效進步。兩者通常合用以判斷「無實質改進」。\n3. **其他選項為何刪**：\n   - (B) Patience 是學習率的另一名稱 → 完全錯誤分類,刪。\n   - (C) Min Delta 是模型最低準確率閾值 → 混淆「改善幅度」與「準確率水準」,刪。\n   - (D) Patience 與 Min Delta 都是訓練集相關指標 → 兩者監控的是**驗證集**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 84-90(早停策略與訓練終止準則)\n\n**融會貫通**：Patience 與 Min Delta 是 Early Stopping 的「**雙保險**」 — 一個防「太快停」(等 N 次),一個防「假改善」(改善要夠大才算)。實務常設 Patience=5~10、Min Delta=1e-4。",
    "12": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**並非**教材列舉的視覺化平台」→ 考點是教材具體列出的三個工具名稱。\n2. **正確答案 (D) 為何對**：教材 line 100 明確列出「TensorBoard、WandB 或 MLflow」作為訓練監控標準工具,Microsoft Excel 不在列舉範圍內。Excel 雖能畫圖,但無法即時追蹤訓練指標、不是專為 ML 訓練設計的工具。題目選**不在列舉**的,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) TensorBoard → 教材明確列出,**在列舉內**,刪。\n   - (B) WandB(Weights & Biases) → 教材明確列出,**在列舉內**,刪。\n   - (C) MLflow → 教材明確列出,**在列舉內**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 98-104(訓練過程的記錄與監控)\n\n**融會貫通**：三大訓練監控工具記法 — **TWM**(TensorBoard / WandB / MLflow)。TensorBoard 源自 TF、WandB 是雲端版、MLflow 強在版本管理。考試考「列舉」題時,選最不像 ML 工具的答案即可(Excel/Word/PPT 通常是干擾項)。",
    "13": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「TP/FP/FN/TN 的定義對應」→ 考點是混淆矩陣四象限的「預測×實際」組合。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — TP = 預測為正且實際為正(命中);FP = 預測為正但實際為負(誤報);FN = 預測為負但實際為正(漏報);TN = 預測為負且實際為負(正確排除)。教材混淆矩陣以**行=Predicted、列=Actual** 排列,但定義本身不變。\n3. **其他選項為何刪**：\n   - (B) TP 與 FP 定義互換 → 錯誤,刪。\n   - (C) FN = 預測為正且實際為正 → 那是 TP 不是 FN,刪。\n   - (D) TN = 預測為正且實際為正 → 那是 TP 不是 TN,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 118-130(混淆矩陣)\n\n**融會貫通**：四象限口訣 — 「**真假看對錯,正負看預測**」。True/False 表示預測是否正確,Positive/Negative 表示預測的類別。注意教材混淆矩陣是**行=預測、列=實際**,與 sklearn 慣例(行=實際、列=預測)顛倒,定義本身不變但表格排版要對齊教材。",
    "14": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Accuracy,何者**錯誤**」→ 考點是 Accuracy 的限制,絕對化敘述(「永遠最佳」)幾乎必錯。\n2. **正確答案 (D) 為何對**：(D) 說「**不管類別分佈如何,Accuracy 永遠是最佳評估指標**」**錯誤** — 教材明確指出:在嚴重類別不平衡資料中,Accuracy 容易誤導(如 95% 為負類時全預測為負,Accuracy 仍高達 95%);此時應改用 Precision/Recall/F1/AUC。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 公式 = (TP + TN) / (TP + TN + FP + FN) → 教材給出的標準公式,**正確**,刪。\n   - (B) 適用於類別分佈相對均衡的情況 → 教材明確指出的適用條件,**正確**,刪。\n   - (C) 類別不平衡時容易誤導(95% 全負類例子) → 教材原文,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 134-139(準確率)\n\n**融會貫通**：Accuracy 的「**陷阱題經典**」 — 在 imbalanced 場景下會大幅虛高。記法:Accuracy 適合均衡資料;不均衡資料看 F1、AUC、混淆矩陣。看到「永遠」「絕對」「不管...都」這種詞要立刻警覺。",
    "15": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Precision vs Recall 差異」→ 考點是兩個指標的公式 + 適用場景配對。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — Precision = TP/(TP+FP),衡量「被預測為正的樣本中實際為正的比例」,適用於**誤報正類代價高**(垃圾郵件、醫療誤診);Recall = TP/(TP+FN),衡量「實際正類中被正確抓到的比例」,適用於**漏報正類代價高**(癌症偵測、詐騙偵測)。\n3. **其他選項為何刪**：\n   - (B) Precision 與 Recall 完全相同 → 兩者公式分母不同(FP vs FN),刪。\n   - (C) Precision 適用於漏報代價高 → 對調,應是 Recall,刪。\n   - (D) Recall 公式為 TP/(TP+FP) → 那是 Precision 的公式,Recall 是 TP/(TP+FN),刪。\n\n**📖 章節來源**：chunks/L23303.txt line 141-153(精確率與召回率)\n\n**融會貫通**：經典口訣 — **「怕誤報用 P、怕漏報用 R」**。Precision 看「**預測為正的可信度**」,Recall 看「**實際正類抓到多少**」。公式差異點:Precision 分母含 FP,Recall 分母含 FN。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「F1 分數」→ 考點是 F1 = **調和平均**(不是算術平均)的本質。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — F1 = 2 × (Precision × Recall) / (Precision + Recall),是 Precision 與 Recall 的**調和平均**(harmonic mean),適用於兩者間需取得平衡且類別不平衡嚴重時。調和平均對較低值敏感,可避免某一指標極端低時被算術平均掩蓋。\n3. **其他選項為何刪**：\n   - (B) F1 = (Precision + Recall) / 2,是算術平均 → 錯誤,F1 是調和平均,刪。\n   - (C) F1 與 Precision、Recall 無關 → F1 就是兩者的調和平均,刪。\n   - (D) F1 只能用於迴歸任務 → F1 是分類指標,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 155-159(F1 分數)\n\n**融會貫通**：F1 的精神是「**短板效應**」 — 調和平均對較低值敏感,只要 P 或 R 有一個很低,F1 就會被拉低;算術平均則容易被高分掩蓋低分。實務上 F1 是 imbalanced 分類的標配指標。",
    "17": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ROC 曲線與 AUC」→ 考點是 ROC 的**橫縱軸**(FPR vs TPR)+ AUC 方向(越接近 1 越好)。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — ROC 曲線橫軸為**假正率(FPR)**、縱軸為**真正率(TPR)**;AUC ∈ [0,1],越接近 **1** 模型越好,0.5 為隨機水準;適用於需綜觀整體預測能力時,特別是需調整分類閾值的應用。\n3. **其他選項為何刪**：\n   - (B) ROC 橫軸為 TPR、縱軸為 FPR → 軸對調,刪。\n   - (C) AUC 越接近 0,模型越好 → 方向反轉,應該是越接近 1 越好,刪。\n   - (D) AUC 只能用於迴歸任務 → AUC 是分類任務指標,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 174-185(ROC 曲線與 AUC)\n\n**融會貫通**：ROC 軸記法 — 「**橫假縱真**」(橫 FPR、縱 TPR)。AUC 三檔位:1.0 完美、0.5 隨機、<0.5 比隨機還差(理論可翻轉模型救回)。AUC 不依賴單一閾值,是評估整體區分能力的首選。",
    "18": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「醫療誤診 vs 癌症偵測」→ 考點是兩個情境的「誤報 vs 漏報代價」差異 → 對應 Precision vs Recall。\n2. **正確答案 (A) 為何對**：醫療誤診情境怕「**誤報**」(把健康人誤判為癌,要做大手術、心理衝擊大) → 看 **Precision**(預測為正的可信度);癌症偵測情境怕「**漏報**」(真癌患被漏掉錯失治療,可能致死) → 看 **Recall**(實際正類抓到多少)。(A) 兩者配對正確。\n3. **其他選項為何刪**：\n   - (B) 醫療誤診 → Recall;癌症偵測 → Precision → 兩者對調,刪。\n   - (C) 兩種情境都只看 Accuracy → 醫療資料常 imbalanced,Accuracy 會誤導,刪。\n   - (D) 兩種情境都看 RMSE → RMSE 是迴歸指標,不適用分類,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 145-153(Precision/Recall 適用場景)\n\n**融會貫通**：場景對應記法 — **「怕誤(報)P、怕漏(報)R」**。看到「誤診」「誤判」字眼想 Precision,看到「漏報」「漏診」字眼想 Recall。教材原文以「垃圾郵件/醫療誤診」舉 Precision、「癌症/詐騙」舉 Recall。",
    "19": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「類別不平衡情境評估策略,何者**錯誤**」→ 考點是不平衡資料應使用多指標,絕對化敘述(「只看 Accuracy」)必錯。\n2. **正確答案 (D) 為何對**：(D) 說「類別不平衡時應**只看 Accuracy**,其他指標都無用」**錯誤** — 教材明確指出 Accuracy 在不平衡時會嚴重誤導;應結合 F1/ROC-AUC/混淆矩陣 + 類別重加權 + SMOTE + 異常值建模等多策略。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 結合 F1、ROC-AUC、混淆矩陣等多指標 → 教材建議的多指標策略,**正確**,刪。\n   - (B) 使用類別重加權(Class Weights)強化少數類學習 → 教材列出的處理技術,**正確**,刪。\n   - (C) 使用 SMOTE 過採樣合成新樣本 → 教材列出的處理技術,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 274-292(類別不平衡處理與評估策略)\n\n**融會貫通**：不平衡資料的「**四把刀**」 — 多指標(F1/AUC)+ 類別重加權 + SMOTE 過採樣 + 異常值建模(Isolation Forest/One-Class SVM)。看到「只看 X」「都無用」這種絕對化敘述就是干擾項。",
    "20": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「MSE」→ 考點是 MSE 公式 + **對大誤差高度敏感**的特性(因為有平方項)。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — MSE = 1/n × Σ(yᵢ - ŷᵢ)²,平方項會放大極端偏差的影響,所以對大誤差高度敏感;適用於需強調大誤差懲罰的任務,如金融風險預測、製程品質監控。\n3. **其他選項為何刪**：\n   - (B) MSE 對大誤差不敏感 → 完全相反,平方項就是放大大誤差,刪。\n   - (C) MSE 是平均絕對誤差的別稱 → 那是 MAE,MSE 是平方平均,刪。\n   - (D) MSE 無法用於迴歸任務 → MSE 是迴歸任務最常用指標之一,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 191-201(均方誤差)\n\n**融會貫通**：迴歸三指標的「敏感性光譜」 — **MSE 最敏感(平方放大) > RMSE 中(MSE 開根號) > MAE 最穩(絕對值不放大)**。看到「金融風險」「品質監控」這種「大誤差不能容忍」的情境就想 MSE。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「MAE」→ 考點是 MAE 公式(絕對值)+ **對異常值較不敏感** 的特性。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — MAE = 1/n × Σ|yᵢ - ŷᵢ|,取絕對值沒有平方項,因此**對異常值較不敏感**,提供穩定的誤差估計;適用於資料具偏態分佈或含少量極端值時。\n3. **其他選項為何刪**：\n   - (B) MAE 對異常值極為敏感 → 與教材完全相反(那是 MSE 的特性),刪。\n   - (C) MAE 是均方誤差的別稱 → MAE 與 MSE 是兩個不同指標(MAE 絕對值、MSE 平方),刪。\n   - (D) MAE 只適用於常態分佈資料 → 反而,MAE 適合**偏態分佈或含極端值**的資料,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 203-212(平均絕對誤差)\n\n**融會貫通**：MAE vs MSE 對比記法 — **「MAE 抗離群、MSE 罰大誤」**。MAE 取絕對值不放大,異常值影響有限;MSE 取平方,異常值被乘方放大。資料有 outlier 時用 MAE 更穩。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「RMSE」→ 考點是 RMSE = √MSE,以及「回到原單位」這個解釋性優勢。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — RMSE = √MSE,保有 MSE 的懲罰特性(對大誤差敏感),同時**回到與預測變數相同的單位**;廣泛用於報告與模型比較。例如預測房價(萬元),MSE 是萬元²、RMSE 直接是萬元,更易解釋。\n3. **其他選項為何刪**：\n   - (B) RMSE = MAE × 2 → 兩者無此關係,RMSE = √MSE,刪。\n   - (C) RMSE 與 MSE 完全不同,沒有任何關係 → RMSE 是 MSE 開根號,直接關係,刪。\n   - (D) RMSE 無法用於模型比較 → RMSE 「廣泛用於報告與模型比較」是教材原文,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 214-223(均方根誤差)\n\n**融會貫通**：RMSE = √MSE 的「**單位救星**」 — MSE 因平方項單位變平方(難解釋),RMSE 開根號回到原單位(易報告)。實務上報告誤差數值通常用 RMSE,內部優化目標用 MSE(可微分性)。",
    "23": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「R² 判別」→ 考點是 R² 的三個關鍵分界:1(完美)、0(與均值同)、<0(比均值還差)。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — R² = 1:模型能**完全解釋**資料變異,預測完美;R² = 0:模型僅與常數模型(直接預測平均值)同等表現;R² < 0:模型比常數模型還差(可能發生在嚴重偏離或過度擬合下)。\n3. **其他選項為何刪**：\n   - (B) R² 一定大於等於 0 → 教材明確說 R² **可以小於 0**(比均值模型還差時),刪。\n   - (C) R² = 1 表示完全失敗 → 完全相反,R²=1 是完美,刪。\n   - (D) R² 越接近 0,模型越好 → 應該是越接近 1 越好,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 264-268(決定係數判別)\n\n**融會貫通**：R² 三檔位記法 — **「1 完美、0 同均值、負數爛過均值」**。陷阱題常用「R² 必為正」誘答 — 實際上模型嚴重偏離或過擬合時 R² 可為負。R² = 1 - RSS/TSS,RSS > TSS 時就會是負數。",
    "24": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「R² 適用情境,何者**錯誤**」→ 考點是 R² 的限制,「跨任務跨資料集直接比較」是經典陷阱。\n2. **正確答案 (D) 為何對**：(D) 說「R² 可以跨任務、跨資料集**直接比較**,作為唯一評估標準」**錯誤** — 教材明確說「對於不同任務或資料集間的 R² **無法直接比較**」,因為 R² 會被資料分佈影響(TSS 不同)。應結合 MAE、RMSE 等多指標。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 適用於線性迴歸模型 → 教材原文,**正確**,刪。\n   - (B) 不適用於非線性或未標準化資料下的模型比較,易失真 → 教材原文,**正確**,刪。\n   - (C) 不同任務或資料集間 R² 無法直接比較 → 教材原文,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 258-263(R² 適用情境)\n\n**融會貫通**：R² 的「**比較陷阱**」 — R² 同模型同資料下比較有意義,跨任務跨資料集會被 TSS(總變異)影響,**不可直接比較**。看到「唯一」「直接比較」這類絕對化敘述要警覺。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「K-fold 特點,何者**錯誤**」→ 考點是 K-fold 的計算成本(訓練 K 次,成本為 K 倍)。\n2. **正確答案 (D) 為何對**：(D) 說「計算成本與 K 無關,執行 K 次與執行 1 次成本相同」**錯誤** — 教材明確說「每次需重新訓練模型,計算成本為 K 倍」;K-fold 訓練 K 次模型,K=10 比 K=5 貴一倍。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 減少資料切分偏差,適用性廣 → 教材原文特點,**正確**,刪。\n   - (B) 能有效評估模型在不同樣本上的表現穩定性 → 教材原文特點,**正確**,刪。\n   - (C) 每次需重新訓練模型,計算成本為 K 倍 → 教材原文特點,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 327-332(K-fold 特點)\n\n**融會貫通**：K-fold 的「**計算 vs 穩定」trade-off** — K 越大評估越穩但越貴(K 倍訓練時間);K=5 或 10 是業界折衷選擇。常見干擾項是把「K 倍成本」改成「無關 K」。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Stratified K-fold(分層 K 折)」→ 考點是「**按類別比例分層**」+ 適用於**分類不均衡**情境。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — Stratified K-fold 於劃分時確保**每一折中各類別的比例與整體資料集相符**,特別適用於**類別分佈不均**的資料(如欺詐偵測、疾病分類)。教材明確指出「可作為分類任務交叉驗證的預設方式」。\n3. **其他選項為何刪**：\n   - (B) 隨機切分,不考慮類別比例 → 那是標準 K-fold,Stratified 的核心就是考慮類別比例,刪。\n   - (C) 適用於迴歸任務,不適用於分類 → 完全相反,Stratified 是針對分類設計的,刪。\n   - (D) 與標準 K-fold 完全相同 → 兩者最大差異就是「是否分層抽樣」,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 342-356(Stratified K-fold)\n\n**融會貫通**：Stratified K-fold = 「**K-fold + 分層抽樣**」 — 避免某些 fold 中正/負樣本嚴重失衡導致評估失真。欺詐偵測、疾病診斷這類**imbalanced 分類**情境必用。記法:**「分類用 Stratified、迴歸用 K-fold」**。",
    "27": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「LOOCV(Leave-One-Out Cross-Validation)」→ 考點是 K=n 的極端形式特性。\n2. **正確答案 (A) 為何對**：(A) 完整對應教材定義 — LOOCV 是 K-fold 的**極端形式**,K 等於樣本數 n,每次僅留下**一筆樣本**作為驗證,其餘 n-1 筆訓練;共執行 n 次。優點是評估偏差最小、適合樣本珍貴的情境;缺點是計算成本極高(訓練 n 次)。\n3. **其他選項為何刪**：\n   - (B) 隨機留下 30% 樣本作為驗證 → 那是 hold-out 法,不是 LOOCV(LOOCV 只留 1 筆),刪。\n   - (C) 不需要訓練模型 → 違反交叉驗證基本原理,刪。\n   - (D) 計算成本極低,適合大資料集 → 完全相反,LOOCV 訓練 n 次,**計算成本極高、不適合大資料**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 361-384(LOOCV)\n\n**融會貫通**：LOOCV 是 K-fold 的「**極限版**」 — K = n,每次只留 1 筆驗證,訓練 n 次。優缺點對立明顯:**評估偏差最小 vs 計算成本最高**。適用「樣本珍貴小資料」(臨床研究、稀有病),完全不適合大資料。",
    "28": "**答案**:(D)\n\n**解題思路**:\n1. **關鍵線索**:題目問「LOOCV 特點,何者**錯誤**」→ 考點是 LOOCV 的「計算成本極高 vs 極低」陷阱。\n2. **正確答案 (D) 為何對**:(D) 說「計算成本極低,適用於百萬級樣本資料集」**錯誤** — 教材明確指出 LOOCV「需訓練 n 次模型,計算成本極高,對模型複雜度與硬體要求較高」;百萬級樣本意味要訓練 100 萬次模型,**完全不可行**。LOOCV 適用情境是「樣本珍貴的小資料」(臨床/稀有病)。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 評估偏差最小,適合樣本珍貴或不可浪費的情境 → 教材原文,**正確**,刪。\n   - (B) 因需訓練 n 次模型,計算成本極高 → 教材原文,**正確**,刪。\n   - (C) 敏感於訓練集的微小變動,模型表現波動較大 → 教材原文,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 368-384(LOOCV 特點)\n\n**融會貫通**：LOOCV 的「**反向陷阱**」 — 把「成本極高、不適合大資料」改寫成「成本極低、適合大資料」是經典干擾項。記法:**「LOOCV 給小樣本珍貴資料用,百萬筆別碰」**。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**:題目問「Repeated K-fold(重複 K-fold)」→ 考點是「**多輪 K-fold + 隨機重分**」的特性。\n2. **正確答案 (A) 為何對**:(A) 完整對應教材定義 — 執行**多輪 K-fold 驗證**(如 10-fold × 5 次),每輪隨機重分 fold,計算平均與變異;可觀察模型在不同劃分下的表現波動與可信區間。適合調參流程、學術論文需報告標準差與置信範圍時。\n3. **其他選項為何刪**：\n   - (B) 只執行一次 K-fold → 那是標準 K-fold,Repeated 強調「多輪」,刪。\n   - (C) 重複 K-fold 無法觀察變異 → 觀察變異**就是** Repeated K-fold 的核心目的,刪。\n   - (D) Repeated K-fold 等於 LOOCV → 兩者不同 — Repeated 是多輪標準 K-fold,LOOCV 是 K=n 的極端形式,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 386-404(Repeated K-fold)\n\n**融會貫通**：Repeated K-fold = 「**標準 K-fold × N 輪 + 隨機重分**」 — 提升穩定性觀察,可報告標準差與置信區間,適合學術論文發表。記法:**「Repeated 強調多輪、LOOCV 強調極端 K=n」**,兩者常被混淆。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**:題目問「交叉驗證方法對應,何者**錯誤**」→ 考點是四種交叉驗證方法的核心差異,Repeated K-fold 與 LOOCV 是經典混淆對。\n2. **正確答案 (D) 為何對**:(D) 說「Repeated K-fold → 只能用於 K = n 的情境」**錯誤** — Repeated K-fold 是「多輪標準 K-fold(如 5-fold × 多次)」,**不是 K=n**;LOOCV 才是 K=n 的極端形式。題目要選錯誤,所以 (D)。\n3. **其他選項為何刪**：\n   - (A) K-fold → 通用,適用迴歸與分類 → 教材原文「適用於迴歸與分類任務的泛化能力驗證」,**正確**,刪。\n   - (B) Stratified K-fold → 分類資料不均衡的預設方式 → 教材原文「可作為分類任務交叉驗證的預設方式」,**正確**,刪。\n   - (C) LOOCV → K = n 的極端形式,適合樣本珍貴的小資料 → 教材原文,**正確**,刪。\n\n**📖 章節來源**：chunks/L23303.txt line 318-404(交叉驗證四種方法)\n\n**融會貫通**：四種交叉驗證 1 表記法 — **K-fold 通用 / Stratified 分類分層 / LOOCV 極端(K=n) / Repeated 多輪隨機重分**。最易混淆的是 Repeated K-fold 與 LOOCV — 前者是「K-fold 跑多次」、後者是「K-fold 取 K=n」,本質完全不同。",
    "31": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**不在**訓練過程記錄監控三大項中」→ 考點是教材**明列**的三大紀錄項目。\n2. **正確答案 (D) 為何對**：教材 line 96-108 明列三大紀錄項目：\n   - 訓練指標視覺化（TensorBoard、WandB、MLflow）\n   - 超參數與模型版本管理\n   - 資源使用狀況（GPU、CPU、記憶體）\n   (D) 「網路頻寬與用戶請求量」屬於**部署後監控**，非訓練過程紀錄項目，故為答案。\n3. **其他選項為何刪**：(A)(B)(C) 均直引教材三大項，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 94-108（訓練過程的記錄與監控）\n\n**融會貫通**：記法「**訓練監控三件套：視覺化 + 版本管理 + 資源**」。對應實務工具：\n- 視覺化 → TensorBoard / WandB / MLflow\n- 版本管理 → Git + MLflow Tracking\n- 資源 → nvidia-smi / htop / GPUtil\n\n訓練階段三件套與部署階段四黃金訊號（延遲、流量、錯誤、飽和度）要區分清楚。",
    "32": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**超參數與模型版本管理**」的**核心目的** → 考點是 **複製與回溯**。\n2. **正確答案 (A) 為何對**：教材 line 102-104「超參數與模型版本管理 ... 記錄每次訓練的超參數設定、模型結構與權重版本，**便於複製與回溯**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 降低運算成本 → 版本管理本身不降成本，反而增加儲存成本，刪。\n   - (C) 提升推論速度 → 版本管理與推論速度無關，刪。\n   - (D) 取代視覺化工具 → 三件套是**互補**而非取代，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 102-104（訓練過程的記錄與監控 - 超參數與模型版本管理）\n\n**融會貫通**：記法「**版本管理 = 可複製 + 可回溯**」。實務上 MLflow / DVC / Weights & Biases 都圍繞這兩大需求設計。論文發表、A/B 測試、生產環境出問題 rollback 都需要「能精確重現某個版本」的能力。",
    "33": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**資源使用狀況**」追蹤的**具體用途** → 考點是 **效能瓶頸與部署可行性**。\n2. **正確答案 (A) 為何對**：教材 line 106-108「資源使用狀況 ... 追蹤 GPU、CPU 與記憶體使用率，**評估效能瓶頸與部署可行性**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 僅成本核算與部署無關 → 反了，教材明列「**部署可行性**」是核心用途，刪。\n   - (C) 僅 GPU → 反了，教材明列 GPU、CPU、記憶體**三項都要**，刪。\n   - (D) 與訓練品質無關 → 反了，資源不足會導致 batch size 受限、OOM 中斷等品質問題，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 106-108（訓練過程的記錄與監控 - 資源使用狀況）\n\n**融會貫通**：記法「**資源監控 = 找瓶頸 + 評估部署**」。實務常見瓶頸排查：\n- **GPU 使用率低** → I/O bottleneck（資料 loader 太慢）\n- **GPU 記憶體爆** → batch size 過大或模型過大\n- **CPU 滿載 GPU 閒** → 前處理沒平行化\n\n部署可行性 = 推論時的硬體配置能否支援訓練時的模型大小與吞吐需求。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問混淆矩陣中「**P 與 N**」的定義 → 考點是 **實際樣本數**（注意不是預測）。\n2. **正確答案 (B) 為何對**：教材 line 124-125 明列「P：**實際**為正類的樣本數；N：**實際**為負類的樣本數」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 預測為正類/負類 → 反了，P/N 是**實際**分類，不是預測，刪。\n   - (C) Precision / NPV → P/N 是樣本數量，不是評估指標，刪。\n   - (D) 機率閾值 / 樣本總數 → 與 P/N 定義無關，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 124-125（混淆矩陣定義）\n\n**融會貫通**：記法「**P/N = 實際樣本數**（Positive / Negative count）」。注意區分四個概念：\n- **P** = 實際正類樣本數 = TP + FN\n- **N** = 實際負類樣本數 = FP + TN\n- **預測為正類** = TP + FP\n- **預測為負類** = FN + TN\n\n這也是 Recall（= TP/P = TP/(TP+FN)）與 Precision（= TP/(TP+FP)）的分母差異來源。",
    "35": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 R² 公式中「**RSS 與 TSS**」的定義對應 → 考點是 **殘差平方和 vs 總變異平方和**。\n2. **正確答案 (A) 為何對**：教材 line 240-256：\n   - RSS = Σ(yᵢ - ŷᵢ)² = 「**資料點與模型預測值之間的差距**所產生的平方總和」（殘差平方和）\n   - TSS = Σ(yᵢ - ȳ)² = 「**資料點與平均值之間的差距**所產生的平方總和」（總變異平方和）\n   (A) 完整對應教材。\n3. **其他選項為何刪**：\n   - (B) RSS 與 TSS 定義對調 → 反了，刪。\n   - (C) RSS 越大模型越好 → 反了，教材 line 246「RSS 越小，表示模型預測越接近實際資料」，刪。\n   - (D) RSS 與 TSS 角色對調 → 反了，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 240-256（決定係數 R² - RSS 與 TSS 定義）\n\n**融會貫通**：記法表：\n- **RSS = Σ(y - ŷ)²** → 模型沒解釋的殘差（越小越好）\n- **TSS = Σ(y - ȳ)²** → 資料本身的總變異（基準）\n- **R² = 1 - RSS/TSS** → 模型「解釋了多少資料變異」的比例\n\n當 RSS = 0（完美擬合）→ R² = 1\n當 RSS = TSS（與平均值同等）→ R² = 0\n當 RSS > TSS（比平均值還差）→ R² < 0",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**迴歸任務**」建議的指標組合 → 考點是教材**明列**的迴歸三件套。\n2. **正確答案 (B) 為何對**：教材 line 277「迴歸任務：可綜合 **MAE、RMSE 與 R²**，觀察誤差分佈與模型擬合能力」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) Accuracy、F1、ROC-AUC、混淆矩陣 → 那是**分類任務**的組合（line 276），刪。\n   - (C) Precision、Recall、F1 → 分類任務指標，刪。\n   - (D) 混淆矩陣、ROC 曲線 → 分類任務指標，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 274-277（模型比較與綜合評估策略 - 指標組合）\n\n**融會貫通**：對比記法「分類 vs 迴歸的指標組合」：\n- **分類四件套**：Accuracy + F1 + ROC-AUC + 混淆矩陣\n- **迴歸三件套**：MAE + RMSE + R²\n\n各角色：\n- **MAE** → 平均誤差（抗異常值）\n- **RMSE** → 強調大誤差懲罰\n- **R²** → 解釋變異比例\n\n考點常考「**不要單看一個指標**」，要組合觀察才能避免單指標掩蓋偏誤。",
    "37": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**類別重加權**」的運作機制 → 考點是 **少數類別賦予更高權重 + 損失函數加權**。\n2. **正確答案 (A) 為何對**：教材 line 282-284「類別重加權 ... 模型訓練時對**少數類別賦予更高權重**，強化模型對其的學習能力。常用於**邏輯迴歸、樹模型與神經網路**中，透過**損失函數加權**自動調整學習焦點」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 對多數類加權 → 反了，是少數類加權才能平衡學習，刪。\n   - (C) 僅樹模型 → 反了，教材明列三類模型都可用，刪。\n   - (D) 完全取代過採樣 → 兩者是**互補策略**而非取代，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 282-284（類別不平衡處理 - 類別重加權）\n\n**融會貫通**：記法「**類別重加權 = 少數類權重↑ + 損失函數層級**」。實務 PyTorch / sklearn 都有 `class_weight` 參數，原理是把損失函數改寫成 `L = Σ w_i × loss_i`，少數類的 w 加大。\n\n類別不平衡三招對比：\n- **類別重加權**（損失函數層） → 對少數類更敏感\n- **過採樣 / SMOTE**（資料層） → 增加少數類樣本\n- **異常值建模**（任務轉換層） → 只學正常類，異常即少數類",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 **SMOTE 的核心機制與優勢** → 考點是 **合成新樣本 + 保留樣本空間結構 + 降低過擬合**。\n2. **正確答案 (B) 為何對**：教材 line 287-288「SMOTE ... 透過**合成新樣本**方式平衡資料分佈，能**保留原始樣本空間結構**，**降低過度複製產生的過擬合風險**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 刪除多數類 → 那是 **Random Under-sampling**，不是 SMOTE，刪。\n   - (C) 對所有類別加噪聲 → 那是資料增強的另一手段，不是 SMOTE，刪。\n   - (D) 僅複製少數類無新樣本 → 那是 **Random Over-sampling**，正是 SMOTE 要解決的「過度複製過擬合」問題，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 285-288（類別不平衡處理 - 過採樣 SMOTE）\n\n**融會貫通**：記法「**SMOTE = 合成（不是複製）少數類新樣本**」。原理：在少數類樣本之間做線性插值生成新樣本。對比：\n- **Random Over-sampling** → 直接複製，**容易過擬合**\n- **SMOTE** → 鄰近樣本插值合成，保留空間結構\n- **ADASYN**（衍生）→ 在難以分類的少數類附近多合成\n\n考點重點：SMOTE 的價值在**「合成」≠ 「複製」**，所以能降低 over-sampling 帶來的過擬合風險。",
    "39": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**異常值建模**」（Isolation Forest、One-Class SVM）的設計理念 → 考點是 **任務轉換為異常偵測 + 只學正常類**。\n2. **正確答案 (A) 為何對**：教材 line 289-291「異常值建模 ... 將類別不平衡問題**視為異常偵測任務**，建構**僅學習正常類別行為**的模型，再以此辨識『異常』樣本。特別適用於**極端不平衡場景**（如欺詐偵測、設備故障預測等）」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 同時學正類與負類 → 反了，異常值建模只學**正常類**（多數類），刪。\n   - (C) 適用平衡監督式任務 → 反了，正是針對**極端不平衡**場景，刪。\n   - (D) 透過過採樣平衡 → 那是另一種策略（SMOTE），不是異常值建模，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 289-291（類別不平衡處理 - 異常值建模）\n\n**融會貫通**：記法「**Isolation Forest / One-Class SVM = 只學正常 + 異常 = 邊緣**」。設計哲學：\n- **傳統分類**：學「正類」與「負類」的邊界\n- **異常偵測**：只學「正常類」的密度區域，落在外側的就是異常\n\n實務場景：\n- **欺詐偵測**：99.99% 是正常交易，只需學正常 pattern\n- **設備故障**：日常運作 99% 是正常，故障是極稀有事件\n- **入侵偵測**：正常網路行為遠多於攻擊\n\n當不平衡比例極端（>1:1000）時，這比 SMOTE / 重加權更有效。",
    "40": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**商業任務**」（推薦系統、行銷）的領域專屬指標 → 考點是 **NDCG + Profit Score**。\n2. **正確答案 (A) 為何對**：教材 line 298「商業任務（如推薦系統、行銷）：可使用領域專屬指標，如**排序任務中的 NDCG**、**收益導向的 Profit Score**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) MSE、RMSE → 那是迴歸任務通用指標，非商業領域專屬，刪。\n   - (C) Accuracy、F1 → 那是分類任務通用指標，刪。\n   - (D) RSS、TSS → 那是 R² 的內部組件，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 293-298（業務導向與自定義效能衡量）\n\n**融會貫通**：記法「**業務導向 = 客製化指標**」。教材列舉兩大領域：\n- **風險導向（醫療）**：可自定義**誤判成本矩陣**，強化高代價錯誤（如漏診）的懲罰\n- **商業任務（推薦/行銷）**：NDCG（排序品質）+ Profit Score（收益）\n\nNDCG（Normalized Discounted Cumulative Gain）= 排序任務中常見指標，越靠前的位置權重越大。Profit Score 則直接以收益衡量決策品質。這呼應整章核心精神：「**不要只看通用指標，要看業務本身關心什麼**」。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**穩定性視覺化分析**」中觀察多輪驗證表現分佈的工具 → 考點是 **箱型圖 + 平均排名圖**。\n2. **正確答案 (B) 為何對**：教材 line 310-312「穩定性視覺化分析 ... 搭配**箱型圖（Boxplot）或平均排名圖（Mean Rank Plot）**等視覺化工具，觀察不同模型在多輪驗證下的表現分佈與變異程度」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) ROC / PR 曲線 → 用於單一模型的閾值表現，不是多輪變異視覺化，刪。\n   - (C) 混淆矩陣熱力圖 → 用於分類結果分佈，不是多輪變異，刪。\n   - (D) 損失收斂曲線 → 用於訓練過程監控，不是多模型比較，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 310-312（多輪驗證與效能穩定性觀察 - 穩定性視覺化分析）\n\n**融會貫通**：記法「**穩定性視覺化 = 箱型圖 + 平均排名圖**」。對比：\n- **箱型圖（Boxplot）**：看單一模型在 K-fold 多輪下的中位數、四分位距、離群值\n- **平均排名圖（Mean Rank Plot）**：看多模型在不同資料切分下的相對排名平均\n\n論文中常用 boxplot 呈現多模型 cross-validation 結果，配合統計檢定（如 Wilcoxon 檢定）確認模型差異是否顯著。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 K-fold 「**常見設定**」與「**平衡考量**」→ 考點是 **K=5 或 10**。\n2. **正確答案 (B) 為何對**：教材 line 332「常見設定為 **K=5 或 10**，可在**精確度與運算效率**間取得平衡」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) K=2 或 3 → 反了，教材明列 K=5 或 10，刪。\n   - (C) K 越大成本越低 → 反了，K 越大需訓練 K 次，**成本越高**（line 331「計算成本為 K 倍」），刪。\n   - (D) K 必須 = n → 那是 LOOCV 的極端形式，不是常見設定，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 327-338（K-fold 特點與適用場景）\n\n**融會貫通**：記法「**K = 5 或 10 是黃金值**」。為什麼？\n- **K = 5**：每折 20% 驗證集，計算 5 倍，平衡效率與穩定性\n- **K = 10**：每折 10% 驗證集，更穩定但計算 10 倍\n- **K = 2**：太少，評估偏差大\n- **K = n（LOOCV）**：偏差最小但計算成本爆炸\n\n實務 sklearn `KFold(n_splits=5)` 是預設值，符合教材建議。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 K-fold 的「**適用場景**」→ 考點是 **中大型資料集 + 模型選擇標準方法 + 迴歸與分類通用**。\n2. **正確答案 (B) 為何對**：教材 line 336-338「適用場景：\n   - 適用於**中大型資料集（數千筆以上）**\n   - 模型選擇與效能比較常以此為**標準方法**\n   - 適用於**迴歸與分類**任務的泛化能力驗證」\n   (B) 完整對應教材三條適用場景。\n3. **其他選項為何刪**：\n   - (A) 僅小型資料集 → 反了，小資料集應用 LOOCV，刪。\n   - (C) 僅分類 → 反了，教材明列迴歸與分類都適用，刪。\n   - (D) 僅 K=n → 那是 LOOCV，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 327-338（K-fold 適用場景）\n\n**融會貫通**：記法表「**交叉驗證選擇依據**」：\n- **資料數千筆以上、通用** → K-fold (K=5 或 10)\n- **資料分類不均** → Stratified K-fold（呼應 num 26、num 44）\n- **資料極少且珍貴** → LOOCV\n- **需報告變異與信賴區間** → Repeated K-fold\n\n考點常考「**根據資料量與任務特性挑方法**」，記住四種方法的適用區間即可秒解。",
    "44": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 **Stratified K-fold 的「特點」**（注意是特點，與 num 26 的定義不同角度）→ 考點是 **解決失真 + 提升小樣本穩定性 + 分佈一致**。\n2. **正確答案 (A) 為何對**：教材 line 348-351「特點：\n   - 可有效解決**類別不均**所導致的模型評估失真\n   - 提升對**小樣本類別**的穩定性與預測準確度\n   - 與傳統 K-fold 相比，**分佈一致性更高**」\n   (A) 完整對應教材三條特點。\n3. **其他選項為何刪**：\n   - (B) 與 K-fold 完全相同 → 反了，Stratified 多了「分層抽樣」機制，刪。\n   - (C) 僅迴歸 → 反了，Stratified 正是為**分類任務**設計，刪。\n   - (D) 增加失真 → 反了，是**解決**失真，刪。\n\n**📖 章節來源**：chunks/L23303.txt line 347-358（Stratified K-fold 特點與適用場景）\n\n**融會貫通**：與 num 26（Stratified 定義）形成互補：\n- **num 26 焦點**：依類別比例分層抽樣（**做法**）\n- **num 44 焦點**：解決失真、提升小樣本穩定（**好處**）\n\n實務 sklearn `StratifiedKFold` 是分類任務的**預設選擇**（line 358）。當你拿到 imbalanced classification 資料（如 95:5），不用 Stratified 會導致某些 fold 完全沒有少數類樣本，評估失真。",
    "45": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Repeated K-fold 的「**不正確**」適用場景 → 考點是教材**明列**的三大適用場景。\n2. **正確答案 (D) 為何對**：教材 line 401-404 明列 Repeated K-fold 三大適用場景：\n   - (A) 調參流程中模型比較與效能穩定性評估 ✓\n   - (B) 學術研究或論文發表需報告標準差與置信範圍 ✓\n   - (C) 需重現性高的產業建模流程，如金融風控或醫療 AI ✓\n   (D)「最低計算成本的單次快速評估」**完全相反** — 教材 line 398「相較標準 K-fold，**計算成本更高**」，故為答案。\n3. **其他選項為何刪**：(A)(B)(C) 均直引教材，正確場景。\n\n**📖 章節來源**：chunks/L23303.txt line 386-404（Repeated K-fold 特點與適用場景）\n\n**融會貫通**：記法「**Repeated K-fold = 高成本但高穩定性**」。實務權衡：\n- **何時用**：模型比較、論文發表、金融/醫療等高重現性要求\n- **何時不用**：快速 prototyping、計算資源緊張、單次驗證夠用\n\n對比四種交叉驗證的計算成本：\n- **K-fold (K=5)** → 5 倍訓練成本\n- **Stratified K-fold** → 同 K-fold\n- **Repeated K-fold (5×10)** → 50 倍訓練成本\n- **LOOCV** → n 倍訓練成本（最高）\n\n考點常考「**Repeated K-fold 並非永遠最佳，計算成本是其主要限制**」。"
  },
  "mock_L23304": {
    "1": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「本章四大核心面向**不屬於**何者」→ 考點是 L23304「模型調整與優化」章節的四大主軸。\n2. **正確答案 (D) 為何對**：教材明確列出本章四大核心面向 = 超參數調校 + 正則化技術 + 資料增強與重取樣 + **模型壓縮與加速**；**特徵工程（Feature Engineering）屬於 L23301 範疇**，不在本章。題目要選「不屬於」，所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 超參數調校 → 教材明列第一項核心面向，刪。\n   - (B) 正則化技術 → 教材明列第二項核心面向，刪。\n   - (C) 資料增強與重取樣 → 教材明列第三項核心面向，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 11-27（前言與章節導覽）\n\n**融會貫通**：記法「**超參+正則+增強+壓縮**」四件套。特徵工程是「資料準備期」工作（L23301），模型調整與優化則是「模型已訓練後」的精修，兩者階段不同。看到「特徵工程」放進「模型優化」章節 = swap 干擾。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「超參數的敘述何者正確」→ 考點是「超參數 vs 參數」的本質區別。\n2. **正確答案 (B) 為何對**：教材定義「超參數是需由開發者**手動指定**的參數，**並不由資料自動學習**得出」；對訓練穩定性、收斂速度與最終效能影響深遠。所以 (B) 正確。\n3. **其他選項為何刪**：\n   - (A) 由模型自動學習 → 那是「參數（weights/bias）」，不是超參數，刪。\n   - (C) 與權重和偏差同一概念 → 權重/偏差是「參數」，與超參數是兩件事，刪。\n   - (D) 只在部署時設定 → 超參數在**訓練前**就要指定，不是部署時，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 31（超參數調校）\n\n**融會貫通**：易混淆對照「**參數 vs 超參數**」— 參數（如 weights、bias）= 模型自己學；超參數（如 learning rate、batch size、層數）= 人類事先設定。記法「**參數機器學，超參人類給**」。",
    "3": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「學習率設定何者**錯誤**」→ 考點是學習率大小對訓練的影響。\n2. **正確答案 (C) 為何對**：選項 (C) 說「學習率越大模型越穩定」這句話**錯誤** — 教材明確說「學習率大會跳過最小點或導致震盪，甚至使損失函數無限上升（發散）」。實務上應在初期用較大值、後期用調度器降低，並非「越大越穩定」。題目要選「錯誤」，所以 (C)。\n3. **其他選項為何刪**：\n   - (A) 學習率過高 → 參數大幅變動 → 訓練不穩定/梯度爆炸：教材原文，**正確**，刪。\n   - (B) 學習率過低 → 收斂緩慢/無法跳出局部極小：教材原文，**正確**，刪。\n   - (D) 固定學習率無法兼顧前後期需求：教材原文，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 55-63、67-81（學習率）\n\n**融會貫通**：記法「**過大會跳、過小會卡、固定難兼顧**」。學習率不是越大越好也不是越小越好，要在訓練過程動態調整 → 學習率退火（Annealing）或 Scheduler。常見干擾是「越大越穩定」這種反向陷阱。",
    "4": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目說「兼顧訓練初期快速下降與後期細部微調」→ 考點是學習率的**動態調整策略**。\n2. **正確答案 (C) 為何對**：教材原文「實務上常會搭配學習率退火（Annealing）或調度器（Scheduler）」，初期用較大學習率快速降低誤差，後期降低學習率以收斂至更佳參數區域。所以 (C)。\n3. **其他選項為何刪**：\n   - (A) 固定學習率 → 教材明說「未隨訓練階段調整，無法兼顧前後期需求」，刪。\n   - (B) 設極大值 → 會跳過最小點、震盪甚至發散，刪。\n   - (D) 設為 0 → 0 等於不更新參數，模型完全無法學習，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 63、75-81（學習率）\n\n**融會貫通**：實務應用「**初期快、後期慢**」記法。常見 Scheduler 種類：Step Decay、Cosine Annealing、Exponential Decay、Warm-up + Decay。Adam 雖有自適應特性但仍可搭配 Scheduler 效果更佳。",
    "5": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「批次大小敘述何者**正確**」→ 考點是 small batch vs large batch 的特性對比。\n2. **正確答案 (A) 為何對**：教材原文「小批次提供較高的隨機性，有助於跳脫局部極小值，但梯度波動大，可能使訓練不穩定」。完整描述了 small batch 的雙面性（優：跳出局部極小；缺：梯度波動大）。所以 (A)。\n3. **其他選項為何刪**：\n   - (B) 大批次必然更佳泛化 → 教材反指「大批次**可能降低**泛化能力」，刪。\n   - (C) 批次大小與學習率獨立 → 教材原文「兩者具高度耦合」，刪。\n   - (D) 批次過大不受 GPU 記憶體限制 → 教材原文「超過 GPU 上限將導致訓練失敗」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 97-123（批次大小）\n\n**融會貫通**：易混淆對照「**小批次 vs 大批次**」— 小：隨機性高、跳得出局部極小、但震盪大；大：梯度穩、收斂快、但泛化可能差、會吃 GPU 記憶體。記法「**小批活潑、大批沉穩**」。批次與學習率「高度耦合」是常考點。",
    "6": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目描述「訓練不穩定且震盪劇烈，但每次迭代很快」→ 考點是哪種批次設定會造成這種症狀。\n2. **正確答案 (B) 為何對**：教材原文「批次過小：導致梯度估計不穩，訓練過程震盪劇烈，並增加訓練時間與迭代次數」。每筆批次小 → 計算快；但梯度估計不穩 → 震盪劇烈。完全對應題幹症狀，所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 批次過大 → 梯度估計穩定、不會劇烈震盪，刪。\n   - (C) 學習率過低 → 收斂緩慢但不會劇烈震盪，刪。\n   - (D) 資料完全無噪聲 → 無噪聲反而有利穩定訓練，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 109-115（批次大小常見問題）\n\n**融會貫通**：實務 debug 思路「**症狀 → 反推批次**」。震盪劇烈 + 迭代快 = batch 太小（樣本少所以快，但梯度估計不準）；訓練很慢 + 卡局部最小 = batch 太大。",
    "7": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「網路深度與寬度的**正確定義**」→ 考點是 Depth 與 Width 的本質區別。\n2. **正確答案 (B) 為何對**：教材定義「網路深度（Network Depth）= 神經網路中所包含的層數，含輸入/隱藏/輸出層；網路寬度（Network Width）= 每層中神經元（或通道、單元）的數量」。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 深度=神經元數、寬度=層數 → 兩者定義對調，典型 swap 干擾，刪。\n   - (C) 都指神經元總數 → 兩個不同概念被混為一談，刪。\n   - (D) 僅適用決策樹 → 教材說「僅適用深度學習模型」（MLP/CNN/RNN/Transformer），決策樹反而沒有此概念，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 129-137（網路深度與寬度）\n\n**融會貫通**：記法「**深度直直上、寬度橫橫展**」— 深度堆層數（縱向），寬度增神經元（橫向）。Depth ↑ 提升非線性表達能力但易梯度消失；Width ↑ 提升特徵表示空間但易過擬合。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目說「結構過深 + 未搭配 BN/殘差連接」→ 考點是深層網路常見問題。\n2. **正確答案 (B) 為何對**：教材原文「結構過深：若未搭配合適初始化、Batch Normalization 或殘差連接，容易出現梯度消失，使模型難以收斂」。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 必然欠擬合 → 過深通常是「容量過大」會過擬合或梯度消失，「欠擬合」是過淺才會出現，刪。\n   - (C) 訓練時間縮短 → 深層模型計算成本反而增加，刪。\n   - (D) 自動形成更佳泛化 → 過深若無正則化反而泛化更差，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 150-156（網路深度與寬度常見問題）\n\n**融會貫通**：易混淆對照「**過深 vs 過寬 vs 過淺**」— 過深 → 梯度消失難收斂；過寬 → 過擬合；過淺 → 欠擬合。深層救星：**BN + 殘差連接 + 良好初始化**（如 He、Xavier）。",
    "9": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「激活函數對應何者**正確**」→ 考點是 Softmax/ReLU/Sigmoid/Tanh 的輸出範圍與用途。\n2. **正確答案 (A) 為何對**：教材原文「Softmax 將實數輸入轉換為機率分佈，輸出值為 0 到 1 之間，且**總和為 1**」；適用「多類別單選（Multi-Class Single-Label）」。所以 (A)。\n3. **其他選項為何刪**：\n   - (B) ReLU 範圍 [0, 1] → 錯，ReLU = max(0, x) 沒有上限，是 [0, ∞)，刪。\n   - (C) Sigmoid 範圍 [-1, 1] → 錯，Sigmoid 範圍是 [0, 1]，[-1, 1] 是 Tanh，刪。\n   - (D) Tanh 範圍 [0, 1] → 錯，Tanh 範圍是 [-1, 1]，[0, 1] 是 Sigmoid，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 181-202、208-224、230-248、254-270（激活函數）\n\n**融會貫通**：記法「**Sig 0-1、Tanh -1-1、ReLU 0-∞、Softmax 機率和=1**」。常見 swap 干擾：把 Sigmoid 與 Tanh 範圍對調。要記住 Tanh 是中心對稱（含負數），Sigmoid 是 0 到 1 不對稱。",
    "10": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「ReLU 敘述何者**錯誤**」→ 考點是 ReLU 的特性。\n2. **正確答案 (D) 為何對**：選項 (D) 說「ReLU 輸出範圍固定在 [0, 1]」這句話**錯誤** — 教材原文 ReLU(x) = max(0, x)，正值保持不變，「輸出**不在固定範圍內**」（實際是 [0, ∞)）。[0, 1] 是 Sigmoid 的範圍。題目要選錯誤，所以 (D)。\n3. **其他選項為何刪**：\n   - (A) ReLU(x) = max(0, x)，負數設為 0 → 教材原文，**正確**，刪。\n   - (B) 計算簡單快速、有助解決梯度消失 → 教材原文，**正確**，刪。\n   - (C) 適合深度神經網路隱藏層 → 教材原文「適合捕捉非線性特徵」，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 208-224（ReLU）\n\n**融會貫通**：常見干擾「把 Sigmoid 範圍 [0,1] 安到 ReLU 上」。記法「**ReLU 沒上限、Sigmoid 卡 0-1**」。ReLU 解決梯度消失的原因：正區段斜率恆為 1，反向傳播時梯度不會衰減。",
    "11": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目說「多類別單選（手寫數字 0-9 分類）」→ 考點是輸出層激活函數對應任務的選擇。\n2. **正確答案 (C) 為何對**：教材原文 Softmax 適用範圍 = 「多類別單選（Multi-Class Single-Label），例如在多分類問題中，只能從多個類別中選出一個最終預測」；輸出為機率分佈、類別互斥、用於輸出層。手寫數字 0-9 就是典型多類別單選。所以 (C)。\n3. **其他選項為何刪**：\n   - (A) ReLU → 用於**隱藏層**，不是輸出層，刪。\n   - (B) Tanh → 用於隱藏層（需正負輸出時），不是分類輸出層，刪。\n   - (D) Sigmoid（每類獨立）→ 用於「多標籤分類」（一張圖可同時是貓+室內+毛茸茸），不是「單選」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 179、193-202（Softmax）\n\n**融會貫通**：易混淆對照「**多類別單選 vs 多標籤**」— 單選（互斥）用 Softmax；多標籤（不互斥）用 N 個獨立 Sigmoid。記法「**Softmax 一選一、Sigmoid 各自獨立**」。手寫數字、圖片分類（一張圖一個類）= Softmax；圖片同時打多 tag = Sigmoid。",
    "12": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「優化器敘述何者**錯誤**」→ 考點是 SGD/Momentum/Adagrad/Adam 四種優化器特性。\n2. **正確答案 (D) 為何對**：選項 (D) 說「Adam 不會記錄梯度歷史，與 SGD 同等記憶體需求」這句話**錯誤** — 教材原文 Adam 結合 Momentum + RMSprop，「同時計算一階動量（平均梯度）與二階動量（梯度平方）」，需額外記憶體儲存梯度歷史 → 「記憶體需求較高」。所以 (D)。\n3. **其他選項為何刪**：\n   - (A) SGD 計算簡單、記憶體低、易受噪聲、收斂慢 → 教材原文，**正確**，刪。\n   - (B) Momentum 加梯度累積產生慣性減震盪 → 教材原文，**正確**，刪。\n   - (C) Adagrad 為每個參數分配不同學習率、適合稀疏特徵 → 教材原文，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 353-358、362-396、398-425、427-479（優化器）\n\n**融會貫通**：易混淆對照四優化器「**SGD 樸素、Momentum 慣性、Adagrad 自適應、Adam 二合一**」。Adam = Momentum (一階動量) + RMSprop (二階動量) + 偏差修正，記憶體需求最高。",
    "13": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Adam 優化器特點何者**正確**」→ 考點是 Adam 的組成與特性。\n2. **正確答案 (A) 為何對**：教材原文「Adam（Adaptive Moment Estimation）結合了 Momentum 與 RMSprop 的優點，同時計算一階動量（平均梯度）與二階動量（梯度平方），並進行偏差修正」。所以 (A)。\n3. **其他選項為何刪**：\n   - (B) 只計算一階動量 → 錯，Adam 同時計算一階+二階動量，刪。\n   - (C) 不需學習率設定 → 錯，Adam 仍需設 η（學習率超參數），只是會自動調整每個參數的有效步幅，刪。\n   - (D) 不適用深度學習 → 教材反指「幾乎所有深度學習模型」，且被稱為「萬用優化器」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 427-479（Adam）\n\n**融會貫通**：記法「**Adam = Momentum + RMSprop + 偏差修正**」。一階動量 = 平均梯度（方向慣性）；二階動量 = 梯度平方（自適應步幅）。實務「不確定選誰，先用 Adam」是業界慣例。",
    "14": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目說「稀疏特徵（文字、NLP）」→ 考點是「為每個參數分配不同學習率」的優化器。\n2. **正確答案 (C) 為何對**：教材原文 Adagrad「自動為每個參數調整學習率」，適用範圍「稀疏特徵場景，如文字、NLP；特徵分佈不均的情況」。所以 (C)。\n3. **其他選項為何刪**：\n   - (A) Momentum → 加慣性減震盪，沒做參數級學習率調整，刪。\n   - (B) SGD → 所有參數共用同一學習率，沒有自適應能力，刪。\n   - (D) 全量批次梯度下降 → 用整個資料集算梯度，計算成本高且未針對稀疏特徵設計，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 398-425（Adagrad）\n\n**融會貫通**：記法「**Adagrad = Ada(自適應)+grad(梯度)→ 每參一率**」。NLP 場景特徵分佈極不均（常見字 vs 罕見字），Adagrad 對「常被更新的參數縮小步幅、罕見參數放大步幅」效果好。缺點：學習率持續衰減可能導致訓練停滯（後續 RMSprop、Adam 改進此問題）。",
    "15": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「L1 正則化（Lasso）敘述何者**正確**」→ 考點是 L1 與 L2 的核心區別。\n2. **正確答案 (B) 為何對**：教材原文「L1 正則化（Lasso）是在損失函數中加入所有參數（權重）**絕對值的總和**，限制模型過度依賴特定特徵，並促使部分權重變為零」；公式 Loss = 原始損失 + λΣ|θᵢ|。「能自動執行特徵選擇」是 Lasso 的招牌。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 加入參數平方和 → 那是 L2（Ridge），不是 L1，刪。\n   - (C) 不能應用於高維特徵 → 教材反指「常用於高維度資料或特徵數量多的情況」，刪。\n   - (D) 不影響權重大小 → 正則化的核心就是壓抑權重，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 535-555（L1 正則化）\n\n**融會貫通**：易混淆對照「**L1 絕對值 / L2 平方**」— Lasso 全名 Least Absolute Shrinkage and **Selection** Operator，「Selection」= 特徵選擇能力。記法「**L1 砍到零、L2 縮但不零**」。",
    "16": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「L2 正則化（Ridge）敘述何者**錯誤**」→ 考點是 L2 不會壓零、與 L1 的核心差別。\n2. **正確答案 (C) 為何對**：選項 (C) 說「L2 會將部分參數直接壓縮為零，達到自動特徵選擇」這句話**錯誤** — 教材原文「L2 正則化用平方限制，讓權重縮小，**但不直接變 0**」、「不會將參數直接壓到零」。「壓零做特徵選擇」是 L1 的特性，被誤安到 L2 身上。所以 (C)。\n3. **其他選項為何刪**：\n   - (A) 加入參數平方和 → 教材原文 Loss = 原始損失 + λΣθᵢ²，**正確**，刪。\n   - (B) 穩定權重、防過擬合 → 教材原文「能穩定權重大小，防止過擬合」，**正確**，刪。\n   - (D) λ 越大權重被壓抑越小 → 教材原文「λ 越大，權重值被壓抑得越小」，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 573-588（L2 正則化）\n\n**融會貫通**：易混淆對照「**L1 vs L2 壓 0 能力**」— L1 用絕對值 → 在 0 點不可導 → 解會卡在 0 → 特徵選擇；L2 用平方 → 在 0 點可導 → 解只會縮小不壓 0。記法「**L1 變稀、L2 變小**」。Ridge 名稱源自統計幾何上的「脊線」分佈。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Elastic Net 敘述何者**正確**」→ 考點是 Elastic Net 的本質（L1 + L2 雙重正則化）。\n2. **正確答案 (B) 為何對**：教材原文「結合 L1 與 L2 的特性，同時對權重施加稀疏與穩定化的限制」；公式 Loss = 原始損失 + λ₁Σ|θᵢ| + λ₂Σθᵢ²；「保留 L1 的特徵選擇能力，又利用 L2 防止模型過度稀疏」；「對於多重共線性（Highly Correlated Features）問題特別有效」。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 只用 L1 不用 L2 → 錯，Elastic Net 同時用兩者，刪。\n   - (C) 對多重共線性完全無效 → 教材原文「特別有效」，刪。\n   - (D) 不需調正則化係數 → 教材原文「需要同時調整兩個正則化係數，調參較複雜」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 604-619（Elastic Net）\n\n**融會貫通**：記法「**Elastic Net = L1 + L2 = 特徵選擇 + 穩定權重**」。實務上當特徵之間高度相關（多重共線性）時，純 L1 可能隨機挑一個壓 0、其他保留，Elastic Net 較穩定。代價是要調兩個 λ（λ₁、λ₂）。",
    "18": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Dropout 敘述何者**錯誤**」→ 考點是 Dropout 訓練階段 vs 測試階段的差異。\n2. **正確答案 (C) 為何對**：選項 (C) 說「測試階段仍持續隨機丟棄神經元」這句話**錯誤** — 教材原文「Dropout 測試階段：**不再丟棄神經元**，而是把權重按保留率縮放，保持輸出期望值一致」。測試時不丟棄是 Dropout 的關鍵設計（否則每次推論結果會不一致）。所以 (C)。\n3. **其他選項為何刪**：\n   - (A) 隨機關閉部分神經元、減少神經元依賴 → 教材原文，**正確**，刪。\n   - (B) 訓練階段隨機將神經元輸出設為 0 → 教材原文，**正確**，刪。\n   - (D) Dropout 機率過高導致無法有效學習 → 教材原文「Dropout 機率設定過高，可能導致模型無法有效學習」，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 622-655（Dropout）\n\n**融會貫通**：易混淆對照「**Dropout 訓練 vs 測試階段**」— 訓練：隨機關閉（每次不同子網路）；測試：**全部開啟 + 權重縮放**。記法「**訓練亂砍、測試全開**」。這是考試最愛考的混淆點。",
    "19": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Early Stopping 敘述何者**正確**」→ 考點是 Early Stopping 的機制與參數。\n2. **正確答案 (B) 為何對**：教材原文「早停法（Early Stopping）在訓練過程中，若驗證集的效能（損失）在連續多次迭代後不再改善，便提前終止訓練」；「透過『patience』參數，決定可容忍多少次不進步」。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 修改網路架構 → 教材原文「無需修改模型架構，是一種**訓練策略**」，刪。\n   - (C) patience 越短表現越好 → 教材說「patience 過短可能欠擬合」，並非越短越好，刪。\n   - (D) 不需監控驗證集 → Early Stopping 的核心就是監控驗證集效能，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 657-672（Early Stopping）\n\n**融會貫通**：記法「**Early Stopping = 驗證集 + patience**」。patience 過短 → 過早停止 → 欠擬合；patience 過長 → 訓練太久 → 仍可能過擬合。是「訓練策略」不是「模型架構修改」，這點與 Dropout 不同（Dropout 動到模型 forward 流程）。",
    "20": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「正則化係數 λ 何者**錯誤**」→ 考點是 λ 的數值範圍與作用。\n2. **正確答案 (D) 為何對**：選項 (D) 說「λ 必須為負數才能發揮正則化效果」這句話**錯誤** — 教材公式 Loss = 原始損失 + **λ × 正則化項**；λ 為**非負數**（通常為正數），若 λ 為負反而會獎勵權重變大，違反正則化目的。所以 (D)。\n3. **其他選項為何刪**：\n   - (A) λ 變大 → 權重壓小、模型簡單、可能欠擬合 → 教材原文「強化限制、權重被壓縮得更小、模型變簡單，但可能欠擬合」，**正確**，刪。\n   - (B) λ 變小 → 權重變大、靈活但易過擬合 → 教材原文，**正確**，刪。\n   - (C) λ 控制正則化項在損失中的影響力 → 教材原文「決定了在損失函數中，正則化項的影響力」，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 481-521（正則化係數）\n\n**融會貫通**：記法「**λ 大壓得緊、λ 小放得鬆**」。λ = 0 等於關閉正則化；λ → ∞ 等於把所有權重壓到 0（極端欠擬合）。常見干擾「λ 為負數」反向陷阱 — 負數會反向獎勵權重變大，邏輯顛倒。",
    "21": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料增強敘述何者**錯誤**」→ 考點是資料增強的常見問題（風險）。\n2. **正確答案 (D) 為何對**：選項 (D) 說「不當變換**絕對不會**改變原始數據語意或標註」這句話**錯誤** — 教材原文「不當的變換**可能改變**原始數據的語意或標註，導致模型學習錯誤資訊」。例如把手寫數字「6」旋轉 180° 變成「9」、把貓圖過度裁切失去主體 → 標註失效。所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 隨機變換手段人工擴增訓練資料 → 教材原文定義，**正確**，刪。\n   - (B) 影像：旋轉、平移、翻轉、縮放、裁切、添加雜訊 → 教材原文，**正確**，刪。\n   - (C) 文字：同義字替換、隨機刪詞、句子順序調整 → 教材原文，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 680-714（資料增強）\n\n**融會貫通**：實務應用「**增強要對齊任務語意**」。例：手寫數字辨識不可隨意旋轉（6/9 互變）；醫療影像不可隨意翻轉（左右臟器位置有意義）；OCR 文字不可垂直翻轉。「絕對」「必然」「完全」這類絕對化用詞 = 考題陷阱旗標。",
    "22": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**屬於**過採樣（Oversampling）的方法」→ 考點是 Over vs Under vs Class Weighting 的區別。\n2. **正確答案 (B) 為何對**：教材原文 Oversampling 常見方法「複製少數類別的現有樣本」、「使用 SMOTE（Synthetic Minority Over-sampling Technique）等演算法，合成新樣本」；原理是「增加少數類別的樣本數」。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 減少多數類別樣本 → 那是欠採樣（Undersampling），刪。\n   - (C) 調整類別權重、不增減樣本 → 那是類別權重調整（Class Weighting），刪。\n   - (D) 所有類別壓縮到 1 → 不是任何標準重取樣方法，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 724-742（過採樣）\n\n**融會貫通**：記法「**Over 增少數、Under 減多數、Weight 改權重**」。SMOTE 是過採樣裡的「合成派」（基於少數類別 KNN 內插合成新樣本），不只是單純複製。常見干擾把 over/under 對調。",
    "23": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「欠採樣（Undersampling）敘述何者**錯誤**」→ 考點是欠採樣的適用條件與缺點。\n2. **正確答案 (D) 為何對**：選項 (D) 說「在少數類別本就稀少時仍然非常適用」這句話**錯誤** — 教材原文欠採樣缺點明列「在少數類別本就稀少時，**不適用**」。因為欠採樣是減多數類別樣本來達到平衡，少數類別本就稀少時，再減多數會讓整體資料量大幅縮水，模型訓練不足。所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 減少多數類別樣本以達類別平衡 → 教材原文定義，**正確**，刪。\n   - (B) 降低計算成本、簡單易行 → 教材原文「降低計算成本、簡單易行，實作快速」，**正確**，刪。\n   - (C) 丟失有價值資料、準確度可能下降 → 教材原文「可能丟失有價值的資料，導致模型準確度下降」，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 750-766（欠採樣）\n\n**融會貫通**：記法「**Undersampling = 砍多數**」。適用情境：多數類別樣本充足 + 少數類別樣本量還算可觀（但比例不平衡）。不適用：少數類別本就稀少（此時應改用 Oversampling 或 Class Weighting）。",
    "24": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「類別權重調整相較於 Over/Under-Sampling 的**優點**」→ 考點是 Class Weighting 與重取樣的差異。\n2. **正確答案 (B) 為何對**：教材原文 Class Weighting 優點「不需更動樣本數，保留原始資料完整性」、「適用於資料量有限或無法輕易生成新樣本的情況」、「計算資源消耗較低」。所以 (B)。\n3. **其他選項為何刪**：\n   - (A) 必須改變樣本數量 → 錯，Class Weighting 的核心就是「不改樣本數，改損失函數權重」，刪。\n   - (C) 計算資源消耗極高 → 教材說「計算資源消耗較低」，刪。\n   - (D) 完全不需調整任何參數 → 教材說「權重需謹慎調整」，仍需調參，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 768-786（類別權重調整）\n\n**融會貫通**：實務應用「**Class Weighting 是『改 loss 不改資料』**」。在 PyTorch/sklearn 中常見參數 `class_weight='balanced'` 或 `pos_weight`。優點：原始資料零損；缺點：權重設過大會過度補償（少數類別預測過於激進，假陽性增加）。",
    "25": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「知識蒸餾的核心思想」→ 考點是 Teacher → Student 的方向。\n2. **正確答案 (A) 為何對**：教材原文「知識蒸餾（Knowledge Distillation）是一種將大型、高準確度的『教師模型（Teacher）』知識，傳遞給較小、較輕量的『學生模型（Student）』的技術」；目標是讓學生在體積更小、運算更快下接近教師表現。所以 (A)。\n3. **其他選項為何刪**：\n   - (B) 小傳大 → 反了，知識蒸餾是「大教小」，刪。\n   - (C) 直接刪除影響較小的權重 → 那是「模型剪枝（Pruning）」，刪。\n   - (D) 高精度轉低精度 → 那是「量化（Quantization）」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 794-813（知識蒸餾）\n\n**融會貫通**：易混淆對照「**蒸餾 vs 剪枝 vs 量化**」三大壓縮技術 — 蒸餾：Teacher→Student 訓練新小模型；剪枝：在現有模型上砍掉低貢獻權重/神經元；量化：把參數從 FP32 → INT8。記法「**蒸學生、剪權重、量精度**」。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型剪枝兩種類型何者**正確**」→ 考點是結構化 vs 非結構化剪枝的差別。\n2. **正確答案 (A) 為何對**：教材原文「結構化剪枝（Structured Pruning）：移除整個神經元、卷積通道或層級；較容易與硬體加速器整合」。所以 (A)。\n3. **其他選項為何刪**：\n   - (B) 結構化剪枝移除零散權重 → 反了，那是「非結構化剪枝」，典型 swap 干擾，刪。\n   - (C) 非結構化必然優於結構化 → 教材說「部分硬體對非結構化稀疏矩陣支援有限，實際效益有限」，並非必然優於，刪。\n   - (D) 剪枝不影響大小或效率 → 剪枝核心目的就是「減少模型大小、提升計算效率」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 819-841（模型剪枝）\n\n**融會貫通**：易混淆對照「**結構化 vs 非結構化剪枝**」— 結構化：砍整顆神經元/通道/層，模型「變瘦」、硬體友善；非結構化：砍零散權重變稀疏矩陣，模型「打洞」、需要稀疏矩陣加速硬體（如 NVIDIA A100 Sparse Tensor Cores）才有實效。記法「**結構化變瘦、非結構化打洞**」。",
    "27": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「量化（Quantization）敘述何者**錯誤**」→ 考點是量化的精度損失與 QAT 補救。\n2. **正確答案 (C) 為何對**：選項 (C) 說「直接量化必然完全無精度損失，無需任何補救」這句話**錯誤** — 教材原文「直接量化**可能導致模型準確度下降**」、「常需搭配量化感知訓練（Quantization Aware Training, QAT）讓模型學習適應量化誤差，避免精度損失」。所以 (C)。\n3. **其他選項為何刪**：\n   - (A) 高精度（32-bit FP）轉低精度（8-bit INT）→ 教材原文定義，**正確**，刪。\n   - (B) 降低儲存空間與記憶體需求 → 教材原文「大幅降低模型儲存空間與記憶體需求」，**正確**，刪。\n   - (D) 常需搭配 QAT 適應量化誤差 → 教材原文，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 845-859（量化）\n\n**融會貫通**：記法「**量化 = 縮位元、QAT = 補精度**」。直接量化 = Post-Training Quantization（PTQ），快但有精度損失；QAT = 在訓練時模擬量化誤差讓模型學習適應，精度較好但成本高。看到「絕對」「必然完全無損」= 考題陷阱旗標。",
    "28": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「混合精度訓練敘述何者**正確**」→ 考點是 FP16 + FP32 混用機制。\n2. **正確答案 (A) 為何對**：教材原文「混合精度訓練指在模型訓練過程中，同時使用不同數值精度（如 FP16 與 FP32），藉此兼顧運算速度與模型精度」。所以 (A)。\n3. **其他選項為何刪**：\n   - (B) 全部採用 FP16 → 錯，是 FP16 + FP32 並用，純 FP16 會數值不穩，刪。\n   - (C) 不需硬體支援 → 教材原文「需要硬體支援，否則效益有限」，刪。\n   - (D) 對所有演算法無痛適用 → 教材原文「並非所有演算法都能無痛適用」、「低精度可能引發數值不穩定」，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 862-877（混合精度訓練）\n\n**融會貫通**：實務應用「**FP16 算梯度快、FP32 累加梯度穩**」。NVIDIA Tensor Cores（V100/A100/H100）對混合精度有專門優化；常見搭配 Gradient Scaling 避免 FP16 梯度下溢。記法「**混精 = 16 跑得快 + 32 算得穩**」。",
    "29": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目說「行動裝置或邊緣運算節點 + 儲存有限、運算速度有限」→ 考點是模型壓縮/加速主流技術。\n2. **正確答案 (D) 為何對**：選項 (D) 增加網路深度與寬度是**反向操作** — 會放大模型參數規模、增加計算需求，完全違背邊緣部署「縮小模型」的目標。教材模型壓縮章節的主流四技 = 知識蒸餾 + 剪枝 + 量化 + 混合精度訓練。題目問「**不是**主流壓縮技術」，所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 知識蒸餾 → 教材明列為主流壓縮技術之一，刪。\n   - (B) 模型剪枝 → 教材明列為主流壓縮技術之一，刪。\n   - (C) 量化 → 教材明列為主流壓縮技術之一，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 788-877（模型壓縮與加速技術）\n\n**融會貫通**：記法「**邊緣四件套：蒸、剪、量、混**」（知識蒸餾、剪枝、量化、混合精度）。深度寬度是「**模型容量**」的調整，方向是放大；壓縮技術方向是縮小，兩者目標相反。常見反向陷阱：把「擴張型」操作偽裝成「壓縮型」。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「結構化 vs 非結構化剪枝對比何者**錯誤**」→ 考點是兩種剪枝對硬體的友善程度。\n2. **正確答案 (D) 為何對**：選項 (D) 說「非結構化剪枝因稀疏矩陣結構，所有硬體平台都能完美支援、效益必然最大」這句話**錯誤** — 教材原文「部分硬體對非結構化稀疏矩陣**支援有限**，實際效益有限」。並非「所有硬體完美支援」。所以 (D)。\n3. **其他選項為何刪**：\n   - (A) 結構化剪枝移除整個神經元/通道/層級 → 教材原文，**正確**，刪。\n   - (B) 非結構化剪枝移除零散權重、稀疏化 → 教材原文，**正確**，刪。\n   - (C) 結構化剪枝較易與硬體加速器整合 → 教材原文，**正確**，刪。\n\n**📖 章節來源**：chunks/L23304.txt line 823-841（模型剪枝類型）\n\n**融會貫通**：易混淆對照「**結構化 vs 非結構化剪枝硬體友善度**」— 結構化：直接縮小張量維度，所有硬體都受益；非結構化：產生稀疏矩陣，需要支援 Sparse Tensor 的硬體（如 A100 2:4 稀疏）才能加速，普通硬體無法受益。看到「所有」「必然」「完美」三連 = 絕對化陷阱。",
    "31": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目要選「常見問題」敘述中**錯誤**的一個 → 考點是教材列出的學習率 4 條常見問題（過高/過低/固定/未監控）。\n2. **正確答案 (D) 為何對**：教材明列「未監控學習率：忽略調整會導致模型卡在低效學習區段，錯失潛在表現提升空間」。所以「初始設好就無需後續調整」這條敘述本身就是錯誤示範 — 選錯的就選 (D)。\n3. **其他選項為何刪**：\n   - (A) 對應教材「學習率過高 → 訓練不穩定甚至梯度爆炸」，正確 → 刪。\n   - (B) 對應「學習率過低 → 收斂緩慢、無法跳出局部極小值」，正確 → 刪。\n   - (C) 對應「固定學習率 → 未隨訓練階段調整，無法兼顧初期下降與後期微調」，正確 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 65-81（學習率·常見問題 4 條）\n\n**融會貫通**：學習率常見問題記法 = **「過高 / 過低 / 固定 / 不監控」四件套**。其中「不監控」最常被忽略 — 它意指即使初始值正確，訓練過程仍需 monitor 學習曲線並動態調整（搭配 Scheduler/Annealing）。看到「設好就不用管」這種絕對化敘述 = 命題刻意挖坑。",
    "32": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Batch Size 與 LR 耦合關係」→ 考點是教材在批次大小「常見問題」第 4 條的耦合敘述。\n2. **正確答案 (B) 為何對**：教材明文「批次大小與學習率具高度耦合，若批次放大而未調整學習率，可能導致訓練無效或不穩」。這對應實務常見的 **linear scaling rule**（批次擴大 K 倍時 lr 也要對應放大）。\n3. **其他選項為何刪**：\n   - (A) 「完全獨立」與教材直接矛盾 → 刪。\n   - (C) 「只影響 GPU 記憶體」忽略 lr 耦合 → 刪。\n   - (D) 「lr 設為 0」會讓參數完全不更新，是嚴重誤導 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 117-123（批次大小·常見問題第 4 條）+ line 121-123（耦合敘述）\n\n**融會貫通**：Batch ↔ LR 耦合 = **「一起調，不可分開」**。實務口訣：batch 放大 → 學習率也對應放大；batch 縮小 → 學習率也對應縮小（線性比例規則）。考題常用「完全獨立」當干擾，看到就刪。",
    "33": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖在「結構過寬」+「未搭配正則化」 → 考點是教材深度寬度「常見問題」第 2 條。\n2. **正確答案 (C) 為何對**：教材明列「結構過寬 → 模型容量過大，容易對訓練資料過擬合，缺乏泛化能力」。寬度過大意味每層神經元過多 → 參數爆炸 → 記憶細節 → 過擬合。\n3. **其他選項為何刪**：\n   - (A) 梯度消失是「過深」的問題不是「過寬」 → 刪（議題混淆）。\n   - (B) 表達不足是「過淺」的問題 → 刪。\n   - (D) 「自動更佳泛化」與教材直接矛盾 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 148-156（深度寬度·常見問題）\n\n**融會貫通**：神經網路結構問題對應表 — **過深→梯度消失**、**過寬→過擬合**、**過淺→欠擬合**、**無規劃堆疊→效益不保證**。寬度的問題本質是「模型容量過大」，不是梯度問題。",
    "34": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「結構過淺」的後果 → 考點是教材深度寬度「常見問題」第 3 條。\n2. **正確答案 (A) 為何對**：教材明列「結構過淺 → 表達能力不足，導致欠擬合，無法學習複雜資料特徵」。淺層網路非線性轉換不足，難以擬合複雜決策邊界。\n3. **其他選項為何刪**：\n   - (B) 梯度爆炸通常與「過深+不良初始化」有關，不是過淺 → 刪。\n   - (C) 「參數過多必然過擬合」描述的是過寬 → 刪。\n   - (D) 「無關」與教材直接矛盾 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 155-156（結構過淺）\n\n**融會貫通**：過淺 = 模型「腦容量不足」 → 學不會 → 欠擬合（Underfitting）。判別關鍵：若訓練集表現也差，多半是欠擬合（過淺/正則過強/特徵不足）；訓練好但測試差 = 過擬合（過寬/過深/正則不足）。",
    "35": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Tanh **錯誤**敘述 → 考點是教材 Tanh 的「定義與特點」段。\n2. **正確答案 (D) 為何對**：教材明列「Tanh 輸出範圍為 -1 到 1」，與 Sigmoid 的 [0, 1] **不同**。所以「固定 0 到 1，與 Sigmoid 完全相同」這條是錯誤敘述 → 選 (D)。\n3. **其他選項為何刪**：\n   - (A) 對應教材「Tanh 較 Sigmoid 能產生中心對稱效果」 → 正確 → 刪。\n   - (B) 對應教材「在中心區域梯度較大，能讓模型在這裡學習得更快」 → 正確 → 刪。\n   - (C) 對應教材適用範圍「深度神經網路的隱藏層、數據需要正負輸出對稱時」 → 正確 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 250-270（Tanh 定義/適用範圍/特點）\n\n**融會貫通**：四大激活函數輸出範圍記法 — **Sigmoid [0,1]**（二元/多標籤）、**Tanh [-1,1]**（中心對稱隱藏層）、**ReLU [0,∞)**（隱藏層主流）、**Softmax [0,1] 且總和=1**（多類別單選輸出層）。Tanh vs Sigmoid 的關鍵差異 = 中心對稱性，因此 Tanh 在中心區梯度更大、學得更快。",
    "36": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Sigmoid 「適用範圍」→ 考點是教材 Sigmoid 的「適用範圍/特點」段。\n2. **正確答案 (B) 為何對**：教材明列 Sigmoid 適用「二元分類、標籤分類，每個類別都是獨立的二元判斷，不彼此排斥」+ 特點「每個輸出單獨表示機率，不保證輸出總和為 1」 → 標準多標籤分類定義。\n3. **其他選項為何刪**：\n   - (A) 「多類別單選+總和為 1」是 Softmax 的描述 → 刪。\n   - (C) 「-1 到 1，常用隱藏層」是 Tanh → 刪。\n   - (D) 「max(0,x)」是 ReLU → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 237-248（Sigmoid 適用範圍+特點）+ line 195-202（Softmax 對比）\n\n**融會貫通**：**輸出層三選一決策樹** —\n- 多類別「單選」（互斥）→ **Softmax**（總和=1）\n- 多類別「多標籤」（獨立判斷，可同時為多類）→ 每類別一個 **Sigmoid**（總和不必=1）\n- 二元分類 → **Sigmoid**\n混淆點 = 「單選 vs 多標籤」決定用 Softmax 還是 Sigmoid，不是看類別數。",
    "37": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「優化器常見問題」→ 考點是教材 line 304-323 列的 5 條優化器常見問題。\n2. **正確答案 (C) 為何對**：教材明列「陷入局部最小值或鞍點（Saddle Point）：某些優化器容易卡在非全域最小點，影響模型學習完整度」。鞍點是高維空間中梯度為 0 但既非局部極大也非極小的點，深度學習常見挑戰。\n3. **其他選項為何刪**：\n   - (A) 「完全不受 lr 影響」與教材「學習率敏感」矛盾 → 刪。\n   - (B) 「絕對不佔用額外記憶體」與「資源消耗」常見問題矛盾（Adam/Adagrad 需存歷史梯度） → 刪。\n   - (D) 「Adam 適用所有任務無痛取代」過度絕對化，教材也提「Adam 部分情境泛化能力略輸 SGD」 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 304-323（優化器·常見問題 5 條）+ line 479（Adam 缺點）\n\n**融會貫通**：優化器五大坑記法 — **「lr 敏感 / 鞍點 / 過擬合 / 模型適配 / 資源消耗」**。鞍點與局部最小值不同：鞍點梯度為 0 但仍可往某些方向繼續下降，Momentum/Adam 的動量項就是用來幫助跳脫鞍點的設計。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Adagrad「缺點」→ 考點是教材 line 424-425 Adagrad 特點最後一句。\n2. **正確答案 (B) 為何對**：教材原文「缺點是學習率會持續衰減到非常小，可能導致模型停止學習」。因為 Adagrad 累積分母 $G_t = \\sum (\\nabla L)^2$ 會單調遞增 → 有效學習率 $\\eta / \\sqrt{G_t}$ 持續變小 → 後期幾乎無更新。這也是 RMSprop/Adam 改用「指數移動平均」取代「累積總和」的動機。\n3. **其他選項為何刪**：\n   - (A) 與教材「為每個參數分配不同學習率」直接矛盾 → 刪。\n   - (C) 與教材「特別適合稀疏特徵」直接矛盾 → 刪。\n   - (D) 「完全不需要 lr」錯誤，Adagrad 仍需初始 lr η → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 398-425（Adagrad 定義/適用/特點/缺點）\n\n**融會貫通**：Adagrad → RMSprop → Adam 演進關鍵 = **如何解決「學習率持續衰減到 0」**。RMSprop 改用指數移動平均（只記近期梯度平方），Adam 再加上一階動量 + 偏差修正 → 修正了 Adagrad 後期停止學習的問題。看到「Adagrad 學習率持續變小」就是這個經典痛點。",
    "39": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 L1 「Lasso 名稱由來」**錯誤**敘述 → 考點是教材 line 561-567 Lasso 全名拆解。\n2. **正確答案 (D) 為何對**：教材原文「Selection：會把不重要的權重變成 0，等於自動做特徵選擇」。L1 透過「絕對值」總和把不重要權重壓到 0（特徵選擇），**不是**透過「平方和」把所有權重提升 — 那是 L2 的描述且方向相反。(D) 雙錯：搞混 L1/L2、且「膨脹權重」與「壓縮」相反 → 選錯的選 (D)。\n3. **其他選項為何刪**：\n   - (A) 對應教材「Lasso 全名為 Least Absolute Shrinkage and Selection Operator」 → 正確 → 刪。\n   - (B) 對應「Least Absolute：用絕對值作為限制條件」 → 正確 → 刪。\n   - (C) 對應「Shrinkage：讓權重變小」 → 正確 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 561-567（Lasso 名稱拆解）\n\n**融會貫通**：Lasso = **L**east **A**bsolute **S**hrinkage and **S**election **O**perator → 四個關鍵字對應 L1 四大功能：絕對值 / 縮減 / 選擇 / 操作。記法：**「絕對值縮減自動選特徵」**。看到「L1 透過平方和膨脹權重」這種敘述 = L1/L2 混淆陷阱，立刻刪。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 L2「Ridge 幾何意義」→ 考點是教材 line 594-598 Ridge 命名由來段。\n2. **正確答案 (B) 為何對**：教材原文「資料若有高度相關特徵（多重共線性），OLS 估計變得不穩；加上 L2 後，估計沿某種『脊線（Ridge）』分佈；幾何上權重的可能解會落在橢圓（橢球）形範圍內，形狀像脊線或山脊」。\n3. **其他選項為何刪**：\n   - (A) 「絕對值總和」+「對角脊線」是 L1（菱形邊界）的描述 → 刪。\n   - (C) 「L2 將部分權重壓縮為 0」與教材「L2 不會將參數直接壓到零」直接矛盾（這是 L1 的特性） → 刪。\n   - (D) 「Ridge 是隨機抽樣縮寫」純捏造 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 594-598（Ridge 名稱由來）+ line 588（L2 不壓縮為 0）\n\n**融會貫通**：L1 vs L2 邊界形狀記法 — **L1 = 菱形（角落觸軸 → 部分權重變 0 → 特徵選擇）**、**L2 = 橢圓/球（脊線分佈 → 權重縮小但不為 0）**。Ridge 解決的痛點 = 多重共線性下 OLS 不穩 → 加 L2 後估計穩定（這是統計學的歷史脈絡）。",
    "41": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目鎖在 Dropout「測試階段」的處理 → 考點是教材 line 642-655 Dropout 訓練/測試差異。\n2. **正確答案 (B) 為何對**：教材原文「Dropout 測試階段：不再丟棄神經元，而是把權重按保留率縮放，保持輸出期望值一致」。這是經典的 **inverted dropout** 概念 — 訓練時隨機 drop，測試時所有神經元都用但乘以保留率 p，使整體期望值跟訓練一致。\n3. **其他選項為何刪**：\n   - (A) 「測試也隨機丟」與教材直接矛盾，且會讓推論結果不穩定 → 刪。\n   - (C) 「權重設為 0」整個模型就廢了 → 刪。\n   - (D) 「必須重訓」與 Dropout 的設計目的（訓練期防過擬合）完全相反 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 637-655（Dropout 訓練/測試階段+常見問題）\n\n**融會貫通**：Dropout 訓練 vs 測試對照表 —\n- **訓練**：隨機將部分神經元輸出設為 0（保留率 p）\n- **測試**：全部神經元啟用，但權重乘以 p（或訓練時除以 p，現代實作多用 inverted dropout 在訓練時調整，測試時不用動）\n- 目的：保持「輸出期望值」一致，避免訓練/推論統計分佈偏移。常見錯誤 = 測試時忘記關 Dropout 導致預測結果隨機抖動。",
    "42": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問音訊資料增強「**錯誤**」的方法 → 考點是教材 line 694-696 音訊類常見方法清單。\n2. **正確答案 (D) 為何對**：教材明列音訊增強 4 法 = 「改變播放速度、音量變化、加背景噪音、隨機靜音片段」。**One-hot Encoding** 是「類別變數編碼」（標籤層級），不是音訊「波形/訊號層級」的增強手法 → 跨類別混淆 → 選錯的選 (D)。\n3. **其他選項為何刪**：\n   - (A)(B)(C) 都直接對應教材清單 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 685-696（資料增強·影像/文字/音訊三類）\n\n**融會貫通**：資料增強三模態對照 —\n- **影像**：旋轉、平移、翻轉、縮放、裁切、加雜訊、變亮度\n- **文字**：同義字替換、隨機刪詞、分詞打亂、句子順序調整\n- **音訊**：改播放速度、音量變化、加背景噪音、隨機靜音片段\n記法 = 每模態都做「在不改變語意/標籤的前提下隨機擾動」。看到 One-hot/Label Encoding 這類「**標籤編碼**」出現在「**樣本增強**」清單就是干擾項。",
    "43": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問 Oversampling「缺點」→ 考點是教材 line 744-748 過採樣缺點段。\n2. **正確答案 (B) 為何對**：教材原文「單純複製樣本易導致過擬合；合成樣本可能產生不自然的資料點」。前半 = 複製法（duplication）的缺點，後半 = SMOTE 等合成法（synthetic）的缺點。兩種過採樣手法各有副作用，(B) 同時涵蓋這兩條 → 完整描述。\n3. **其他選項為何刪**：\n   - (A) 「必然提升泛化」與教材「易導致過擬合」直接矛盾 → 刪。\n   - (C) 「SMOTE 完全自然」與教材「可能產生不自然資料點」矛盾 → 刪。\n   - (D) 「大幅丟失原始資料」是 Undersampling 的副作用，與 Oversampling 相反 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 744-748（過採樣·缺點）\n\n**融會貫通**：過採樣 vs 欠採樣副作用對照 —\n- **過採樣（複製/SMOTE）**：類別平衡 ✅ 但容易過擬合 / 合成樣本不自然 ❌\n- **欠採樣（隨機刪除多數類）**：簡單快速、計算成本低 ✅ 但丟失資料、少數類本就稀少時不適用 ❌\n- **類別權重調整**：保留原始資料完整 ✅ 但權重過大→過度補償 ❌\n看到「SMOTE 必然完美 / 過採樣零副作用」這類絕對化敘述 = 命題陷阱。",
    "44": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問知識蒸餾「常見問題」→ 考點是教材 line 810-813 知識蒸餾常見問題段。\n2. **正確答案 (B) 為何對**：教材原文兩條 = 「蒸餾過程需要額外訓練時間與運算資源；若教師模型本身存在偏誤，可能也被傳遞給學生模型」。後半條最關鍵 — 學生模型學的是教師的「軟標籤分佈」，所以教師的偏見/錯誤決策邊界會被原樣繼承。\n3. **其他選項為何刪**：\n   - (A) 「完全不需額外資源」與教材直接矛盾 → 刪。\n   - (C) 「完全不受教師偏誤影響」與教材直接矛盾 → 刪。\n   - (D) 「只能用於影像」過度限縮，蒸餾廣泛用於 NLP（BERT → DistilBERT、TinyBERT 等）→ 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 810-813（知識蒸餾·常見問題）\n\n**融會貫通**：知識蒸餾的兩大坑 = **「成本」+「偏誤傳遞」**。前者意味蒸餾並非免費午餐（要先訓好教師再蒸學生）；後者意味蒸餾不是「模型清潔劑」— 教師有偏，學生也會偏（與 L23402 公平性議題交叉）。配套合理做法 = 蒸餾前先做教師模型公平性審查。",
    "45": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問混合精度「常見問題」**錯誤**敘述 → 考點是教材 line 873-877 混合精度常見問題段。\n2. **正確答案 (D) 為何對**：教材原文「低精度運算可能引發數值不穩定，需特別處理梯度縮放（Gradient Scaling）等問題」— 表示 FP16 範圍較窄（vs FP32），容易發生數值溢位（overflow）或下溢（underflow），所以需要 loss scaling 把梯度放大進 FP16 可表達範圍內，反向傳播後再縮回。「FP16 絕不溢位下溢」是命題反向絕對化 → 選錯的選 (D)。\n3. **其他選項為何刪**：\n   - (A) 對應「需要硬體支援（如 NVIDIA Tensor Cores），否則效益有限」→ 正確 → 刪。\n   - (B) 對應「低精度引發數值不穩定，需梯度縮放（Gradient Scaling）」→ 正確 → 刪。\n   - (C) 對應「並非所有演算法都能無痛適用」→ 正確 → 刪。\n\n**📖 章節來源**：chunks/L23304.txt line 873-877（混合精度·常見問題）\n\n**融會貫通**：混合精度（FP16+FP32）的核心 trade-off — 速度+省記憶體 vs 數值範圍縮小。三大配套 =\n1. **硬體**：需要 Tensor Cores（V100/A100/H100、RTX 系列）才有 FP16 加速\n2. **Loss Scaling**：訓練時將 loss 乘以縮放因子（如 2^16），讓 FP16 梯度落在可表達範圍，反向更新前再除回\n3. **保留 FP32 master weights**：權重以 FP32 維護，前向/反向用 FP16，最後 FP32 累積更新\n看到「FP16 絕無問題」這類敘述 = 忽略硬體與數值穩定性配套 → 命題陷阱。"
  },
  "mock_L23401": {
    "1": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「章節目標何者**錯誤**」→ 本章主軸是「數據隱私、安全與**合規**」。看到「繞過 GDPR/CCPA」這種反合規敘述，直覺就該警覺。\n2. **正確答案 (D) 為何對**：(D) 說「提供完整可**繞過** GDPR/CCPA 規範的技術手段」，這與本章「合規」精神**完全相反**。教材本章四大目標是「辨識風險、介紹 PETs、比較法規、提出治理建議」，絕無教人規避法規之意。\n3. **其他選項為何刪**：\n   - (A) 說明數據隱私風險的來源與評估方法 → 章節目標 ①，**正確**，刪。\n   - (B) 介紹常用的隱私強化與匿名化技術 → 章節目標 ②，**正確**，刪。\n   - (C) 比較不同國際與本地資料保護法規 → 章節目標 ③，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 13–16（前言與章節導覽）\n\n**融會貫通**：本章是「合規」章節，凡選項出現「繞過法規／規避規範／無視當事人同意」字眼，幾乎都是錯誤敘述。這是 iPAS 倫理類題目的標準反向干擾。",
    "2": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「直接識別風險」→ 關鍵字是「**直接**」、「單一欄位即可辨識」。\n2. **正確答案 (A) 為何對**：直接識別 = 資料中含有足以「**直接**」辨識特定個人的欄位（PII），教材直接舉例：姓名、身分證號碼、電子郵件、聯絡電話、金融帳號。一旦外洩立即構成隱私侵害，屬最高優先處理層級。\n3. **其他選項為何刪**：\n   - (B) 多項資訊交叉比對才能識別 → 這是「間接識別（準識別資訊）」的定義，混淆考點，刪。\n   - (C) 去識別化後仍可能被還原 → 這是「再識別風險」的定義，混淆考點，刪。\n   - (D) 不屬於 GDPR/CCPA/PDPA 高度敏感 → 與事實相反，PII 是這些法規的**最高**優先處理層級，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 28–34（數據隱私風險辨識與評估）\n\n**融會貫通**：三類風險分層記法 — **直接（單欄即可）→ 間接（交叉比對）→ 再識別（已匿名仍被還原）**。看到「單一欄位」就選直接，「交叉比對」就選間接，「已匿名」就選再識別。",
    "3": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「準識別資訊（Quasi-identifiers）核心特性」→ 關鍵字是「**準**」，意即「不是直接但能推導」。\n2. **正確答案 (B) 為何對**：準識別資訊 = 雖無單一能辨識個體的欄位，但透過**多項資訊交叉比對**仍可能「推導」出個人身份。教材典型例子：性別、出生年月、職業、地理位置、消費習慣、瀏覽紀錄。\n3. **其他選項為何刪**：\n   - (A) 單一欄位即可直接辨識 → 這是「直接識別」的定義（PII），不是準識別，刪。\n   - (C) 加密後絕對無法被還原 → 用詞絕對「絕對無法」就警覺，且這跟準識別的定義無關，刪。\n   - (D) 必然違反所有國際個資保護法規 → 用詞絕對「必然」、「所有」不符實情，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 36–42（數據隱私風險辨識與評估）\n\n**融會貫通**：實務上「出生年月+性別+地理區域」三欄位就可能推導出特定個人，在人口密度低或特定族群更顯著。看到「**交叉比對／組合推導**」字眼就鎖定準識別。",
    "4": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「再識別風險」→ 關鍵字是「**再**」，意即「已經匿名化過、被重新還原」。\n2. **正確答案 (B) 為何對**：再識別風險 = 即便資料已經過去識別化處理（如移除姓名或以代碼替代），**仍可能因外部資料的豐富性與可取得性而被「重新還原」出個人身分**。在開放數據、資料共享、AI 模型訓練場景中應高度重視。\n3. **其他選項為何刪**：\n   - (A) 只發生在未做任何匿名化的資料 → 剛好相反，**已匿名**才有再識別問題，刪。\n   - (C) 與資料共享、開放數據完全無關 → 事實上開放數據與共享正是再識別的高風險場景，刪。\n   - (D) 用於 AI 訓練時不會涉及此風險 → 教材明指 AI 模型訓練是再識別需高度重視的場景之一，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 44–48（數據隱私風險辨識與評估）\n\n**融會貫通**：再識別的條件是「**已匿名 + 外部資料可取得**」。實務經典案例：Netflix Prize 資料集匿名後被研究者用 IMDB 評分還原使用者身分。記法：「再 = re-identify，已匿名仍能還原」。",
    "5": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料地圖（Data Map）**不屬於**必要記錄項目」→ 找「跟資料治理無關的選項」。\n2. **正確答案 (C) 為何對**：(C) 員工身高體重與宗教信仰，本身就是**個人敏感資料**，與資料治理流程紀錄無關，反而是違規來源。Data Map 應記錄的是「資料怎麼來、怎麼用、怎麼存」，不是個人特徵。\n3. **其他選項為何刪**：\n   - (A) 資料來源、處理流程、欄位型態 → Data Map 三大基本欄位，**屬於**，刪。\n   - (B) 接觸單位、流通路徑、儲存位置、保留期限 → 教材明列的記錄項目，**屬於**，刪。\n   - (D) 開放層級與敏感度層級 → Data Map 完成後的進階分類項目，**屬於**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 56–110（數據隱私風險辨識與評估）\n\n**融會貫通**：Data Map 七大欄位記法「**來源／流程／欄位／單位／路徑／位置／期限**」。看到「員工個人特徵」這種選項就警覺 — Data Map 是記資料「治理流程」不是員工資料。",
    "6": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**高度敏感**個資」→ 關鍵字是「高度敏感」，特指外洩會造成重大損害、需法律特別規範的類別。\n2. **正確答案 (C) 為何對**：教材定義高度敏感個資 = **健康、財務、族群、宗教、政治傾向**。這些資訊外洩恐造成當事人重大損害，常受法律特別規範（如 GDPR 第 9 條的特殊類別資料）。\n3. **其他選項為何刪**：\n   - (A) 政府公布的統計年報 → 屬「公開資料」，外洩風險最低，刪。\n   - (B) 公司內部員工通訊錄 → 屬「個人資料」一般等級，非高度敏感，刪。\n   - (D) 公司產品型錄 → 完全不涉個資，屬「一般資料」或公開，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 107–110（數據隱私風險辨識與評估）\n\n**融會貫通**：敏感度四級「**公開 → 一般 → 機密 → 個資 → 高度敏感個資**」。高敏五大類記法「**健、財、族、宗、政**」（健康/財務/族群/宗教/政治）— 凡是會被歧視或社會議題化的，都是高敏。",
    "7": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「PIA 執行流程**順序**」→ 純粹考順序記憶題，要從「先做什麼後做什麼」的合理邏輯推導。\n2. **正確答案 (B) 為何對**：PIA 五步驟順序：**① 資料流程盤點 → ② 風險辨識 → ③ 影響程度分析 → ④ 策略擬定 → ⑤ 治理責任分工**。邏輯：先搞清楚資料怎麼流（盤點），才能找出哪裡有風險（辨識），評估嚴重程度（影響分析），擬定對策（策略），最後分工（責任）。\n3. **其他選項為何刪**：\n   - (A) 治理責任分工放在最前 → 連風險都還沒辨識怎麼分工？順序明顯顛倒，刪。\n   - (C) 風險辨識在資料盤點前 → 沒盤點怎麼知道風險在哪？順序顛倒，刪。\n   - (D) 策略擬定排第一 → 沒盤點、沒辨識就先擬策略，邏輯不通，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 115–135（隱私影響評估 PIA）\n\n**融會貫通**：PIA 順序記法「**盤識響策治**」（盤點 → 辨識 → 影響 → 策略 → 治理）。關鍵在於「**先盤點才能談其他**」 — 看到選項把『資料盤點』放在第一就先優先考慮。",
    "8": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「風險矩陣（Risk Matrix）」→ 關鍵字是「矩陣」，本質上是二維。\n2. **正確答案 (A) 為何對**：風險矩陣 = 將「風險發生的可能性（Likelihood）」與「風險影響程度（Impact）」**交叉評估，形成二維矩陣**。常見 3×3 或 5×5 格式，用於風險分類與優先處理判斷。\n3. **其他選項為何刪**：\n   - (B) 只考慮單一面向：發生機率 → 矩陣顧名思義是二維，不可能只考慮一個面向，刪。\n   - (C) 風險等級 = 發生機率 **+** 影響程度 → 教材明確寫的是「**乘積**」（Likelihood × Impact），不是加法，刪。\n   - (D) 高風險可直接忽略 → 與風險管理精神完全相反，高風險應**優先處理**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 141–166（風險矩陣與風險等級）\n\n**融會貫通**：風險等級公式「**Risk = Likelihood × Impact**」，是乘法不是加法（這樣低機率×低影響才會等於低風險，符合直覺）。常見干擾把「乘」改「加」。",
    "9": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「再識別模擬與滲透測試**不屬於**常見方法」→ 找「明顯違反隱私精神的選項」。\n2. **正確答案 (C) 為何對**：(C) 「將原始資料完整公開於網路做壓力測試」**嚴重違反隱私保護原則**，不可能是合規測試方法。滲透測試是「私下用內部資料模擬攻擊」，不是「對外公開」。\n3. **其他選項為何刪**：\n   - (A) 交叉比對測試（用公開社群／政府開放／商業資料比對） → 教材明列方法，**屬於**，刪。\n   - (B) 欄位組合分析（評估多欄位推導能力） → 教材明列方法，**屬於**，刪。\n   - (D) 測試後若風險高應強化匿名化或限制使用情境 → 教材明列的後續對策，**屬於**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 168–186（再識別模擬與滲透測試）\n\n**融會貫通**：滲透測試 = 「**內部模擬攻擊以驗證匿名化效果**」，永遠不該公開原始資料。看到「公開原始資料」、「對外完整釋出」就該警覺 — 這違反隱私基本原則。",
    "10": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「遮蔽（Masking）」→ 關鍵字是「以符號替換部分內容」。\n2. **正確答案 (A) 為何對**：遮蔽 = 以**符號或虛構數據替換**敏感欄位的部分或全部內容。教材經典舉例：「王大明」→「王○○」、「A123456789」→「A12*******89」。應用於報表展示、測試環境；優點是實作簡單、保留資料格式。\n3. **其他選項為何刪**：\n   - (B) 必然產生不可逆雜湊字串 → 這是「雜湊處理」的特性，混淆考點，刪。\n   - (C) 主要應用於數值統計分析 → 遮蔽會破壞數值意義，無法統計，這是「分桶」或「噪聲」的場景，刪。\n   - (D) 必能完全防止外部資料推測還原 → 用詞絕對「必能完全」就警覺，教材限制段明指「搭配其他資料仍可能推測還原」，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 196–212（基礎資料匿名化技術）\n\n**融會貫通**：五大基礎匿名化技術速記「**遮雜泛桶擾**」（遮蔽／雜湊／泛化／分桶／隨機擾動）。遮蔽特徵 = 「**保留格式 + 部分符號**」，看到「王○○」、「A12***89」就鎖定遮蔽。",
    "11": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「雜湊處理（Hashing）何者**錯誤**」→ 找跟雜湊本質衝突的選項。\n2. **正確答案 (C) 為何對**：(C) 說「適合用於數值分析（如平均薪資計算）」**錯誤** — 雜湊產生**不可逆字串**，雜湊結果是無數學意義的雜訊字串，**無法做數學運算**。教材明列「不適合用於數值分析」。雜湊適用場景是 ID 匿名化、跨資料庫比對、資料去重。\n3. **其他選項為何刪**：\n   - (A) 對身分類欄位做單向雜湊（如 SHA-256） → 雜湊標準操作，**正確**，刪。\n   - (B) 產生固定長度、不可逆字串 → 雜湊核心特性，**正確**，刪。\n   - (D) 短 ID 易受彩虹表攻擊 → 雜湊已知限制，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 214–230（基礎資料匿名化技術）\n\n**融會貫通**：雜湊適用場景記法「**比對／去重／ID 匿名**」三個用途，**全部都是 = 比對，不是運算**。看到「雜湊 + 數值分析（平均/總和）」就警覺，這是 swap 干擾。",
    "12": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「泛化（Generalization）」→ 關鍵字是「**降低資料精度**」（粗化）。\n2. **正確答案 (A) 為何對**：泛化 = **降低資料精度**，教材經典舉例：將出生日期「1987-03-12」泛化為「1980 年代」，或地址「台北市信義區基隆路」簡化為「台北市」。本質是讓「時間／地理範圍變粗」。\n3. **其他選項為何刪**：\n   - (B) 對數值資料加入隨機噪聲 → 這是「隨機擾動 Noise Injection」的定義，混淆考點，刪。\n   - (C) 將連續數值轉換為區間 → 這是「分桶 Bucketing」的定義，**最容易混淆**，刪。\n   - (D) 對敏感欄位做不可逆雜湊處理 → 這是「雜湊 Hashing」的定義，混淆考點，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 232–248（基礎資料匿名化技術）\n\n**融會貫通**：泛化 vs 分桶最易混淆 — **泛化是「精度降低」（年→年代、區→市）；分桶是「連續數值→區間」（58000→50K-60K）**。教材慣例分列，看到「年代／市」鎖泛化，「50K-60K／30-39 歲」鎖分桶。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「分桶（Bucketing）」應用→ 關鍵字是「連續數值 → 區間」。\n2. **正確答案 (B) 為何對**：分桶 = **將連續數值轉換為區間**，教材經典舉例：收入「58,000 元」→「50K–60K」、年齡「32 歲」→「30–39 歲」。應用於統計報表、人口統計分析；限制是分桶過細仍可能再識別。\n3. **其他選項為何刪**：\n   - (A) 對姓名打星號遮蔽 → 這是「遮蔽 Masking」，刪。\n   - (C) 對 Email 做 SHA-256 雜湊 → 這是「雜湊 Hashing」，刪。\n   - (D) 增加隨機高斯噪聲 → 這是「隨機擾動 Noise Injection」，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 250–266（基礎資料匿名化技術）\n\n**融會貫通**：泛化與分桶概念相近但教材分列。記法 — **分桶必定是「數字 → 數字區間」（有 K/萬／歲字眼）；泛化常見「精度降一級」（日→年代、區→市）**。Q12 跟 Q13 是 swap 對組考題。",
    "14": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「隨機擾動（Noise Injection）何者**錯誤**」→ 找跟噪聲設計原則衝突的選項。\n2. **正確答案 (B) 為何對**：(B) 「噪聲幅度**越大越好**，能完全保護資料」**錯誤** — 教材明指噪聲需「精心設計」，**幅度過大會影響數據分析，過小則難以達到保護效果**。需平衡「隱私 vs 效用」。\n3. **其他選項為何刪**：\n   - (A) 為數值資料加入隨機噪聲（如高斯噪聲） → 噪聲標準定義，**正確**，刪。\n   - (C) 保留整體統計特性（平均數、標準差） → 噪聲核心優點，**正確**，刪。\n   - (D) 應用於數值型資料分享、統計分析 → 標準應用場景，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 268–284（基礎資料匿名化技術）\n\n**融會貫通**：所有隱私保護技術都有「**強度 vs 效用 trade-off**」 — 越強的保護意味著資料越「破壞」。看到「越大越好／越強越好／必能完全保護」這類絕對化敘述就警覺，是常見干擾。",
    "15": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「K-匿名（K-Anonymity）」→ 關鍵字是「K-1 筆相同」、「準識別欄位」。\n2. **正確答案 (A) 為何對**：K-匿名 = 確保每筆紀錄至少與其他 **K-1 筆紀錄在準識別欄位**（如年齡、性別）上相同，使得群體中無法單獨識別個人。這是三大進階匿名化的**基礎層**。\n3. **其他選項為何刪**：\n   - (B) 群組內敏感欄位至少 K 種值 → 這是「L-多樣性」的定義，混淆考點，刪。\n   - (C) 群組內敏感欄位分佈與全體相近 → 這是「T-接近性」的定義，混淆考點，刪。\n   - (D) 必須用對抗式網路訓練 → K-匿名是統計分組方法，與 GAN 無關，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 292–294（進階隱私強化技術 PETs）\n\n**融會貫通**：三巨頭定義速記 — **K = 準識別欄位至少 K-1 筆相同（防個體識別）；L = 敏感欄位至少 L 種值（防屬性推測）；T = 敏感欄位分佈接近全體（防分佈偏差推測）**。三者層次：K < L < T。",
    "16": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「L-多樣性（L-Diversity）」→ 關鍵字是「**敏感欄位至少 L 種值**」、「防屬性推測」。\n2. **正確答案 (A) 為何對**：L-多樣性 = 在 **K-匿名基礎上**，進一步要求每個群組內敏感欄位（如疾病）**必須具有至少 L 種不同值**，以避免屬性推測攻擊。L 是「K 的擴展層」。\n3. **其他選項為何刪**：\n   - (B) 每筆紀錄與其他 L-1 筆相同 → 這是把 K-匿名定義硬安到 L，**swap 干擾**，刪。\n   - (C) 敏感欄位分佈與全體相近 → 這是「T-接近性」，刪。\n   - (D) 是基礎匿名化，無需 K-匿名前置 → 錯，L 建立在 K 之上，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 296–298（進階隱私強化技術 PETs）\n\n**融會貫通**：L-多樣性解決的問題是「K-匿名只保證匿名群體存在，但群體內敏感欄位若全相同（如同組病人都得糖尿病），仍能推出某人有糖尿病」。L 強制群組內敏感值多樣化以防屬性推測。",
    "17": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「T-接近性（T-Closeness）」→ 關鍵字是「**分佈與全體相近**」、「防分佈偏差推測」。\n2. **正確答案 (A) 為何對**：T-接近性 = 要求**群組內敏感欄位的分佈與全體資料集相近**，防止因分佈偏差而推測個體特徵。是 K-匿名的**最進階擴展**。\n3. **其他選項為何刪**：\n   - (B) 每筆紀錄與其他 K-1 筆相同 → 這是「K-匿名」定義，混淆考點，刪。\n   - (C) 最基礎、無需任何前置 → 錯反，T 建立在 K 與 L 之上，是最進階，刪。\n   - (D) 不適用於結構化資料 → 錯反，K/L/T 系列正是**結構化資料的強項**（非結構化才是限制），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 300–302（進階隱私強化技術 PETs）\n\n**融會貫通**：T 解決的問題 — L-多樣性保證了「群組有 L 種敏感值」，但若分佈嚴重偏斜（如 99% 都是糖尿病、1% 其他），仍可推測。T 強制分佈接近全體以杜絕此種推測。記法：「**K 防群體識別、L 防屬性推測、T 防分佈推測**」。",
    "18": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「聯邦學習（Federated Learning）核心思想」→ 關鍵字是「**本地訓練、只傳梯度**」。\n2. **正確答案 (B) 為何對**：聯邦學習 = 模型在**各客戶端本地進行訓練**，**只將模型參數更新（如梯度）傳回中央伺服器**，避免原始資料集中存放或傳輸。典型應用：醫療聯盟跨院建模、手機鍵盤輸入預測。\n3. **其他選項為何刪**：\n   - (A) 所有客戶端資料統一集中到中央伺服器 → 與聯邦學習本質**完全相反**（這是傳統集中式學習），刪。\n   - (C) 完全不需要中央伺服器 → 錯，仍需中央伺服器聚合梯度，刪。\n   - (D) 通訊成本極低且完全無攻擊風險 → 教材限制段明指「通訊成本高、可能面臨參數逆向推導攻擊」，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 316–332（進階隱私強化技術 PETs）\n\n**融會貫通**：聯邦學習口訣「**資料不出門，梯度滿天飛**」 — 原始資料留本地、模型參數傳中央。常見 swap 干擾把「資料集中」與「梯度傳輸」對調，看到「資料統一上傳」就警覺。",
    "19": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「同態加密（Homomorphic Encryption）」→ 關鍵字是「**在密文上直接運算**」。\n2. **正確答案 (A) 為何對**：同態加密 = **允許在加密資料上直接執行運算（如加法、乘法），解密後結果與在明文上運算相同**，確保計算過程中資料全程保密。基於密碼學提供強安全保證。\n3. **其他選項為何刪**：\n   - (B) 必須先解密才能運算 → 與同態加密本質**完全相反**（同態的價值就是不用解密），刪。\n   - (C) 計算效能極高、無需高效能硬體 → 教材限制段明指「計算效能較低，FHE 尤甚，需高效能硬體」，刪。\n   - (D) 與密碼學無關 → 同態加密本身就是密碼學的一個分支，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 334–350（進階隱私強化技術 PETs）\n\n**融會貫通**：聯邦學習 vs 同態加密的差別 — **聯邦：資料留本地、傳梯度；同態：資料以密文外送、在密文上運算**。應用場景：**聯邦適合跨機構合作；同態適合雲端外包運算**（資料可外送但不被偷看）。",
    "20": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**不屬於**進階隱私強化技術（PETs）」→ 找跟隱私保護無關的技術。\n2. **正確答案 (D) 為何對**：**Label Encoding（標籤編碼）是特徵工程**中將類別變數轉為整數的編碼技術（如「男/女」→「0/1」），目的是**讓模型能處理類別變數**，**與隱私保護完全無關**。\n3. **其他選項為何刪**：\n   - (A) K-匿名、L-多樣性、T-接近性 → 教材明列三大 PETs，**屬於**，刪。\n   - (B) 聯邦學習 → 教材 PETs，**屬於**，刪。\n   - (C) 同態加密 → 教材 PETs，**屬於**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 286–350（進階隱私強化技術 PETs）\n\n**融會貫通**：本章 PETs 五大技術記法「**K/L/T + 聯邦 + 同態**」。看到「**Label Encoding／One-Hot Encoding／Word2Vec／PCA**」這些是**特徵工程**範疇，不是隱私技術 — 別跨章節誤判。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「K-匿名 vs L-多樣性 vs T-接近性 層次關係」→ 考三者擴展邏輯。\n2. **正確答案 (A) 為何對**：**K-匿名（準識別欄位相同）→ L-多樣性（敏感欄位多種值）→ T-接近性（敏感欄位分佈相近）**，層層擴展、保護強度遞增。L 在 K 基礎上擴展、T 又在 L 基礎上擴展。\n3. **其他選項為何刪**：\n   - (B) 三者完全獨立、無層次關係 → 教材明列 L 是「K-匿名基礎上」進一步要求，明顯有層次，刪。\n   - (C) T 最基礎、K 最進階 → 順序完全顛倒，刪。\n   - (D) 三者都是基礎匿名化、與 K 無關 → 錯，K/L/T 是進階 PETs，且 L/T 都依賴 K，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 290–302（進階隱私強化技術 PETs）\n\n**融會貫通**：三巨頭關係圖 — **K（防個體被識別）→ L（防屬性被推測）→ T（防分佈被推測）**。攻擊者火力越強，需要的防禦層級就越高。記法：「**字母順序 K→L→T，保護強度也是 K→L→T 遞增**」。",
    "22": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「告知同意應具備要素，何者**錯誤**」→ 找跟同意精神衝突的選項。\n2. **正確答案 (D) 為何對**：(D) 「一經同意便**永久有效，不可撤回**」**錯誤** — 教材明列「**可撤回性**」是必備要素之一，當事人應有權**隨時撤回同意**，企業須說明撤回方式與後續影響。\n3. **其他選項為何刪**：\n   - (A) 自由性（不可被迫同意） → 教材明列三大要素之一，**正確**，刪。\n   - (B) 明確性與具體性（清楚載明蒐集項目、目的、範圍、保存期間） → 教材明列要素，**正確**，刪。\n   - (C) 可撤回性 → 教材明列要素，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 358–371（合規實務建議）\n\n**融會貫通**：告知同意三大要素「**自由性／明確性具體性／可撤回性**」 — 記法「**自由、明確、可撤回**」。GDPR、CCPA、PDPA 共通精神：**同意必須能隨時收回**，企業不能用「一勞永逸」的同意條款綁架使用者。",
    "23": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料最小化 vs 目的限制 核心精神」→ 關鍵字「**最低限度**」、「**不得挪用**」。\n2. **正確答案 (B) 為何對**：必要性原則 = **僅收集實現 AI 訓練或預期功能所需的最低限度資料**；目的限制 = **不得將資料用於未經告知或未獲同意的其他目的**（即使有商業價值）。對敏感資料更須評估比例原則。\n3. **其他選項為何刪**：\n   - (A) 應盡可能蒐集所有資料 → 與「最小化」精神**完全相反**，刪。\n   - (C) 即使對企業有商業價值，也應挪作其他用途 → 與「目的限制」**完全相反**，刪。\n   - (D) 敏感資料無需特別評估 → 教材明指敏感資料**更須謹慎評估**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 374–378（合規實務建議）\n\n**融會貫通**：兩原則記法「**最小化 + 目的限制**」 — 一個管「量」（只收必要的）、一個管「用途」（只用同意的）。實務經典案例：APP 要求「位置權限」只能用於導航，不能拿來推銷廣告，否則違反目的限制。",
    "24": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「去識別化或匿名化處理 合規實務建議，何者**錯誤**」→ 找跟法規多元性衝突的選項。\n2. **正確答案 (C) 為何對**：(C) 「不同法規對匿名化的標準認定**完全一致，無差異**」**錯誤** — 教材明指「不同法規對匿名化的標準認定**有所差異**，企業仍須保留風險評估紀錄」。例如 GDPR、CCPA、PDPA 對「匿名化」的認定門檻就不一樣。\n3. **其他選項為何刪**：\n   - (A) 對外共享或第三方合作應優先採取去識別化 → 教材明列建議，**正確**，刪。\n   - (B) 確保無法輕易回推 + 結合再識別風險測試 → 教材標準做法，**正確**，刪。\n   - (D) 對敏感欄位先做泛化、分桶或差分隱私 → 教材建議的平衡策略，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 380–385（合規實務建議）\n\n**融會貫通**：跨法規操作的鐵律 — **不要假設標準一致**。GDPR 對「完全匿名」的要求嚴於 CCPA，PDPA 又有自己的詮釋。實務上企業跨境營運必須**保留風險評估紀錄**，以免被各國監管機關認定不合規。",
    "25": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「透明度與紀錄保存 **不屬於**應紀錄項目」→ 找與資料治理紀錄無關的選項。\n2. **正確答案 (D) 為何對**：(D) 「員工個人通訊軟體聊天紀錄」**涉及員工隱私**，與資料治理紀錄保存**完全無關**，反而本身可能是隱私違規來源（監聽員工通訊）。\n3. **其他選項為何刪**：\n   - (A) 資料來源、收集方式、法律基礎 → 教材明列應紀錄項目，**屬於**，刪。\n   - (B) 資料處理過程、傳輸、外部共享情況 → 教材明列項目，**屬於**，刪。\n   - (C) 受影響的資料類別與當事人群體、保護技術與風險緩解措施 → 教材明列項目，**屬於**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 387–400（合規實務建議）\n\n**融會貫通**：紀錄保存五大項記法「**來源／法源／流程／類別／保護**」（資料來源、法律基礎、處理流程、影響類別、保護措施）。看到「員工個人聊天記錄／員工身高體重」這種涉及員工隱私的選項就警覺 — 紀錄是「資料治理流程的紀錄」，不是「員工資料的蒐集」。",
    "26": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「跨境傳輸（Cross-border Data Transfer）」→ 關鍵字是「GDPR 對歐盟以外國家的要求」。\n2. **正確答案 (A) 為何對**：GDPR 規定若將歐盟居民個資**移轉至歐盟以外國家，需符合足夠保護措施、標準合約條款（SCC）或其他合法機制**。企業須評估接收國保護水準、保存紀錄供監管機關查驗。\n3. **其他選項為何刪**：\n   - (B) 跨境傳輸完全不受任何法規限制 → 與 GDPR 嚴格規範**完全相反**，刪。\n   - (C) 不需評估接收國的隱私保護水準 → 教材明指須評估接收國保護水準，刪。\n   - (D) 跨境傳輸協議無需保存紀錄 → 教材明指須保存紀錄供查驗，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 402–411（合規實務建議）\n\n**融會貫通**：跨境傳輸四要件「**範圍／用途／國家／紀錄**」（明確範圍、用途、目的國，並保存紀錄）。GDPR 的 SCC（Standard Contractual Clauses）是業界最常用的合法機制；歐盟以外國家若沒被歐盟認定為「充分保護國」，就需走 SCC 或具體保護措施。",
    "27": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「常見國際個資保護法規縮寫的**正確配對**」→ 純粹考縮寫對應記憶。\n2. **正確答案 (B) 為何對**：**GDPR = General Data Protection Regulation（歐盟一般資料保護規則）**；**CCPA = California Consumer Privacy Act（加州消費者隱私法案）**；**PDPA = Personal Data Protection Act（個人資料保護法）**。教材 line 22 直接列出。\n3. **其他選項為何刪**:\n   - (A) GDPR = 加州消費者隱私法案、CCPA = 一般資料保護規則 → 兩者**完全對調**，刪。\n   - (C) GDPR = 個人資料保護法、PDPA = 加州消費者隱私法案 → 兩者錯位，刪。\n   - (D) 三者皆為同一部法律 → 三者是不同地區的法律，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 22（數據隱私風險辨識與評估）\n\n**融會貫通**：三大法規地理對應「**GDPR = 歐盟、CCPA = 加州（美國）、PDPA = 新加坡／台灣（亞洲）**」。記法 — **G 是 General（歐盟通用）、C 是 California、P 是 Personal**（亞洲地區慣用 PDPA 縮寫）。",
    "28": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「風險等級（Risk Level）三大分級處理建議，何者**錯誤**」→ 找跟風險管理精神衝突的選項。\n2. **正確答案 (D) 為何對**：(D) 「高風險可**置之不理**，因為發生機率不高」**錯反** — 教材明列高風險「應**優先處理**，必要時迴避或延後導入」。且**風險等級已經結合機率與影響程度**，被列為高風險就代表整體嚴重，不可置之不理。\n3. **其他選項為何刪**：\n   - (A) 低風險（Low）：可接受、可監控 → 教材明列，**正確**，刪。\n   - (B) 中風險（Medium）：需規劃因應對策 → 教材明列，**正確**，刪。\n   - (C) 高風險（High）：應優先處理，必要時迴避或延後導入 → 教材明列，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 162–166（風險矩陣與風險等級）\n\n**融會貫通**：三級處理對策記法「**低監控、中對策、高優先**」。看到「高風險置之不理／低機率所以不處理」這類敘述就警覺 — 風險等級已是機率 × 影響的乘積，高風險就是高風險，不能再用低機率當藉口忽略。",
    "29": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**醫療聯盟跨院數據建模**」場景，要保護病患原始資料 + 多家醫院聯合訓練 → 經典聯邦學習場景。\n2. **正確答案 (B) 為何對**：聯邦學習 = 模型在**各院本地訓練**，僅傳模型參數更新到中央，**原始病患資料永遠不離開醫院**。教材明列醫療聯盟（跨院數據建模）為典型應用場景。\n3. **其他選項為何刪**：\n   - (A) 統一上傳到中央伺服器 → 與「保護原始資料」需求**完全相反**，違反 GDPR/HIPAA，刪。\n   - (C) 對病患資料完全公開 → 嚴重違反醫療隱私法規，刪。\n   - (D) 知識蒸餾（Knowledge Distillation） → 屬**模型壓縮**技術（大模型→小模型），不解決資料隱私問題，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 316–332（進階隱私強化技術 PETs）\n\n**融會貫通**：聯邦學習兩大經典場景 — **① 醫療聯盟跨院建模、② 手機鍵盤輸入預測（Google Gboard）**。看到「**多機構合作 + 不能交換原始資料**」就鎖定聯邦學習。知識蒸餾是模型壓縮技術，跟隱私無關，是干擾項。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「直接識別／間接識別／再識別風險 三者層次差異，何者**錯誤**」→ 找否認三者區別的選項。\n2. **正確答案 (D) 為何對**：(D) 「三者實際上是同一種風險，僅名稱不同」**錯誤** — 教材明列三者為**層次不同的風險類型**，發生條件、處理層級、防護技術都不同。\n3. **其他選項為何刪**：\n   - (A) 直接識別：單一欄位即可辨識（姓名、身分證號） → 教材定義，**正確**，刪。\n   - (B) 間接識別：需多欄位交叉比對才能推導（出生年月+性別+地理位置） → 教材定義，**正確**，刪。\n   - (C) 再識別：已匿名化資料被外部資料還原身份 → 教材定義，**正確**，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 26–48（數據隱私風險辨識與評估）\n\n**融會貫通**：三類風險層次速記 — **直接（最直接，單欄即可）→ 間接（次之，需交叉比對）→ 再識別（最隱蔽，已匿名仍被還原）**。實務上需分別對應不同防護技術：直接用遮蔽/雜湊、間接用泛化/分桶、再識別用 K/L/T 匿名 + 滲透測試驗證。",
    "31": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**開放層級（Access Level）**」的二分法 → 考點是 **公開 vs 非公開**。\n2. **正確答案 (A) 為何對**：教材 line 86-89「公開資料：對外公開、無涉個資，例如政府發布的統計資料、年報等。非公開資料：僅限內部使用，不對外發布，需要特定權限才能存取」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 公開資料涉個資、可任意傳播 → 反了，公開資料的前提是**無涉個資**，刪。\n   - (C) 只有公開沒有非公開 → 反了，教材明列兩級，刪。\n   - (D) 公開資料必為高度敏感個資 → 反了，高度敏感個資屬於非公開資料中的最高敏感層級，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 84-89（資料盤點與分類 - 開放層級）\n\n**融會貫通**：記法「**開放層級 = 公開（無個資）/ 非公開（需權限）**」。實務上「公開」≠「可任意散布」，而是指其**內容性質**不涉及個資，因此可對外。一旦資料涉及個資，無論是否上網都應歸為非公開類，再進一步分敏感度層級（呼應 num 32）。",
    "32": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**非公開資料的敏感度四級**」中**不屬於**的選項 → 考點是教材**明列**的四級分類。\n2. **正確答案 (D) 為何對**：教材 line 95-110 明列敏感度層級為「**一般資料 / 機密資料 / 個人資料 / 高度敏感個資**」四級。**公開資料屬於「開放層級」分類**（line 86-87），不是敏感度層級的子類，故 (D) 為答案。\n3. **其他選項為何刪**：\n   - (A) 一般資料 ✓ 教材 line 95-97\n   - (B) 機密資料 ✓ 教材 line 99-101\n   - (C) 個人資料 ✓ 教材 line 103-105\n   - (D) **公開資料屬於 Access Level，不是 Sensitivity Level**\n\n**📖 章節來源**：chunks/L23401.txt line 91-110（敏感度層級）\n\n**融會貫通**：兩維分類層級記法表：\n- **開放層級**（Access Level）：公開 / 非公開 → 是否可外流的二分判斷\n- **敏感度層級**（Sensitivity Level）：一般 / 機密 / 個人 / 高度敏感 → 非公開資料的細部分級\n\n考點常考「**混淆兩個維度**」，把「公開資料」塞進敏感度層級當選項，需識破。",
    "33": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**機密資料**」的**定義** → 考點是教材對機密資料的明確描述。\n2. **正確答案 (B) 為何對**：教材 line 99-101「機密資料 — 涉及商業機密、內部策略、合約等，若外洩可能對營運造成衝擊」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 對外公開、無涉個資 → 那是**公開資料**的定義（line 86-87），刪。\n   - (C) 含姓名、身分證號 → 那是**個人資料**的定義（line 103-105），刪。\n   - (D) 健康、財務、宗教、政治傾向 → 那是**高度敏感個資**的定義（line 107-109），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 99-101（敏感度層級 - 機密資料）\n\n**融會貫通**：敏感度四級對比記法：\n- **一般資料**：不涉個資或機敏，外洩風險低\n- **機密資料**：商業機密、策略、合約 → 影響營運\n- **個人資料**：可識別個人的欄位 → 受個資法規範\n- **高度敏感個資**：健康、財務、族群、宗教、政治傾向 → 受法律特別規範\n\n考點常考「**對號入座**」——把資料類別配對到正確的敏感度層級。",
    "34": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**風險等級的計算公式**」→ 考點是教材**明確列出**的乘法公式。\n2. **正確答案 (B) 為何對**：教材 line 161「風險等級 = 發生機率 × 影響程度」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 加法 → 反了，教材是**乘法**，刪。\n   - (C) 除法 → 反了，刪。\n   - (D) 僅由影響程度決定 → 反了，公式由**兩個要素相乘**（line 147），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 147-166（風險矩陣與風險等級 - 計算公式）\n\n**融會貫通**：記法「**風險 = 機率 × 影響**」。乘法的意義：若任一項為零（如機率為零或影響為零），風險等級也歸零；若兩項皆高，則為高風險（line 166「應優先處理」）。風險矩陣（3x3 或 5x5）就是這個公式的視覺化（line 143）。配合風險三分級（低/中/高）做優先排序，是隱私治理的核心工具。",
    "35": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PIA 五步驟中「**治理責任分工**」的**具體目的** → 考點是 **界定部門角色責任與權限**。\n2. **正確答案 (C) 為何對**：教材 line 133-135「治理責任分工 — 明確界定內部各部門、角色在隱私保護工作中的責任與權限」。(C) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 釐清資料流程 → 那是**資料流程盤點**步驟（line 117-119），刪。\n   - (B) 分析風險環節 → 那是**風險辨識**步驟（line 121-123），刪。\n   - (D) 擬定防範措施 → 那是**策略擬定**步驟（line 129-131），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 115-135（隱私影響評估 PIA 五步驟）\n\n**融會貫通**：PIA 五步驟記法表：\n1. **資料流程盤點**：釐清資料從收集到刪除的全流程\n2. **風險辨識**：找出風險環節\n3. **影響程度分析**：評估法律/營運/信譽衝擊\n4. **策略擬定**：擬定技術/管理性防範\n5. **治理責任分工**：明確各部門角色責任\n\n考點常考「**對號入座**」——把職責歸到正確的 PIA 步驟，呼應既有 num 7 的順序考題。",
    "36": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問 PIA 中「**影響程度分析**」評估的**內容** → 考點是 **法律/營運/信譽衝擊**三面向。\n2. **正確答案 (A) 為何對**：教材 line 125-127「影響程度分析 — 評估若風險發生，可能對個人權益或組織造成的**法律、營運或信譽衝擊**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 硬體儲存成本 → 與隱私衝擊無關，刪。\n   - (C) GPU 訓練資源 → 屬於工程效能評估，刪。\n   - (D) 員工薪資績效 → 與 PIA 無關，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 125-127（PIA - 影響程度分析）\n\n**融會貫通**：影響程度三大面向記法「**法律 + 營運 + 信譽**」。\n- **法律衝擊**：可能違反 GDPR/CCPA/PDPA → 罰款（GDPR 罰金可達全球年營收 4%）\n- **營運衝擊**：服務中斷、客戶流失、訴訟成本\n- **信譽衝擊**：媒體曝光、品牌受損、信任流失\n\n這三面向是 PIA 的核心評估維度，與「**風險等級 = 機率 × 影響**」（num 34）形成完整評估框架。",
    "37": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目「**不包含**的對策」→ 考點是教材**明列**的三種對策。\n2. **正確答案 (D) 為何對**：教材 line 180-186 列出三項對策「強化匿名化或去識別化技術 / 調整資料釋出範圍或限制使用情境 / 審慎評估是否適合對外公開該筆資料集」。**「為提升營收販售資料」與隱私治理精神相反**，故 (D) 為答案。\n3. **其他選項為何刪**：\n   - (A) 強化匿名化 ✓ 教材 line 182\n   - (B) 調整釋出範圍 ✓ 教材 line 184\n   - (C) 審慎評估公開 ✓ 教材 line 186\n   - (D) **販售資料 = 反向行為，不在教材對策清單**\n\n**📖 章節來源**：chunks/L23401.txt line 168-186（再識別模擬與滲透測試 - 對策）\n\n**融會貫通**：再識別風險高的三對策記法「**強化匿名 / 縮小範圍 / 暫緩公開**」。實務流程：\n1. **測試**：交叉比對 + 欄位組合分析（既有 num 9）\n2. **發現高風險** → 三選一或組合套用對策\n3. **持續監控**：對策實施後再次測試\n\n考點常考「**反向選項**」——把違反隱私治理精神的行為塞入選項，需識破。",
    "38": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**遮蔽（Masking）**」的**應用場景** → 考點是 **報表 / 非正式分析 / 測試環境**。\n2. **正確答案 (B) 為何對**：教材 line 202-204「遮蔽 - 應用場景：報表展示、非正式分析、測試環境數據生成」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 同態運算 → 那是**同態加密**的應用場景（line 340-342），刪。\n   - (C) 聯邦學習模型參數聚合 → 那是**聯邦學習**的應用場景（line 322-324），刪。\n   - (D) K-匿名分群 → 那是**K-匿名**的應用場景（line 304-306），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 196-212（基礎匿名化 - 遮蔽）\n\n**融會貫通**：遮蔽的核心特性「**簡單快速 + 保留格式 + 但易還原**」。\n- **優點**：實作簡單、快速、能保留資料格式（如電話號碼長度）\n- **限制**：僅隱藏部分資訊，若搭配其他資料仍可能被推測還原\n\n因此遮蔽**不適合**用於對外開放的資料集（再識別風險高），主要用於**內部使用**情境（報表、測試環境）。",
    "39": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**雜湊處理（Hashing）**」的**應用場景** → 考點是 **用戶 ID / 跨庫比對 / 資料去重**。\n2. **正確答案 (B) 為何對**：教材 line 220-222「雜湊處理 - 應用場景：匿名化用戶 ID、跨資料庫比對、資料去重」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 數值統計分析 → 雜湊**不適合數值分析**（line 230），反了，刪。\n   - (C) 加隨機噪聲 → 那是**隨機擾動**的方法（line 268-272），刪。\n   - (D) 泛化地址 → 那是**泛化**的方法（line 232-236），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 214-230（基礎匿名化 - 雜湊處理）\n\n**融會貫通**：雜湊的「**比對而非顯示**」特性是關鍵。\n- **跨資料庫比對**：兩邊都對 Email 做 SHA-256，雜湊值相同即為同一用戶（不洩漏原始 Email）\n- **資料去重**：雜湊後比對哈希值，重複者刪除\n- **限制**：若原始資料種類有限（如短 ID），易受**彩虹表攻擊**（line 230）；且雜湊不可逆，**不能用於數值統計**\n\n實務上常結合「**加鹽（Salt）**」對抗彩虹表，但教材未明列此細節，考試以教材原文為準。",
    "40": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**隨機擾動（Noise Injection）**」的**限制** → 考點是 **噪聲幅度的權衡**。\n2. **正確答案 (B) 為何對**：教材 line 282-284「隨機擾動 - 限制：噪聲需精心設計，**幅度過大會影響數據分析，幅度過小則難以達到保護效果**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 完全無法保留統計特性 → 反了，教材 line 280 說「保留整體統計特性（如平均數、標準差）」，刪。\n   - (C) 只能用於字串型 → 反了，隨機擾動是**數值型**資料的技術（line 270-272），刪。\n   - (D) 計算成本極高僅同態硬體 → 隨機擾動是輕量級技術，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 268-284（基礎匿名化 - 隨機擾動）\n\n**融會貫通**：噪聲設計權衡記法「**過大失真 / 過小無效**」。\n- **過大**：薪資 50,000 擾動到 80,000 → 分析結果完全失真\n- **過小**：擾動到 50,001 → 等於沒擾動，仍可推測原值\n- **甜蜜點**：擾動後保留整體統計特性（均值、標準差不變），但單筆難以還原\n\n差分隱私（Differential Privacy）是隨機擾動的進階版（雖未在 L23401 明列，但呼應 num 24 提到的「差分隱私處理」）。",
    "41": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**聯邦學習**」的**限制** → 考點是 **通訊成本 + 參數逆向推導攻擊**。\n2. **正確答案 (A) 為何對**：教材 line 330-332「聯邦學習 - 限制：**通訊成本高**，可能面臨**參數逆向推導的攻擊風險**」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 原始資料須集中 → 反了，聯邦學習的**核心思想**正是資料**留在本地**（既有 num 18，line 318-320），刪。\n   - (C) 無法跨機構 → 反了，教材 line 328 明說「支援跨機構合作」，刪。\n   - (D) 完全不需計算能力 → 反了，本地端仍需 GPU/CPU 訓練，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 316-332（進階 PETs - 聯邦學習）\n\n**融會貫通**：聯邦學習的**兩大限制**：\n- **通訊成本高**：每輪迭代需傳輸模型參數（往返中央伺服器），參數量大時成本顯著\n- **參數逆向推導**：攻擊者若取得多輪梯度更新，可能透過 Membership Inference / Model Inversion 攻擊還原訓練資料\n\n對應實務防禦：常結合**差分隱私 + 同態加密**強化（即 DP-FL、HE-FL 等變體），呼應 num 18 的核心思想。",
    "42": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**同態加密**」的**限制** → 考點是 **計算效能低 + FHE 需高效能硬體**。\n2. **正確答案 (B) 為何對**：教材 line 348-350「同態加密 - 限制：**計算效能較低**，尤其是**完全同態加密（FHE），需高效能硬體支援**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 解密結果不同 → 反了，同態加密的**定義**就是「解密後結果與明文上運算相同」（既有 num 19，line 336-338），刪。\n   - (C) 基礎遮蔽技術無需密碼學 → 反了，同態加密**基於密碼學**（line 346），刪。\n   - (D) 原資料須明文傳輸 → 反了，同態加密的優勢就是**全程加密**處理（line 344-346），刪。\n\n**📖 章節來源**：chunks/L23401.txt line 334-350（進階 PETs - 同態加密）\n\n**融會貫通**：同態加密效能權衡記法「**強安全 / 慢效能 / 需硬體**」。\n- **PHE（Partial）**：只支援單一運算（如加法或乘法），效能尚可\n- **SHE（Somewhat）**：支援有限次數的混合運算\n- **FHE（Fully）**：支援任意次數任意運算，但**效能極差**，需專用硬體加速\n\n實務上 FHE 仍處於發展階段，多用於高敏感場景（金融風控、醫療研究外包），與其他 PETs（聯邦學習、差分隱私）互補使用。",
    "43": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**無法取得同意時的其他合法依據**」→ 考點是教材明列的三項法源。\n2. **正確答案 (A) 為何對**：教材 line 372「若無法取得同意，應檢視是否符合法規授權的其他合法依據，如**履行契約、法定義務或正當利益**等」。(A) 直引教材。\n3. **其他選項為何刪**：\n   - (B) 員工績效目標 → 與個資合法依據無關，刪。\n   - (C) 行銷預算 → 與合法依據無關，刪。\n   - (D) 股價波動 → 與合法依據無關，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 356-372（合規實務建議 - 合法來源與告知同意）\n\n**融會貫通**：合法依據優先序記法「**同意優先 / 三項法源備位**」。\n1. **告知同意**（主要）：需具備自由性、明確性、可撤回性（既有 num 22）\n2. **無法同意時的三項法源**：\n   - **履行契約**：如執行用戶下單的訂單處理\n   - **法定義務**：如依稅法、勞基法保存特定資料\n   - **正當利益**：如資安監控、防詐騙\n\nGDPR Article 6 也列有類似六項合法基礎，台灣個資法第 19 條亦有對應條款，但教材以「履行契約 / 法定義務 / 正當利益」三大類為主，考試依教材原文為準。",
    "44": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「**敏感資料蒐集**」的合規原則 → 考點是 **比例原則 + 替代方式**。\n2. **正確答案 (B) 為何對**：教材 line 378「對於敏感資料（如健康、族群、宗教信仰等），**更須謹慎評估蒐集必要性與比例原則**，並**尋求替代方式（例如使用泛化後的統計資料）**」。(B) 直引教材。\n3. **其他選項為何刪**：\n   - (A) 可任意蒐集 → 反了，敏感資料需「更謹慎」評估，刪。\n   - (C) 一律禁止 → 反了，教材未禁止使用，而是「**謹慎評估**」+「**替代方式**」，刪。\n   - (D) 與一般資料同流程 → 反了，敏感資料需要**特殊**處理流程，刪。\n\n**📖 章節來源**：chunks/L23401.txt line 374-378（合規實務建議 - 資料最小化與目的限制）\n\n**融會貫通**：敏感資料三層處理記法「**評估必要性 → 比例原則 → 替代方式**」：\n1. **必要性**：問是否真的需要敏感欄位？（呼應最小化原則 num 23）\n2. **比例原則**：問蒐集量是否與目的相稱？\n3. **替代方式**：能否用泛化（num 12）/ 分桶（num 13）/ 差分隱私的統計資料代替個別資料？\n\n實務上常見替代方式：用「年齡分群統計」代替「實際出生日期」，用「地區疾病盛行率」代替「個人病歷」。",
    "45": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目「**跨境傳輸須檢視與規劃中不屬於**」→ 考點是教材明列的三項檢視項目。\n2. **正確答案 (D) 為何對**：教材 line 408-410 列出三項「明確定義跨境資料流動的範圍、用途與國家 / 評估接收國的隱私保護水準及潛在法律風險 / 制定跨境傳輸協議或標準條款，並保存紀錄」。**「將公司財報直接上傳國外社群平台公開」與隱私治理精神完全相反**，故 (D) 為答案。\n3. **其他選項為何刪**：\n   - (A) 明確定義範圍/用途/國家 ✓ 教材 line 408\n   - (B) 評估接收國保護水準 ✓ 教材 line 409\n   - (C) 制定協議與保存紀錄 ✓ 教材 line 410\n   - (D) **公開財報至社群 = 反向行為**\n\n**📖 章節來源**：chunks/L23401.txt line 402-410（合規實務建議 - 跨境傳輸規範）\n\n**融會貫通**：跨境傳輸三步驟記法「**定義範圍 / 評估接收方 / 簽協議留紀錄**」：\n1. **定義範圍**：哪些資料、給哪國、什麼目的\n2. **評估接收方**：對方國家是否有「足夠保護水準」（GDPR 用語為 Adequacy Decision）\n3. **簽協議留紀錄**：SCC（Standard Contractual Clauses）或 BCR（Binding Corporate Rules）\n\n呼應既有 num 26 的 GDPR 跨境條款。實務上常見場景：歐盟用戶資料移轉至美國，需經 EU-US Data Privacy Framework 或 SCC 機制，並保存稽核紀錄供 DPA（資料保護機關）查驗。"
  },
  "mock_L23402": {
    "1": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 偏見（Bias）的本質」→ 考點是 AI 偏見**是不是單純技術問題**。教材開宗明義：「AI 偏見並非單純的技術瑕疵，而是涉及社會公平、法律合規、倫理責任與企業聲譽的多面向議題」。\n2. **正確答案 (C) 為何對**：(C) 直接複述教材定義 — AI 偏見涉及社會公平、法律合規、倫理責任與企業聲譽**四個面向**，並非單純技術瑕疵。從歷史數據偏誤、資料代表性不足、到模型內部邏輯都可能放大社會偏見。\n3. **其他選項為何刪**：\n   - (A) 「純粹是技術瑕疵」→ 與教材「並非單純技術瑕疵」直接矛盾，刪。\n   - (B) 「AI 完全中立」→ 教材第一句就否定：「AI 系統並非完全中立」，刪。\n   - (D) 「只影響企業效能，與弱勢群體無關」→ 教材明確指出弱勢群體會受歧視（女性、少數族群、高齡者、身障者），刪。\n\n**📖 章節來源**：chunks/L23402.txt line 9–11（前言與章節導覽）\n\n**融會貫通**：記法「**AI 偏見 ≠ Bug**」。技術只是表面，背後牽動社會公平、法律、倫理、企業聲譽四條線。考題常用 (A)/(B)/(D) 這類「窄化型」干擾項把問題簡化為技術瑕疵或單一面向，看到「純粹」「完全」「只」這類絕對詞要警覺。",
    "2": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料代表性（Data Representativeness）」的核心定義 → 考點是這個術語本身的意義，不是其他效能指標。\n2. **正確答案 (B) 為何對**：教材定義：「資料代表性是衡量訓練資料能否**忠實且全面反映目標群體特性**的核心指標」。(B) 完全對齊教材原文。資料若過度集中特定群體/文化/語言/社經背景 → 系統性偏見。\n3. **其他選項為何刪**：\n   - (A) 「訓練速度」→ 那是效能/效率指標，不是公平性指標，屬於 distractor 換概念，刪。\n   - (C) 「推論延遲」→ 屬於 serving/部署效能指標，與代表性無關，刪。\n   - (D) 「資料壓縮率」→ 屬於儲存/傳輸技術指標，與公平性無關，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 20–22（資料代表性與偏誤風險）\n\n**融會貫通**：「代表性」三個字直指「目標群體特性是否被忠實反映」。常見干擾把「資料代表性」誤導為其他效能/速度指標。記法：**代表性 = 樣本是否照鏡子照得出母體**。",
    "3": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「來源偏誤（Source Bias）」→ 對應教材三大資料偏誤分類（來源/內容/製程）的第一類。\n2. **正確答案 (A) 為何對**：教材定義「來源偏誤發生在**資料蒐集階段**，核心問題在於資料**無法均衡涵蓋**所有應被代表的群體或情境」。(A) 完全對齊。常見例：醫療模型缺某年齡層數據、語料僅來自北美。\n3. **其他選項為何刪**：\n   - (B) 「標註過程中標註者主觀判斷導致偏差」→ 這是**製程偏誤**的定義，三類混淆陷阱，刪。\n   - (C) 「資料內含不公平或歧視觀點」→ 這是**內容偏誤**的定義，三類混淆陷阱，刪。\n   - (D) 「與資料是否平衡無關」→ 來源偏誤的核心就是「均衡涵蓋與否」，直接矛盾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 25–36（來源偏誤）\n\n**融會貫通**：三類偏誤口訣「**來源在蒐集、內容在資料、製程在標註**」。看到「蒐集階段+涵蓋不均」鎖定來源；看到「資料本身含歧視」鎖定內容；看到「標註主觀差異」鎖定製程。(B)/(C) 互換是典型的 swap 干擾。",
    "4": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目問「內容偏誤（Content Bias）」+ 例子「醫師預設男性、護士預設女性」→ 鎖定教材內容偏誤段的招牌例子。\n2. **正確答案 (C) 為何對**：教材定義「內容偏誤存在於**資料本身的內容或敘事方式**，核心問題是資料內含**不公平或歧視的觀點**」，並舉例「資料將醫師預設為男性、護士預設為女性，強化性別刻板印象」。(C) 完全對齊教材。\n3. **其他選項為何刪**：\n   - (A) 「資料蒐集階段群體分佈不均」→ 這是**來源偏誤**，三類混淆陷阱，刪。\n   - (B) 「標註者主觀判斷不一致」→ 這是**製程偏誤**，三類混淆陷阱，刪。\n   - (D) 「與模型架構選擇有關」→ 內容偏誤是資料層面，不涉及模型架構，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 38–51（內容偏誤）\n\n**融會貫通**：內容偏誤的標記語是「資料本身含歧視觀點」+「刻板印象」+「歷史不平等」。最經典例子就是「醫師=男、護士=女」和「信用審核歷史資料隱含種族/性別歧視」。記法：**內容 = 資料的「靈魂」帶有偏見**，不是樣本不均（來源）也不是人為標註失誤（製程）。",
    "5": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「製程偏誤」何者**錯誤** → 找一個與製程偏誤定義不符的選項。教材定義製程偏誤 = 標註或編輯過程中，因標註者主觀差異造成不一致。\n2. **正確答案 (D) 為何對（即錯誤敘述）**：(D) 說「與資料蒐集階段的群體分佈不均直接相關」— 這描述的是**來源偏誤**（在蒐集階段、群體分佈不均），與製程偏誤（在標註階段、主觀差異）完全不同階段。題目要選錯誤，所以 (D)。\n3. **其他選項為何刪（即正確敘述）**：\n   - (A) 「出現在資料標註或編輯過程」→ 教材原文，正確，刪。\n   - (B) 「因標註者的主觀或文化差異造成不一致」→ 教材原文，正確，刪。\n   - (C) 「情感分析標註差異」→ 教材列的典型例子，正確，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 52–63（製程偏誤）\n\n**融會貫通**：(D) 是典型「**跨類別張冠李戴**」干擾 — 把來源偏誤的特徵（蒐集階段+群體分佈不均）安到製程偏誤身上。看到「蒐集階段」與「製程」並存就要警覺。三類偏誤對應**三個不同階段**：蒐集（來源）/ 資料本身（內容）/ 標註（製程）。",
    "6": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目把三類偏誤一次列出來考「對應」→ 考點就是三類偏誤的**正確配對**。\n2. **正確答案 (A) 為何對**：教材分類：**來源**=資料蒐集階段不均；**內容**=資料本身含歧視觀點；**製程**=標註者主觀差異。(A) 三個配對完全正確。\n3. **其他選項為何刪**：\n   - (B) 把來源（標註）和內容（蒐集）對調 — 全錯，刪。\n   - (C) 把來源（含歧視）和內容（蒐集）對調 — 全錯，刪。\n   - (D) 「三者皆為標註過程造成」→ 只有製程偏誤在標註階段，來源在蒐集、內容在資料本身，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 23–63（資料偏見三大類）\n\n**融會貫通**：三類偏誤是 L23402 最高頻考點，必須背熟：**來源(蒐集+涵蓋不均) / 內容(資料本身含歧視) / 製程(標註者主觀差異)**。考題經常用 (B)(C) 這種 swap 干擾把三者位置交換，背的時候要對應**階段**+**核心問題**雙鎖定，不要只記名字。",
    "7": "**答案**：(C)\n\n**解題思路**：\n1. **關鍵線索**：題目給情境「語料僅來自北美，模型無法理解亞洲語境」→ 鎖定教材來源偏誤段的「文化與語言侷限」原例。\n2. **正確答案 (C) 為何對**：教材在來源偏誤段明確列出「**文化與語言侷限：語料僅來自北美，模型無法理解亞洲語境**」。題目情境與教材例子一字不差，屬於來源偏誤，發生在資料蒐集階段。\n3. **其他選項為何刪**：\n   - (A) 製程偏誤 = 標註者主觀差異，與語料來源無關，刪。\n   - (B) 內容偏誤 = 資料本身含歧視觀點，題目情境是「涵蓋不夠廣」而非「內容歧視」，刪。\n   - (D) 模型偏見 = 演算法/目標函數層面，題目情境純屬資料蒐集問題，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 33–34（來源偏誤 — 文化與語言侷限）\n\n**融會貫通**：來源偏誤的四種典型情境：**群體分佈不均** / **社經或地理偏重** / **文化與語言侷限** / **來源平台侷限**。看到「僅來自 / 缺乏某群體 / 過度集中」這些字眼就鎖定來源偏誤。北美 → 亞洲是教材最常被引用的例子。",
    "8": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「模型偏見」的核心特徵 → 考點是模型偏見**獨立於資料偏見**的本質（即使資料平衡仍會有）。\n2. **正確答案 (B) 為何對**：教材定義「即使資料本身具有良好的代表性，AI 模型在訓練或運算過程中，仍可能因演算法設計、目標設定或學習邏輯，額外引入偏見，或放大原本隱藏於資料中的微弱偏誤」。(B) 完全對齊「即使輸入資料相對平衡，模型本身仍可能產生不公平的預測結果」。\n3. **其他選項為何刪**：\n   - (A) 「只有資料偏誤會導致不公平」→ 與教材直接矛盾，模型本身也會引入偏見，刪。\n   - (C) 「模型偏見必然減弱資料偏見」→ 教材說模型偏見可能**放大**資料偏見，不是減弱，刪。\n   - (D) 「部署後消失」→ 模型偏見會持續到推論階段，部署後反而是影響使用者的時候，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 65–67（模型偏見與歧視）\n\n**融會貫通**：模型偏見的關鍵句是「**即使資料平衡也會有**」。教材列出四種來源：**演算法偏見 / 目標函數偏誤 / 正規化與簡化偏誤 / 對抗式訓練不足**。記法：「**資料是食材、模型是廚師**」— 食材好不代表廚師不會做出帶有偏見的菜。",
    "9": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「目標函數偏誤（Objective Function Bias）」→ 鎖定教材模型偏見章節中此項的定義。\n2. **正確答案 (A) 為何對**：教材原文「多數模型在訓練時，以**整體平均精度**作為優化目標，若未加入公平性約束，就可能在提升整體效能的同時，**犧牲特定群體的預測準確度**」。(A) 完全對齊。屬模型偏見的一種。\n3. **其他選項為何刪**：\n   - (B) 「必然導致全體模型效能下降」→ 教材說提升整體效能但犧牲群體，**全體效能反而提升**，刪。\n   - (C) 「與模型訓練目標無關」→ 名稱就叫「目標函數偏誤」，直接矛盾，刪。\n   - (D) 「屬於資料偏誤的一種」→ 目標函數是模型層面，不是資料層面，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 75–77（目標函數偏誤）\n\n**融會貫通**：目標函數偏誤的核心是「**只追整體平均、不顧群體差異**」。解法是在目標函數中加入**公平性約束**（如 Demographic Parity、Equal Opportunity）。對應後面公平性正規化（Fairness Regularization）的解法 — 在 Loss 中加公平性損失項。",
    "10": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「對抗式訓練不足（Insufficient Adversarial Training）」→ 鎖定模型偏見的第四種來源。\n2. **正確答案 (B) 為何對**：教材原文「即使導入對抗式公平學習（Adversarial Fairness），若**設計不完善或參數設定不當**，仍可能保留部分偏見，使模型對特定群體的預測不公」。(B) 與教材完全一致。\n3. **其他選項為何刪**:\n   - (A) 「完全沒有導入對抗式公平學習」→ 那叫「沒做」，不是「做了但不足」，刪。\n   - (C) 「不會出現任何偏見」→ 教材明說會保留部分偏見，矛盾，刪。\n   - (D) 「屬於資料層面偏誤」→ 對抗式訓練不足屬模型層面（演算法設計），不是資料層面，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 83–85（對抗式訓練不足）\n\n**融會貫通**：「不足」二字是關鍵 — **不是沒做，而是做了但效果差**。常見誤解：以為導入對抗式公平學習就能完全消除偏見。實際上參數調不好、網路設計不完善都會留下殘餘偏見。對應後面方法論章節的「對抗式去偏模型」— 那是技術，這裡講的是該技術的限制。",
    "11": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Demographic Parity（群體平等率）」的定義 → 鎖定教材四大公平性指標的第一個。\n2. **正確答案 (A) 為何對**：教材定義「不同群體獲得正向預測（例如核准貸款、錄取面試等）的比例應大致相同。強調**結果的均等分配（Equality of Outcome）**」。(A) 完全對齊教材原文。比較對象是**整體比例**，不論實際資格。\n3. **其他選項為何刪**：\n   - (B) 「真正有資格的人不能漏掉」→ 這是 **Equal Opportunity** 的定義，最常見的混淆陷阱，刪。\n   - (C) 「TPR 與 FPR 在群體間皆需一致」→ 這是 **Equalized Odds** 的定義，刪。\n   - (D) 「比較群體間正確預測率的差異」→ 描述模糊且偏向 Equal Opportunity，且 Demographic Parity 不論「正確與否」只看比例，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 115–134（Demographic Parity）\n\n**融會貫通**：三大公平性指標的最大差別是**比較對象**：\n- **Demographic Parity** = 比「**全體**獲得正向結果的比例」（不論資格）\n- **Equal Opportunity** = 比「**真正應該被選擇者**的 TPR」\n- **Equalized Odds** = 比「**TPR + FPR 兩者**皆一致」\n\n記法：「**DP 看結果、EO 看資格、Odds 看雙率**」。Demographic Parity 的限制是可能犧牲個別預測準確性。",
    "12": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Equal Opportunity（機會平等）」的定義 + 關鍵句「**真正有資格的人不能漏掉**」→ 鎖定 EO 的招牌定義。\n2. **正確答案 (B) 為何對**：教材原文「在實際應獲得正向預測的個案中（如真正應核准貸款的人），不同群體被正確預測的機率應相同，強調**真正有資格的人不能漏掉**」。(B) 完全對齊。比較對象是「真實應該被選擇」者的 TPR。\n3. **其他選項為何刪**：\n   - (A) 「整體比例需相同」→ 這是 **Demographic Parity** 的定義，最常見混淆，刪。\n   - (C) 「TPR 與 FPR 皆一致」→ 這是 **Equalized Odds** 的定義（EO 只看 TPR），刪。\n   - (D) 「比例是否達 80%」→ 這是 **Disparate Impact** 的 80% Rule，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 136–155（Equal Opportunity）\n\n**融會貫通**：Equal Opportunity 適用「**必須確保真正該被服務者不被忽略**」的任務，例如醫療診斷、社會福利核准。記法：**EO 守的是「不要漏掉真陽性」**。限制是只關注正例 TPR、未考量負例 FPR，所以才需要更嚴格的 Equalized Odds。",
    "13": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Equalized Odds（均衡機率）」+ 提到 TPR 與 FPR → 鎖定教材對 Equalized Odds 的定義（最嚴格的公平性要求）。\n2. **正確答案 (B) 為何對**：教材原文「要求模型在不同群體間，對『正例』與『負例』都有相同的預測機率，即 **TPR**（正確核准比例）與 **FPR**（錯誤核准比例）皆需一致」。(B) 完全對齊。適用司法判決、信用評估。\n3. **其他選項為何刪**：\n   - (A) 「只關注正向預測的正確率」→ 這是 **Equal Opportunity**（只看 TPR），Equalized Odds 兩個都看，刪。\n   - (C) 「結果均等分配」→ 這是 **Demographic Parity** 的特徵，刪。\n   - (D) 「基礎匿名化技術」→ 完全不相干（匿名化屬於 L23401 隱私保護），刪。\n\n**📖 章節來源**：chunks/L23402.txt line 156–175（Equalized Odds）\n\n**融會貫通**：Equalized Odds 是三大指標中**最嚴格**的 — 它把 Equal Opportunity 的單條件（TPR）擴充成雙條件（TPR + FPR）。記法：**Odds = TPR + FPR 雙鎖**。限制是實務上難以完全達成，可能需要犧牲整體效能作為妥協。EO 與 Odds 的差別：**EO 一條腿、Odds 兩條腿**。",
    "14": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Disparate Impact（不利影響比）」+ 80% Rule → 鎖定教材對 DI 的定義（法律合規導向的指標）。\n2. **正確答案 (A) 為何對**：教材原文「比較群體間獲得正向結果的比例，若某群體的比例**未達另一群體的 80%（80% Rule）**，可能構成間接歧視或不利待遇」。(A) 完全對齊。主要用於法律合規審查（招聘、公平貸款歧視檢驗）。\n3. **其他選項為何刪**：\n   - (B) 「公式為 80% × 正向結果比例」→ 80% 是比較**門檻**不是乘數因子，亂編公式，刪。\n   - (C) 「不適用於法律合規審查」→ DI 主要用途就是法律合規，直接矛盾，刪。\n   - (D) 「與招聘、貸款歧視檢驗無關」→ 那正是教材列的主要應用場景，矛盾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 177–189（Disparate Impact）\n\n**融會貫通**：Disparate Impact 的招牌是「**80% Rule**」— 群體 A 拿到正向結果的比例 / 群體 B 拿到正向結果的比例 < 80% 就視為間接歧視。例如男性錄取率 50%、女性錄取率 30%，30/50=60% < 80% → 構成歧視。記法：**DI = 法律審查工具、看 80% 門檻**。限制：只看比例差異、無法指出原因。",
    "15": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問 AIF360 何者**錯誤** → 找一個與 AIF360 定義不符的敘述。教材明確：AIF360 由 **IBM Research** 開發。\n2. **正確答案 (D) 為何對（即錯誤敘述）**：(D) 說「是 Microsoft 開發的工具，與 IBM 無關」— 這把 AIF360 與 Fairlearn **歸屬互換**。AIF360 是 IBM 的，Fairlearn 才是 Microsoft 的。題目要選錯誤，所以 (D)。\n3. **其他選項為何刪（即正確敘述）**：\n   - (A) 「由 IBM Research 開發的開源 Python 工具包」→ 教材原文，正確，刪。\n   - (B) 「支援超過 70 種公平性指標及多種去偏技術」→ 教材原文，正確，刪。\n   - (C) 「提供資料前處理、模型內部處理及結果後處理的去偏方法」→ 教材原文（三階段去偏），正確，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 195–214（IBM AI Fairness 360）\n\n**融會貫通**：AIF360 vs Fairlearn 是經典 **swap 干擾** — 把兩個工具的開發公司對調。記法：「**A**IF360 = **A**IBM」（雖然 A 不是 IBM 開頭，但記成 IBM 旗下的「AI」工具）；Fair**learn** = Microsoft（與 scikit-**learn** 高度相容）。AIF360 較重、70+ 指標、企業級；Fairlearn 較輕、與 sklearn 整合、適合中小型。",
    "16": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目問「Microsoft Fairlearn」的正確敘述 → 教材對 Fairlearn 的招牌定義是「Microsoft 開發 + 與 scikit-learn 高度相容」。\n2. **正確答案 (B) 為何對**：教材原文「由微軟開發的 Python 工具，專注於衡量及降低 AI 系統中的公平性問題」+「**與 scikit-learn 等 Python 生態系統高度相容**」。(B) 完全對齊。\n3. **其他選項為何刪**：\n   - (A) 「由 Google 開發」→ 開發者搞錯，是 Microsoft，刪。\n   - (C) 「提供超過 70 種公平性指標，遠多於 AIF360」→ 70+ 指標是 **AIF360** 的特徵，Fairlearn 較輕量，去偏功能反而比 AIF360 少，刪。\n   - (D) 「不支援可解釋性分析」→ 教材明確說 Fairlearn 「支援可解釋性分析」，矛盾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 216–233（Microsoft Fairlearn）\n\n**融會貫通**：Fairlearn 的三大招牌：**Microsoft 開發** / **scikit-learn 友善** / **公平性約束下的模型再訓練 + 可解釋性**。限制：去偏功能比 AIF360 少，**適合中小型或輕量化專案**。選工具時：要 70+ 指標選 AIF360、要 sklearn 整合選 Fairlearn。",
    "17": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目給情境「醫療診斷必須確保**真正應該被診斷出**的病患**不能漏掉**」→ 關鍵字「真正應該+不能漏掉」直指 Equal Opportunity 的定義。\n2. **正確答案 (B) 為何對**：教材在 Equal Opportunity 段明確列出適用情境：「必須確保**真正該被服務者不被忽略**的任務，例如醫療診斷、社會福利核准等」。題目情境與教材一字不差，鎖定 EO。EO 重點在「TP 中不能漏掉」（即 TPR 一致）。\n3. **其他選項為何刪**：\n   - (A) Demographic Parity → 看整體比例，不適合「漏掉真陽性會出人命」的醫療場景，刪。\n   - (C) Disparate Impact → 法律合規審查（招聘、貸款），不是醫療診斷情境，刪。\n   - (D) K-Anonymity → 是隱私保護技術（L23401），不是公平性指標，跨章節干擾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 147–150（Equal Opportunity 適用情境）\n\n**融會貫通**：選公平性指標的場景對應記法：\n- **招聘 / 入學機會 → Demographic Parity**（要結果均等）\n- **醫療診斷 / 社福核准 → Equal Opportunity**（不能漏掉真陽性）\n- **司法判決 / 信用評估 → Equalized Odds**（TPR+FPR 都要公平）\n- **招聘 / 公平貸款法律審查 → Disparate Impact**（80% Rule）\n\n看到「不能漏掉真正應該的人」鎖定 EO；看到「比例相同」鎖定 DP；看到「司法、信用」鎖定 Odds；看到「法律 80%」鎖定 DI。",
    "18": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問降低演算法偏見的「**三階段**」分類 → 鎖定教材方法論章節的標準三階段。\n2. **正確答案 (A) 為何對**：教材明確分成「**①資料前處理 → ②模型內部處理 → ③模型後處理**」三階段。(A) 完全對齊。\n - **資料前處理**：重新抽樣、特徵去偏、匿名化與泛化\n - **模型內部處理**：公平性約束訓練、對抗式去偏、公平性正規化\n - **模型後處理**：門檻調整、結果校準\n3. **其他選項為何刪**：\n   - (B) 「模型評估 → 模型部署」→ 那是 ML 開發 lifecycle，不是降偏見三階段，混淆，刪。\n   - (C) 順序倒置（模型內部 → 資料前處理）→ 違反 ML pipeline 邏輯（資料先於模型），刪。\n   - (D) 順序完全顛倒 → 違反邏輯，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 237–333（降低演算法偏見方法論）\n\n**融會貫通**：三階段口訣「**前處理（餵料前）→ 內部處理（訓練時）→ 後處理（輸出後）**」。對應到 ML pipeline：**Data → Train → Predict**。每階段對應的招牌技術：前處理(重新抽樣、特徵去偏、匿名化) / 內部(對抗式、公平性約束、公平性正規化) / 後處理(門檻、校準)。這個分類是 L23402 最重要的知識架構，必須背熟。",
    "19": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「資料重新抽樣（Re-sampling）」→ 鎖定資料前處理章節的第一個方法。\n2. **正確答案 (A) 為何對**：教材原文「透過**增加或減少特定群體資料**的方式，使資料分佈更加均衡」。(A) 完全對齊。例：招聘模型訓練前調整不同性別履歷數量達平衡。屬於**資料前處理**。\n3. **其他選項為何刪**：\n   - (B) 「訓練過程中加入公平性約束」→ 那是**模型內部處理**（公平性約束訓練），階段錯，刪。\n   - (C) 「模型輸出後調整門檻」→ 那是**模型後處理**（門檻調整），階段錯，刪。\n   - (D) 「屬於模型後處理」→ Re-sampling 是資料前處理，階段錯，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 243–251（資料重新抽樣）\n\n**融會貫通**：Re-sampling 與「**類別重加權（Class Weighting）**」常被混淆 — Re-sampling **改樣本數**（多增/少減）；Class Weighting **不改樣本數但改 Loss 權重**（少數群體錯誤代價更高）。兩者目的都是平衡資料但機制不同。考題常用「不平衡資料」場景考這兩個技術的對照。",
    "20": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「特徵去偏處理（Feature Neutralization）」→ 鎖定資料前處理章節的第二個方法。\n2. **正確答案 (A) 為何對**：教材原文「**移除或調整可能引發偏見的敏感特徵**（如性別、族群），或**其高度相關的特徵**」。(A) 完全對齊。例：銀行信用評分移除客戶族群特徵避免種族偏見。屬於資料前處理。\n3. **其他選項為何刪**：\n   - (B) 「對模型輸出加上隨機噪聲」→ 那是隱私保護的差分隱私（L23401），不是特徵去偏，刪。\n   - (C) 「屬於模型內部處理」→ 特徵去偏是資料前處理（在資料投入訓練前操作），階段錯，刪。\n   - (D) 「用於提升推論速度」→ 那是模型加速技術（剪枝、量化），與公平性無關，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 253–261（特徵去偏處理）\n\n**融會貫通**：特徵去偏的關鍵 — **不只移除敏感特徵本身，還要處理「高度相關特徵」（代理變數）**。例如刪了「性別」但保留「身高、購物偏好」可能仍洩漏性別資訊。常與「對抗式去偏」（Q21）混淆：**特徵去偏 = 直接刪除（資料前處理）**；**對抗式去偏 = 用對抗網路訓練（模型內部處理）**。兩者解決相同問題但階段不同。",
    "21": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「對抗式去偏模型（Adversarial Fairness）」→ 鎖定模型內部處理章節的第二個方法（注意：是模型內部處理，不是資料前處理）。\n2. **正確答案 (A) 為何對**：教材原文「**同時訓練一個去預測敏感特徵（如性別）的『對抗式網路』**，迫使主模型學到不受敏感特徵影響的特徵表現」。(A) 完全對齊。例：招聘模型透過對抗網路訓練，使履歷分析結果無法推斷申請者性別。\n3. **其他選項為何刪**：\n   - (B) 「屬於模型後處理」→ 對抗式去偏是**模型內部處理**（訓練時操作），階段錯，刪。\n   - (C) 「屬於資料前處理」→ 階段錯，刪。\n   - (D) 「直接刪除敏感特徵」→ 那是**特徵去偏（資料前處理）**，與對抗式去偏混淆，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 287–295（對抗式去偏模型）\n\n**融會貫通**：對抗式去偏 vs 特徵去偏的核心差異：\n- **特徵去偏**：直接砍掉敏感特徵 — **資料前處理** — 簡單但可能誤砍有用資訊\n- **對抗式去偏**：訓練對抗網路逼主模型不依賴敏感特徵 — **模型內部處理** — 保留資訊但需訓練成本\n\n記法：**「對抗 = 訓練時打架」、「特徵去偏 = 餵料前砍掉」**。對抗式的精神類似 GAN — 生成器 vs 判別器，這裡是主模型 vs 對抗網路。",
    "22": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「結果門檻調整（Threshold Adjustment）」與「結果校準（Calibration）」的**差異** → 鎖定模型後處理兩種方法的對照（最常見的混淆點）。\n2. **正確答案 (A) 為何對**：教材分別定義：\n - **門檻調整**：「直接改變判斷標準（**閾值**），例如改變『通過』或『不通過』的門檻」，例：核准門檻 60→55 分。\n - **校準**：「**不改變判斷標準（閾值）**，但調整不同群體的**預測分數**，使同一分數在不同群體具有相同意義」，例：分數從 60→65 分。\n (A) 完全對齊教材對兩者的差別描述。\n3. **其他選項為何刪**：\n   - (B) 「完全相同」→ 教材明確分成兩種不同機制，刪。\n   - (C) 「門檻調整改分數、校準改閾值」→ **左右完全顛倒**，刪。\n   - (D) 「屬於資料前處理」→ 兩者都屬模型後處理，階段錯，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 311–333（結果門檻調整 vs 結果校準）\n\n**融會貫通**：兩者都是**模型後處理**（不需重新訓練）但動的東西不同：\n- **門檻調整 = 改「判斷線」**（如及格分數從 60 降到 55）— 分數沒變，過/不過的線變了\n- **校準 = 改「分數本身」**（如 60 校到 65）— 線沒變，分數變了\n\n記法：**「閾值不動分數動 = 校準；分數不動閾值動 = 門檻」**。考題常用這兩者互換來考。實務應用：當模型已部署、不能重訓時，後處理是最快的修正手段（見 Q24）。",
    "23": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「公平性正規化（Fairness Regularization）」→ 鎖定模型內部處理章節的第三個方法。關鍵字「正規化」+「公平性損失」。\n2. **正確答案 (A) 為何對**：教材原文「在模型訓練目標函數中**加入額外的公平性損失項（Fairness Loss）**，同時平衡準確度與公平性」。(A) 完全對齊。例：信用評分模型透過加入公平性損失函數，確保各族群錯誤率接近。\n3. **其他選項為何刪**：\n   - (B) 「屬於資料前處理」→ 是模型**內部處理**（訓練時動 Loss），階段錯，刪。\n   - (C) 「屬於模型後處理」→ 階段錯，刪。\n   - (D) 「不涉及損失函數」→ 公平性正規化的核心就是改 Loss，直接矛盾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 297–305（公平性正規化）\n\n**融會貫通**：公平性正規化 vs **L1/L2 正規化**容易混淆但目的不同：\n- **L1/L2 正規化**（L23304 範圍）：**防過擬合**，懲罰權重大小\n- **公平性正規化**：**降偏見**，懲罰群體間差異（公平性損失項）\n\n兩者都是「在 Loss 上加項」但加的東西不同。記法：**「L1/L2 管權重、Fairness 管公平」**。實務上可以同時用（總 Loss = 預測誤差 + L2 + Fairness）。",
    "24": "**答案**：(B)\n\n**解題思路**：\n1. **關鍵線索**：題目給情境「AI 模型**已部署** + 發現不同族群錯誤率有差異 + **最快速**的修正方法」→ 關鍵字「已部署」+「最快」直指**不需重新訓練**的方法。\n2. **正確答案 (B) 為何對**：模型後處理（門檻調整 / 結果校準）的核心優勢就是「**無需重新訓練**即可在部署後快速修正不公平」。題目場景完全對齊後處理的招牌應用情境（已部署、要快）。\n3. **其他選項為何刪**：\n   - (A) 「重新蒐集所有資料並重新訓練」→ 屬於資料前處理路線，**需重新訓練**，慢，不符「最快」，刪。\n   - (C) 「完全廢棄模型」→ 過度反應，浪費投資，不是合理修正方法，刪。\n   - (D) 「增加模型參數量」→ 與公平性無關（甚至可能加劇 overfitting），刪。\n\n**📖 章節來源**：chunks/L23402.txt line 307–333（模型後處理）\n\n**融會貫通**：三階段方法的**修正成本**比較：\n- **資料前處理**：要重新訓練、重新驗證 — 慢\n- **模型內部處理**：要重新訓練 — 慢\n- **模型後處理**：不需重新訓練、直接調輸出 — **最快**\n\n實務情境：模型已上線發現問題，DevOps 沒空回頭重訓 → 用後處理（門檻/校準）快速止血。但長期還是要回頭做前處理或內部處理徹底解決。記法：**「後處理 = 急救包」**。",
    "25": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「跨部門公平性審查委員會」→ 鎖定組織治理章節「設立跨部門公平性審查委員會」段落。\n2. **正確答案 (A) 為何對**：教材原文「集合**法務、技術、產品、倫理及風險管理**等部門，負責**定期審查** AI 系統的公平性風險及績效」+「於 AI 專案**早期**即參與，預防潛在偏見，而非僅在事後處理」。(A) 完全對齊。\n3. **其他選項為何刪**：\n   - (B) 「只能由技術部門單獨組成」→ 與「跨部門」直接矛盾，刪。\n   - (C) 「上線後才介入」→ 教材強調**早期參與**、預防而非事後處理，刪。\n   - (D) 「不需要跨部門合作」→ 字面就叫「跨部門委員會」，矛盾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 351–355（設立跨部門公平性審查委員會）\n\n**融會貫通**：審查委員會的兩大關鍵字：**跨部門**（法務、技術、產品、倫理、風險管理）+ **早期介入**（不是事後）。記法：「**事前預防 > 事後修補**」。考題常用「窄化型」干擾（只有技術部門 / 上線後才介入）來測試對「跨部門+早期」這兩個特徵的理解。",
    "26": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「明確責任與問責機制」何者**錯誤** → 找一個與教材責任分工方向相反的選項。教材強調責任要納入**高階主管 KPI**。\n2. **正確答案 (D) 為何對（即錯誤敘述）**：(D) 說「責任由**基層工程師個人承擔**，與高階主管無關」— 與教材方向**完全相反**。教材明確要求公平性納入「資訊長、法務長等**高階主管 KPI**」與 ESG 報告。題目要選錯誤，所以 (D)。\n3. **其他選項為何刪（即正確敘述）**：\n   - (A) 「納入高階主管（資訊長、法務長）的 KPI 或 ESG 報告範疇」→ 教材原文，正確，刪。\n   - (B) 「建立公平性審查流程的紀錄機制」→ 教材原文，正確，刪。\n   - (C) 「紀錄機制需確保可追溯與透明」→ 教材原文「確保可追溯與透明，利於內外部稽核」，正確，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 357–360（明確責任與問責機制）\n\n**融會貫通**：AI 公平性責任的方向是「**從上往下落實**」— 高階主管 KPI 化、納入企業 ESG 報告 — 而**不是基層個人背鍋**。記法：「**KPI 上沉、責任下傳**」。實務上若只懲罰工程師，工程師會選擇隱瞞問題；若高階 KPI 綁定公平性，組織會主動建立預防機制。考題常用「個人背鍋」這種反方向干擾來測試對「治理 = 制度而非個人」的理解。",
    "27": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「多元化團隊」→ 鎖定組織治理章節「多元化團隊與公平意識教育訓練」段落。\n2. **正確答案 (A) 為何對**：教材原文「積極聘用不同**性別、族群、文化、專業背景**的人才，**降低團隊盲點風險**」+「鼓勵跨部門合作與交流，提升討論的多元性與敏銳度」。(A) 完全對齊。\n3. **其他選項為何刪**：\n   - (B) 「組成必須越單一越好」→ 與「多元化」直接相反，刪。\n   - (C) 「與 AI 公平性無關」→ 教材明確說多元化團隊是**降低演算法偏見的重要基礎**，刪。\n   - (D) 「不需要任何倫理培訓」→ 教材同一節同時要求「定期舉辦 AI 公平性及倫理課程」，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 362–375（招募多元化團隊成員 + 推動公平性與倫理培訓）\n\n**融會貫通**：降低演算法偏見的「組織三支柱」：**多元化團隊** + **跨部門合作** + **倫理培訓**。理由：團隊越多元 → 盲點越少 → 從設計階段就減少偏見。記法：「**人多元、視角多元、結果才公平**」。這是「**事前防範**」的代表 — 在資料/模型動工前就用人的多元性降低偏見來源。",
    "28": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「公平性稽核（Fairness Audits）」何者**錯誤** → 找一個與教材稽核精神相反的選項。教材強調「**制度化、持續性**」的稽核。\n2. **正確答案 (D) 為何對（即錯誤敘述）**：(D) 說「**一次性**稽核即可永久解決，無需持續追蹤」— 與教材精神完全相反。教材在公平性評估與稽核制度章節原文「企業需建立**制度化、持續性**的公平性評估與稽核機制」。題目要選錯誤，所以 (D)。\n3. **其他選項為何刪（即正確敘述）**：\n   - (A) 「每年定期稽核 + 公開報告與改善計畫」→ 教材原文，正確，刪。\n   - (B) 「新上線或重大更新應進行公平性審查」→ 教材原文，正確，刪。\n   - (C) 「日常監控 + 即時警示機制」→ 教材原文「導入公平性指標監控系統」，正確，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 377–391（公平性評估與稽核制度）\n\n**融會貫通**：公平性稽核的三層機制：\n- **定期稽核**（每年 + 重大更新時）\n- **日常監控**（公平性指標納入監控報告）\n- **即時警示**（超出範圍立即啟動應變）\n\n記法：「**一次稽核 ≠ 永久公平**」— 資料漂移、社會變遷、新群體加入都會讓昨天公平的模型今天變得不公平。(D) 是典型「**一次了事**」型干擾，常用來測試對「持續性」治理理念的掌握。",
    "29": "**答案**：(A)\n\n**解題思路**：\n1. **關鍵線索**：題目問「AI 公平性資訊揭露與溝通策略」→ 鎖定組織治理章節最後一段。關鍵字「透明度」「外部信任」。\n2. **正確答案 (A) 為何對**：教材原文「**定期公開** AI 系統的公平性衡量結果、績效分析與改善措施」+「**引入第三方獨立驗證** — 邀請外部專業機構進行公平性稽核或審查」。(A) 同時涵蓋「主動揭露 + 第三方驗證」兩個核心動作。\n3. **其他選項為何刪**：\n   - (B) 「對所有公平性問題保密」→ 與教材「透明度是建立外界信任的關鍵」直接矛盾，刪。\n   - (C) 「只供內部參考、不對外公開」→ 同樣與透明度精神相反，刪。\n   - (D) 「不需要與利益關係人保持溝通」→ 教材原文「與利益關係人保持溝通」是揭露策略之一，矛盾，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 393–411（AI 公平性資訊揭露與溝通策略）\n\n**融會貫通**：揭露策略的三項作法：\n- **主動揭露 AI 公平性報告**（指標、偏見發現、修正措施）\n- **引入第三方獨立驗證**（外部稽核 + 對外公布結果）\n- **與利益關係人保持溝通**（聆聽不同群體、納入持續改進）\n\n記法：「**透明 = 信任、保密 = 風險**」。實務上若公司藏問題、後來被外媒爆出，傷害遠大於主動揭露。(B)/(C) 的「保密」型干擾正測試對「透明度治理」的理解。",
    "30": "**答案**：(D)\n\n**解題思路**：\n1. **關鍵線索**：題目問「降低演算法偏見三階段技術」對應何者**錯誤** → 找一個誤歸類的技術。教材後處理只有兩種：門檻調整、結果校準。\n2. **正確答案 (D) 為何對（即錯誤敘述）**：(D) 說「**知識蒸餾（Knowledge Distillation）**屬於模型後處理階段的公平性修正方法」— **錯誤**。知識蒸餾是**模型壓縮技術**（L23304 範圍），目的是「讓小模型學大模型」，與公平性修正完全無關。L23402 模型後處理只列**門檻調整**與**結果校準**兩種。題目要選錯誤，所以 (D)。\n3. **其他選項為何刪（即正確敘述）**：\n   - (A) 資料前處理：重新抽樣、特徵去偏、匿名化與泛化 → 教材原文，正確，刪。\n   - (B) 模型內部處理：公平性約束、對抗式去偏、公平性正規化 → 教材原文，正確，刪。\n   - (C) 模型後處理：門檻調整、結果校準 → 教材原文，正確，刪。\n\n**📖 章節來源**：chunks/L23402.txt line 235–333（降低演算法偏見方法論與技術方案）\n\n**融會貫通**：跨章節干擾陷阱 — **知識蒸餾屬於 L23304（模型壓縮）**，不是 L23402（公平性）。看到「Knowledge Distillation」要立刻聯想到「小模型學大模型」而非公平性修正。L23402 三階段技術整理（必背）：\n- **前處理**：Re-sampling / Feature Neutralization / Anonymization & Generalization\n- **內部**：Fairness Constraints / Adversarial Fairness / Fairness Regularization\n- **後處理**：Threshold Adjustment / Calibration（**只有這兩種**）\n\n記法：「**後處理只有兩兄弟：門檻 + 校準**」，看到第三個就是干擾。",
    "31": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**演算法偏見**」的**典型案例** -> 考點是教材以**推薦系統**為例的描述。\n2. **正確答案 (A) 為何對**: 教材 line 73「某些演算法在追求整體預測效能時,可能忽略少數群體的需求。例如,**推薦系統通常依據多數使用者的偏好生成結果,導致少數群體的興趣與需求被邊緣化**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 資料蒐集階段未涵蓋特定群體 -> 那是「**來源偏誤**」(line 27),屬於資料層面,不是模型層面演算法偏見,刪。\n   - (C) 標註者主觀差異 -> 那是「**製程偏誤**」(line 54),屬於資料層面,刪。\n   - (D) 資料內含歷史不平等 -> 那是「**內容偏誤**」(line 40-44),屬於資料層面,刪。\n\n**章節來源**: chunks/L23402.txt line 71-73(偏見成因 — 模型層面 — 演算法偏見)\n\n**融會貫通**: 記法「**演算法偏見 = 模型追多數捨少數**」。和資料層面的三種偏誤(來源/內容/製程)區分:\n- **資料偏誤**: 進貨壞了(料的問題)\n- **演算法偏見**: 鍋子煮壞了(處理方法的問題)\n\n推薦系統是經典案例 — 多數使用者主導推薦結果,小眾興趣被邊緣化,反過來又影響資料採集形成「過濾氣泡」(Filter Bubble)惡性循環。",
    "32": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**正規化與簡化偏誤**」的**核心成因** -> 考點是 **簡化變數關聯 + 降低少數群體敏感度**。\n2. **正確答案 (A) 為何對**: 教材 line 81「為避免過度擬合,**模型往往會簡化變數間的關聯**,可能**降低對少數群體特徵的敏感度**,導致模型在該群體上的表現較差」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 標註者文化差異 -> 「製程偏誤」(line 54),刪。\n   - (C) 資料蒐集分佈不均 -> 「來源偏誤」(line 27),刪。\n   - (D) 資料內含刻板印象 -> 「內容偏誤」(line 44),刪。\n\n**章節來源**: chunks/L23402.txt line 79-81(偏見成因 — 模型層面 — 正規化與簡化偏誤)\n\n**融會貫通**: 記法「**正規化偏誤 = 防過擬合反害少數群體**」。正規化(Regularization)本是防過擬合的好工具,但代價是「**強行簡化**」變數關聯,而少數群體的特徵往往是 **複雜、非線性、低訊號** 的,所以最先被「簡化掉」。\n\n呼應 num 9(目標函數偏誤)、num 10(對抗式訓練不足)、num 31(演算法偏見),共同構成模型層面四大偏見來源。",
    "33": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**弱勢群體受歧視**」的偏見影響 -> 考點是教材具體列舉的**受影響群體與場域**。\n2. **正確答案 (A) 為何對**: 教材 line 95「AI 模型可能對特定群體(如**女性、少數族群、高齡者、身心障礙者**)產生不公平或不利的決策,導致這些群體在**就業、金融服務、醫療診斷**等領域遭受差別待遇」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 影響可能性極低 -> 反了,教材明示這是「常見的潛在影響」(line 89),刪。\n   - (C) 一視同仁 -> 反了,這正是 AI 偏見的核心問題,刪。\n   - (D) 不在治理範圍 -> 反了,弱勢群體保護是公平性治理的核心對象,刪。\n\n**章節來源**: chunks/L23402.txt line 93-95(偏見的潛在影響 — 弱勢群體受歧視)\n\n**融會貫通**: 記法「**四大弱勢群體 × 三大歧視場域**」:\n- **群體**: 女性、少數族群、高齡者、身心障礙者\n- **場域**: 就業、金融服務、醫療診斷\n\n考點常以「**識別受影響群體 / 場域**」出題。實務上著名案例:Amazon 履歷篩選系統對女性履歷打低分(2018 被揭露停用)、美國 COMPAS 司法風險評估對黑人預測風險偏高。",
    "34": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**企業品牌與信譽受損**」的影響 -> 考點是 **輿論反彈 → 用戶抵制 → 形象受損 連鎖反應**。\n2. **正確答案 (A) 為何對**: 教材 line 99「若模型偏見被揭露,容易**引發社會輿論反彈與媒體關注**,導致**用戶抵制、合作夥伴疏遠**,嚴重損害**企業形象、信譽及市場競爭力**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 對企業形象毫無影響 -> 反了,刪。\n   - (C) 媒體關注會提升品牌 -> 反了,負面揭露通常是公關災難,刪。\n   - (D) 與社會輿論無關 -> 反了,輿論正是品牌信譽受損的主要途徑,刪。\n\n**章節來源**: chunks/L23402.txt line 97-99(偏見的潛在影響 — 企業品牌與信譽受損)\n\n**融會貫通**: 記法「**偏見被揭露 → 輿論 → 抵制 → 形象崩**」。AI 偏見的商業傷害鏈:\n1. 媒體 / 用戶揭露偏見問題\n2. 社群網路放大輿論\n3. 用戶抵制、合作夥伴避險\n4. 股價、市佔率下滑\n\n呼應 num 33(弱勢群體歧視)和 num 35(法律監管風險),三者構成偏見潛在影響三大面向: **社會層 / 商業層 / 法律層**。",
    "35": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**法律與監管風險**」的影響 -> 考點是教材明列的**三類法規 + 三類後果**。\n2. **正確答案 (A) 為何對**: 教材 line 103「偏見結果若涉及歧視,企業可能違反**反歧視法、個人資料保護法或消費者保護法**,面臨**巨額罰款、法律訴訟,或受到監管機關調查與處分**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 只是技術議題不涉法律 -> 反了,刪。\n   - (C) AI 決策豁免反歧視法 -> 反了,AI 決策同樣受規範,刪。\n   - (D) 與消費者保護法無關 -> 反了,教材明列三大法規之一,刪。\n\n**章節來源**: chunks/L23402.txt line 101-103(偏見的潛在影響 — 法律與監管風險)\n\n**融會貫通**: 記法「**三法 × 三罰**」:\n- **三類法規**: 反歧視法、個資法、消保法\n- **三類後果**: 罰款、訴訟、監管調查\n\n實務上歐盟 GDPR、AI Act 與台灣個資法均有相關規範。AI 公平性已從「**可選的倫理議題**」變為「**強制的合規議題**」,這是 num 35 的核心。\n\n呼應 num 33-34,完整覆蓋偏見潛在影響的三大面向。",
    "36": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**Demographic Parity**」的**限制** -> 考點是 **可能犧牲個案準確 + 無視實際資格差異**。\n2. **正確答案 (A) 為何對**: 教材 line 132-134「**可能為達到比例公平而犧牲個別個案的預測準確性**。**無法考量實際資格差異,只追求比例相等**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 僅關注正例正確預測 -> 那是「**Equal Opportunity**」的限制(line 153),刪。\n   - (C) 實務難以完全達成 -> 那是「**Equalized Odds**」的限制(line 173),刪。\n   - (D) 只用於 80% 法律檢驗 -> 那是「**Disparate Impact**」的應用場景(line 184-185),不是 Demographic Parity 的限制,刪。\n\n**章節來源**: chunks/L23402.txt line 131-134(公平性指標 — Demographic Parity 限制)\n\n**融會貫通**: 記法「**DP 限制 = 比例公平 vs 個案準確 的兩難**」。Demographic Parity 強調「**結果均等**」(Equality of Outcome),但若不同群體的**實際資格分佈**不同,強行追求比例相等就會錯殺真正合格者 / 錯給不合格者。\n\n四指標限制對比表(考點熱區):\n- **DP**: 犧牲個案準確\n- **EOpp**: 只看正例,忽略負例\n- **EOdds**: 實務難達成 + 實作複雜\n- **DI**: 只看比例,不指出原因",
    "37": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**Equal Opportunity**」的**限制** -> 考點是 **僅關注正例 + 未考量負例**。\n2. **正確答案 (A) 為何對**: 教材 line 152-154「**僅關注正例的正確預測,未考量負例的錯誤比例**。**無法全面涵蓋所有可能的不公平情況**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 完全無法用於分類 -> 反了,EOpp 主要就是用於分類任務,刪。\n   - (C) 只能用於醫療診斷 -> 反了,醫療診斷是**適用情境**之一(line 149),不是唯一,刪。\n   - (D) 計算成本極高無實務工具 -> 反了,AIF360、Fairlearn 都支援 EOpp,刪。\n\n**章節來源**: chunks/L23402.txt line 151-154(公平性指標 — Equal Opportunity 限制)\n\n**融會貫通**: 記法「**EOpp 限制 = 只看 TPR,不看 FPR**」。Equal Opportunity 保證「**真正應該被選中的人不被漏掉**」(TPR 公平),但**沒約束 FPR**(錯誤核准比例) — 所以模型仍可能對某群體有過多的「誤判正向」。\n\nEqualized Odds 正是為了補這個漏洞 — **同時要求 TPR 與 FPR 在群體間一致**(line 160-162),所以更嚴格,但實務難達成(num 38)。",
    "38": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**Equalized Odds**」的**限制** -> 考點是 **實務難達成 + 犧牲整體效能 + 實作複雜**。\n2. **正確答案 (A) 為何對**: 教材 line 172-175「**實務上難以完全達成,且可能需要犧牲部分整體效能作為妥協**。**實現方式較為複雜**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 只關注比例不考量正負例 -> 反了,EOdds 同時關注 TPR 與 FPR,刪。\n   - (C) 不適用司法判決 -> 反了,司法判決正是 EOdds 的**典型適用情境**(line 169),刪。\n   - (D) 與 TPR、FPR 無關 -> 反了,EOdds 的核心就是 TPR + FPR 雙公平,刪。\n\n**章節來源**: chunks/L23402.txt line 171-175(公平性指標 — Equalized Odds 限制)\n\n**融會貫通**: 記法「**EOdds 限制 = 嚴格但難達 + 必犧效能**」。Equalized Odds 是四指標中**最嚴格**的 — 同時要求 TPR + FPR 在所有群體一致 — 所以最接近「真公平」,但代價也最重:\n- **實務難**: 群體分佈不同時,同時滿足兩條件幾乎不可能\n- **效能犧牲**: 必須讓步部分整體準確度\n- **實作複雜**: 需要更精密的訓練約束或後處理\n\n考點口訣: **嚴格度 EOdds > EOpp > DP**;**實作難度 EOdds > EOpp > DP**。",
    "39": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**Disparate Impact**」的**限制** -> 考點是 **只看比例 + 無法指出細微原因**。\n2. **正確答案 (A) 為何對**: 教材 line 188-189「**僅考量結果比例差異,無法指出產生偏差的具體原因或細微偏見來源**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 僅適用於模型內部處理 -> 反了,DI 是**法律合規審查**指標(line 184-185),不是模型內部處理工具,刪。\n   - (C) 必須結合 K-Anonymity -> K-Anonymity 屬於隱私保護章節,與公平性指標無關,刪。\n   - (D) 計算公式必須使用對抗式網路 -> 反了,DI 只是比例比較公式(80% Rule),刪。\n\n**章節來源**: chunks/L23402.txt line 187-189(公平性指標 — Disparate Impact 限制)\n\n**融會貫通**: 記法「**DI 限制 = 只說結果不說原因**」。Disparate Impact 是**法律合規型**指標 — 拿來「**檢驗**」是否歧視(80% Rule),但不能用來**修正**或**解釋**偏見的根源。\n\n四指標角色定位:\n- **DP**: 結果均等的政策標準\n- **EOpp**: 漏網之魚的保護\n- **EOdds**: 全面公平的嚴格標準\n- **DI**: **法律審查工具**(80% Rule)\n\n實務上 DI 常用於招聘 / 公平貸款的法律訴訟舉證,但要修正偏見還是要回到 DP / EOpp / EOdds 三大指標當訓練目標。",
    "40": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**AIF360 的優點與限制**」-> 考點是教材**直接列舉**的優點與限制。\n2. **正確答案 (A) 為何對**: 教材 line 207-214「優點: **支援多種指標與方法**。**文件完整,適合研究及企業試驗性應用**。限制: **對大型商業模型或複雜系統需進行額外整合與測試**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) scikit-learn 高度相容 / 去偏功能較少 -> 那是 **Fairlearn** 的優點與限制(line 228-233),刪。\n   - (C) 由微軟開發 -> 反了,AIF360 由 **IBM Research** 開發(line 197),刪。\n   - (D) 僅支援 1 種指標 -> 反了,AIF360 支援**超過 70 種**公平性指標(line 197),刪。\n\n**章節來源**: chunks/L23402.txt line 195-214(公平性指標 — AIF360)\n\n**融會貫通**: 記法「**AIF360 = IBM × 全方位 × 重型**」:\n- **70+ 指標 + 三階段去偏(前/中/後)** -> 全方位\n- **文件完整、適合研究** -> 重型工具,門檻較高\n- **限制**: 大型商業系統需額外整合 -> 不是即插即用\n\n對比 Fairlearn(num 41)的「**輕量化 + scikit-learn 整合**」,形成「**重型 vs 輕量**」二選一的工具決策框架。",
    "41": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**Fairlearn 與 AIF360 比較**」-> 考點是 **Fairlearn 去偏功能較少 + 適合輕量專案**。\n2. **正確答案 (A) 為何對**: 教材 line 231-233「**提供的去偏功能較 AIF360 少,適合中小型或輕量化專案**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) Fairlearn 去偏功能多於 AIF360 -> 反了,**AIF360 支援 70+ 指標**,Fairlearn 較少,刪。\n   - (C) 兩者皆由 IBM 開發 -> 反了,Fairlearn 由**微軟**開發(line 216),刪。\n   - (D) 不能與 scikit-learn 整合 -> 反了,**與 scikit-learn 高度相容**(line 228-229)正是 Fairlearn 的**核心優點**,刪。\n\n**章節來源**: chunks/L23402.txt line 216-233(公平性指標 — Fairlearn)\n\n**融會貫通**: AIF360 vs Fairlearn 對比表:\n\n| 維度 | AIF360 | Fairlearn |\n|------|--------|-----------|\n| 開發 | IBM Research | Microsoft |\n| 指標數 | 70+ | 較少 |\n| 去偏方法 | 前/中/後三階段全覆蓋 | 較少 |\n| 生態 | 自成體系 | scikit-learn 整合 |\n| 適合 | 研究 / 大型試驗 | 中小型 / 輕量化 |\n\n考點訣竅: 看到「**輕量化、scikit-learn 整合**」-> Fairlearn;看到「**70+ 指標、三階段去偏**」-> AIF360。",
    "42": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**資料匿名化與泛化**」-> 考點是 **降低敏感特徵精確性 + 屬於資料前處理**。\n2. **正確答案 (A) 為何對**: 教材 line 263-271「資料匿名化與泛化(Data Anonymization and Generalization)... **降低敏感特徵的精確性(如年齡轉換成年齡區間),減少因敏感特徵產生的偏見**」,屬於資料前處理階段(line 239-241)。(A) 完整對應。\n3. **其他選項為何刪**:\n   - (B) 模型輸出後調整門檻 -> 那是「**結果門檻調整**」屬模型後處理(line 311-316),刪。\n   - (C) 訓練目標函數加損失項 -> 那是「**公平性正規化**」屬模型內部處理(line 297-301),刪。\n   - (D) 屬於模型內部處理 -> 反了,屬於**資料前處理**,刪。\n\n**章節來源**: chunks/L23402.txt line 263-271(降低演算法偏見 — 資料前處理 — 資料匿名化與泛化)\n\n**融會貫通**: 記法「**匿名化與泛化 = 把精確值變區間**」。資料前處理三招對比:\n- **Re-sampling**: 調**樣本數量**(增/減特定群體)\n- **特徵去偏**: 移除**敏感特徵**(性別、族群)\n- **匿名化泛化**: 降低**特徵精確度**(精確年齡 → 年齡區間)\n\n實務上「**泛化**」是溫和版的「**去偏**」 — 不刪除特徵,只降低精細度,既能保留資訊又能弱化偏見。和隱私保護章節的 K-Anonymity 概念呼應,但**用途不同**: 公平性偏見 vs 個人識別風險。",
    "43": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**公平性約束訓練**」-> 考點是 **訓練時加公平性指標當約束 + 屬於模型內部處理**。\n2. **正確答案 (A) 為何對**: 教材 line 277-285「公平性約束訓練(Fairness Constraints)... **在訓練模型時,同時加入公平性指標作為約束條件,例如 Demographic Parity、Equal Opportunity 等**」,屬於模型內部處理(line 275)。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 屬於資料前處理 -> 反了,屬於**模型內部處理**,刪。\n   - (C) 只能在輸出後加約束 -> 反了,公平性約束**在訓練時**加入,輸出後加是「後處理」,刪。\n   - (D) 與公平性指標無關 -> 反了,核心就是把公平性指標(DP / EOpp)當訓練約束,刪。\n\n**章節來源**: chunks/L23402.txt line 277-285(降低演算法偏見 — 模型內部處理 — 公平性約束訓練)\n\n**融會貫通**: 記法「**Fairness Constraints = 訓練時的硬約束**」。模型內部處理三招對比:\n- **公平性約束訓練**: 把 DP / EOpp 當**硬約束**加入訓練(強制達成)\n- **對抗式去偏**: 用對抗網路**迫使主模型**不能預測敏感特徵\n- **公平性正規化**: 在損失函數加**公平性損失項**(軟約束,可權衡)\n\n三者光譜: 硬約束(Constraints) → 對抗(Adversarial) → 軟約束(Regularization)。實務上 Constraints 最直接、Regularization 最靈活、Adversarial 最深度。\n\n呼應 num 21(對抗式去偏)、num 23(公平性正規化),完整覆蓋模型內部處理三招。",
    "44": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**建立 AI 公平性政策與標準**」具體作法 -> 考點是 **明確原則 + 具體指標 + 可接受範圍**。\n2. **正確答案 (A) 為何對**: 教材 line 347-349「制定明確的 AI 公平性原則,界定在模型開發與應用過程中應遵守的公平性目標(如 **Demographic Parity、Equal Opportunity 等**)。**訂定具體的公平性衡量指標及可接受範圍**,作為各專案的遵循標準」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 只需口號宣示 -> 反了,教材強調**具體指標 + 可接受範圍**,刪。\n   - (C) 單一工程師訂定 -> 反了,公平性政策是**企業層級規範**(跨部門制定),刪。\n   - (D) 與法規無關 -> 反了,公平性政策的目的之一就是符合法規與社會期待(line 343),刪。\n\n**章節來源**: chunks/L23402.txt line 345-349(組織治理 — 建立 AI 公平性治理機制 — 公平性政策與標準)\n\n**融會貫通**: 記法「**政策三要素: 原則 + 指標 + 範圍**」:\n1. **明確原則**: 界定公平性目標(DP / EOpp / EOdds 擇一或多)\n2. **具體指標**: 量化衡量(如「不同性別錯誤率差異 < 5%」)\n3. **可接受範圍**: 容忍區間 + 觸發改善的閾值\n\n公平性治理四件套(呼應 num 25、26、28):\n- 公平性**政策與標準**(num 44)\n- **跨部門審查委員會**(num 25)\n- **問責機制 + KPI**(num 26)\n- **定期稽核 + 監控**(num 28)",
    "45": "**答案**:(A)\n\n**解題思路**:\n1. **關鍵線索**: 題目問「**第三方獨立驗證**」的**核心精神** -> 考點是 **外部專業機構稽核 + 結果公布 + 提升信任**。\n2. **正確答案 (A) 為何對**: 教材 line 405-406「**邀請外部專業機構進行公平性稽核或審查,並將驗證結果對外公布,以提高外部信任度與公信力**」。(A) 直引教材。\n3. **其他選項為何刪**:\n   - (B) 完全由內部稽核 -> 反了,「**第三方獨立**」的核心就是**外部**驗證,刪。\n   - (C) 不對外公布 -> 反了,教材明示「**將驗證結果對外公布**」,刪。\n   - (D) 僅適用財務報表 -> 反了,本章主題是 **AI 公平性**驗證,刪。\n\n**章節來源**: chunks/L23402.txt line 404-406(組織治理 — 資訊揭露與溝通 — 引入第三方獨立驗證)\n\n**融會貫通**: 記法「**第三方驗證 = 外部專業 + 對外公布 = 公信力**」。資訊揭露三招:\n- **主動揭露公平性報告**(line 399-402): 自己公布結果\n- **第三方獨立驗證**(line 404-406): 外部專業機構稽核並公布\n- **與利益關係人溝通**(line 408-410): 雙向交流持續改進\n\n「自己揭露」可能被質疑「球員兼裁判」 → **第三方驗證**正是補強信任的關鍵 — 外部專業機構的稽核結果,比自家公關報告更有公信力。實務上像 ESG / 永續報告書邀請四大會計師事務所驗證,AI 公平性報告也可邀請學術機構或公平性顧問驗證,將驗證結果寫入 ESG 報告或公司年報。"
  },
  "code_L23101": {
    "1": "## 題目核心\nMAE（Mean Absolute Error，平均絕對誤差）的標準公式 = (1/n)·Σ|y_i − ŷ_i| → 真正考點是「mean + abs(殘差) = MAE」三件套對應 numpy 寫法。\n\n## 為什麼答案是 (A) mae_A\n`mae_A` 寫成 `np.mean(np.abs(y_true - y_pred))`，完全對應 MAE 公式三層操作：① 殘差 `y_true - y_pred` ② 取絕對值 `np.abs(...)` ③ 取平均 `np.mean(...)`。教材在迴歸評估指標章節定義 MAE 為「對所有殘差取絕對值的平均」，因此 numpy 一行直譯就是 `np.mean(np.abs(...))`。\n\n## 為什麼其他選項錯\n- **(B) mae_B：`np.sqrt(np.mean((y_true - y_pred) ** 2))`** — 這是 RMSE（均方根誤差）的公式，先平方 → 取平均 → 開根號，與 MAE 完全不同。\n- **(C) mae_C：`np.mean((y_true - y_pred) ** 2)`** — 這是 MSE（均方誤差）的公式，少了「絕對值」改成「平方」，雖然兩者都消除符號，但 MSE 對大誤差懲罰更重，量綱也是 y 的平方。\n- **(D) mae_D：`np.sum(np.abs(y_true - y_pred))`** — 用 `np.sum` 而非 `np.mean`，少了除以樣本數 n，結果會隨樣本數線性放大，不具備跨資料集比較的可比性。\n\n## 📖 章節來源\n**L23303 訓練評估驗證 — 迴歸誤差指標** 章節（MAE、MSE、RMSE 三件套）；公式定義延伸自 L23101 機率統計章節「期望值與絕對差均值」。\n\n## 融會貫通\n陷阱在 (D)：寫法只差一個 `sum` vs `mean`，但意義差到不能比較資料集。鑒別點：迴歸誤差三件套 MAE / MSE / RMSE 一定要記「三個關鍵字」── (1) 絕對值 vs 平方（消符號方式不同），(2) 平均 vs 總和（必然是平均才有可比性），(3) 有無開根號（決定量綱）。MAE 的指紋 = `mean(abs(...))`，RMSE = `sqrt(mean(square(...)))`，MSE = `mean(square(...))`。",
    "2": "## 題目核心\nRMSE（Root Mean Squared Error，均方根誤差）= √[(1/n)·Σ(y_i − ŷ_i)²] → 真正考點是「平方 → 取平均 → 開根號」三步驟對應 numpy 寫法。\n\n## 為什麼答案是 (C) rmse_C\n`rmse_C` 寫成 `np.sqrt(np.mean((y_true - y_pred) ** 2))`，三層操作完全對應 RMSE 公式：① `(y_true - y_pred) ** 2` 是每筆殘差平方；② `np.mean(...)` 取所有平方殘差的平均（這一步等於 MSE）；③ `np.sqrt(...)` 對 MSE 開根號還原回 y 的量綱。教材定義 RMSE 是「將 MSE 開根號使單位與原始目標變數一致」。\n\n## 為什麼其他選項錯\n- **(A) rmse_A：`np.mean(np.abs(y_true - y_pred))`** — 這是 MAE（平均絕對誤差），用絕對值消符號、不開根號，與 RMSE 對大誤差的懲罰機制完全不同。\n- **(B) rmse_B：`np.mean((y_true - y_pred) ** 2)`** — 這是 MSE（均方誤差），少了最後的開根號，輸出量綱是 y²。\n- **(D) rmse_D：`np.sqrt(np.sum((y_true - y_pred) ** 2))`** — 用 `np.sum` 而非 `np.mean`，結果會隨樣本數開根號放大，無跨資料集可比性；正確 RMSE 必須先取「平均」再開根。\n\n## 📖 章節來源\n**L23303 訓練評估驗證 — 迴歸誤差指標** 章節（MAE、MSE、RMSE 三件套及其關係）。\n\n## 融會貫通\n陷阱在 (D)：寫法看起來「有平方、有開根號」很像 RMSE，但漏了平均化，會隨樣本數膨脹。鑒別點：RMSE 的指紋 = `sqrt(mean(square(...)))`，三層缺一不可。RMSE 與 MSE 差一個 sqrt（量綱變回 y），RMSE 與 MAE 差「平方/絕對」的選擇（RMSE 對大誤差懲罰更重 → 對異常值更敏感）。實務上若資料含許多異常值且不想被它們主導，常選 MAE；若想凸顯大誤差影響、追求平方損失易求導的優化便利，選 MSE/RMSE。",
    "3": "## 題目核心\n`np.var()` 預設 `ddof=0`（母體變異數）= (1/N)·Σ(x_i − μ)² → 真正考點是「numpy 的 var 預設用 N 當分母」這個容易被遺忘的細節。\n\n## 為什麼答案是 (A) 4.0\n手算驗證：\n- 樣本：[2, 4, 4, 4, 5, 5, 7, 9]，n = 8\n- 平均 μ = (2+4+4+4+5+5+7+9) / 8 = 40 / 8 = **5.0**\n- 殘差平方和 = (2−5)² + (4−5)² + (4−5)² + (4−5)² + (5−5)² + (5−5)² + (7−5)² + (9−5)² = 9 + 1 + 1 + 1 + 0 + 0 + 4 + 16 = **32**\n- var（ddof=0）= 32 / 8 = **4.0** → 對應 (A)\n\n## 為什麼其他選項錯\n- **(B) 4.5714** — 是 ddof=1（樣本變異數）的結果：32 / (8−1) = 32 / 7 ≈ 4.5714，與本題的 `x.var()` 預設用法不符（下一題會問到）。\n- **(C) 5.0** — 是平均數 μ，不是變異數；考試常把 μ 跟 var 混淆，務必分清。\n- **(D) 8.0** — (max − min) / 2 = (9 − 2)/2 ≈ 3.5 也不對；4.0 × 2 = 8.0 看似有關但純屬數字干擾。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 統計量章節（期望值、變異數、標準差定義）。\n\n## 融會貫通\n陷阱：numpy 與 pandas 在 ddof 預設值上不一致 ── **numpy 預設 ddof=0**（母體變異數，分母為 N），**pandas 預設 ddof=1**（樣本變異數，分母為 N−1）。同一筆資料用 numpy.var 跟 pandas.Series.var 會得到不同結果，很多 bug 都來自這裡。考前要硬記：「**numpy 算母體、pandas 算樣本**」。",
    "4": "## 題目核心\n`x.var(ddof=1)` 改用 Bessel's correction（樣本變異數，分母為 N−1）→ 真正考點是「ddof 切換母體/樣本變異數」的具體效果。\n\n## 為什麼答案是 (B) 4.5714\n承上題：殘差平方和為 32，n = 8。\n- var（ddof=1）= 32 / (8 − 1) = 32 / 7 = **4.5714...** → 對應 (B)\n- 直覺：分母從 N 變小為 N−1，結果會比母體變異數稍大。\n\n## 為什麼其他選項錯\n- **(A) 4.0** — 是 ddof=0（母體變異數）的結果，本題已指定 ddof=1 故不對。\n- **(C) 5.0** — 是平均數 μ。\n- **(D) 8.0** — 純屬干擾數字。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 統計量章節（樣本變異數的 Bessel 校正）。\n\n## 融會貫通\nBessel's correction（分母用 N−1 而非 N）的統計意義：「樣本變異數是母體變異數的不偏估計」── 當我們只有樣本沒有完整母體時，用 N 當分母會系統性低估真實變異，所以用 N−1 補償。實務應用：sklearn 的 StandardScaler 用 `ddof=0`，statsmodels / scipy.stats 多用 `ddof=1`。混用會造成「同一份資料、不同函式算出不同結果」的 bug，務必統一基準。",
    "5": "## 題目核心\nz-score 標準化公式 z = (x − μ) / **σ**，分母是「**標準差 σ**」不是「變異數 σ²」 → 真正考點是「標準差與變異數的差一個平方根」這個基本但易錯的細節。\n\n## 為什麼答案是 (B) ② 與 ③ 應改用 x.std()\nz-score 的數學定義：z_i = (x_i − μ) / σ。程式碼 ② 算的是 `x.var()`（變異數 σ²，不是 σ），③ 把這個錯誤的值當分母 → 結果不是真正的 z-score，會把資料縮放過頭（除以 σ² 而不是 σ，數值變得太小）。修正：把 ② 改成 `x.std()` 並讓 ③ 除以這個 std。教材對標準化的定義就是「以標準差為單位衡量偏離平均的程度」。\n\n## 為什麼其他選項錯\n- **(A) ① 應改為 np.median(x)** — z-score 的中心是平均數 μ 不是中位數；改成 median 會變成另一種「修飾過的標準化」（類似 robust scaling），不是教材定義的 z-score。\n- **(C) ③ 應改為 (x - mean_x) * var_x** — 把除法改乘法完全違反 z-score 公式，會放大誤差不是標準化。\n- **(D) 程式完全正確，不需修改** — 程式明顯把變異數誤當標準差用，結果不是 z-score。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 統計量章節（平均、變異數、標準差）；**L23301 資料前處理** — 標準化（StandardScaler）章節。\n\n## 融會貫通\nstd（標準差）= √var（變異數），兩者差一個平方根。z-score / StandardScaler 的分母永遠是 **std 不是 var**，這是最常見的「公式背錯」陷阱。記憶口訣：「**z 是『標準』化，分母就是『標準差』**」── 看到 var 出現在 z-score 分母位置一定錯。實務上 sklearn 的 `StandardScaler` 內部會自動用 std，但若手寫流程時忘了這點就會炸鍋。",
    "6": "## 題目核心\n條件機率公式 P(B|A) = P(A ∩ B) / P(A) → 真正考點是「給定條件 A 已發生時，事件 B 的機率」要用「分母換成 A 的機率」而非總樣本空間。\n\n## 為什麼答案是 (C) 0.67\n手算驗證：擲一顆均勻骰子，事件 A = {4, 5, 6}（>3），事件 A∩B = {4, 6}（>3 且偶數）。\n- P(A) = 3/6 = 0.5\n- P(A ∩ B) = 2/6 ≈ 0.333\n- P(B | A) = 0.333 / 0.5 = **2/3 ≈ 0.67** → 對應 (C)\n\n程式以 10 萬次模擬逼近這個機率：`np.mean(A & B) / np.mean(A)` 直接對應公式 P(A∩B)/P(A)，結果會收斂到 0.67 附近。\n\n## 為什麼其他選項錯\n- **(A) 0.33** — 這是 P(A ∩ B) 本身（>3 且偶數的無條件機率），是分子；忘了除以分母 P(A) 就會選這個。\n- **(B) 0.50** — 這是 P(A) = 0.5（>3 的無條件機率），或是「偶數」的無條件機率 P(B) = 0.5；都不是條件機率。\n- **(D) 1.00** — 完全的確定性，與骰子的不確定性不符。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 條件機率章節。\n\n## 融會貫通\n條件機率的核心是「**樣本空間被縮小到條件事件 A**」── 一旦觀察到 A 已發生，計算 B 的機率就要在 A 的範圍內計算，分母從「整個樣本空間」變成「A 的機率」。常見陷阱：把 P(B|A) 跟 P(B) 混淆 ── 前者「在 A 已發生的條件下 B 發生的機率」，後者「無條件 B 發生的機率」。本題裡 P(B) = 0.5（偶數的無條件機率）跟 P(B|A) = 0.67（>3 條件下偶數的機率）就是不同的。",
    "7": "## 題目核心\n貝氏定理 P(D | +) = P(+ | D) · P(D) / P(+) → 真正考點是「低盛行率 + 高敏感度仍可能造成『陽性結果的真實患病率很低』的反直覺現象」。\n\n## 為什麼答案是 (C) 0.15\n手算：\n- P(+) = P(+ | D)·P(D) + P(+ | ¬D)·P(¬D) = 0.90 × 0.01 + 0.05 × 0.99 = 0.009 + 0.0495 = **0.0585**\n- P(D | +) = (P(+ | D) · P(D)) / P(+) = 0.009 / 0.0585 ≈ **0.1538** → 對應 (C) 0.15\n\n直覺解釋：1000 人中真實患病 10 人（盛行率 1%），其中 9 人測出陽性（敏感度 90%）；剩下 990 健康人中有 49.5 人測出偽陽性（偽陽性率 5%）。陽性 58.5 人中真正患病只有 9 人 → 約 15%。\n\n## 為什麼其他選項錯\n- **(A) 0.05** — 是偽陽性率 P(+ | ¬D)，跟所求的 P(D | +) 方向相反。\n- **(B) 0.10** — 約等於敏感度 × 盛行率 = 0.009，但這是 P(+ ∩ D) 的聯合機率，不是條件機率。\n- **(D) 0.90** — 是敏感度 P(+ | D)（患病者測出陽性的機率），跟 P(D | +)（陽性者實際患病的機率）方向完全相反。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 貝氏定理章節。\n\n## 融會貫通\n本題是貝氏定理的經典「**篩檢悖論**」：即使檢測敏感度高達 90%、特異度 95%，因為母群盛行率只有 1%，陽性結果的「真實患病率」仍然只有 15%。這是醫學篩檢、垃圾郵件過濾、信用評分等領域必懂的概念。鑒別點：**P(D | +) ≠ P(+ | D)**，貝氏定理的核心就是兩者透過先驗 P(D) 和邊際 P(+) 互相換算。實務上要避免「篩檢陽性 → 推斷確診」的直覺謬誤，必須考慮盛行率。",
    "8": "## 題目核心\n假設檢定判讀準則：當 p-value < α 時拒絕虛無假設 H0 → 真正考點是「p 值與顯著水準 α 的比較」是檢定結論的標準依據。\n\n## 為什麼答案是 (A) 拒絕 H0：兩組均值有顯著差異\np_value = 0.003，α = 0.05，因 0.003 < 0.05 → 拒絕 H0。教材定義 p 值是「在 H0 為真的前提下，觀察到目前資料（或更極端結果）的機率」，當這個機率非常小（小於我們事先設定的容忍水準 α），表示資料與 H0 不一致 → 拒絕 H0，採納對立假設 H1。\n\n## 為什麼其他選項錯\n- **(B) 接受 H0：兩組均值無顯著差異** — 方向相反，且即使 p ≥ α，正確說法是「**不拒絕 H0**」而非「接受 H0」── 假設檢定無法證明 H0 為真，只能說資料未提供足夠證據反駁。\n- **(C) 無法判斷，需要更多資料** — p 值已給出，可直接做判斷，不需更多資料。\n- **(D) p-value 與檢定結論無關** — 完全違反假設檢定的設計原則，p 值正是檢定結論的核心依據。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 假設檢定（p 值、α、H0/H1）章節。\n\n## 融會貫通\n假設檢定三個關鍵概念：(1) **H0（虛無假設）vs H1（對立假設）**：H0 通常是「沒差異 / 沒效果」的保守立場，H1 是研究者想證明的命題；(2) **顯著水準 α**：可容忍的偽陽性率，常用 0.05、0.01；(3) **p-value**：在 H0 真的前提下觀察到目前資料的機率，越小越能反駁 H0。判讀口訣：「**p 小拒絕，p 大不拒絕**」；用詞口訣：「**永遠不要說『接受 H0』，只說『不拒絕』**」── 因為統計不能證明零假設為真。",
    "9": "## 題目核心\nPoisson 分佈的關鍵性質：**mean = var = λ**（平均等於變異數等於參數 λ）→ 真正考點是「給 λ=3 模擬 Poisson 樣本，mean 與 var 都應收斂到 3」。\n\n## 為什麼答案是 (B) mean ≈ 3.0, var ≈ 3.0\nPoisson(λ) 的理論期望 E[X] = λ、變異數 Var[X] = λ。本題 `np.random.poisson(lam=3, size=10000)` 抽 10000 筆 → 樣本均值與樣本變異數都會在 λ=3 附近收斂（依大數法則）。實測 `calls.mean()` 與 `calls.var()` 都會接近 3.0。\n\n## 為什麼其他選項錯\n- **(A) mean ≈ 1.7, var ≈ 3.0** — mean 偏離 λ 太遠；1.7 接近 √3 是標準差不是均值。\n- **(C) mean ≈ 3.0, var ≈ 9.0** — var = λ² = 9 是錯把 var 當 λ² 計算，但 Poisson 的 var 是 λ 不是 λ²。\n- **(D) mean ≈ 9.0, var ≈ 3.0** — mean 變成 λ²，方向相反。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 機率分佈章節（Poisson 分佈定義、PMF 公式、期望與變異數性質）。\n\n## 融會貫通\nPoisson 分佈刻畫「**單位時間/單位空間內隨機事件發生次數**」── 客服中心通話、伺服器請求、車禍次數、郵件到達等，都常假設為 Poisson 過程。最重要的性質是「**期望值 = 變異數 = λ**」，是檢驗資料「是否符合 Poisson 假設」的關鍵：若實證資料 mean 與 var 差距大（var ≫ mean 叫『過度離散』overdispersion），就應改用 Negative Binomial 等更彈性的分佈。考前要記：常見離散分佈中，**只有 Poisson 滿足 mean = var = λ**；Bernoulli/Binomial 的 mean 與 var 各有不同公式。",
    "10": "## 題目核心\nPMF（Probability Mass Function，機率質量函數）兩個必滿足的性質：(1) 所有 p(x) 加總為 1；(2) E[X] = Σ x · p(x) → 真正考點是「均勻骰子的 PMF 機率總和為 1、期望值為中央值 3.5」。\n\n## 為什麼答案是 (A) total=1.0, expected=3.5\n手算：\n- `pmf = [1/6, 1/6, 1/6, 1/6, 1/6, 1/6]` → sum = 6 × (1/6) = **1.0**（PMF 第一條件）\n- E[X] = 1·(1/6) + 2·(1/6) + 3·(1/6) + 4·(1/6) + 5·(1/6) + 6·(1/6) = (1+2+3+4+5+6) / 6 = 21 / 6 = **3.5**\n\n## 為什麼其他選項錯\n- **(B) total=6.0, expected=21.0** — 機率總和是 6.0 違反 PMF 定義（機率最大為 1）；21.0 是 values 加總沒乘 pmf 權重。\n- **(C) total=1.0, expected=21.0** — total 對但 expected 沒乘機率權重 (1/6)，就變成單純的 Σx = 21。\n- **(D) total=0.5, expected=3.5** — total 違反 PMF 定義（必為 1）。\n\n## 📖 章節來源\n**L23101 機率/統計之機器學習基礎應用** — 機率分佈（PMF 定義）與期望值章節。\n\n## 融會貫通\nPMF 的兩條鐵律：(1) **非負且加總為 1**：對所有可能 x 值的機率必須是非負實數，且全部加起來等於 1；(2) **期望值 = 加權平均**：E[X] = Σ x · p(x)，其中權重就是機率。均勻骰子是最基本範例 ── 機率均勻為 1/6 → sum=1，期望為值的算術平均 3.5（中央值）。實務應用：建模時若違反 PMF 鐵律，整個機率框架就崩塌（例如機率總和不為 1 表示模型未歸一化，需要做 normalization / softmax）。"
  },
  "code_L23303": {
    "1": "### 題目核心\n題目給定混淆矩陣：TP=40、TN=30、FP=10、FN=20，問 **Accuracy（準確率）** 的程式輸出值。\n\n### 為什麼答案是 (C) 0.70\nAccuracy 公式：`(TP + TN) / (TP + TN + FP + FN)` = `(40 + 30) / (40 + 30 + 10 + 20)` = `70 / 100` = **0.70**\n\n含義：模型在 **100 筆樣本中正確分類了 70 筆**（不論是 TP 還是 TN，只要預測對就算）。\n\n### 為什麼其他選項錯\n- **(A) 0.50**：把分母算成 `2*(TP+TN)=140` 就會得到 0.5（誤把對的部分當成兩倍計算），這是把比例理解錯了。\n- **(B) 0.60**：誤把 `(TP+FN)/total = 60/100 = 0.60`（這算成「實際正類比例」P/total，不是 Accuracy）。\n- **(D) 0.80**：誤把分母只算 `TP+FP+FN`（漏掉 TN），算成 `70/(40+10+20)=70/70=1.0`，或誤算 `(TP+FP)/total=50/100`。\n\n### 📖 章節來源\n**L23303 §3 (1) 分類任務評估指標 — Accuracy**：「正確預測樣本數佔總樣本數的比例」。教材明確點名 Accuracy 在類別不平衡時會誤導（第 5 題會直接踩這個雷）。\n\n### 融會貫通\nAccuracy 是「答對的比例」，最直覺，但**只在類別分佈均衡時可靠**。考前記住三件事：\n1. **公式分母永遠是全部樣本數**（TP+TN+FP+FN）\n2. **分子是「答對的」**（TP+TN），TP 是真陽、TN 是真陰\n3. **不平衡資料下 Accuracy 會騙人**（Q5 全預測為負類仍得 0.95）— 此時要看 Precision/Recall/F1\n\n業界用 sklearn 時直接呼叫 `accuracy_score(y_true, y_pred)`，但考試會給 TP/TN/FP/FN 要你手算，公式背熟。",
    "2": "### 題目核心\n承上題（TP=40、TN=30、FP=10、FN=20），問 **Precision（精確率）** 的程式輸出值。\n\n### 為什麼答案是 (D) 0.80\nPrecision 公式：`TP / (TP + FP)` = `40 / (40 + 10)` = `40 / 50` = **0.80**\n\n含義：在 **模型預測為正類的 50 筆樣本中，有 40 筆真的是正類**（80% 的正類預測是可信的）。\n\n### 為什麼其他選項錯\n- **(A) 0.50**：把分母換成 `TP+TN=70` 或誤把分子減半。\n- **(B) 0.67**：這是 Recall 的值（`TP/(TP+FN) = 40/60`），把分母誤用 FN 而不是 FP。**這是最常見的混淆陷阱**：FP（誤報）和 FN（漏報）一字之差但意義相反。\n- **(C) 0.75**：誤把分母用 `TP+FP+FN=70`，得到 `40/70≈0.57`，或其他誤算。\n\n### 📖 章節來源\n**L23303 §3 (1) 精確率 Precision**：「被預測為正類的樣本中，實際為正類的比例。適用場景：當誤報正類的代價高時（例如垃圾郵件分類、醫療誤診）。」\n\n### 融會貫通\nPrecision 回答的問題是「**我說是正的，有幾個真的是？**」分母是「模型預測正的全部」（TP+FP）。\n\n關鍵記憶法：\n- **P**recision → 看「**P**redicted positive」（預測為正的）\n- **R**ecall → 看「**R**eal positive」（實際為正的）\n\n應用場景：\n- **Precision 重要**：垃圾郵件偵測（誤判正常信為垃圾很煩）、人臉解鎖（誤判他人為本人很糟）\n- **Recall 重要**：癌症篩檢（漏掉病患代價極高）、詐騙偵測（漏掉詐騙交易損失大）\n\n業務面要先問：「誤報貴還是漏報貴？」貴的那邊指標要高。",
    "3": "### 題目核心\n承前題（TP=40、TN=30、FP=10、FN=20），問 **Recall（召回率）** 的程式輸出值。\n\n### 為什麼答案是 (C) 0.67\nRecall 公式：`TP / (TP + FN)` = `40 / (40 + 20)` = `40 / 60` ≈ **0.67**\n\n含義：在 **實際為正類的 60 筆樣本中，模型成功抓到 40 筆**（漏掉 20 筆 FN）。\n\n### 為什麼其他選項錯\n- **(A) 0.50**：誤把分母換成 `TP+FP+FN=70`，或誤算其他比例。\n- **(B) 0.60**：誤把分子分母都加上 TN（變成 Specificity 之類的指標）。\n- **(D) 0.80**：這是 Precision 的值（Q2 的答案）。**Precision/Recall 混淆是最常見的失分點**：兩者分子都是 TP，但分母一個用 FP、一個用 FN，差一個字母。\n\n### 📖 章節來源\n**L23303 §3 (1) 召回率 Recall**：「實際正類樣本中，被正確預測為正類的比例。適用場景：當漏報正類的代價高時（例如癌症偵測、詐騙偵測）。目的：衡量模型能抓住多少實際正類。」\n\n### 融會貫通\nRecall 回答的問題是「**真的是正的裡面，我抓到幾個？**」分母是「實際為正的全部」（TP+FN）。\n\n直覺記法：\n- 分母 `TP+FN` = **所有實際為正類的樣本**（P 列）\n- 分子 TP = 抓到的\n- 漏掉的就是 FN（**F**alse **N**egative：假的負面預測，實際是正類但被預測為負類）\n\nPrecision 和 Recall 通常是 **trade-off 關係**：\n- 降低分類閾值（更敢說「是」）→ Recall ↑、Precision ↓\n- 提高分類閾值（更謹慎）→ Precision ↑、Recall ↓\n\nROC 曲線（Q10 沒考但教材有）就是在所有閾值下畫出 TPR(=Recall) vs FPR 的整體能力。",
    "4": "### 題目核心\n承上題：Precision=0.80、Recall=0.67，問 **F1-Score** 的程式輸出值。\n\n### 為什麼答案是 (B) 0.73\nF1 公式（**調和平均**）：`2 * (Precision * Recall) / (Precision + Recall)` = `2 * (0.80 * 0.67) / (0.80 + 0.67)` = `1.072 / 1.47` ≈ **0.73**\n\n含義：F1 是 Precision 和 Recall 的「平衡分數」，**兩者都高 F1 才會高**；只要其中一個低，F1 會被拉下來。\n\n### 為什麼其他選項錯\n- **(A) 0.67**：直接拿 Recall 的值，沒算 F1。\n- **(C) 0.74**：算術平均 `(0.80+0.67)/2 = 0.735` 約 0.74。**這是最常見的誤解**：F1 不是 Precision/Recall 的算術平均，是調和平均（總是 ≤ 算術平均）。\n- **(D) 0.80**：直接拿 Precision 的值。\n\n### 📖 章節來源\n**L23303 §3 (1) F1 分數**：「精確率與召回率的調和平均。適用場景：需在精確率與召回率間取得平衡，且類別不平衡嚴重時。」\n\n### 融會貫通\n**為什麼用調和平均不用算術平均？** 因為調和平均對極端值敏感：\n- Precision=1.0, Recall=0.0 → 算術平均=0.5（看似還行）、F1=0.0（直接歸零）\n- Precision=0.9, Recall=0.3 → 算術平均=0.6、F1=0.45（懲罰不平衡）\n\n所以 F1 強迫「兩個指標都要好」，**任何一邊崩潰整體就崩潰**。這在類別不平衡時特別有用——不會像 Accuracy 那樣被多數類矇騙。\n\n進階 F-beta：\n- F1 → β=1，Precision 和 Recall 同等重要\n- F2 → β=2，Recall 比 Precision 重要 2 倍（醫療場景）\n- F0.5 → β=0.5，Precision 比 Recall 重要 2 倍（垃圾過濾）",
    "5": "### 題目核心\n95 筆正常 + 5 筆詐騙的極不平衡資料，模型「全預測為正常」(`y_pred = np.zeros(100)`)。問 Accuracy 和 Recall 各為何，並判讀模型實際效用。\n\n### 為什麼答案是 (B) acc=0.95, recall=0.00\n**Accuracy 計算**：`(y_true == y_pred).mean()` = 95 筆正常都猜對 + 0 筆詐騙猜對 = `95/100` = **0.95**\n\n**Recall 計算**：\n- 分母 `(y_true == 1).sum()` = 5（實際詐騙數）\n- 分子 `((y_true == 1) & (y_pred == 1)).sum()` = 0（y_pred 全 0，沒有任何預測為 1）\n- Recall = `0/5` = **0.00**\n\n含義：**模型看起來 95% 準確，但實際上一筆詐騙都沒抓到**——對詐騙偵測任務完全無用。\n\n### 為什麼其他選項錯\n- **(A)**：Recall 不可能是 0.95，因為模型沒預測任何正類。\n- **(C)**：把 Acc 和 Recall 寫反，acc 不可能只有 0.05（負類全對至少 0.95）。\n- **(D)**：模型是「全預測 0」不是隨機猜，所以兩指標不會同時是 0.5。\n\n### 📖 章節來源\n**L23303 §3 (1) Accuracy 限制**：「在嚴重類別不平衡的資料中容易誤導，**例如 95% 樣本為負類時，即使模型全預測為負，準確率仍高達 95%**」。教材直接點名這個陷阱。\n\n### 融會貫通\n這就是「**Accuracy 陷阱**」（Accuracy Paradox）：\n\n當類別嚴重不平衡時，**Accuracy 會被多數類的數量主導**，掩蓋模型對少數類的失能：\n- 詐騙偵測（詐騙佔 1-5%）\n- 癌症篩檢（陽性樣本佔 0.1-2%）\n- 設備故障預警（故障佔 0.01%）\n\n**正確做法**：\n1. 用 **Precision/Recall/F1** 取代 Accuracy\n2. 看 **混淆矩陣** 確認 TP 數量（這題 TP=0，模型立刻露餡）\n3. 用 **ROC-AUC** 看整體區分能力\n4. 資料層面：採樣（SMOTE 過採、欠採）或 class_weight 加權\n\n面試常問：「Accuracy 99% 為何還說模型差？」答：「看類別分佈和 F1。」",
    "6": "### 題目核心\nPrecision=0.9、Recall=0.3，分別計算「算術平均」與「F1（調和平均）」，看兩者差距。\n\n### 為什麼答案是 (B) 0.60, 0.45\n**算術平均**：`(0.9 + 0.3) / 2` = `0.6`\n\n**F1（調和平均）**：`2 * (0.9 * 0.3) / (0.9 + 0.3)` = `0.54 / 1.2` = **0.45**\n\n含義：當兩個值差距大（一個 0.9 一個 0.3），**調和平均會被「小的那個」拖下來**，比算術平均明顯更低。\n\n### 為什麼其他選項錯\n- **(A) 兩者相等**：只有當 Precision = Recall 時才相等（例如兩者都 0.5）。差距越大，差越多。\n- **(C) F1 較大**：方向錯。**調和平均 ≤ 幾何平均 ≤ 算術平均**（HM ≤ GM ≤ AM），F1 永遠不會大於算術平均。\n- **(D) 0.30, 0.90**：取 min/max 不是平均概念，無數學意義。\n\n### 📖 章節來源\n**L23303 §3 (1) F1 分數**：「精確率與召回率的**調和平均**。適用場景：需在精確率與召回率間取得平衡，且**類別不平衡嚴重時**。」\n\n### 融會貫通\n**為什麼面試愛問這題？** 因為它測試你是否真懂 F1 的「懲罰機制」：\n\n極端例子：\n- P=1.0, R=0.0 → AM=0.5（看似還可），**F1=0**（直接歸零，正確反映模型沒抓到任何正類）\n- P=0.5, R=0.5 → AM=0.5，F1=0.5（兩者相等時才一致）\n\n**核心觀念**：F1 = 2/(1/P + 1/R)，倒數平均，**任何一邊接近 0 就會把整體拉到 0**。\n\n所以業界常聽到「**Precision 和 Recall 要同時高 F1 才會好**」，不能用一邊補另一邊。這也是為什麼類別不平衡時不該只看 Accuracy 或單一指標，而要看 F1（或在 P/R 中選一個業務上更重要的看）。\n\n進階：F-beta（β=2 偏重 Recall、β=0.5 偏重 Precision）讓你按業務調整「哪一邊更該被懲罰」。",
    "7": "### 題目核心\n用 `train_test_split` 切 100 筆資料，`test_size=0.2`，問 train/test 各幾筆。\n\n### 為什麼答案是 (D) 80 20\n`test_size=0.2` 表示 **測試集佔總資料的 20%**：\n- test 筆數 = `100 * 0.2` = **20**\n- train 筆數 = `100 - 20` = **80**\n\nsklearn `train_test_split` 預設行為：\n- `test_size` 是 **比例**（0~1）或 **絕對筆數**（整數）\n- `random_state=42` 固定隨機種子（保證每次切分一樣，可重現）\n- 預設 `shuffle=True`（先打亂再切）\n\n### 為什麼其他選項錯\n- **(A) 50 50**：要 `test_size=0.5` 才會 5/5 切。\n- **(B) 60 40**：要 `test_size=0.4`。\n- **(C) 70 30**：要 `test_size=0.3`（常見的 7:3 切分）。\n\n### 📖 章節來源\n**L23303 §1 模型訓練流程 — 訓練集 / 驗證集 / 測試集切分**：教材說明應將資料切為三份，常見比例為 60-20-20 或 70-15-15。實務上用 sklearn 的 `train_test_split` 一次切兩份，要三份就連切兩次。\n\n### 融會貫通\n**為什麼要切 train/test？** 防止「在訓練資料上表現好但對新資料失效」（過擬合 overfitting）。\n- **訓練集（train）**：模型學習用\n- **驗證集（val）**：調整超參數用（如學習率、模型架構選擇）\n- **測試集（test）**：**最終評估，不能碰到訓練流程**\n\n常見比例：\n- 資料量小（< 10,000）：70/15/15 或 60/20/20\n- 資料量大（> 100,000）：98/1/1 也可以（測試集 1% 也夠統計顯著）\n\n切兩份時常見組合：\n```python\nX_train, X_test, y_train, y_test = train_test_split(\n    X, y, test_size=0.2, random_state=42, stratify=y\n)\n```\n\n**注意**：類別不平衡時要加 `stratify=y`（按類別比例切分，避免測試集全是負類）。第 9 題 StratifiedKFold 是同樣概念的交叉驗證版本。",
    "8": "### 題目核心\n對 20 筆資料做 5-fold cross validation，問每個 fold 的 train/test 各幾筆。\n\n### 為什麼答案是 (D) 16 4\n5-fold 把資料平均切成 5 等份，**每次拿 1 份當 test、剩下 4 份當 train**，重複 5 次：\n- 每 fold 的 test 大小 = `20 / 5` = **4**\n- 每 fold 的 train 大小 = `20 - 4` = **16**\n- 跑完 5 個 fold 後，**每筆資料都當過一次 test**\n\nprint 印出第一個 fold 的長度：`16 4`\n\n### 為什麼其他選項錯\n- **(A) 4 16**：把 train 和 test 寫反。`split()` 回傳 `(train_idx, test_idx)`，順序固定不能搞錯。\n- **(B) 5 15**：把 1/5 變成 5 筆（總和才 20，比例算對方向錯）。\n- **(C) 15 5**：誤把 5 筆當 test、15 筆當 train（總和 20 但兩邊都錯一個）。\n\n### 📖 章節來源\n**L23303 §2 交叉驗證 — K 折交叉驗證（K-Fold CV）**：「將資料集等分為 K 份，每次以 K-1 份作為訓練、剩下 1 份作為驗證，重複 K 次後取平均效能。」常見 K=5 或 K=10。\n\n### 融會貫通\n**為什麼用 K-Fold 而不只切一次 train/test？**\n\n單次切分問題：\n- 如果剛好把難例都分到 test，模型分數會偏低\n- 小資料集時，test 一份太小不夠統計顯著\n- 容易「碰運氣」決定哪個模型勝出\n\nK-Fold 解法：\n- **跑 K 次取平均** → 評估更穩定\n- **每筆資料都當過 test** → 充分利用資料\n- 適合 **小資料集** 和 **超參數調整**（GridSearchCV 內建用 K-Fold）\n\n常見 K 值選擇：\n- **K=5**：標準預設，平衡計算成本與穩定性\n- **K=10**：更穩定但訓練成本 2 倍\n- **K=n（LOOCV）**：每筆都當一次 test，極端但計算昂貴\n\n進階變體：\n- **Stratified K-Fold**（第 9 題）：保持類別比例，**不平衡資料必用**\n- **Repeated K-Fold**：把 K-Fold 重複 R 次（不同 seed），更穩定但更貴\n- **Time Series Split**：時間序列必用（不能未來預測過去）",
    "9": "### 題目核心\n資料正類佔 10%、負類佔 90%（嚴重不平衡）。問哪個切分方法可確保「每個 fold 都維持類別比例」。\n\n### 為什麼答案是 (B) StratifiedKFold\n**StratifiedKFold**（分層 K 折）會 **依類別比例分層抽樣**：\n- 5-fold 切完，每個 fold 都會有約 18 個負類 + 2 個正類（90:10 → 90:10）\n- **不會發生「某 fold 完全沒正類」的災難**\n\n這對不平衡資料是關鍵保障：如果用普通 KFold 隨機切，運氣不好時某個 fold 的 test 可能 5 筆全是負類，導致 Recall 算不出（分母為 0）。\n\n### 為什麼其他選項錯\n- **(A) KFold + shuffle=True**：雖然會洗牌，但**不保證每個 fold 的類別比例**。10 個正類隨機分到 5 個 fold，有可能 fold 1 有 4 個正類，fold 2 只有 0 個。\n- **(C) train_test_split**：只切一次 train/test，**不是 K-fold 交叉驗證**。要不平衡保證可加 `stratify=y`，但仍是一次切分。\n- **(D) LeaveOneOut**：每次只留 1 筆當 test，跑 100 次。雖然每筆都當過 test，但**單筆無法談「類別比例」**，計算成本極高且結果不穩定。\n\n### 📖 章節來源\n**L23303 §2 交叉驗證**：教材列出 K 折、留一交叉驗證（LOOCV）、分層 K 折（Stratified K-Fold）三種，**強調 Stratified K-Fold 適用於類別不平衡資料**。\n\n### 融會貫通\n**分層抽樣（Stratification）的本質**：把母體按某個變數分層，**每層獨立隨機抽樣**，確保樣本能代表母體分佈。\n\n應用場景：\n- **類別不平衡**（本題）：保持正負類比例\n- **多類別**：保持每類比例（10 類影像分類，每 fold 都要有 10 類）\n- **時間分層**：年份不平衡時按年分層\n\nsklearn 對應工具：\n| 場景 | 工具 |\n|---|---|\n| 一次切 train/test，保比例 | `train_test_split(..., stratify=y)` |\n| K-fold CV，保比例 | `StratifiedKFold(n_splits=K)` |\n| K-fold CV，不保比例 | `KFold(n_splits=K)`（資料平衡才用） |\n| K-fold CV + 重複 | `RepeatedStratifiedKFold` |\n| 時間序列 | `TimeSeriesSplit` |\n\n**決策樹**：先看資料是否不平衡 → 不平衡用 Stratified → 再看是否時間相關 → 是的話用 TimeSeriesSplit（即使不平衡也優先時間）。",
    "10": "### 題目核心\ny_true=[1,2,3,4]、y_pred=[2,2,3,5]，計算 RMSE（均方根誤差），看程式輸出值。\n\n### 為什麼答案是 (B) 0.707\n步驟拆解：\n1. **誤差**：y_true - y_pred = [1-2, 2-2, 3-3, 4-5] = [-1, 0, 0, -1]\n2. **平方**：(y_true - y_pred)² = [1, 0, 0, 1]\n3. **MSE**：np.mean(...) = (1+0+0+1)/4 = **0.5**\n4. **RMSE**：np.sqrt(MSE) = √0.5 ≈ **0.7071**\n5. round(0.7071, 3) = **0.707**\n\n### 為什麼其他選項錯\n- **(A) 0.500**：這是 **MSE** 不是 RMSE。忘記開根號就會誤答。\n- **(C) 1.000**：這是 **MAE**（平均絕對誤差）：mean(|[-1, 0, 0, -1]|) = 2/4 = 0.5。等等，0.5 不是 1.0。其實 1.0 可能是誤把分母用 2（只計非零誤差）：2/2=1.0，這也是常見誤算。\n- **(D) 2.000**：直接把 sum 當作答案（1+0+0+1=2），沒除以 n 也沒開根號。\n\n### 📖 章節來源\n**L23303 §3 (2) 迴歸任務評估指標**：\n- **MSE**：`mean((y - ŷ)²)`，所有預測誤差平方的平均\n- **RMSE**：`sqrt(MSE)`，**與原始單位一致**（這是 RMSE 比 MSE 常用的關鍵）\n- **MAE**：`mean(|y - ŷ|)`，平均絕對誤差，對離群值不敏感\n- **R²**：`1 - SSres/SStot`，越接近 1 模型越好（=0 表示與用平均值預測一樣爛）\n\n### 融會貫通\n**MSE / RMSE / MAE 的差異**：\n\n| 指標 | 公式 | 單位 | 對離群值 |\n|---|---|---|---|\n| MSE | mean((y-ŷ)²) | 原單位平方 | **極敏感**（平方放大誤差） |\n| RMSE | √MSE | **原單位** | 敏感 |\n| MAE | mean(|y-ŷ|) | 原單位 | **不敏感** |\n\n**選擇邏輯**：\n- 想要解釋給業務「平均誤差幾元」→ **RMSE/MAE**（同單位）\n- 想懲罰大誤差（如預測股價，差 100 元比差 1 元嚴重 10000 倍）→ **MSE/RMSE**\n- 資料有離群值，不想被拉偏 → **MAE**\n- 訓練時當 loss → **MSE**（可微分、平滑、利於梯度下降）\n\nsklearn 對應：\n```python\nfrom sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\nmse  = mean_squared_error(y_true, y_pred)\nrmse = mean_squared_error(y_true, y_pred, squared=False)  # 直接出 RMSE\nmae  = mean_absolute_error(y_true, y_pred)\nr2   = r2_score(y_true, y_pred)\n```\n\n**面試常問**：為什麼用 RMSE 不用 MSE？答：「RMSE 跟 y 同單位，業務可直接解讀『平均錯多少』，MSE 是平方單位（如『元²』）無法解釋。」"
  },
  "code_L23301": {
    "1": "### 題目核心\n用 sklearn 的 `SimpleImputer(strategy='mean')` 對含缺失值的 DataFrame 做均值填補，問填補後第 2 列第 1 欄（A 欄的 NaN 位置）的值。\n\n### 為什麼答案是 (C) 4.0\n`SimpleImputer(strategy='mean')` 計算 **每欄的有效值平均**，用該平均填補同欄的 NaN。\n\n計算 A 欄的均值：\n- A 欄值：`[1.0, NaN, 7.0]`\n- 有效值：1.0, 7.0\n- 均值 = `(1.0 + 7.0) / 2` = **4.0**\n\n所以 `filled[1, 0]`（第 2 列、第 1 欄）= **4.0**\n\n### 為什麼其他選項錯\n- **(A) 1.0**：A 欄第一個值，不是均值。\n- **(B) 3.0**：B 欄的均值 `(2+3+6)/3 = 3.67`，rounded 不到 3.0，且填補只在 NaN 位置發生。\n- **(D) 7.0**：A 欄第三個值，不是均值。\n\n### 📖 章節來源\n**L23301 §2 (1) 缺失值處理 — 填補法（Imputation）**：「均值、中位數、眾數填補：適用於數值或類別型欄位，方法簡單但可能降低變異性或產生偏差。」\n\n### 融會貫通\n**SimpleImputer 的 strategy 選項**：\n- `'mean'`：均值（**僅適用數值**，會被極端值拉偏）\n- `'median'`：中位數（數值，對極端值穩健）\n- `'most_frequent'`：眾數（數值或類別都可）\n- `'constant'`：固定值（搭配 `fill_value=0` 或 'unknown'）\n\n**選擇邏輯**：\n- 數值欄位無極端值 → mean\n- 數值欄位有極端值 → **median**（避免被離群值拉偏）\n- 類別欄位 → most_frequent（眾數）\n- 缺失本身有意義（例如使用者未填代表沒興趣）→ constant + 「未知」標記\n\n進階用法：\n- **KNNImputer**：依據相似樣本填補（教材也提到的 Hot Deck / KNN 法）\n- **IterativeImputer**：迭代式以其他欄位預測缺失欄（教材的「預測模型填補」對應）\n- **缺失指標編碼**：新增 `is_missing` 欄位讓樹模型學習「缺失本身」的訊息\n\n面試常問：「為什麼樹模型可以容忍缺失值？」答：「LightGBM/XGBoost 內建缺失值處理，會自動學習 NaN 走左還是右分支；但 sklearn 的線性模型 / SVM / KNN 不能直接吃 NaN，必須先填補。」",
    "2": "### 題目核心\n用 IQR（四分位距）方法找出資料 `[1, 2, 3, 4, 5, 6, 7, 100]` 中超過 `Q3 + 1.5*IQR` 的離群值。\n\n### 為什麼答案是 (B) [100]\n步驟拆解：\n1. 排序後：`[1, 2, 3, 4, 5, 6, 7, 100]`，n=8\n2. **Q1（25th percentile）**：np.percentile 用線性插值\n   - 位置 = 0.25 × (n-1) = 1.75 → data[1] + 0.75 × (data[2] - data[1]) = 2 + 0.75 = **2.75**\n3. **Q3（75th percentile）**：\n   - 位置 = 0.75 × 7 = 5.25 → data[5] + 0.25 × (data[6] - data[5]) = 6 + 0.25 = **6.25**\n4. **IQR** = Q3 - Q1 = 6.25 - 2.75 = **3.5**\n5. **上邊界** = Q3 + 1.5 × IQR = 6.25 + 5.25 = **11.5**\n6. `data[data > 11.5]` = **[100]**\n\n### 為什麼其他選項錯\n- **(A) [7 100]**：7 < 11.5 不算離群值。\n- **(C) [1 2 100]**：忘記題目只篩 **上邊界**外，1 和 2 是低端不在這個條件內。要篩低端要另外用 `Q1 - 1.5*IQR = -2.5`，但這題只看 upper。\n- **(D) 空陣列**：100 顯然 >> 11.5，必定是離群值。\n\n### 📖 章節來源\n**L23301 §2 (2) 異常值偵測 — 統計方法**：「利用 Z 分數（Z-score）或四分位距（IQR）界定明顯偏離的觀測值。」教材列出 IQR 是常用統計方法之一。\n\n### 融會貫通\n**IQR 法則（也稱 Tukey's Fences）**：\n- 上邊界 = Q3 + 1.5 × IQR\n- 下邊界 = Q1 - 1.5 × IQR\n- 落在邊界外 → 標記為離群值\n\n**為什麼用 1.5？** Tukey 的經驗法則，對應約 99.3% 的常態資料（比 ±3σ 寬鬆些）。\n\n常見替代方案：\n| 方法 | 優點 | 缺點 |\n|---|---|---|\n| **IQR** | 對極端值穩健（中位數+IQR） | 假設資料對稱 |\n| **Z-score (\\|z\\| > 3)** | 簡單 | 對極端值不穩健（mean/std 本身受影響） |\n| **Isolation Forest** | 適合高維資料 | 黑箱、需訓練 |\n| **LOF (Local Outlier Factor)** | 偵測局部異常 | 計算密集 |\n\n**處理策略**（教材 line 57-69）：\n1. **移除**：確認是輸入錯誤時\n2. **截尾（Winsorize）**：限制在邊界內，例如 100 → 11.5\n3. **對數轉換**：壓縮極端值影響\n4. **保留**：若異常本身有預測價值（詐欺偵測時詐欺交易就是異常）\n\n面試常問：「IQR 和 Z-score 哪個更適合偵測離群值？」答：「資料含極端值時用 IQR（因為 Z-score 本身會被極端值污染均值和標準差）；資料近似常態且乾淨用 Z-score。」",
    "3": "### 題目核心\n用 pandas `drop_duplicates()` 移除重複列，問結果剩幾筆。\n\n### 為什麼答案是 (B) 3\n原始 DataFrame：\n```\n  name  age\n0   A   10\n1   B   20\n2   A   10  ← 與第 0 列重複\n3   C   30\n4   B   20  ← 與第 1 列重複\n```\n\n`drop_duplicates()` **預設保留第一次出現**，移除後續重複：\n- 保留 row 0 (A, 10)\n- 保留 row 1 (B, 20)\n- 移除 row 2（與 row 0 重複）\n- 保留 row 3 (C, 30)\n- 移除 row 4（與 row 1 重複）\n\n剩餘 **3 筆**。\n\n### 為什麼其他選項錯\n- **(A) 2**：誤以為 drop 後只剩唯一的 A 和 C（忘記 B 也保留一筆）。\n- **(C) 4**：誤以為只 drop 一筆（忽略第二組重複）。\n- **(D) 5**：drop_duplicates 預設**會**動，不是 inplace=False 就不變（回傳新 df 才是 inplace=False 預設行為，但本身會移除重複）。\n\n### 📖 章節來源\n**L23301 §2 (3) 重複樣本與資料一致性檢查**：「同一觀察單位在資料集中多次出現，常因系統重複寫入、資料整合錯誤或缺少唯一辨識碼導致。」教材建議「透過主鍵比對或欄位相似度判斷資料重複，避免訓練集被特定樣本主導。」\n\n### 融會貫通\n**為什麼要去重？** 重複樣本會讓模型對特定觀測過度權重，導致：\n- **訓練偏誤**：某筆資料若重複 10 次，相當於模型看了 10 次，影響梯度更新\n- **驗證污染**：若同一筆同時出現在 train 和 test，會高估模型表現\n- **平均統計失真**：例如「平均購買頻率」被重複帳號拉低\n\n**drop_duplicates 進階用法**：\n```python\n# 只看特定欄位是否重複（如 user_id）\ndf.drop_duplicates(subset=['user_id'])\n\n# 保留最後一次出現\ndf.drop_duplicates(keep='last')\n\n# 全部移除（連第一次也不留）\ndf.drop_duplicates(keep=False)\n\n# 直接在原 df 修改（不回傳新 df）\ndf.drop_duplicates(inplace=True)\n```\n\n**常見場景**：\n- **電商**：同一訂單因系統重試而寫入兩次\n- **問卷**：同一受訪者重複填寫\n- **日誌**：retry / failover 造成的重複事件\n- **資料整合**：JOIN 多個源頭時 ID 不一致導致的笛卡兒積\n\n**配套檢查**：去重前先看 `df.duplicated().sum()` 確認重複比例，比例過高（>5%）要先回頭查資料源是否有系統性問題，而不是直接 drop 掉。",
    "4": "### 題目核心\n用 sklearn 的 `MinMaxScaler` 對 `[10, 20, 30, 40, 50]` 做最小-最大正規化，問結果陣列。\n\n### 為什麼答案是 (B) [0.0 0.25 0.5 0.75 1.0]\nMin-Max 公式：`(x - min) / (max - min)`\n\n計算：\n- min = 10, max = 50, range = 40\n- (10-10)/40 = **0.0**\n- (20-10)/40 = **0.25**\n- (30-10)/40 = **0.5**\n- (40-10)/40 = **0.75**\n- (50-10)/40 = **1.0**\n\n### 為什麼其他選項錯\n- **(A) [0.0 0.2 0.4 0.6 0.8]**：誤把分母用 max=50 而非 range=40（用 x/max 不是 (x-min)/(max-min)）。\n- **(C) [-1.0 -0.5 ... 1.0]**：這是 [-1, 1] 區間的縮放，不是 MinMaxScaler 預設行為。要這結果需 `MinMaxScaler(feature_range=(-1, 1))`。\n- **(D) [0.1 0.2 0.3 0.4 0.5]**：誤把 x/100 當縮放。\n\n### 📖 章節來源\n**L23301 §4 (1) 資料尺度調整 — Min-Max Normalization**：「將數值線性縮放至 0~1 區間。優點：保留原始變數的分佈比例，易於解釋與視覺化。**限制：對極端值敏感**，異常值會壓縮其他數值的縮放範圍。」\n\n### 融會貫通\n**為什麼要做尺度調整？**\n\n當特徵尺度差距大（例如年齡 0-100、收入 0-1,000,000），對「基於距離或梯度」的模型會出問題：\n- **KNN / K-Means**：歐氏距離被大尺度特徵主導，年齡差異完全無關\n- **SVM**：margin 計算依賴距離，特徵尺度影響超平面\n- **神經網路 / 梯度下降**：梯度更新不對稱，學習率難調\n- **PCA**：主成分被高方差特徵綁架\n\n**Min-Max 適用情境**：\n- ✅ **資料有清楚的最大最小值**（如 RGB 0-255、考試分數 0-100）\n- ✅ **神經網路輸入**（需要 [0, 1] 或 [-1, 1] 區間）\n- ✅ **可視化**（保持原始分佈形狀）\n- ❌ **有極端值的資料**（會把多數資料壓在一小區間）\n- ❌ **新資料可能超出原 min/max** 範圍\n\n**對比 Z-score**：\n| 特性 | MinMax | Z-score | RobustScaler |\n|---|---|---|---|\n| 範圍 | [0, 1] 固定 | mean=0, std=1 不固定 | 中位數=0 |\n| 對極端值 | 敏感 | 敏感 | **穩健** |\n| 保留分佈 | 是 | 是 | 是 |\n| 適用 | NN、影像 | 線性模型、SVM | 含離群值資料 |\n\n**測試集要用訓練集的 min/max**：\n```python\nscaler.fit(X_train)   # 只在 train 算 min/max\nX_train_s = scaler.transform(X_train)\nX_test_s  = scaler.transform(X_test)   # 用 train 的參數轉 test\n```\n切記不能用 `fit_transform(X_test)`，會造成 **data leakage**。",
    "5": "### 題目核心\n用 sklearn 的 `StandardScaler` 對 `[10, 20, 30, 40, 50]` 做 Z-score 標準化，問第 3 個值（原值 30，剛好是均值）標準化後的結果。\n\n### 為什麼答案是 (B) 0.0\nZ-score 公式：`(x - μ) / σ`\n\n計算：\n- 均值 μ = (10+20+30+40+50)/5 = **30**\n- 標準差 σ = √(((10-30)² + (20-30)² + (30-30)² + (40-30)² + (50-30)²) / 5)\n         = √((400+100+0+100+400)/5)\n         = √(1000/5) = √200 ≈ **14.14**\n- 第 3 個值 30 的標準化：(30 - 30) / 14.14 = **0.0**\n\n**核心觀念**：均值本身標準化後永遠是 **0**，因為它與均值的距離是 0。\n\n### 為什麼其他選項錯\n- **(A) -1.41**：這是值 10 的標準化結果（最小值，距均值 -1.41σ）。\n- **(C) 0.5**：與標準化公式無關的隨機值。\n- **(D) 1.41**：這是值 50 的標準化結果（最大值，距均值 +1.41σ）。\n\n### 📖 章節來源\n**L23301 §4 (1) Z-score Standardization**：「將數值轉換為平均值為 0、標準差為 1 的常態分佈。優點：適用於符合常態分佈的資料，保留資料的原始形狀與相對位置。」\n\n### 融會貫通\n**Z-score 的本質**：將每個值轉成「距均值幾個標準差」。\n\n標準化後資料性質：\n- **均值 = 0**\n- **標準差 = 1**\n- 分佈形狀不變（只是平移 + 縮放）\n- 約 95% 的值落在 [-2, 2] 區間（若原始近似常態）\n\n**Z-score vs Min-Max**：\n| 場景 | 用哪個 |\n|---|---|\n| 線性迴歸、Logistic Regression | **Z-score**（假設常態） |\n| SVM with RBF kernel | **Z-score** |\n| KNN / K-Means | **Z-score**（距離計算） |\n| 神經網路 | 兩者皆可，**Z-score 較常見** |\n| 影像 [0, 255] | **Min-Max** |\n| Tree models (XGB/RF) | **都不需要**（樹對尺度不敏感） |\n\n**sklearn StandardScaler 注意事項**：\n1. **預設 std 用「母體公式」** (ddof=0)，即 √(Σ(x-μ)²/n)。pandas 預設 std 用「樣本公式」(ddof=1)，分母是 n-1。題目這裡 n=5，sklearn 用 √200 ≈ 14.14，pandas std() 會給 √250 ≈ 15.81，不一樣！\n2. **不會強制變常態分佈**：原本是偏態的標準化後還是偏態，只是 mean=0, std=1。要常態化需配合 Box-Cox / Yeo-Johnson。\n3. **訓練/測試一致**：跟 MinMax 一樣，scaler.fit 只用 train，避免 leakage。\n\n面試題：「StandardScaler 之後資料就是常態分佈了嗎？」答：「**不是**。標準化只調整尺度，分佈形狀不變。要做分佈轉換需用 Box-Cox 或 QuantileTransformer。」",
    "6": "### 題目核心\n資料嚴重右偏 + 含明顯離群值。問哪個 scaler 對離群值「最穩健」。\n\n### 為什麼答案是 (C) RobustScaler\n**RobustScaler** 使用 **中位數（median）+ 四分位距（IQR）**：\n- 公式：`(x - median) / IQR`\n- 中位數對離群值不敏感（極端值不會拉偏中位數）\n- IQR 也只看 25%-75% 的核心區間，忽略極端值\n\n所以面對含離群值的偏態資料，RobustScaler 不會被極端值污染轉換參數。\n\n### 為什麼其他選項錯\n- **(A) MinMaxScaler**：依賴 min 和 max，**極端值會直接成為 max**，把其他資料壓縮到極小區間（如 99% 資料擠在 [0, 0.01]）。\n- **(B) StandardScaler**：均值和標準差都會被極端值嚴重拉偏（mean 和 std 對離群值敏感），導致標準化後核心區間扭曲。\n- **(D) Normalizer**：跟前三者不同，**它是按「列（row）」做 L2 範數歸一**（讓每個樣本的向量長度=1），用途完全不同（如文字 TF-IDF 後使用），跟離群值穩健性無關。\n\n### 📖 章節來源\n**L23301 §4 (1) Robust Scaling（穩健標準化）**：「使用中位數與四分位距（IQR）進行縮放。優點：**對極端值具高度抵抗性**，適用於資料分佈偏態或含離群值的情境。限制：轉換後資料不保證符合任何標準分佈，可能影響部分建模假設。」\n\n### 融會貫通\n**三大 Scaler 的對極端值反應**（以 [1, 2, 3, 4, 5, 1000] 為例）：\n\n| Scaler | 原 1 的轉換值 | 原 1000 的轉換值 |\n|---|---|---|\n| MinMax | 0.0 | 1.0 |\n| Standard | -0.43 | 2.18 |\n| **Robust** | -1.0 | **499.5** |\n\n注意 RobustScaler 把 1000 轉成 499.5（保留極端值的極端性），而 MinMax 把它壓成 1.0。**RobustScaler 不是要消除極端值，而是不被極端值影響「正常資料的尺度」。**\n\n**選擇邏輯**：\n```\n資料含離群值且偏態 → RobustScaler\n  └─ 適合：金融資料（股價、交易額）、人口資料（收入）、感測器資料（含故障點）\n\n資料常態且乾淨 → StandardScaler\n  └─ 適合：實驗測量、清洗後的特徵\n\n資料有明確上下界且分佈均勻 → MinMaxScaler\n  └─ 適合：影像 RGB、評分、百分比\n\n樣本要當作向量（如文字 / 推薦） → Normalizer\n  └─ 適合：TF-IDF 後、user-item 矩陣\n```\n\n**完整 sklearn scaler 對照**：\n| Scaler | 公式核心 | 對極端值 |\n|---|---|---|\n| MinMaxScaler | (x-min)/(max-min) | 敏感 |\n| StandardScaler | (x-μ)/σ | 敏感 |\n| **RobustScaler** | (x-median)/IQR | **穩健** |\n| MaxAbsScaler | x/max(\\|x\\|) | 敏感（稀疏資料用） |\n| QuantileTransformer | rank → uniform/normal | 極穩健（強制分佈） |\n| PowerTransformer | Box-Cox / Yeo-Johnson | 穩健（同時近似常態） |\n\n進階：**QuantileTransformer** 比 RobustScaler 更激進，強制把資料轉成均勻或常態分佈（但會丟失原始分佈資訊），適合異常檢測前的預處理。",
    "7": "### 題目核心\n對「教育程度」欄位（小學/高中/大學）做編碼，問哪個方法最合適。\n\n### 為什麼答案是 (B) LabelEncoder — 保留順序關係\n教育程度具有**明確的順序關係**（小學 < 高中 < 大學），屬於 **Ordinal Variable（有序類別變數）**。\n\nLabelEncoder 將類別轉成整數編號：\n- 小學 → 0\n- 高中 → 1\n- 大學 → 2\n\n這個 0 < 1 < 2 的數值大小**保留了教育程度的順序關係**，符合資料本身的語義。\n\n### 為什麼其他選項錯\n- **(A) OneHotEncoder**：會變成三個欄位 [is_小學, is_高中, is_大學]，**丟失順序資訊**——模型看到「小學」和「大學」會以為它們是並列的兩個類別，無法學到「大學 > 高中 > 小學」的關係。\n- **(C) pd.get_dummies()**：等同 OneHot，同樣丟失順序。\n- **(D) 不需編碼**：sklearn 模型不能直接吃字串，會報錯。\n\n### 📖 章節來源\n**L23301 §4 (3) 類別資料處理**：\n- **Label Encoding**：「將每個類別對應到一個整數編號，例如：『小學』→ 0、『高中』→ 1、『大學』→ 2。適用情境：類別具有明確順序關係（**Ordinal Variables**），如教育程度、服務等級（Basic / Premium / VIP）。」\n- **One-hot Encoding** 適用：「**無序類別變數**（如城市名稱、產品類型）。」\n\n### 融會貫通\n**Ordinal vs Nominal（有序 vs 無序）**：\n\n| 類型 | 例子 | 編碼方法 |\n|---|---|---|\n| **Ordinal（有序）** | 教育程度、滿意度（1-5 星）、衣服尺寸（S/M/L） | **LabelEncoder / OrdinalEncoder** |\n| **Nominal（無序）** | 城市、顏色、性別、產品類型 | **OneHotEncoder / get_dummies** |\n\n**為什麼錯用 LabelEncoder 在無序類別上很危險？**\n例如把 `[紅, 藍, 綠]` 編成 `[0, 1, 2]`，模型會誤以為：\n- 紅 + 紅 = 藍（0+0 vs 1）\n- 綠 - 紅 = 2 × 藍 - 0（沒意義）\n\n線性模型 / 神經網路會把這當數值處理，產生錯誤推論。**樹模型也會受影響**（雖然不假設線性，但會按數值大小切分點）。\n\n**Label vs Ordinal Encoder 的差別**：\n- `LabelEncoder`：sklearn 設計給 **目標變數 y** 用（也常被誤用於 X）\n- `OrdinalEncoder`：sklearn 給 **特徵 X** 用的有序編碼器（支援多欄、可指定順序）\n\n```python\nfrom sklearn.preprocessing import OrdinalEncoder\n\noe = OrdinalEncoder(categories=[['小學', '高中', '大學']])  # 明確指定順序\nX_encoded = oe.fit_transform(df[['edu']])\n```\n\n**進階 — 高基數 Nominal 變數的處理**：\n如果類別數量極多（如 1000 個產品 ID），OneHot 會炸維度，這時用：\n- **Target Encoding**：用該類別的 target 平均值代替（教材也有提）\n- **Frequency Encoding**：用該類別出現頻次代替\n- **Embedding**：神經網路學一個向量（如 word embedding）\n\n面試常問：「樹模型可以直接用 Label Encoding 處理無序類別嗎？」答：「**不建議**，雖然樹模型相對寬容，但仍會按數值順序切分點，產生不必要的分支。LightGBM 內建類別特徵支援（`categorical_feature` 參數）才是正解。」",
    "8": "### 題目核心\n用 `pd.get_dummies` 對 `['紅', '藍', '綠', '紅']` 做 One-hot 編碼，問結果的 shape。\n\n### 為什麼答案是 (C) (4, 3)\n`pd.get_dummies` 對每個獨特類別生成一欄：\n- 原資料 4 筆 → **保持 4 列**\n- 獨特類別有 3 個（紅、藍、綠）→ **生成 3 欄**\n\n結果 shape = **(4, 3)**\n\n結果長這樣（按字母順序預設）：\n```\n   綠  紅  藍\n0   0   1   0   ← 紅\n1   0   0   1   ← 藍\n2   1   0   0   ← 綠\n3   0   1   0   ← 紅\n```\n\n### 為什麼其他選項錯\n- **(A) (4, 1)**：只有 1 欄是 LabelEncoder 的結果（單一整數欄），不是 One-hot。\n- **(B) (4, 2)**：要 2 欄需 `drop_first=True`（為避免完全共線性而丟一欄）。預設不 drop。\n- **(D) (4, 4)**：不會等於原資料筆數，類別數固定為 3。\n\n### 📖 章節來源\n**L23301 §4 (3) One-hot Encoding（獨熱編碼）**：「為每個類別新增一個欄位，該類別為 1，其餘為 0。例如『紅 / 藍 / 綠』會變成三個欄位：is_red、is_blue、is_green。」\n\n### 融會貫通\n**One-hot Encoding 的核心特性**：\n- **欄數 = 獨特類別數**（不論原資料幾列）\n- 每列只有一個欄位是 1，其他都是 0（所以叫 \"one-hot\"）\n- **保留無序類別的語義**（不會誤導模型學到順序）\n\n**潛在問題 — Multicollinearity（共線性）**：\n3 個 One-hot 欄位有 sum = 1 的線性關係（每列總和 = 1），這對線性模型造成多重共線性。解法：\n```python\npd.get_dummies(df['color'], drop_first=True)  # 丟一欄，剩 2 欄\n```\n結果 shape 變 (4, 2)，模型仍能還原全部資訊（「不是藍且不是綠」就是紅）。\n\n**樹模型不需要 drop_first**：樹模型不假設線性，共線性不影響。\n\n**Dummy Variable Trap（虛擬變數陷阱）**：\n線性迴歸如果同時放入 k 個 dummy 欄位 + 截距項，矩陣會 singular（不可逆）。所以 **k-1 個 dummy + 截距** 是標準做法。\n\n**One-hot 的維度爆炸問題**：\n類別數量多時（High Cardinality）會炸：\n- 100 個產品 ID → 100 欄\n- 50 個城市 → 50 欄\n- 結合 → 5000 欄交互特徵\n\n解法：\n1. **Target Encoding**：用該類別的 target 均值代替（保留資訊但只佔 1 欄）\n2. **Frequency Encoding**：用出現次數代替\n3. **Hashing Trick**：FeatureHasher 強制壓到固定維度\n4. **Embedding**：神經網路學一個向量\n5. **頻次截斷**：低頻類別合併為 \"Other\"\n\n**sklearn vs pandas 對比**：\n```python\n# pandas — 適合 EDA、直接拿 DataFrame\npd.get_dummies(df['color'])\n\n# sklearn — 適合 pipeline、會記住類別給新資料用\nfrom sklearn.preprocessing import OneHotEncoder\nohe = OneHotEncoder(sparse_output=False, handle_unknown='ignore')\nohe.fit(X_train[['color']])\nohe.transform(X_test[['color']])  # test 看到 train 沒看過的類別不會崩\n```\n\n**面試常問**：「One-hot 後新資料出現訓練集沒看過的類別怎麼辦？」答：「sklearn 的 OneHotEncoder 設 `handle_unknown='ignore'` 會自動補 0（全欄都 0）；pandas get_dummies 預設會新增一個欄位（要小心欄位錯位）。」",
    "9": "### 題目核心\n用 sklearn 的 PCA 將 (1000, 20) 維資料降到 5 個主成分，問 `fit_transform` 後的 shape。\n\n### 為什麼答案是 (B) (1000, 5)\nPCA 降維的 shape 規則：\n- **n_samples 不變**（每筆樣本還在）\n- **n_features 變成 n_components**\n\n所以 `(1000, 20)` → `PCA(n_components=5).fit_transform(X)` → **(1000, 5)**\n\n含義：1000 筆樣本仍是 1000 筆，但每筆從原本 20 個特徵壓縮成 5 個主成分（保留最多變異的方向）。\n\n### 為什麼其他選項錯\n- **(A) (1000, 20)**：沒降維，跟原始 shape 一樣，可能誤以為 PCA 不改 shape。\n- **(C) (5, 1000)**：把 axes 反過來。PCA 慣例是 (samples, features)，不會交換。\n- **(D) (5, 20)**：這是 `pca.components_` 的 shape（5 個主成分，每個是 20 維的方向向量），不是轉換後的資料。\n\n### 📖 章節來源\n**L23301 §3 (2) 降維方法 — 主成分分析（PCA）**：「透過線性變換，找出能最大化資料變異的方向，並以這些主成分重構資料。廣泛用於視覺化、雜訊過濾與建模加速。」\n\n### 融會貫通\n**PCA 的本質**：把原始 d 維空間 **線性投影** 到 k 維（k < d）的新空間，使保留的變異最大化。\n\n**核心步驟**：\n1. 標準化（必要 — 不同尺度會主導主成分）\n2. 計算共變異矩陣\n3. 特徵分解（eigendecomposition）找特徵向量和特徵值\n4. 取前 k 個最大特徵值對應的特徵向量\n5. 將資料投影到這些向量上\n\n**sklearn PCA 重要屬性**：\n```python\npca = PCA(n_components=5)\nX_pca = pca.fit_transform(X)\n\npca.components_         # shape (5, 20) — 5 個主成分的方向向量\npca.explained_variance_ratio_  # shape (5,) — 每個主成分保留的變異比例\npca.explained_variance_ratio_.sum()  # 5 個主成分共保留多少變異\n```\n\n**如何選 n_components？**\n1. **固定值**：`PCA(n_components=2)` 用於視覺化\n2. **比例保留**：`PCA(n_components=0.95)` 保留 95% 變異，sklearn 自動決定維度\n3. **Scree plot**：畫 explained_variance_ratio 找轉折點（手肘法）\n\n**PCA 適用 / 不適用**：\n| 適用 | 不適用 |\n|---|---|\n| ✅ 特徵高度相關（如 100 個感測器很多重複資訊） | ❌ 特徵都獨立有意義 |\n| ✅ 視覺化（降到 2D / 3D） | ❌ 解釋性要求高（主成分是線性組合，不可解釋） |\n| ✅ 訓練加速 | ❌ 類別資料（PCA 假設連續變數） |\n| ✅ 雜訊過濾 | ❌ 資料非線性結構（用 t-SNE / UMAP） |\n\n**降維方法對比**（教材也有列）：\n| 方法 | 性質 | 用途 |\n|---|---|---|\n| **PCA** | 線性、無監督 | 通用降維、視覺化 |\n| **LDA** | 線性、**監督**（用 y） | 分類前降維（最大化類別分離） |\n| **t-SNE** | 非線性、無監督 | 視覺化（不適合預測） |\n| **UMAP** | 非線性、無監督 | 視覺化、有時也用於預測 |\n| **SVD** | 線性、無監督 | 文字（LSA）、推薦系統 |\n| **Autoencoder** | 非線性、神經網路 | 深度學習場景 |\n\n**面試常問**：「PCA 之前要做標準化嗎？」答：「**一定要**。PCA 找變異最大方向，未標準化時收入（變異百萬）會主導年齡（變異百），結果失真。先 `StandardScaler.fit_transform()` 再 PCA。」",
    "10": "### 題目核心\n詐欺偵測資料 99% 負類 + 1% 正類（嚴重不平衡）。問哪個技術可「合成少數類樣本」。\n\n### 為什麼答案是 (C) SMOTE\n**SMOTE（Synthetic Minority Oversampling Technique）** 是專門處理類別不平衡的過採樣技術：\n- 對少數類樣本做 KNN 找鄰居\n- 在「少數類樣本」和「其 K 個鄰居」之間做線性插值\n- 生成新的合成樣本（不是直接複製）\n\n效果：1% 正類可被擴增到接近 50%，讓模型有足夠的正類學習。\n\n### 為什麼其他選項錯\n- **(A) PCA**：是 **降維** 方法，跟類別不平衡無關。\n- **(B) OneHotEncoder**：是 **類別編碼** 方法（把字串變數值欄），跟採樣無關。\n- **(D) StandardScaler**：是 **尺度調整** 方法（讓特徵均值 0、標準差 1），跟採樣無關。\n\n### 📖 章節來源\n**L23301 §5 資料增強 — 表格式資料增強（Tabular Data Augmentation）**：「**SMOTE（Synthetic Minority Oversampling Technique）增加稀少樣本**。案例：用於不平衡資料分類問題（如詐欺偵測、疾病診斷）。」教材直接點名這個應用。\n\n### 融會貫通\n**SMOTE 的工作原理**：\n```python\nfrom imblearn.over_sampling import SMOTE\n\nsmote = SMOTE(random_state=42, k_neighbors=5)\nX_resampled, y_resampled = smote.fit_resample(X_train, y_train)\n```\n\n圖解（2D 簡化）：\n```\n少數類樣本 A 在 (1, 1)\n少數類鄰居 B 在 (3, 5)\n插值點 = A + λ × (B - A), λ ∈ [0, 1] 隨機\n     = (1+2λ, 1+4λ)\n```\n\n**類別不平衡的處理策略**（業界常用組合）：\n\n| 層級 | 方法 |\n|---|---|\n| **資料層級** | SMOTE（過採少數）、隨機欠採（多數）、SMOTE+Tomek Links（混合） |\n| **演算法層級** | `class_weight='balanced'`、focal loss、cost-sensitive learning |\n| **評估層級** | 用 F1 / ROC-AUC / PR-AUC（不用 Accuracy） |\n| **閾值層級** | 調整分類閾值（從 0.5 改成 0.3 抓更多正類） |\n\n**imbalanced-learn 套件常用方法**：\n- **過採（Over-sampling）**：\n  - `RandomOverSampler`：隨機複製少數類（容易過擬合）\n  - **`SMOTE`**：合成新樣本（標準）\n  - `BorderlineSMOTE`：只對邊界附近樣本合成（更聚焦）\n  - `ADASYN`：自適應合成（難分類的樣本權重高）\n- **欠採（Under-sampling）**：\n  - `RandomUnderSampler`：隨機丟多數類（資訊損失）\n  - `TomekLinks`：移除邊界上的多數類\n  - `EditedNearestNeighbours`（ENN）：移除被少數鄰居包圍的多數類\n- **混合**：\n  - `SMOTETomek`、`SMOTEENN`：先 SMOTE 再清理邊界\n\n**SMOTE 限制與陷阱**：\n1. **只能用在 train，不能 test**：SMOTE 必須在切分 train/test 之後做（不然會 data leakage）\n2. **高維資料失效**：在很高維時（curse of dimensionality），鄰居距離失去意義\n3. **不適合文字 / 影像**：插值在文字 token 或像素上無意義\n4. **可能生成雜訊樣本**：少數類本身有離群值時，插值會延伸雜訊（用 BorderlineSMOTE 改善）\n\n**圖像 / 文字的對應方法**（教材也列出）：\n| 資料型態 | 增強方法 |\n|---|---|\n| **表格** | SMOTE、ADASYN、cost-sensitive |\n| **圖像** | 翻轉、旋轉、裁剪、色彩變換、Mixup、CutMix |\n| **文字** | 同義詞替換、回譯（back translation）、隨機插入/刪除 |\n| **時序** | 加噪、scaling、jittering、窗口裁切 |\n\n**面試常問**：「SMOTE 後 Accuracy 反而下降，為什麼？」答：「SMOTE 改變了訓練分佈，模型 decision boundary 偏向少數類，使得多數類預測 Accuracy 下降——但這正是想要的：要看 F1、Recall、PR-AUC，不要再用 Accuracy。」"
  },
  "code_L23202": {
    "1": "### 題目核心\n題目給定 **完全線性可分** 的資料 `y = 2x + 1`（5 筆樣本完全在這條直線上），用 sklearn 的 **LinearRegression** 訓練後，問 `(coef_, intercept_)` 印出的值。\n\n### 為什麼答案是 (B) 2.0 1.0\nLinearRegression 解的是 **OLS（最小平方法）**：找一組 `(w, b)` 讓 `sum((y - (wx+b))**2)` 最小。\n\n代入資料看一眼就能判斷：\n```\n(x=1, y=3), (x=2, y=5), (x=3, y=7), (x=4, y=9), (x=5, y=11)\n```\n這 5 個點 **完全落在 `y = 2x + 1`** 上（殘差為 0），所以最佳解就是真值：\n- `coef_[0] = 2.0`（斜率 / 權重 w）\n- `intercept_ = 1.0`（截距 b）\n\nAPI 行為要記牢：\n- `model.coef_` 是 **shape=(n_features,)** 的陣列，所以單變數要用 `coef_[0]` 取純量\n- `model.intercept_` 直接是純量\n- `print(round(2.0, 2), round(1.0, 2))` 印出 `2.0 1.0`（中間空白，**先 coef 後 intercept**，順序千萬別反）\n\n### 為什麼其他選項錯\n- **(A) \"1.0 2.0\"**：把 `coef` 跟 `intercept` 印反了。注意 `print(coef, intercept)` 的順序是程式碼自己寫的，題目寫的是 `print(round(model.coef_[0], 2), round(model.intercept_, 2))`，coef 在前。\n- **(C) \"2.0 0.0\"**：誤以為截距會被優化掉成 0。但 `LinearRegression` 預設 `fit_intercept=True`，會學出真實截距 `1.0`，不會自動歸零。要歸零必須手動傳 `fit_intercept=False`。\n- **(D) \"1.0 1.0\"**：把 coef 也誤認為 1.0，可能跟 `y = x + 1` 混了。題目資料是 `y = 2x + 1`，斜率應為 2。\n\n### 📖 章節來源\n**L23202 §2.1 線性迴歸 — 模型輸出與係數解讀**：教材明確說明 `coef_` 對應每個特徵的斜率（權重）、`intercept_` 為截距項；當資料完全線性時，OLS 解就是真實參數。\n\n**L23202 §2.1 — sklearn API 慣例**：`coef_` 永遠是 array（即使單變數也是 shape=(1,)），`intercept_` 是純量（除了多輸出迴歸）。這個 shape 差異是考點。\n\n### 融會貫通\n這題考三個重點，未來看到 `LinearRegression` 程式題請立刻按下面三點檢查：\n\n1. **`coef_` vs `intercept_` 的 shape**：`coef_` 是 array（要 `[0]` 才拿純量），`intercept_` 是純量。寫錯 shape 是常見 bug——例如有人寫 `model.coef_` 直接拿來跟純量比大小，會默默變成 array 比對導致行為跟預期不同。\n2. **`fit_intercept` 預設 True**：除非題目顯式關掉，否則一定會學截距。實務上若特徵已經中心化（減平均），可以設 `fit_intercept=False` 加速；但考試只要看到沒特別交代就當預設處理。\n3. **完全線性可分時 OLS 解 = 真值**：殘差為 0，係數即為真實參數。題目給你「乾淨」資料就是要送分；只要看出 `y` 與 `X` 的線性關係（這題是 `y = 2x + 1`），答案就直接寫在題目上。\n\n**識別陷阱**：選項常把 `(coef, intercept)` **順序顛倒** 來唬人，看到「1.0 2.0」與「2.0 1.0」這種對稱 pair 一定要回頭看 `print(...)` 的參數順序，誰先誰後決定答案。另一個常見陷阱是給你帶雜訊的資料（例如 `y = [3.1, 4.9, 7.2, 8.8, 11.1]`）讓你算不出來——這種題就要看「最接近真值」的選項；OLS 在小雜訊下會給接近 2 與 1 但不完全相等的解。\n\n**業界小提醒**：sklearn 的 `LinearRegression` 內部用 `scipy.linalg.lstsq` 做奇異值分解（SVD）求解，數值穩定但大資料下慢；高維資料改用 `Ridge`（封閉解快）或 `SGDRegressor`（隨機梯度下降可處理百萬樣本）。考試只要記得「**OLS = LinearRegression = 無正則化**」就夠。\n\n**考前口訣**：「**coef 是斜率陣列、intercept 是純量截距，print 順序看程式碼**」。sklearn 慣例只要看到底線結尾屬性（`coef_`、`intercept_`、`feature_importances_`、`classes_`）就是 fit 完才有的「學到的東西」；fit 前去存取會 raise `NotFittedError`。",
    "2": "### 題目核心\n50 個特徵但「**許多與目標無關**」，要模型自動把不重要特徵的係數 **壓為 0**（達到自動特徵選擇）。問該選哪個演算法。關鍵字：**L1 正則化、稀疏解、特徵選擇**。\n\n### 為什麼答案是 (B) Lasso — L1 正則化，可將係數壓為 0\n正則化的本質是在 loss 後面加上「對係數大小的懲罰」：\n\n```\nLasso (L1):   Loss = MSE + α * Σ|w_i|\nRidge (L2):   Loss = MSE + α * Σ w_i²\n```\n\n關鍵差異就在那個 **絕對值**：\n- **L1（Lasso）的懲罰項在 0 點不可微，最佳化會自然把不重要特徵的權重「精準推到 0」**，產生 **稀疏解（sparse solution）**。\n- **L2（Ridge）的懲罰項是平方項**，梯度在 0 點是 0（光滑），所以最佳化只會把權重 **縮小** 但不會歸零。\n\n幾何直觀：Lasso 的約束區域是「**菱形（L1 ball，有尖角）**」，最佳解碰到等高線時容易停在「**頂點**」上，頂點對應某些座標 = 0；Ridge 的約束區域是「**圓形（L2 ball）**」，沒尖角，所以解不會剛好歸零。\n\n業界用法：\n```python\nfrom sklearn.linear_model import Lasso\nmodel = Lasso(alpha=0.1)  # alpha 越大，被歸零的特徵越多\nmodel.fit(X_train, y_train)\nselected = np.where(model.coef_ != 0)[0]  # 自動選出的特徵\n```\n\n### 為什麼其他選項錯\n- **(A) LinearRegression**：標準 OLS **沒有任何正則化項**，所有 50 個特徵的係數都會被擬合（即使是無關特徵也會得到非零的隨機噪聲係數）。不會做特徵選擇。\n- **(C) Ridge**：L2 正則化雖然能 **縮小** 係數、降低過擬合，但 **數學上不會把係數壓到剛好 0**（會壓到 0.0001 這種很小的值，但不是 0）。所以不能自動做特徵選擇，只能說「降低不重要特徵的影響」。\n- **(D) LogisticRegression**：這是 **分類** 演算法（雖然 sklearn 的 LogisticRegression 預設帶 L2 正則化、也支援 `penalty='l1'`），但題目沒說是分類任務、預設又是 L2，不是「最適合」的答案。題目要看「**默認就是 L1 + 做特徵選擇**」的模型。\n\n### 📖 章節來源\n**L23202 §2.8 正則化 — L1 vs L2 / Lasso vs Ridge**：教材明確列出 L1 會產生稀疏解、L2 只縮小不歸零，並指出 Lasso 適合「**特徵自動選擇**」場景。這題基本是教材原文直考。\n\n**L23202 §2.1 線性迴歸延伸**：標準 LinearRegression 沒有正則化，只在乾淨資料上才好用。當特徵多、雜訊多時必須引入正則化（Lasso/Ridge/ElasticNet）。\n\n### 融會貫通\n高維資料（特徵多、樣本少、雜訊多）的選型口訣：\n\n1. **要做特徵選擇 → Lasso（L1）**：權重稀疏化，無關特徵 = 0。\n2. **只想降過擬合、保留全部特徵 → Ridge（L2）**：所有權重都縮小但都保留。\n3. **想兩者兼具 → ElasticNet**：`α * (ρ*L1 + (1-ρ)*L2)`，工程上常用的「保險」選擇。\n4. **不要正則化 → LinearRegression**：只在特徵少、資料乾淨、需要可解釋係數時用。\n\n**識別陷阱**：題目只要出現「**特徵很多、許多無關、自動選擇、稀疏**」這種字眼 → 100% 是 Lasso。如果出現「**降過擬合、縮小係數、保留所有特徵**」→ 是 Ridge。考試最愛用「**壓為 0 vs 縮小**」這組詞對比 Lasso 跟 Ridge，看到「壓為 0」直接圈 Lasso。\n\n**業界小撇步**：sklearn 的 `Lasso` 用 coordinate descent 解，大資料下會慢；可以改用 `SGDRegressor(penalty='l1')` 或 `LassoCV` 自動選 alpha。`alpha` 是 Lasso 最重要的超參數：越大懲罰越強、被歸零的特徵越多、模型越稀疏，但 `alpha` 太大會把有用的特徵也歸零（underfitting）；太小則退化成接近 OLS。實務上用 `LassoCV` 做交叉驗證自動找最佳 alpha 最方便。\n\n另一個業界用法是 **「Lasso 做特徵篩選 + 其他模型做最終預測」**：先用 Lasso 把 50 個特徵縮到剩 10 個重要的，再丟給 XGBoost 或 RandomForest 學非線性關係，這種兩階段做法在表格資料比賽（Kaggle）跟銀行風控建模都很常見。考試題只要認「**L1 = Lasso = 稀疏 = 特徵選擇**」即可，但工作上要知道它通常是 pipeline 的第一階段而非最終模型。",
    "3": "### 題目核心\n二元分類器（`y ∈ {0, 1}`），對 2 筆新樣本呼叫 `predict_proba(X_new)`，問回傳陣列的 **shape 與意義**。關鍵字：**predict vs predict_proba、shape=(n_samples, n_classes)**。\n\n### 為什麼答案是 (C) (2, 2) — 每樣本對應到「屬於類別 0、類別 1」的機率，每列總和=1\nsklearn 所有 classifier 的 `predict_proba` API 慣例：\n\n```\nshape = (n_samples, n_classes)\n```\n\n對應到本題：`n_samples = 2`（兩筆新樣本 `[[5], [8]]`），`n_classes = 2`（二元分類 0/1），所以印出 `(2, 2)`。\n\n實際內容大概長這樣：\n```python\nproba = [[0.92, 0.08],   # X_new[0]=5 → P(y=0)=0.92, P(y=1)=0.08\n         [0.15, 0.85]]   # X_new[1]=8 → P(y=0)=0.15, P(y=1)=0.85\n# 每列總和 = 1.0（機率分佈的基本性質）\n```\n\n**重點 API 區分**：\n- `predict(X)` → 回傳 **類別標籤**，shape=`(n_samples,)`，本題會是 `array([0, 1])`\n- `predict_proba(X)` → 回傳 **機率分佈**，shape=`(n_samples, n_classes)`\n- `decision_function(X)` → 回傳 **未經 sigmoid 的 logit**，shape=`(n_samples,)`（二元）或 `(n_samples, n_classes)`（多元）\n\n類別順序由 `model.classes_` 決定（本題是 `array([0, 1])`），所以第 0 欄是 P(y=0)、第 1 欄是 P(y=1)。\n\n### 為什麼其他選項錯\n- **(A) (2,)**：這是 `predict(X_new)` 的 shape，不是 `predict_proba`。`predict` 回傳的是 **類別**（0 或 1），不是機率。考點：要分清楚 `predict` vs `predict_proba`。\n- **(B) (2, 1)**：常見的「直覺錯誤」——有人以為「二元分類只要存 P(y=1) 一個值就夠」（因為 P(y=0) = 1 - P(y=1)）。但 sklearn 的設計慣例是 **兩個類別都各佔一欄**，方便跟多元分類統一 API。實際 shape 是 `(2, 2)` 不是 `(2, 1)`。\n- **(D) (1, 2)**：把樣本數與類別數搞反，或誤以為「對兩個類別只回傳一筆整體機率」。事實上每筆樣本都有自己的機率分佈。\n\n### 📖 章節來源\n**L23202 §2.2 Logistic Regression — 機率輸出與決策邊界**：教材說明 Logistic 透過 sigmoid 把線性組合 `wx + b` 映射到 `[0, 1]` 作為 P(y=1)，再用 0.5 為閾值決定類別。`predict_proba` 暴露這個機率讓使用者自訂閾值。\n\n**L23202 §2.2 — sklearn 分類器 API 慣例**：所有 classifier 的 `predict_proba` 統一回傳 `(n_samples, n_classes)`，欄位順序對應 `classes_` 屬性。這是 sklearn 的設計哲學（一致性 over 簡潔性）。\n\n### 融會貫通\n這題是 **sklearn API 慣例** 的純記憶題，但實務超常用。請固定記住下面這張對照表：\n\n| 方法 | 回傳 | shape（二元）| shape（多元 K 類） |\n|---|---|---|---|\n| `predict(X)` | 類別標籤 | `(n,)` | `(n,)` |\n| `predict_proba(X)` | 機率分佈 | `(n, 2)` | `(n, K)` |\n| `decision_function(X)` | 決策分數 / logit | `(n,)` | `(n, K)`（OvR）|\n\n**識別陷阱**：\n1. **二元的 `predict_proba` 是 `(n, 2)` 不是 `(n, 1)`** ——這是最高頻誤答。雖然數學上一個機率就夠（另一個是 `1 - p`），但 sklearn 為了 API 統一性兩欄都給。\n2. **欄位順序看 `classes_`**：類別不是 `[0, 1]` 而是 `['cat', 'dog']` 時，第 0 欄是 cat 的機率。寫業務邏輯時不能寫死 index，要用 `model.classes_` 查。\n3. **多元分類 `predict_proba` 每列總和 = 1**（softmax 性質）；如果你發現總和不是 1，可能是 `CalibratedClassifierCV` 沒設好或自己手刻錯。\n\n**業界經驗**：`predict_proba` 是分類器最重要的輸出，工作上幾乎不會直接用 `predict`，而是用 `predict_proba` 拿到機率分數後再依業務需求調整閾值。例如詐欺偵測寧可多誤判（提高 recall），就把閾值從 0.5 降到 0.3；醫療診斷要降低假陽性，就把閾值拉到 0.8。所以拿到題目寫 `predict_proba` 一定要意識到「**它輸出的是機率分佈，不是類別**」。\n\n另外要記住：不是所有 sklearn 分類器都有 `predict_proba`。`SVC` 預設沒有，要傳 `probability=True` 才有（但會慢）；`Perceptron` 完全沒有；`RidgeClassifier` 也沒有（只能用 `decision_function`）。Logistic、Naive Bayes、Tree-based、KNN 則都有。考試題若寫 `predict_proba` 的程式碼一定要先確認該模型有支援，否則會 `AttributeError`。\n\n**考前口訣**：「**predict 給類別、proba 給機率，shape 都是 (n, K) 不是 (n, 1)**」。實務上 `predict_proba` 拿來做 ROC 曲線、調整閾值、輸出信心分數、做模型校準（calibration），比 `predict` 重要得多。",
    "4": "### 題目核心\n資料分佈是 **同心圓**（外圈負類、內圈正類），**線性無法分離**。問 SVM 應該用哪種 kernel。關鍵字：**非線性邊界、kernel trick、RBF**。\n\n### 為什麼答案是 (B) rbf — RBF 核（Gaussian），可處理非線性邊界\nSVM 的本質是「**找最大間隔的分隔超平面**」，但如果原始空間裡資料不是線性可分（像同心圓這種），就要用 **kernel trick** 把資料映射到更高維度的特徵空間，在那邊找線性分隔，再投影回原空間就變成非線性邊界。\n\n**RBF（Radial Basis Function, Gaussian kernel）** 公式：\n```\nK(x, x') = exp(-γ * ||x - x'||²)\n```\n\n幾何直觀：RBF 相當於把資料映射到 **無窮維** 空間，每個訓練點周圍會形成一個「高斯包」，內圈正類的點會被密集的高斯包圍起來，外圈負類的點被排除在外——天然適合「**球狀 / 同心圓 / 局部聚集**」的資料分佈。\n\n業界用法：\n```python\nfrom sklearn.svm import SVC\nmodel = SVC(kernel='rbf', gamma='scale', C=1.0)\nmodel.fit(X_train, y_train)\n# 同心圓 → 學到的決策邊界會是「環形」，完美包住內圈\n```\n\n關鍵超參數：\n- `gamma`：控制每個高斯的「寬度」。`gamma` 越大邊界越貼樣本（容易過擬合），越小越平滑。\n- `C`：正則化強度的反比。`C` 越大越不容錯（容易過擬合），越小越寬鬆。\n\n### 為什麼其他選項錯\n- **(A) linear**：線性核 `K(x, x') = x·x'` 只能畫 **直線（高維為超平面）**，根本沒辦法把外圈跟內圈分開。線性核適合「**特徵已經被工程過、線性可分**」的場景（例如文本分類的 TF-IDF）。同心圓直接不及格。\n- **(C) precomputed**：這不是一種核函數，而是 **「我自己算好 kernel matrix」** 的模式——`SVC(kernel='precomputed')` 要求你傳入 `(n, n)` 的 Gram matrix，由你自己決定核怎麼算。它是「**API 模式**」不是「**演算法**」，當題目沒給你預先算好的矩陣時根本沒辦法用。\n- **(D) None**：sklearn 的 `SVC` 沒有 `kernel=None` 這個選項（會報錯）。`kernel` 參數必須是 `'linear' | 'poly' | 'rbf' | 'sigmoid' | 'precomputed'` 之一或自訂 callable。「不用 kernel」本身就是錯誤敘述——SVM 一定要有 kernel，只是線性 SVM 用的是隱含的恆等核。\n\n### 📖 章節來源\n**L23202 §2.3 SVM — Kernel Trick 與非線性邊界**：教材列出 SVM 的核心是 kernel trick，並把常見 kernel 分類：\n- **linear**：線性可分用\n- **poly（多項式）**：低度非線性、有交互作用\n- **rbf（高斯）**：通用非線性、局部聚集、**同心圓 / 球狀資料的首選**\n- **sigmoid**：類似 tanh 神經元，但實務少用\n\n**L23202 §2.3 — kernel 選擇 rule of thumb**：「**不知道用什麼就先試 RBF**」，業界 70% 的非線性 SVM 都用 RBF；只有特徵維度極高（例如 NLP 的 TF-IDF）、樣本量極大時，才回頭考慮 linear。\n\n### 融會貫通\nSVM kernel 選擇的「**對症下藥**」快速判斷：\n\n| 資料樣態 | 適合 kernel |\n|---|---|\n| 線性可分（高維文本、稀疏特徵） | `linear` |\n| **同心圓 / 環形 / 球狀群集** | **`rbf`** ← 本題 |\n| 多項式關係、明顯交互作用 | `poly`（degree=2 或 3）|\n| 已自算 kernel matrix | `precomputed` |\n\n**識別陷阱**：\n1. **看到「同心圓、月牙、螺旋、XOR」這種「明顯非線性、球狀聚集」描述 → 直接選 RBF。** 不要被「**RBF 比較複雜**」嚇到，業界預設就是 RBF。\n2. **「線性無法分離」是強烈信號**：題目幾乎是直接告訴你「不要選 linear」。\n3. **precomputed 是 trap option**：聽起來很厲害但根本不是 kernel 函數，只是 API 接口。\n4. **`kernel=None` 完全是假選項**：SVM 一定要有 kernel。\n\n**業界經驗**：拿到新資料先試 `SVC(kernel='rbf', gamma='scale')`，gamma 用預設 `'scale'`（自動依特徵變異數調整），C 從 1.0 開始 grid search。如果樣本超過 10 萬筆，改用 `LinearSVC` 或 `SGDClassifier`（RBF 在大資料下訓練成本是 O(n²) 太慢）。\n\n**考前口訣**：「**線性可分用 linear、同心圓用 rbf、不知道也用 rbf**」。",
    "5": "### 題目核心\n資料中 **年齡（20~60）** 與 **收入（20,000~100,000）** 尺度差距極大。要用 **KNN 分類** 前，最關鍵的前處理是哪個？KNN 依賴歐氏距離選鄰居，**未標準化會被大尺度特徵綁架**。\n\n### 為什麼答案是 (B) StandardScaler — 否則收入完全主導距離，年齡幾乎不影響鄰居選擇\nKNN 預測時做的事是：對新樣本 x，計算它到訓練集所有點的 **歐氏距離** `d = √Σ(xi - xj)²`，挑最近的 K 個鄰居投票決定類別。\n\n問題出在「平方加總」這個動作對尺度極度敏感。以本題舉例：\n\n```python\n# 兩個訓練樣本之間的距離\nA = [25, 30000]   # 年齡 25、收入 30k\nB = [30, 50000]   # 年齡 30、收入 50k\n\n# 未標準化:\n# d² = (25-30)² + (30000-50000)² = 25 + 400,000,000\n#                                   ↑ 年齡貢獻幾乎是 0\n# d ≈ √400,000,025 ≈ 20,000.0006\n```\n\n**年齡那一項貢獻 25,在收入那一項的 4 億面前直接被吃掉**——KNN 的鄰居選擇實質上完全只看收入,年齡差 5 歲還是 30 歲對結果毫無影響。\n\n`StandardScaler` 解法是把每個欄位都轉成 `(x - μ) / σ`,讓所有特徵變成 mean=0、std=1,**距離計算時每個特徵的貢獻是公平的**:\n\n```python\nfrom sklearn.preprocessing import StandardScaler\nscaler = StandardScaler()\nX_scaled = scaler.fit_transform(X)\n# 年齡和收入都變成 ~[-1.5, 1.5] 範圍,距離不再被單一特徵主導\n```\n\n### 為什麼其他選項錯\n- **(A) PCA 降維** — 把 2 維降到 1 維: PCA 是降維工具,不是解決尺度問題。而且 **PCA 本身也對尺度敏感**(會找變異最大的方向,收入變異 10⁸ 級的會直接搶走第一主成分),所以做 PCA 之前也得先標準化。這題只有 2 維本來就不需要降維,降到 1 維反而丟資訊。\n- **(C) OneHotEncoder — 對類別欄編碼**: 年齡和收入都是 **連續數值**,沒有任何類別欄位需要 one-hot。OneHotEncoder 是給 `['紅','藍','綠']` 這種無序類別用的,套錯資料型態。\n- **(D) 不需任何前處理,KNN 對尺度不敏感**: 完全相反。**KNN 是 sklearn 裡對尺度最敏感的演算法之一**,跟它一起敏感的還有 K-Means、SVM、PCA、神經網路。樹模型(RF/GBDT)才是對尺度不敏感的那群。\n\n### 章節來源\n**L23202 §2.4 KNN(K 近鄰演算法)**: 教材說明 KNN 基於距離計算找最近鄰居,「特徵尺度差異會直接影響距離計算結果,導致大尺度特徵主導模型決策」,因此 **必須先做特徵縮放**。\n\n**L23202 §4 常見前處理 — StandardScaler**: 把資料轉為平均 0、標準差 1 的分佈,「適用於 KNN、K-Means、SVM 等依賴距離或梯度的演算法」。教材直接把 KNN + StandardScaler 列為標配。\n\n### 融會貫通\n這題是 KNN 最經典的「**尺度陷阱**」。記住這套對應表,考試問「哪個演算法需要標準化」直接打勾:\n\n| 對尺度敏感(必須標準化) | 對尺度不敏感(可省) |\n|---|---|\n| **KNN、K-Means**(歐氏距離) | **Decision Tree、Random Forest、GBDT**(切分點不受尺度影響) |\n| **SVM**(margin 依賴距離) | **Naïve Bayes**(各特徵獨立估計分佈) |\n| **PCA**(找最大變異方向) | |\n| **線性 / Logistic 迴歸 + 正則化**(L1/L2 懲罰要公平) | |\n| **神經網路**(梯度下降收斂速度) | |\n\n**業界 sklearn 慣例**: 用 Pipeline 把 scaler 和 model 綁在一起,避免測試集 leakage:\n\n```python\nfrom sklearn.pipeline import Pipeline\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.neighbors import KNeighborsClassifier\n\npipe = Pipeline([\n    ('scaler', StandardScaler()),\n    ('knn', KNeighborsClassifier(n_neighbors=3))\n])\npipe.fit(X_train, y_train)        # scaler 只 fit train\npipe.predict(X_test)              # test 自動用 train 的 μ/σ\n```\n\n切記 **scaler 不能 `fit_transform(X_test)`**,要 `transform(X_test)` 沿用 train 的 μ/σ,不然有 data leakage。\n\n**考前記憶口訣**: 「**距離型演算法,先標準化再談模型**」——看到 KNN、K-Means、SVM、PCA 出現,反射性想到 StandardScaler。",
    "6": "### 題目核心\n**Naïve Bayes(樸素貝氏)** 為何叫「樸素」?關鍵在於它對特徵做了一個 **強假設**——所有特徵在「給定類別」的條件下 **彼此獨立**。\n\n### 為什麼答案是 (B) 假設所有特徵在「給定類別」的條件下彼此獨立\nNaïve Bayes 的數學根基是 **貝氏定理**:\n\n```\nP(y | X) = P(y) · P(X | y) / P(X)\n```\n\n其中 X = (x₁, x₂, ..., xₙ) 是多個特徵組成的向量。要直接估計 `P(X|y) = P(x₁, x₂, ..., xₙ | y)` 是 **聯合機率**,維度一爆就需要天文數字級的樣本才能估準。\n\n**樸素假設**(conditional independence assumption)說: **給定類別 y 後,各特徵彼此獨立**,所以:\n\n```\nP(X | y) = P(x₁ | y) · P(x₂ | y) · ... · P(xₙ | y) = ∏ P(xᵢ | y)\n```\n\n聯合機率被拆成 **各特徵獨立邊際機率的乘積**,每個 `P(xᵢ|y)` 只要估一維分佈即可,**樣本需求量降為線性**(n 個一維 vs 一個 n 維)。\n\n本題 `GaussianNB` 的具體做法:對每個類別 y、每個特徵 xᵢ,假設 `P(xᵢ|y) ~ N(μᵢ_y, σᵢ_y²)`,從訓練資料估出 μ 和 σ。預測時:\n\n```python\n# 對 [2, 3] 預測\nlog P(y=0 | x) ∝ log P(y=0) + log N(2; μ₁_0, σ₁_0²) + log N(3; μ₂_0, σ₂_0²)\nlog P(y=1 | x) ∝ log P(y=1) + log N(2; μ₁_1, σ₁_1²) + log N(3; μ₂_1, σ₂_1²)\n# 取較大那個當預測類別 → 這題顯然是 0\n```\n\n**為什麼叫「樸素」**——因為這個獨立假設 **現實中幾乎不會完全成立**(身高和體重明顯相關、文字裡相鄰詞彙也相關),但 **即使違反假設模型還是常常夠用**,反而因為簡化而訓練極快、需要的資料極少。\n\n### 為什麼其他選項錯\n- **(A) 模型公式簡單,只計算平均值**: GaussianNB 確實會算每個特徵在每個類別下的均值,但 **也算變異數** σ²,並結合先驗 `P(y)` 和高斯密度公式做完整機率推論。「只計算平均值」太化簡,而且這也不是「樸素」這個詞要表達的意思——「樸素」特指 **條件獨立假設**,不是泛指「簡單」。\n- **(C) 只用先驗機率,忽略似然函數**: 完全相反。Naïve Bayes 兩者都用: **先驗** `P(y)` × **似然** `P(X|y)` ∝ **後驗** `P(y|X)`。如果忽略似然,模型就會永遠預測最常見的類別(等於 baseline),沒有任何學習能力。\n- **(D) 計算速度快、訓練時間短**: 這是 Naïve Bayes 的 **優點(後果)**,不是「樸素」這個名字的 **由來**。它快是因為條件獨立假設讓估計變簡單——是「樸素」帶來了「快」,而不是「快」就叫樸素。題目問的是名稱由來,不是優點。\n\n### 章節來源\n**L23202 §2.6 Naïve Bayes(樸素貝氏分類器)**: 教材定義「基於貝氏定理,假設給定類別下各特徵彼此條件獨立(naïve assumption)。雖然此假設在現實中常不成立,但模型在文字分類、垃圾郵件過濾等場景仍有良好表現,且訓練速度極快、需要樣本量少」。\n\n**L23202 §2 監督式學習演算法總覽**: 把 Naïve Bayes 列為「**機率型分類器**」的代表,與基於距離(KNN)、基於決策邊界(SVM)、基於切分(Tree)並列為不同思路。\n\n### 融會貫通\nNaïve Bayes 三大變體(sklearn 都有現成的)、對應資料型態:\n\n| 模型 | `P(xᵢ|y)` 分佈假設 | 適用資料 |\n|---|---|---|\n| **GaussianNB** | 常態分佈 N(μ, σ²) | 連續數值特徵(本題) |\n| **MultinomialNB** | 多項式分佈(計數) | **文字分類**(詞頻 / TF-IDF) |\n| **BernoulliNB** | 伯努利分佈(0/1) | 二元特徵(出現/未出現) |\n\n**為什麼樸素假設常常違反但模型還能用?**——這是 Naïve Bayes 最反直覺的地方。學界研究發現,即使特徵實際相關,**只要相關性對所有類別影響類似**,排序仍然正確,argmax 取的還是同一個類別。它預測的「絕對機率值」可能不準,但「哪一類最大」往往對。\n\n**業界典型應用**:\n- **垃圾郵件過濾**(MultinomialNB + 詞頻): 每個單詞當特徵,假設詞與詞之間獨立——明顯違反(「免費」常和「贈品」一起出現),但分類結果依然出色,至今還是 baseline 候選之一\n- **新聞主題分類、情緒分析**: 文字 + MultinomialNB,訓練秒級完成\n- **醫療診斷的快速 baseline**: 在資料極少時 Naïve Bayes 勝過深度模型\n\n**和邏輯迴歸的關係**: Naïve Bayes 是 **生成式模型**(estimate `P(X, y)` 然後反推 `P(y|X)`),Logistic Regression 是 **判別式模型**(直接 estimate `P(y|X)`)。資料少時 NB 勝、資料多時 LR 通常勝(因為 LR 不被獨立假設限制)。\n\n**考前記憶口訣**: 「**Naïve = 條件獨立**,不是『簡單』、不是『快』——是『天真地以為特徵互不相關』」。看到題目問「為什麼叫樸素」反射性答「conditional independence」。",
    "7": "### 題目核心\n**反向題(找錯)**:Random Forest 和 GBDT 的描述,哪一個 **錯誤**?核心在「**Bagging 降 variance、Boosting 降 bias**」這條集成學習鐵律——**選項 C 把方向寫反了**。\n\n### 為什麼答案是 (C) Random Forest 主要降低「偏差(bias)」,GBDT 主要降低「變異(variance)」(顛倒)\n這選項把兩者的角色完全寫反。正確的是 **RF 降 variance、GBDT 降 bias**。背後邏輯要從「偏差-變異分解(bias-variance decomposition)」這個底層概念看起。\n\n**Random Forest = Bagging(Bootstrap Aggregating)**:\n- 每棵樹獨立用 bootstrap 樣本訓練,**並行** 多棵 **深樹(高 variance、低 bias)**\n- 最後 **平均 / 投票** 把多棵樹結果聚合\n- 統計直覺: 多個獨立隨機變數平均後,**variance 變小**(`Var(X̄) = σ²/n`),bias 不變\n- 所以 RF 主要在 **降 variance**——拿一群「容易過擬合的深樹」,平均掉它們的雜訊\n\n```python\n# 一棵深樹: variance 高(對訓練資料噪音敏感)、bias 低(能擬合複雜模式)\n# 100 棵深樹平均 → variance 降到 1/100 級別,bias 維持\nRandomForestClassifier(n_estimators=100, max_depth=None)  # 預設 max_depth=None 就是長到底\n```\n\n**GBDT = Boosting**:\n- 每棵樹 **序列** 訓練,後一棵專門 **修正前一棵的殘差**(把目前的錯誤當新 target 來學)\n- 每棵樹是 **淺樹(weak learner、高 bias、低 variance)**\n- 一棵淺樹 bias 高(欠擬合),但 **多棵淺樹層層疊加** 後逐步把 bias 壓下來\n- 所以 GBDT 主要在 **降 bias**——從欠擬合一步步逼近真實函數\n\n```python\n# 一棵深度 3 的淺樹: bias 高(沒法擬合複雜模式)、variance 低\n# 序列加 100 棵,每棵修正前面殘差 → bias 逐步降低\nGradientBoostingClassifier(n_estimators=100, max_depth=3, learning_rate=0.1)\n```\n\n**為什麼 GBDT 容易過擬合需要早停**: 正因為它一直在「修正殘差」,跑太多棵會把訓練資料的雜訊也當訊號學進去,**variance 反而會慢慢爬上來** → 過擬合。所以業界 GBDT/XGBoost/LightGBM 標配 **early stopping**(在 validation set 連續 N 輪沒進步就停)。\n\n### 為什麼其他選項錯(實為正確描述,因為這是找錯題)\n- **(A) Random Forest 屬 Bagging,多棵樹並行訓練後投票決議**: **正確**。RF 是 Bagging 的代表實作,加上「隨機選特徵子集」這個額外擾動。每棵樹獨立訓練(可平行化),分類用多數決、迴歸用平均。\n- **(B) GBDT 屬 Boosting,每棵樹修正前一棵的錯誤,序列式訓練**: **正確**。Gradient Boosting 的核心就是「在損失函數的梯度方向上加一棵新樹」,每棵新樹學的是當前模型預測值與真實值的殘差/梯度。序列依賴 → 無法平行(只能在「單棵樹內部」平行)。\n- **(D) Random Forest 抗過擬合較強,GBDT 易過擬合常需早停(Early Stopping)**: **正確**。RF 加更多樹通常不會過擬合(平均效應);GBDT 加更多樹會逐步把 variance 拉高,需要 early stopping、learning_rate、subsample、樹深度等多管齊下控制。\n\n### 章節來源\n**L23202 §2.5 Decision Tree / Random Forest**: 教材說明「Bagging 透過 bootstrap sampling 訓練多棵獨立模型後平均,**主要目的是降低變異(variance)**,使單棵高 variance 的決策樹整合後更穩定」。\n\n**L23202 §2.7 Boosting(GBDT / XGBoost)**: 教材說明「Boosting 採序列式訓練,每個弱學習器專注修正前一個的錯誤,**主要降低偏差(bias)**。常見實作包括 AdaBoost、Gradient Boosting、XGBoost、LightGBM。**易過擬合,常搭配 early stopping 與 learning rate 調整**」。\n\n### 融會貫通\n這題是 **集成學習(Ensemble Learning)** 最核心、最常考的觀念。**RF vs GBDT 對照表** 一定要背下來:\n\n| 維度 | Random Forest(Bagging) | GBDT(Boosting) |\n|---|---|---|\n| **訓練方式** | 並行(parallel) | 序列(sequential) |\n| **單棵樹** | 深樹、長到底 | **淺樹**(通常 depth 3-8) |\n| **單棵性質** | **高 variance**、低 bias | **高 bias**、低 variance |\n| **整合方式** | 投票 / 平均 | 加權累加(殘差修正) |\n| **主要降低** | **Variance**(平均效應) | **Bias**(逐步擬合殘差) |\n| **過擬合風險** | 低(加樹通常變更好) | **高**(加太多會過擬合) |\n| **超參數重點** | n_estimators、max_features | **n_estimators、learning_rate、early_stopping** |\n| **訓練速度** | 快(可平行) | 慢(序列依賴) |\n| **業界代表** | sklearn RF、ExtraTrees | XGBoost、LightGBM、CatBoost |\n\n**為什麼這條鐵律會被搞反?** 直覺陷阱在於「Boosting 聽起來很強很穩」、「Random Forest 聽起來很 random 很雜」,所以容易誤以為 Boosting 降 variance、RF 降 bias。**但答案剛好相反**——記住底層原理就不會錯:\n- **Bagging**: **平均 → 降 variance**(數學上 Var(X̄) = σ²/n)\n- **Boosting**: **逐步修正殘差 → 降 bias**(每一步把欠擬合補一點)\n\n**業界 sklearn 慣例 / 模型選擇邏輯**:\n```\n資料量小、特徵雜、要快速 baseline → Random Forest\n  └─ 不太需要調參,n_estimators=100~500 就夠\n資料中大、要榨乾效能、有 GPU 或時間調參 → XGBoost / LightGBM\n  └─ 一定要 early stopping + 調 learning_rate / max_depth / subsample\n資料極大、單機放不下 → LightGBM(直方圖演算法、記憶體最省)\n類別特徵多 → CatBoost(原生支援類別,不用 one-hot)\n```\n\n**面試常問**: 「為什麼 LightGBM 在 Kaggle 表現比 RF 好?」答: 「Boosting 能降 bias 達到更高上限,而 RF 受限於 base learner 的平均效應;不過 LightGBM 需要小心調參和 early stopping,RF 則是 fire-and-forget 的 baseline 王者。」\n\n**考前記憶口訣**: 「**Bagging 降 variance(平均抵消雜訊)、Boosting 降 bias(序列修正錯誤)**」——這 12 個字記熟,反向題或正向題都能秒答。看到「RF 降 bias」或「GBDT 降 variance」直接打 X。",
    "8": "### 題目核心\n資料的 y **只與 feature 0 相關**（`y = (X[:, 0] > 0.5)`），feature 1、2 純粹是雜訊。問訓練完 `RandomForestClassifier` 後 `model.feature_importances_`（依特徵原始順序）最可能是哪個結果。\n\n### 為什麼答案是 (B) [0.90 0.05 0.05]\nRandom Forest 的 `feature_importances_` 預設用 **MDI（Mean Decrease in Impurity）** 計算：每棵樹分裂時，看「用某特徵切」帶來多少 Gini / entropy 下降，所有樹平均再 **normalize 讓總和為 1**。\n\n關鍵推理三步：\n\n1. **順序不會被排序**：`feature_importances_[i]` 對應 `X[:, i]`，所以 index 0 永遠是 feature 0、index 2 永遠是 feature 2。先把選項當成「[feat0, feat1, feat2]」讀。\n\n2. **feature 0 是真訊號**：`y = (X[:, 0] > 0.5)` 一刀就完美分類，每棵樹幾乎都會在 root 用 feature 0 切，貢獻絕大部分 impurity 下降 → importance 接近 1。\n\n3. **雜訊特徵殘留小量分裂**：森林裡有 100 棵樹、每個節點還隨機抽特徵子集（`max_features`），偶爾在深層節點抽不到 feature 0、就用 feature 1 或 2 「碰巧」切一下，所以雜訊特徵的 importance **不會剛好是 0，會殘留 0.03~0.08 左右**。\n\n三項合計約 0.90 + 0.05 + 0.05 = 1.00，與選項 B 完全吻合。\n\n### 為什麼其他選項錯\n- **(A) [0.05 0.05 0.90]**：把真訊號擺到 feature 2 的位置了。`feature_importances_` 是按 **特徵原始順序**（feature 0, 1, 2）排，不是依重要性大小由小到大或由大到小重新排序。看到 0.90 在最後就是順序搞反。\n- **(C) [0.33 0.34 0.33]**：以為三個特徵平均分配 importance。這只有在三個特徵對 y 的解釋力**完全相同**（例如三個都是 noise，或三個都是同等訊號）才會出現，與題目「只有 feature 0 重要」矛盾。\n- **(D) [1.00 0.00 0.00]**：太絕對。Random Forest 有 `bootstrap`、`max_features` 兩層隨機性，雜訊特徵在某些樹的深層節點一定會被選到並做出（看似有意義的）分裂，importance 不會剛好歸零。除非用單一棵且 `max_features=1` 強制只看 feature 0，否則 0.00 不會出現。\n\n### 📖 章節來源\n**L23202 §2.5 Decision Tree / Random Forest — feature_importances_ 解讀**：教材講 RF 把每次分裂的 impurity 下降平均到所有樹，得出特徵重要性；屬性值順序對應 `X` 的欄位順序，總和為 1。\n\n**L23202 §2.5 — 雜訊特徵的處理**：隨機森林靠 bagging + feature subsampling 提供 variance reduction，但同時也讓「噪聲特徵」在少數樹裡被選中，造成 importance **不會真的歸零**，這是判讀重要性時要注意的「baseline noise」。\n\n### 融會貫通\n這題踩三個 sklearn 慣例陷阱，未來看到 `feature_importances_` 題立刻檢查：\n\n1. **順序對應 X 的欄位順序**：`importances[i]` ↔ `X[:, i]`，**不會自動排序**。要排序得自己 `np.argsort(-importances)`。\n2. **總和為 1**（MDI 經過 normalize），看選項時用「三個值加起來是不是 1」當粗略驗證。\n3. **雜訊不會是 0**：即使理論上某特徵與 y 無關，RF 多棵樹 + feature subsampling 會讓它「碰巧」分到一點點。0.00 通常是錯誤選項。\n\n**識別陷阱**：\n- 「順序顛倒」型干擾選項（A）：把真訊號的 importance 擺到非 0 號位置。**寫程式時先檢查哪個 feature 與 y 相關，再對位**。\n- 「平均分配」型干擾選項（C）：通常代表「沒有任何特徵跟 y 相關」或「全部一樣相關」的情境。\n- 「絕對 0/1」型干擾選項（D）：違反 RF 的隨機性本質，幾乎一定是錯的（除非題目強制 `n_estimators=1` 且 `max_features=1`）。\n\n**考前口訣**：「**importance 按 X 欄位順序、總和為 1、雜訊也有殘量**」。看到單一強訊號題型，挑「真訊號那欄 ~0.9、其他殘量 ~0.05」的選項就對了。",
    "9": "### 題目核心\n用 sklearn 的 **KMeans(n_clusters=3)** 對 100 筆隨機資料分群，問 `sorted(set(labels))`（labels 唯一值排序後）會印出什麼。考點是 **KMeans labels 的取值範圍與起始 index**。\n\n### 為什麼答案是 (B) [0, 1, 2]\nsklearn 所有分群器（除了 noise-aware 的 DBSCAN）回傳的 labels 都是 **以 0 為起點的整數**：\n\n```\nlabels ∈ {0, 1, 2, ..., n_clusters - 1}\n```\n\n題目 `n_clusters=3` → 三個群的 label 分別是 **0、1、2**。\n\n執行流程拆解：\n1. `model = KMeans(n_clusters=3, random_state=0, n_init=10)`：宣告 3 群、固定隨機種子、跑 10 次取最佳。\n2. `labels = model.fit_predict(X)`：對 100 筆 (200 個座標) 跑 KMeans，回傳長度 100 的整數陣列，每個元素 ∈ {0, 1, 2}。\n3. `sorted(set(labels))`：去重後排序 → `[0, 1, 2]`。\n\n只要 KMeans 收斂（資料 ≥ n_clusters 且各群非空），結果**一定**是 `[0, 1, ..., n_clusters-1]`，與資料分佈、隨機種子無關。\n\n### 為什麼其他選項錯\n- **(A) [1, 2, 3]**：把 label 起點當成 1。這是 MATLAB / R 的習慣（1-indexed），sklearn / numpy 是 **0-indexed**，永遠從 0 起算。\n- **(C) [0, 1, 2, 3]**：多了一個 label 3，意味分成 4 群。但 `n_clusters=3` 已經寫死成 3 群，KMeans 不會主動多開一群。\n- **(D) [-1, 0, 1, 2]**：把 DBSCAN 的 noise 標記 **`-1`** 套到 KMeans 身上。**KMeans 不會產生 -1**，因為它強迫每個點都歸到最近的 centroid，沒有「拒絕分群」的概念。-1 只會出現在 DBSCAN 的 noise point（見 Q10）。\n\n### 📖 章節來源\n**L23202 §3.1 K-Means — 演算法輸出**：K-Means 用 `n_clusters` 指定群數 K，演算法把每個樣本分配到最近 centroid，輸出的 cluster id 為 **0 到 K-1**。教材強調 K-Means 是 **hard assignment、不容許 noise**，每個點都必須歸群。\n\n**L23202 §3.1 — sklearn API 慣例**：`fit_predict` 回傳整數陣列，shape=(n_samples,)，值域 `[0, n_clusters)`。`cluster_centers_` 的 shape 是 `(n_clusters, n_features)`，第 i 列對應 label i 的中心點。\n\n### 融會貫通\n這題核心是 **「sklearn 分群器的 label 編碼規則」**，記住三條鐵則：\n\n1. **0-indexed**：sklearn / numpy 都從 0 開始（不像 R / MATLAB）。看到 label 從 1 起算的選項先排除。\n2. **KMeans 強制歸群**：每個點都必定有 label，不會出現 -1。Label 數量恰等於 `n_clusters`。\n3. **Label 編號無語意**：label 0 不代表「第一群」或「最大群」，純粹是 sklearn 隨機編號（與初始 centroid 順序有關）。換個 `random_state` 編號可能完全洗牌，但**值域永遠是 {0, 1, ..., K-1}**。\n\n**對照 Q10（DBSCAN）**——這是本題組重要的雙題對照：\n| 項目 | KMeans (Q9) | DBSCAN (Q10) |\n|------|-------------|--------------|\n| 群數 | 預先指定 `n_clusters` | 自動決定 |\n| labels 值域 | `[0, K-1]` | `[-1, 0, 1, ...]` |\n| `-1` 的意義 | **不存在** | noise point（孤立點） |\n| 強制歸群 | 是 | 否，可拒絕雜訊 |\n\n**識別陷阱**：選項 (D) 故意混入 -1 來測試你是否分得清 KMeans vs DBSCAN。看到 -1 就要立刻反射「這是 DBSCAN，不是 KMeans」。\n\n**考前口訣**：「**KMeans 從 0 到 K-1，沒有 -1；-1 是 DBSCAN 的 noise**」。看到 `n_clusters=N`，labels 唯一值就是 `[0, 1, ..., N-1]`，連算都不用算。",
    "10": "### 題目核心\n用 **DBSCAN(eps=1.5, min_samples=2)** 對 4 個樣本分群，前 3 個點 `[1,1] [1,2] [2,1]` 緊密相鄰、最後一個 `[10,10]` 孤立在遠方。問 `labels` 印出的內容。考點是 **DBSCAN 對 noise point 的標記方式（-1）**。\n\n### 為什麼答案是 (C) [0 0 0 -1]\nDBSCAN 兩個核心參數：\n\n- `eps=1.5`：兩點距離 ≤ 1.5 才算「鄰居」\n- `min_samples=2`：在 eps 半徑內至少要有 2 個點（含自己）才能算 **core point**\n\n逐點分析：\n\n1. **`[1, 1]`**：在 eps=1.5 內可找到 `[1, 2]`（距離 1.0）、`[2, 1]`（距離 1.0），鄰居數 ≥ 2 → **core point**，分到群 0。\n2. **`[1, 2]`**：可找到 `[1, 1]`（距離 1.0）、`[2, 1]`（距離 √2≈1.41 < 1.5），≥ 2 個鄰居 → core point，併入群 0。\n3. **`[2, 1]`**：可找到 `[1, 1]`（1.0）、`[1, 2]`（≈1.41），≥ 2 → core point，併入群 0。\n4. **`[10, 10]`**：與其他三點距離都 > 11，eps=1.5 內找不到任何鄰居（min_samples=2 達不到）→ 不是 core，也不是任何 core 的鄰居 → **noise point**，標記為 **`-1`**。\n\n最終 `labels = [0, 0, 0, -1]`，與選項 C 相符。\n\n### 為什麼其他選項錯\n- **(A) [0 0 0 0]**：以為 DBSCAN 會像 KMeans 一樣強迫每個點歸群。**DBSCAN 的核心精神就是「可以不歸群」**，孤立點會被丟到 noise（-1），不會硬塞到別群。\n- **(B) [0 0 0 1]**：把孤立點當成「自成一群」標為 1。但 DBSCAN 不會幫單點開新群——`min_samples=2` 表示要有 2 個點才可能成群，單點自己達不到門檻，只能是 noise。**這是 DBSCAN 與 KMeans 的關鍵差異**。\n- **(D) [0 1 2 3]**：把 DBSCAN 誤解成 KNN 或「每筆樣本一群」。即使三個緊密點，只要兩兩距離 ≤ eps 且滿足 min_samples，就會被合併成同群，不會各自一群。\n\n### 📖 章節來源\n**L23202 §3.2 DBSCAN — 三類點分類**：教材定義 DBSCAN 把資料點分成 **core point（密度足夠）**、**border point（在 core 的 eps 範圍內但本身不夠密）**、**noise point（密度不足且不在任何 core 的鄰域內）**。Noise 在 sklearn 實作中標為 **`-1`**。\n\n**L23202 §3.2 — DBSCAN vs KMeans 對照**：DBSCAN 不需指定群數、能自動發現任意形狀的群、且能拒絕雜訊；缺點是對 eps / min_samples 敏感，且高維下距離意義變弱。KMeans 則強制每點歸群、只能找凸形群，但效率高、超參數簡單。\n\n### 融會貫通\n這題的核心 take-away：**DBSCAN 的 `-1` 標記是它與 KMeans 最重要的行為差異**。\n\n業界使用判準：\n1. **不知道幾群** → DBSCAN（自動決定）；**已知或限定群數** → KMeans\n2. **資料有離群值要排除** → DBSCAN（自動標 -1，後續可 `mask = labels != -1` 過濾掉）；KMeans 會被離群值拉偏 centroid\n3. **群是非凸形（同心圓、新月）** → DBSCAN；KMeans 只能切凸群\n\n**對照 Q9（KMeans）— 雙題對照核心**：\n| 行為 | KMeans (Q9) | DBSCAN (Q10) |\n|------|-------------|--------------|\n| labels 起點 | 0 | -1（noise）或 0（群） |\n| `-1` 出現？ | **永遠不會** | **孤立點會** |\n| 群數來源 | `n_clusters` 寫死 | 演算法自動算 |\n| 處理離群值 | 硬塞最近群 | 標為 -1 拒絕歸群 |\n\n**識別陷阱**：\n- 看到題目強調「孤立點」「離群值」「相距甚遠的樣本」，且用 DBSCAN → 直覺反射「會有 -1」。\n- 看到 `min_samples=2`，記得 **單點絕對無法自成一群**（至少要 2 個近鄰，含自己）。如果題目改成 `min_samples=1`，孤立點就會自成一群（label 1），但這違反 DBSCAN 通用慣例。\n- 過濾 noise 的標準寫法：`X_clean = X[labels != -1]`。\n\n**考前口訣**：「**DBSCAN 三類點：core / border / noise，noise 標 -1**」「**KMeans 沒有 -1，看到 -1 就是 DBSCAN**」。Q9 + Q10 是一組「sklearn 分群 label 語意」的對照題組，背熟兩個演算法的 label 規則，這類題秒殺。"
  },
  "code_L23203": {
    "1": "### 題目核心\n\n驗證 **ReLU 對五個樣本（含負數、零、正數）的輸出**。題目用 `F.relu(x)` 跑 `tensor([-2.0, -0.5, 0.0, 1.5, 3.0])`，要選對應輸出 tensor。ReLU 的定義單純：**負數歸 0、非負數原樣保留**。\n\n### 為什麼答案是 (B) `tensor([0.0, 0.0, 0.0, 1.5, 3.0])`\n\nReLU（Rectified Linear Unit）的數學定義：\n\n```\nReLU(x) = max(0, x)\n```\n\n逐元素套到輸入向量 `[-2.0, -0.5, 0.0, 1.5, 3.0]`：\n\n- `x = -2.0` → `max(0, -2.0) = 0.0`\n- `x = -0.5` → `max(0, -0.5) = 0.0`\n- `x =  0.0` → `max(0,  0.0) = 0.0`（**邊界值 0 屬於非負，但 max(0,0)=0**）\n- `x =  1.5` → `max(0,  1.5) = 1.5`\n- `x =  3.0` → `max(0,  3.0) = 3.0`\n\n組起來剛好就是 `tensor([0.0, 0.0, 0.0, 1.5, 3.0])`，對應選項 (B)。\n\nPyTorch 在實作上 `F.relu` 是 element-wise 操作，不會改變 tensor 的 shape／dtype，只是把每個元素分別走 `max(0, x)`，所以 `out.shape == x.shape == torch.Size([5])`。\n\n順帶提一個工程細節：`F.relu(x)` 預設是 out-of-place（回傳新 tensor），如果要 in-place 省記憶體可用 `F.relu(x, inplace=True)` 或 `nn.ReLU(inplace=True)`，但 in-place 會把 autograd 追蹤的原值蓋掉，遇到 ResNet 這種需要 skip connection 的結構容易出問題，預設用 out-of-place 比較安全。\n\n### 為什麼其他選項錯\n\n- **(A) `tensor([-2.0, -0.5, 0.0, 1.5, 3.0])`**：原封不動回傳——這是 **Identity / 沒做 ReLU** 的結果，犯了「以為 ReLU 是恆等函數」的錯。\n- **(C) `tensor([2.0, 0.5, 0.0, 1.5, 3.0])`**：把負數取絕對值——這是 `torch.abs(x)`，不是 ReLU。\n- **(D) `tensor([-2.0, -0.5, 0.0, 0.0, 0.0])`**：把正數歸 0、負數保留——剛好是 ReLU 的**反向**，等於 `-F.relu(-x) - x` 之類的怪東西。\n\n### 章節來源\n\n**L23203 §2.2 Activation Function — ReLU**：ReLU 是深度學習最常用的激活函數，定義為 `max(0, x)`。優點是計算便宜（只要比較與賦值）、在正區間導數恆為 1，**有效緩解 sigmoid／tanh 的梯度消失問題**；缺點是「Dying ReLU」——若神經元長期落在負區間，梯度為 0 永遠不更新，所以後續有 LeakyReLU、PReLU、ELU、GELU 等變體。\n\n### 融會貫通\n\n- **ReLU 的三段口訣**：「**負歸零、零還零、正照舊**」——iPAS 任何 ReLU 計算題用這三句套就對。\n- **梯度版本**：`ReLU'(x) = 1 if x > 0 else 0`，所以反向傳播時負區間梯度為 0，這就是 Dying ReLU 的根源。\n- **常見變體**：`LeakyReLU(α=0.01)` 在負區間給小斜率 α，避免完全死亡；`GELU`（BERT/GPT 用）是 ReLU 的平滑版本，`x · Φ(x)`。\n- **工程慣例**：CNN／MLP 隱藏層**預設 ReLU**；只有在輸出層、特殊場景（GAN generator 末層 tanh、二元分類末層 sigmoid、多元分類末層 softmax）才換掉。\n- **debug 小技巧**：訓練不動、loss 卡住，先檢查是否「整層 ReLU 後 activation 全 0」（dying ReLU），可換 LeakyReLU 或調 learning rate / 初始化。",
    "2": "### 題目核心\n\n`F.softmax(logits, dim=0)` 把任意 logits 轉成**機率分佈**，題目問 `probs.sum().item()` 取四位小數後是多少。關鍵性質：**softmax 的輸出總和恆等於 1**（在指定 dim 上）。\n\n### 為什麼答案是 (B) `1.0`\n\nSoftmax 的定義：對輸入向量 `x = [x_1, x_2, ..., x_n]`，\n\n```\nsoftmax(x_i) = exp(x_i) / Σ_j exp(x_j)\n```\n\n**分母就是所有分子的總和**。把所有 `softmax(x_i)` 加起來：\n\n```\nΣ_i softmax(x_i) = Σ_i [exp(x_i) / Σ_j exp(x_j)]\n                 = [Σ_i exp(x_i)] / [Σ_j exp(x_j)]\n                 = 1\n```\n\n具體代入題目 `logits = [2.0, 1.0, 0.1]`：\n\n- `exp(2.0) ≈ 7.389`\n- `exp(1.0) ≈ 2.718`\n- `exp(0.1) ≈ 1.105`\n- 分母 `Z = 7.389 + 2.718 + 1.105 ≈ 11.212`\n- `probs ≈ [7.389/11.212, 2.718/11.212, 1.105/11.212] ≈ [0.6590, 0.2424, 0.0986]`\n- 總和 `≈ 0.6590 + 0.2424 + 0.0986 = 1.0000` ✓\n\n`round(1.0, 4) = 1.0`，所以答案 (B)。\n\n**物理意義**：softmax 之所以叫「soft」（軟性）+「max」（最大），是因為它把 logits 平滑映射成機率分佈——最大的 logit 拿到最高機率（但不像 argmax 那樣 one-hot），其他類別仍保留一點機率質量，整個分佈總和為 1 滿足機率公理。\n\n### 為什麼其他選項錯\n\n- **(A) `0.0`**：完全不可能，`exp(x) > 0` 對所有實數成立，softmax 的每個分量都嚴格大於 0，總和不可能是 0。\n- **(C) `3.1`**：這是 `logits.sum() = 2.0 + 1.0 + 0.1 = 3.1`，犯了「以為 softmax 保留原本總和」的錯——softmax 是非線性操作，會**重新縮放**，總和強制歸一。\n- **(D) 取決於 logits 值**：完全錯——softmax 的精妙就在「**無論 logits 多大多小、正負，總和恆為 1**」，這是它能作為機率分佈的數學保證。\n\n### 章節來源\n\n**L23203 §2.2 Activation Function — Softmax / §2.4 Loss function**：Softmax 是多元分類網路**輸出層**的標準激活函數，把 K 個 logit 映射到 K 維機率單形（probability simplex），配合 cross-entropy loss 形成 `nn.CrossEntropyLoss`（內含 `log_softmax + NLLLoss`）。在 §2.4 損失函數章節，softmax + CE 是多元分類問題的黃金組合，梯度形式特別漂亮：`∂L/∂z_i = p_i - y_i`（預測機率減 one-hot 標籤）。\n\n### 融會貫通\n\n- **softmax 三性質口訣**：「**正、和為 1、放大差異**」——每個輸出 ∈ (0,1)、總和 = 1、logit 差異經 exp 後被放大（最大那項拿走主要機率）。\n- **temperature 縮放**：`softmax(x / T)`，T → 0 趨近 argmax（尖銳分佈）、T → ∞ 趨近均勻分佈。LLM 文字生成的 temperature 就是這個 T。\n- **數值穩定性**：實作時要減去 max 防止 overflow，PyTorch 內建已處理：`softmax(x) = softmax(x - max(x))`（數學等價但避免 `exp(大數)` 爆掉）。\n- **dim 參數**：`dim=0` 沿第 0 軸做 softmax；多分類任務的 `(batch, num_classes)` 通常用 `dim=1` 或 `dim=-1`，**沿類別軸**才對；用錯 dim 是初學者常見 bug。\n- **訓練實務**：用 `nn.CrossEntropyLoss` 時**輸出層不要再套 softmax**（loss 內部已含 log_softmax），重複套會讓梯度幾乎消失。\n- **考前提醒**：看到「softmax 總和」「機率分佈」一律答 1.0，這題是送分題。",
    "3": "### 題目核心\n\n四個關於 **Sigmoid 在深層網路問題**的描述，找出**「錯誤」**那項。重點觀念：Sigmoid 導數最大值是 **0.25（在 x=0 處）**，往兩端飽和趨近 0，造成梯度消失（vanishing gradient）。\n\n### 為什麼答案是 (D) Sigmoid 在所有區間梯度都接近 0.5\n\n(D) 錯在兩個地方：\n\n**錯誤一：數值錯**。Sigmoid 的導數公式：\n\n```\nσ(x)  = 1 / (1 + exp(-x))\nσ'(x) = σ(x) · (1 - σ(x))\n```\n\n求最大值對 σ' 微分，令 `σ(x) = 0.5`（即 x = 0），代入：\n\n```\nσ'(0) = 0.5 · (1 - 0.5) = 0.25\n```\n\n**Sigmoid 導數的全域最大值是 0.25**，不是 0.5。0.5 是 sigmoid **函數值** σ(0) 在 x=0 的值，不是導數。出題者刻意把「函數值」和「導數值」混淆。\n\n**錯誤二：「所有區間梯度都接近 0.5」這句本身也假**。Sigmoid 導數在兩端急速衰減：\n\n- `σ'(0) = 0.25`（最大）\n- `σ'(±2) ≈ 0.10`\n- `σ'(±5) ≈ 0.0066`\n- `σ'(±10) ≈ 4.5e-5`（**幾乎為 0，飽和**）\n\n所以梯度根本不是「都接近 0.5」，而是「**中央 0.25，兩端急降到 ~0**」。這正是深層網路用 sigmoid 會 vanishing gradient 的根源——多層連乘 `0.25 × 0.25 × 0.25 × ... = 4^(-L)` 指數衰減。\n\n### 為什麼其他選項錯（都正確，不是答案）\n\n- **(A) |x| 很大時 Sigmoid 進入飽和區，梯度趨近 0**：正確。`σ'(±10) ≈ 4.5e-5`，這就是飽和（saturation）。\n- **(B) 多層 Sigmoid 串聯時反向傳播梯度連乘易出現 vanishing gradient**：正確。反向傳播每層乘上 `σ'`，最大也只有 0.25，L 層後梯度 ≤ `0.25^L`，深度一過 5-6 層底層幾乎不學習。這是 1990s-2010 年代 deep net 訓不起來的核心痛點。\n- **(C) ReLU 取代 Sigmoid 是解決梯度消失的主流做法**：正確。ReLU 在正區間導數恆為 1，連乘不衰減，是 2012 AlexNet 後的隱藏層標配。Sigmoid 現在只用在二元分類**輸出層**、LSTM/GRU 的 gate 機制。\n\n### 章節來源\n\n**L23203 §2.2 Activation Function — Sigmoid／§2.3 Backward propagation — Vanishing Gradient**：Sigmoid 是早期神經網路的主流激活函數，但因導數最大僅 0.25、兩端飽和，深層網路反向傳播時梯度連乘急速衰減，造成底層權重幾乎不更新。§2.3 反向傳播章節會推導鏈鎖律 `∂L/∂W_l = ∂L/∂a_L · ∏(σ' · W)`，正是這個連乘讓 sigmoid 在深層失靈。ReLU 的崛起（Krizhevsky 2012 AlexNet）就是為了解決這個問題。\n\n### 融會貫通\n\n- **Sigmoid 三個關鍵數字必背**：函數值 σ(0)=0.5、導數最大 σ'(0)=0.25、飽和區梯度 ≈ 0。\n- **vanishing gradient 公式直覺**：L 層 sigmoid 網路反向傳播時，底層梯度 ≤ `0.25^L`。L=10 時 ≈ `9.5e-7`，幾乎為 0。\n- **何時還能用 Sigmoid**：(1) 二元分類輸出層配 `BCELoss`、(2) LSTM/GRU 的 input/forget/output gate（這裡需要 0~1 區間當開關，0.25 的梯度問題在 LSTM 用 cell state 繞過）、(3) Attention 的某些 gating 設計。\n- **Tanh 比較**：tanh 導數最大值是 1（在 x=0），比 sigmoid 好一點，但兩端仍飽和，深層還是不行。\n- **現代解法堆疊**：ReLU/GELU + 殘差連線（ResNet）+ BatchNorm/LayerNorm + 良好初始化（Kaiming/Xavier），這四件套讓 100+ 層深網路也能訓起來。\n- **考前口訣**：「sigmoid 導數最大 0.25，兩端飽和趨近 0」——看到「0.5」「所有區間」這種絕對化敘述就是陷阱選項。",
    "4": "### 題目核心\n\n判斷 `nn.Dropout(p=0.5)` 在 `model.train()` vs `model.eval()` 模式下的**行為差異**。關鍵：**PyTorch 採用 inverted dropout**——訓練時隨機丟棄並把保留神經元乘以 `1/(1-p)` 補償，測試時整個 dropout 自動關閉、deterministic。\n\n### 為什麼答案是 (B) 訓練時隨機丟棄並把保留神經元乘以 1/(1-p) 補償；測試時全部保留、不丟棄\n\nDropout 的核心想法：訓練時隨機把每個神經元以機率 `p` 設為 0（drop），強迫網路不要過度依賴某幾個神經元、學到更 robust 的特徵——這是一種隱式的 **ensemble + regularization**。\n\n**問題**：如果訓練時平均「保留 (1-p) 比例」、測試時「全保留」，兩者輸出的**期望尺度不一致**，下游層的統計分佈會錯亂。\n\n**解法有兩種，PyTorch 用第二種（inverted dropout）**：\n\n1. **Vanilla dropout**：訓練時丟棄，測試時把所有 activation 乘以 `(1-p)` 縮放（補償期望）。\n2. **Inverted dropout（PyTorch 採用）**：訓練時丟棄後，把保留的神經元乘 `1/(1-p)` 補償；測試時什麼都不做。\n\nPyTorch 用 inverted 的好處：**推論程式碼乾淨**——`model.eval()` 一切就 deterministic，不必在 forward 寫條件分支縮放。\n\n具體拆解題目程式：\n\n```python\nmodel = nn.Sequential(nn.Linear(10, 64), nn.ReLU(), nn.Dropout(p=0.5))\n\nmodel.train()   # dropout 啟動：50% 神經元歸 0，保留的 ×2（=1/(1-0.5)）\nout1 = model(x) # 每次跑都不同（隨機）\n\nmodel.eval()    # dropout 關閉：64 個神經元全部保留，不縮放\nout2 = model(x) # deterministic，多次跑結果完全一樣\n```\n\n這完全對應 (B) 的描述。\n\n### 為什麼其他選項錯\n\n- **(A) 訓練與測試都隨機丟棄部分神經元**：錯。測試（`eval()`）必須關掉 dropout——若測試還隨機丟，模型輸出無法重現、效能下降，且無法跟 baseline 公平比較。\n- **(C) 訓練時不丟棄，測試時才丟棄**：完全顛倒——dropout 是**訓練階段的正則化技巧**，目的是「避免訓練 overfit」，怎麼可能反過來在測試時丟？\n- **(D) Dropout 不影響輸出**：錯。`model.train()` 下 dropout 顯然會改變輸出（隨機 mask + 縮放），題目中 `out1` 每次跑都不一樣。\n\n### 章節來源\n\n**L23203 §2.5 Overfitting / Regularization — Dropout**：Dropout（Hinton 2012）是深度學習最常用的正則化技巧之一。訓練時以機率 `p` 隨機把神經元輸出設為 0，迫使網路學到分散表示、不過度依賴特定路徑；推論時保留全部神經元以取得確定性、最佳化的輸出。配合 `model.train()` / `model.eval()` 切換是 PyTorch 工作流的標準動作，與 BatchNorm 並列為「**訓練/評估模式差異最大的兩個 layer**」。\n\n### 融會貫通\n\n- **核心口訣**：「**train 丟+補償、eval 不丟**」——PyTorch 採 inverted dropout，補償係數 `1/(1-p)`。\n- **`model.train()` / `model.eval()` 影響的不只 Dropout**：BatchNorm 也會切換（train 用 batch 統計、eval 用 running mean/var）、LayerNorm 則不受影響、`nn.Dropout2d/3d` 同樣切換。\n- **推論時忘記 `model.eval()` 是經典 bug**：會發現「同一張圖預測結果每次不同」「測試 accuracy 突然掉一截」，先檢查有沒有 `eval()`。\n- **`torch.no_grad()` 是另一回事**：`no_grad()` 關閉梯度計算（省記憶體），跟 train/eval 模式**正交**——標準推論寫法是 `model.eval()` + `with torch.no_grad():` 兩個都要。\n- **Dropout 的位置**：通常放在 Linear / Conv 之後、Activation 之後（業界慣例 `Linear → ReLU → Dropout`），不要放在最後的輸出層。\n- **業界 p 經驗值**：MLP 隱藏層 `p=0.5`、CNN 卷積層 `p=0.1~0.3`、Transformer 各處 `p=0.1`。p 太大會 underfit。\n- **MC Dropout 例外**：貝氏不確定性估計時故意在 eval 也保留 dropout（手動 `model.train()` 或自寫），跑多次取平均/方差——這是進階用法，考試不考但工程很實用。",
    "5": "### 題目核心\n\nPyTorch 訓練迴圈缺了 **`optimizer.zero_grad()`**——PyTorch 的 `.grad` **預設累加**，沒主動清零會跨 batch 殘留，導致梯度爆炸與不收斂。\n\n### 為什麼答案是 (A) 應在 `loss.backward()` 之前呼叫 `optimizer.zero_grad()`\n\nPyTorch 的設計哲學是「梯度累加」（accumulate）：每次 `loss.backward()` 都是把這個 batch 算出來的梯度 **加到** `param.grad` 上，而不是覆蓋它。這個設計刻意保留給 gradient accumulation（小顯卡跑大 batch 的常見 trick）使用，代價就是——你不主動清，它就一路累。\n\n正確的標準 boilerplate 順序是這樣：\n\n```python\nfor x, y in loader:\n    optimizer.zero_grad()      # 1. 先把 .grad 歸零（或設為 None）\n    out  = model(x)            # 2. forward\n    loss = criterion(out, y)   # 3. 算 loss\n    loss.backward()            # 4. backward 算梯度（寫入 .grad）\n    optimizer.step()           # 5. 用 .grad 更新權重\n```\n\n題目的 code 把第 1 步整個漏掉。第二個 batch 進來時，`param.grad` 還掛著上一個 batch 的梯度，`backward()` 在上面繼續加，`step()` 拿到的就是「過去所有 batch 梯度的總和」——方向亂、量級爆，loss 曲線會劇烈震盪甚至 NaN。\n\n放的位置「在 `backward()` 之前」是關鍵：只要在這個 batch 的梯度算出來之前清掉就行，所以放在迴圈第一行最直觀。\n\n### 為什麼其他選項錯\n\n- **(B) PyTorch 會自動清空梯度**：完全相反。PyTorch 預設**累加**梯度，從來不自動清。這個誤解是初學者最常見的踩雷點之一，TensorFlow 1.x 倒是會自動清，所以從 TF 過來的人特別容易中招。\n- **(C) `step()` 之後再 `backward()`**：順序顛倒，根本跑不起來。`step()` 需要 `.grad` 才能更新；`.grad` 必須先 `backward()` 才會被填上。這個次序錯了會直接拿到 `None` 或舊梯度。\n- **(D) 用 `model.zero_grad()` 取代 `optimizer.step()`**：兩個函式做的事完全不同，不能互換。`model.zero_grad()` 是清梯度（等同 `optimizer.zero_grad()`，差別是後者只清這個 optimizer 管的參數），`step()` 是更新權重。把更新拿掉模型永遠不會學。\n\n### 章節來源\n\n**L23203 §4.2 PyTorch — 訓練迴圈三步驟**：PyTorch 訓練的標準三步是 `zero_grad → backward → step`，缺一不可。PyTorch 把梯度清零的責任交給使用者，這是它與 TensorFlow/Keras 的核心差異——換來的是 gradient accumulation、multi-loss backward、freeze 部分參數等高度自訂能力。\n\n### 融會貫通\n\n- **背口訣**：`zero → forward → loss → backward → step`，五步缺一不可。考試看到 PyTorch 訓練迴圈第一件事就掃有沒有 `zero_grad()`。\n- **進階寫法**：`optimizer.zero_grad(set_to_none=True)`（PyTorch 1.7+）比預設的填 0 更省記憶體、速度也微幅較快——它直接把 `.grad` 設成 `None`，下次 `backward()` 再分配新 tensor。現在這個是業界 default。\n- **Gradient accumulation 應用**：刻意「不清」就能模擬大 batch。例如 batch=8 但想模擬 batch=32，就跑 4 次 `backward()` 累加再 `step()`+`zero_grad()`，等效於 batch=32 的梯度方向：\n\n  ```python\n  for i, (x, y) in enumerate(loader):\n      loss = criterion(model(x), y) / 4   # 記得 normalize\n      loss.backward()\n      if (i + 1) % 4 == 0:\n          optimizer.step()\n          optimizer.zero_grad()\n  ```\n\n- **症狀識別**：訓練 loss 在第 1 個 epoch 開頭看似正常但很快爆炸、NaN、或來回震盪不下降——第一個檢查點就是有沒有 `zero_grad()`。\n- **`model.zero_grad()` vs `optimizer.zero_grad()`**：當你只有一個 optimizer 管全部參數時兩者等價；多 optimizer（如 GAN 的 G 和 D 分開）就要用 optimizer 版本，避免清到不該清的。",
    "6": "### 題目核心\n\n`Conv2d(3, 16, k=3, s=1, p=1)` 套在 `(1, 3, 32, 32)` → **輸出 `(1, 16, 32, 32)`**。關鍵：**`kernel=3 + padding=1` 是經典的 \"same padding\"**，輸出尺寸維持不變。\n\n### 為什麼答案是 (B) `torch.Size([1, 16, 32, 32])`\n\nConv2d 的輸出 shape 是 `(N, C_out, H_out, W_out)`，逐維拆解：\n\n**前兩維（batch、channel）固定**：\n- `N = 1`（input batch 是 1，conv 不改 batch）\n- `C_out = 16`（由 `out_channels=16` 決定，跟 `in_channels` 無關）\n\n**後兩維（H、W）套輸出尺寸公式**：\n\n```\nH_out = floor((H_in + 2*padding - kernel) / stride) + 1\n```\n\n代入：\n```\nH_out = floor((32 + 2*1 - 3) / 1) + 1\n      = floor(31 / 1) + 1\n      = 31 + 1\n      = 32\n```\n\n`W_out` 同理 = 32。所以最終輸出是 `(1, 16, 32, 32)`。\n\n**為什麼這個組合會「剛好維持尺寸」**：當 `padding = (kernel - 1) / 2` 且 `stride = 1` 時，輸出 H/W 永遠等於輸入 H/W，這就是俗稱的 **same padding**。題目 `kernel=3, padding=1` 完全符合 `(3-1)/2 = 1`，因此輸出尺寸 = 輸入尺寸。\n\n### 為什麼其他選項錯\n\n- **(A) `[1, 3, 30, 30]`**：兩個地方都錯。channel 應該是 `out_channels=16` 不是輸入的 3；H/W 算成 30 是漏掉了 padding（`32 - 3 + 1 = 30` 才對應 `padding=0`）。這是初學者最常見的雙重失誤。\n- **(C) `[1, 16, 30, 30]`**：channel 對了（16），但 H/W 30 同樣是漏算 padding。如果題目寫 `padding=0`（即 valid padding），答案才是這個。\n- **(D) `[1, 16, 34, 34]`**：H/W 算成 34 是公式套錯——可能把 `2*padding` 變成 `padding^2` 或多加一次。正確分子應該是 `32 + 2 - 3 = 31`，不是 `32 + 2 = 34`。\n\n### 章節來源\n\n**L23203 §3.2 CNN — Conv2d 輸出尺寸公式**：標準公式 `H_out = floor((H_in + 2P - K) / S) + 1`，這是 CNN 設計每一層必算的基本功。教材特別強調 \"same padding\" 與 \"valid padding\" 的差別：same（`p=(k-1)/2`）保形狀，方便堆深網路；valid（`p=0`）每層縮小，多用在最後幾層或特定降維設計。\n\n### 融會貫通\n\n- **業界口訣（必背）**：\n  - `kernel=3, padding=1, stride=1` → same（最常用，VGG/ResNet 標配）\n  - `kernel=5, padding=2, stride=1` → same\n  - `kernel=7, padding=3, stride=1` → same（ResNet 第一層）\n  - 通用：`padding = (kernel - 1) // 2` 配 `stride=1` 一定 same\n- **降採樣（halving）標準寫法**：`kernel=3, padding=1, stride=2` → 輸出 H/W 變一半。`floor((32+2-3)/2)+1 = floor(31/2)+1 = 15+1 = 16`。ResNet 每個 stage 的開頭就靠這招把 feature map 砍半。\n- **參數量與運算量**：這層權重數 = `in_channels * out_channels * k * k + bias = 3*16*9 + 16 = 448`。每個輸出元素做 `3*9 = 27` 次乘加。考試常考參數量計算，要會手算。\n- **快速驗證法**：在 console 真的跑一次 `print(conv(torch.randn(1,3,32,32)).shape)`，比硬背公式還快。寫 model 時遇到怪 shape 第一招就是 print 每層輸出。\n- **PyTorch 1.9+ 新語法糖**：`Conv2d(..., padding='same')` 可以直接寫字串，但 stride 必須是 1，且不支援所有情境。傳統還是寫數字最穩。\n- **常見坑**：`MaxPool2d(kernel_size=2, stride=2)` 也會把 H/W 砍半，常和 Conv 一起出現在題目裡，公式相同但沒有 channel 變化。",
    "7": "### 題目核心\n\nLSTM 相對於 vanilla RNN 的核心優勢是**透過 cell state 的加性更新與三個 gate**，緩解長序列的 **vanishing gradient（梯度消失）**，讓網路真的能記住遠距離資訊。\n\n### 為什麼答案是 (B) 透過 forget/input/output 閘門與 cell state 加性更新，緩解長序列 vanishing gradient\n\n要看懂為什麼，得先理解 vanilla RNN 為什麼會壞掉。\n\n**Vanilla RNN 的問題**：hidden state 更新是「乘性」的：\n\n```\nh_t = tanh(W_hh · h_{t-1} + W_xh · x_t)\n```\n\n反向傳播時，梯度從第 T 步傳回第 1 步要連乘 T 次 `W_hh` 的 Jacobian。如果這個矩陣的 spectral radius < 1，連乘 T 次後梯度指數衰減 → **vanishing gradient**（學不到遠距依賴）；如果 > 1，指數放大 → **exploding gradient**。實務上序列長度一過 20 步就明顯出問題。\n\n**LSTM 的解法**——引入 cell state `c_t` 和三個 gate：\n\n```\nf_t = σ(W_f · [h_{t-1}, x_t])         # forget gate: 要忘多少舊記憶\ni_t = σ(W_i · [h_{t-1}, x_t])         # input gate: 要記多少新訊息\nc̃_t = tanh(W_c · [h_{t-1}, x_t])      # 候選新記憶\nc_t = f_t * c_{t-1} + i_t * c̃_t       # ★ 加性更新！\no_t = σ(W_o · [h_{t-1}, x_t])         # output gate\nh_t = o_t * tanh(c_t)\n```\n\n關鍵在 `c_t = f_t * c_{t-1} + i_t * c̃_t` 這個**加法**而不是 vanilla RNN 的純連乘。反向傳播時，梯度沿 cell state 走的路徑是 `∂c_t/∂c_{t-1} = f_t`——只要 forget gate 接近 1，梯度就能近乎無損地直通到很遠的 timestep（這就是俗稱的 \"constant error carousel\"，CEC）。網路因此能學到長距依賴。\n\n### 為什麼其他選項錯\n\n- **(A) 參數量增加，表達能力一定更強**：LSTM 確實參數比 vanilla RNN 多（4 倍：對應 4 組權重 f/i/c̃/o），但「參數多 = 表達能力強」是錯誤推論。LSTM 之所以好用不是因為參數多，是因為**架構解決了梯度傳播問題**。同樣參數量的更深 vanilla RNN 一樣會梯度消失。\n- **(C) 訓練速度比 RNN 快很多**：完全相反。LSTM 每個 timestep 要算 4 組 gate（vanilla RNN 只算 1 組），**計算量約 4 倍**，訓練比 vanilla RNN **慢**。後來 GRU（2 組 gate）就是為了在保留優勢下提速。\n- **(D) 完全消除梯度爆炸**：LSTM 只緩解 vanishing，**沒解決 exploding**。實務訓練 LSTM 還是要 `torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)`，否則一個 outlier batch 還是會炸。\n\n### 章節來源\n\n**L23203 §3.3 RNN — LSTM 的 cell state 與三 gate 機制**：教材的核心觀念是 RNN 家族的演化驅動力是「如何讓梯度活著傳到遠處」。Vanilla RNN（1986）→ LSTM（Hochreiter & Schmidhuber 1997，解 vanishing）→ GRU（Cho 2014，簡化加速）→ Transformer（2017，完全用 attention 取代 recurrent，徹底解決長距問題且能並行）。\n\n### 融會貫通\n\n- **三 gate 直覺記法**：\n  - **Forget gate（f）**：「這段舊記憶還有用嗎？」沒用就乘 0 丟掉\n  - **Input gate（i）**：「這個新資訊值得記嗎？」值得才寫進去\n  - **Output gate（o）**：「現在這步要對外輸出多少？」控制揭露程度\n- **GRU 是 LSTM 簡化版**：合併 forget + input 為單一 update gate，砍掉 cell state（直接用 hidden state），參數少 1/4、速度快、效果通常與 LSTM 相當。實務上短序列任務 GRU 常勝出，長序列 LSTM 略有優勢。\n- **LSTM 還是有 exploding**：vanishing 解了，exploding 沒解。SOP 是 `clip_grad_norm_(..., max_norm=1.0)` 配 LSTM 永遠寫上。\n- **Forget gate bias 初始化的小撇步**：把 forget gate 的 bias 初始化成 1（PyTorch `nn.LSTM` 預設沒做，要自己改），讓網路一開始傾向「記得」，訓練更穩、收斂更快。Jozefowicz 2015 經典結論。\n- **2026 業界現況**：純 LSTM/GRU 已被 Transformer 大幅取代，但在**短序列、低延遲、邊緣裝置**情境（語音前端、時序預測、IoT）仍是主力——Transformer 的 O(n²) attention 在短序列反而不划算。\n- **考試陷阱**：「LSTM 解決梯度消失」對；「LSTM 解決梯度爆炸」錯。「LSTM 計算量大」對；「LSTM 訓練快」錯。",
    "8": "### 題目核心\n比較 **Adam vs SGD** 的觀念題，要挑出「錯誤」描述。重點在於拆解 Adam 的**一階動量（momentum）+ 二階動量（自適應學習率）**機制，並破除「Adam 一定贏」的迷思——在 vision/泛化導向的任務，SGD+momentum 的 final loss / generalization 常常反勝 Adam。\n\n### 為什麼答案是 (D) Adam 一定能找到比 SGD 更低的最終 loss / 更好的泛化能力\n這個敘述用了「**一定**」這個絕對化詞，已經先犯了論述大忌；實務上更是直接反例滿地：\n\n- Wilson et al. (2017) 〈*The Marginal Value of Adaptive Gradient Methods in Machine Learning*〉用 CIFAR-10、PTB 等多個 benchmark 證明：**Adam/RMSProp 雖然訓練早期收斂快，但最終測試表現經常輸給調好的 SGD+momentum**。\n- ResNet-50 on ImageNet 至今主流 recipe 仍是 **SGD + momentum 0.9 + weight decay 1e-4 + cosine lr schedule**，沒人用 Adam 當預設。\n- 直覺解釋：Adam 的二階動量（`v_t`）會把每維 gradient scale 自動拉平，這在 sparse gradient（NLP、embedding）很香；但對 dense gradient（CNN），這個自動縮放反而讓 weight 落在比較「平」的 minimum 周圍，**flat minimum 雖然 train loss 低、但測試泛化反而不如 SGD 找到的解**。\n\n所以「Adam 一定贏」是錯的——它**經常**快、但不**一定**好。\n\n### 為什麼其他選項錯（其實是對的，要排除）\n- **(A) Adam 結合 momentum（一階動量）與自適應學習率（二階動量）**：正確。公式就是 `m_t = β1·m_{t-1} + (1-β1)·g_t`（一階）、`v_t = β2·v_{t-1} + (1-β2)·g_t²`（二階），更新時 `θ ← θ − lr · m̂_t / (√v̂_t + ε)`。\n- **(B) 純 SGD 用固定學習率、無動量項；SGD + momentum 才額外加上動量**：正確。Vanilla SGD 是 `θ ← θ − lr · g`；加 momentum 後變 `v ← γ·v − lr·g; θ ← θ + v`，PyTorch 寫成 `optim.SGD(params, lr=0.01, momentum=0.9)`。\n- **(C) Adam 通常收斂較快、對學習率較不敏感，常作為預設選擇**：正確。LLM/Transformer 訓練幾乎清一色 AdamW，因為自適應 lr 讓不同維度（attention weight vs LayerNorm）都能合理更新；對 lr 不敏感也讓 hyperparam search 較輕鬆。\n\n### 📖 章節來源\n**L23203 §2.4 Loss function / Optimizer — SGD/Momentum/Adam/RMSProp**：教材會把優化器演進畫成一條時間軸——`SGD → SGD+momentum → AdaGrad → RMSProp → Adam → AdamW`。重點是「Adam = momentum + RMSProp」、「每個方法解決前一個方法的什麼缺陷」，而不是「Adam 永遠最好」。考試最常考的就是這種「絕對化」陷阱。\n\n### 融會貫通\n- **公式記憶法**：Adam 兩條 EMA——`m`（一階）抓方向、`v`（二階）抓 scale；bias correction `m̂ = m / (1 - β1^t)` 是為了讓初期估計不偏向 0。\n- **業界預設**：NLP/Transformer 用 **AdamW**（lr=1e-4~5e-4），Vision/ResNet 用 **SGD+momentum**（lr=0.1，cosine decay），這是 2025 年依然有效的 rule of thumb。\n- **何時非 Adam 不可**：sparse gradient（embedding lookup）、RNN 訓練不穩、loss landscape 各維度尺度差異大。\n- **何時 SGD 反而強**：CNN backbone、可以 grid search lr、追求 final accuracy 而非 wall-clock 收斂速度。\n- **AdamW 不是 Adam**：AdamW 修正了 Adam 把 weight decay 寫進 gradient 的 bug，這也是 LLM 一定用 AdamW 而非 Adam 的原因，考試偶爾會考這個細節。\n- **考前口訣**：「Adam 跑得快、SGD 走得遠」「絕對化字眼（一定、永遠、必然）八成是錯選項」——這兩句送你進考場。",
    "9": "### 題目核心\n**MLP 參數量手算**——給一個 `nn.Sequential(Linear(784,128), ReLU, Linear(128,10))`，要算 `sum(p.numel() for p in model.parameters())` 的輸出值。重點是記住**全連接層 = `in × out + out`**（W + b），ReLU 沒有 trainable 參數，**不能漏算 bias**。\n\n### 為什麼答案是 (C) 101,770\n逐層拆解：\n\n```python\nnn.Linear(784, 128)   # weight: (128, 784),  bias: (128,)\nnn.ReLU()             # 無參數\nnn.Linear(128, 10)    # weight: (10, 128),   bias: (10,)\n```\n\n**Layer 1：`Linear(784, 128)`**\n- weight `W₁`：shape `(out=128, in=784)` → `128 × 784 = 100,352`\n- bias `b₁`：shape `(128,)` → `128`\n- 小計：`100,352 + 128 = 100,480`\n\n**Layer 2：`Linear(128, 10)`**\n- weight `W₂`：shape `(out=10, in=128)` → `10 × 128 = 1,280`\n- bias `b₂`：shape `(10,)` → `10`\n- 小計：`1,280 + 10 = 1,290`\n\n**ReLU**：純 elementwise function，無 weight、無 bias、無 buffer，`numel() = 0`。\n\n**總計**：`100,480 + 1,290 = 101,770` → 對應選項 **(C)**。\n\n驗證一下程式：\n```python\nfor name, p in model.named_parameters():\n    print(name, p.shape, p.numel())\n# 0.weight  torch.Size([128, 784])  100352\n# 0.bias    torch.Size([128])       128\n# 2.weight  torch.Size([10, 128])   1280\n# 2.bias    torch.Size([10])        10\n# Total: 101770\n```\n\n### 為什麼其他選項錯\n- **(A) 100,352**：只算了 Layer 1 的 weight，連 Layer 1 的 bias、Layer 2 整層都漏掉，是「初學者錯誤」的代表答案——記得 PyTorch `nn.Linear` 預設 `bias=True`。\n- **(B) 100,480**：算完了 Layer 1（weight + bias），但忘記還有 Layer 2。這是 sum 寫成 break 太早、或心算停在第一層的典型錯。\n- **(D) 102,400**：`(784+1)×128 + (128+1)×10 = 100480 + 1290 = 101770` 不會湊到 102,400；這個數字常見於「把 bias 也乘進去」之類的誤算，例如錯把 Layer 1 算成 `784 × 128 + 128 × 16`，純粹是干擾值。\n\n### 📖 章節來源\n**L23203 §3.1 MLP（全連接網路、參數量）— 參數量計算公式**：教材會明示「每一個 Linear/Dense layer 的參數量 = `in_features × out_features + out_features`」，並強調 activation function（ReLU、Sigmoid、Tanh、Softmax）**不含可訓練參數**。這條公式是 iPAS 必考題型，幾乎每屆都出現。\n\n### 融會貫通\n- **核心公式（背起來）**：\n  - Linear：`in × out + out`（bias 預設 True）\n  - Conv2d：`in_C × out_C × kH × kW + out_C`\n  - BatchNorm（affine=True，預設）：`2 × C`（γ + β），另外還有 `running_mean / running_var` 但不算 trainable\n  - LayerNorm：`2 × normalized_shape`\n  - LSTM：`4 × (input_size + hidden_size + 1) × hidden_size`（4 個 gate）\n- **無參數層**：ReLU / GELU / Sigmoid / Tanh / Softmax / Dropout / MaxPool / AvgPool / Flatten / View / Reshape。\n- **PyTorch 一行檢查法**：\n  ```python\n  sum(p.numel() for p in model.parameters() if p.requires_grad)\n  ```\n  加 `if p.requires_grad` 可以排除 frozen 的 backbone，**算「實際被訓練」的參數量更精準**。\n- **業界看模型大小的習慣**：1.7 億 = 170M、70 億 = 7B，LLM 講的「7B 模型」就是 7 × 10⁹ 個 parameter；面試常被問「請估 BERT-base 參數量」，答 ~110M。\n- **考前口訣**：「Linear 看頭尾相乘加尾巴」「ReLU 是函式不是層、不要算它」「漏 bias 是送分題變送命題」。",
    "10": "### 題目核心\n**BatchNorm 在 `train()` vs `eval()` 的行為**——要挑出「錯誤」描述。關鍵在於：`model.eval()` 下 **BN 不是停用，而是改用 running statistics 做 normalization**；與 Dropout 在 eval 時「真的全保留」的行為不一樣，這是兩者最容易被混淆之處。\n\n### 為什麼答案是 (C) `model.eval()` 模式下 BatchNorm 完全停用、不做任何 normalization\n這敘述把 BN 的 eval 行為直接寫成「停用」，但實際上 **BN 在推論期仍然執行 normalization**，只是統計來源從「當前 batch」換成「訓練期累積的 running statistics」：\n\n```python\n# Training (model.train())\nbatch_mean = x.mean(dim=[0,2,3])\nbatch_var  = x.var (dim=[0,2,3])\nx_hat = (x - batch_mean) / sqrt(batch_var + eps)\nrunning_mean = (1 - momentum) * running_mean + momentum * batch_mean   # 更新\nrunning_var  = (1 - momentum) * running_var  + momentum * batch_var\n\n# Inference (model.eval())\nx_hat = (x - running_mean) / sqrt(running_var + eps)   # 仍然 normalize！只是用 running stats\ny = gamma * x_hat + beta\n```\n\n也就是說，eval 時 BN **照樣做 normalize + affine（γ, β）**，只是 deterministic（不依賴當前 batch 內容）、且不更新 running statistics。如果真的「完全停用」，那 BN 層就等於沒接，輸出 distribution 完全沒被校正——這跟 BN 設計初衷直接相反。\n\n### 為什麼其他選項錯（其實是對的，要排除）\n- **(A) 訓練時使用當前 batch 的 mean/std，並更新 running 統計值**：正確。`train()` 模式下 BN forward pass 會即時算 batch 的 `μ, σ²`，並用 momentum（PyTorch 預設 0.1）更新 `running_mean / running_var`——這就是為什麼小 batch（如 batch=2）訓練 BN 會很不穩。\n- **(B) 推論時使用累積的 running mean/var，不依賴當前 batch**：正確。這正是 BN 推論期 deterministic 的原因，也是為何「同一張圖跑兩次結果不會變」。\n- **(D) 訓練 vs 推論行為不同，正是 `model.train()` / `model.eval()` 必須切換的核心原因之一**：正確。BN 與 Dropout 都是 train/eval 行為**不同**的代表層，這也是 PyTorch 設計 `nn.Module.train(mode: bool)` 來統一切換的初衷。\n\n### 📖 章節來源\n**L23203 §2.5 Overfitting / Regularization — BatchNorm**：教材會強調 BN 的兩條公式分支（batch stats vs running stats）以及 `momentum` 在指數移動平均（EMA）中的角色：`running = (1−m)·running + m·batch`。同時會跟 Dropout 並列討論「為什麼推論前要 `model.eval()`」，並警告：**漏掉 `eval()` 會讓 BN 改用當前推論 batch 統計**，當推論 batch_size=1 時 variance 等於 0，會直接讓輸出爆炸或 NaN——這是非常經典的 production bug。\n\n### 融會貫通\n- **與 Q4 Dropout 對照串連**：\n  - Dropout 在 `eval()`：**真的全保留**（不丟棄、不縮放，因為 inverted dropout 已在 train 時把 scale 處理掉）。\n  - BatchNorm 在 `eval()`：**仍然 normalize**，只是換成 running stats、不再更新 EMA。\n  - **共通點**：兩者都需要 `train()` / `eval()` 切換。\n  - **差別**：Dropout eval 等於 identity；BN eval 仍是一個 affine transformation（γ, β）。\n- **PyTorch 常見坑**：\n  - 漏 `model.eval()` → BN 用推論 batch 統計，小 batch 推論結果劇烈漂移。\n  - Fine-tune 凍結 backbone 時只 `requires_grad=False` 還不夠，**BN 還會繼續更新 running stats**；要再加 `bn.eval()` 或用 `model.apply(set_bn_eval)`。\n  - Distributed training（DDP）用 `SyncBatchNorm` 取代 `BatchNorm2d`，否則每張卡各自算 batch stats 會降效。\n- **替代品**：當 batch size 太小（detection、segmentation、Transformer），改用 **LayerNorm / GroupNorm / InstanceNorm**，這些 norm 不依賴 batch 維度，**train/eval 行為完全一致**，免去切換煩惱——這也是 LLM 一律用 LayerNorm 而非 BN 的原因。\n- **考前口訣**：「BN eval 不是關、是換統計」「Dropout eval 是關、BN eval 是切」「忘記 eval() = bug 報三天」。"
  },
  "code_L23304": {
    "1": "### 題目核心\n\n考 **GridSearchCV 的基本運作機制**：給定 `param_grid` 後，sklearn 會對所有超參數組合做 **k-fold 交叉驗證**，挑分數最高那組。要會數「組合數 × fold 數」共做多少次 fit。\n\n### 為什麼答案是 (B) 用 5-fold CV 在 6 組（3×2）超參數中找最佳，回傳得分最高的組合\n\n`param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}` 是 **笛卡兒積**：\n\n- C 有 3 個值、kernel 有 2 個值 → 共 `3 × 2 = 6` 組超參數\n- `cv=5` 表示每組做 5-fold 交叉驗證\n- 總 fit 次數 = `6 × 5 = 30` 次（不含 refit）\n\n每組會得到 5 個 fold 的 validation score，取平均作為該組的 mean_test_score。GridSearchCV 比較 6 組平均分數，選最高者寫入 `gs.best_params_`、`gs.best_score_`。\n\n**關鍵細節 — refit=True**（預設）：\n\n```python\ngs.best_estimator_      # 用最佳超參數在「整個 X_train」refit 一次的模型\ngs.predict(X_test)      # 直接可用，等同 best_estimator_.predict\ngs.cv_results_          # dict，含每組每 fold 詳細結果\n```\n\n所以實務上 fit 完一個 GridSearchCV 物件，可以當成最佳模型直接 predict，不必再手動 `SVC(**gs.best_params_).fit(X_train, y_train)`。\n\n### 為什麼其他選項錯\n\n- **(A) 訓練 1 個模型，回傳 SVC 預設超參數**：完全誤解。GridSearchCV 存在的目的就是「掃過 param_grid 全部組合」，怎麼可能只跑一個預設值。\n- **(C) 隨機抽 5 組超參數**：那是 `RandomizedSearchCV` 的行為（`n_iter` 控制抽幾組）。Grid 是窮舉，不抽樣。\n- **(D) 沒有 CV，直接 fit**：沒寫 `cv=5` 預設也是 5-fold（sklearn 0.22+），且當前題目明寫 `cv=5`，一定有交叉驗證。\n\n### 章節來源\n\n**L23304 §2 超參數調整 — GridSearchCV 窮舉搜尋**：對使用者給定的離散超參數空間做笛卡兒積，每組搭配 k-fold CV 評估，選平均分數最佳的組合。優點是「保證找到 grid 內的最佳」，缺點是「組合數對維度呈指數爆炸」。\n\n### 融會貫通\n\n- **口訣**：Grid = 笛卡兒積 × k-fold，總 fit = `prod(每維長度) × cv`。看到題目要會心算。\n- **常見地雷**：把連續超參數塞給 Grid（例如 `learning_rate: [0.001, 0.003, 0.01, 0.03, 0.1]`），維度一多就爆。連續空間用 RandomizedSearchCV 或 Optuna。\n- **scoring 預設值**：分類器是 `accuracy`、迴歸是 `R²`。不平衡資料記得改 `scoring='f1'`、`'roc_auc'`、`'balanced_accuracy'`，不然 best_params 是被多數類灌票出來的。\n- **n_jobs=-1**：吃滿所有 CPU 平行跑 fold，30 次 fit 在現代機器其實很快；瓶頸通常不在 grid 而在單次 fit 的成本（例如大 dataset 上的 SVM）。\n- **巢狀 CV**：如果想得到「超參數搜尋本身的泛化估計」，外層 K-fold + 內層 GridSearchCV，避免 best_score_ 偏樂觀（因為它在驗證集上挑出來的）。論文等級的 reporting 會這樣做。\n- **業界慣例**：先用小 grid + 小 dataset 快速確認 pipeline 跑得通，再放大搜尋空間。能 RandomizedSearch 就不要 GridSearch；Grid 留給「我已經知道大概在哪個區間，要 fine-tune」的階段。\n- **best_params_ 取出來之後**：寫進 config 或 mlflow，下次訓練直接用，不要每次 retrain 都重跑 grid——超參數通常對 data distribution 不敏感，dataset 沒大變就不需重新搜。",
    "2": "### 題目核心\n\n**高維連續超參數空間**下，GridSearch 計算量呈指數爆炸。要會選 **RandomizedSearchCV**（成本固定、實證上常逼近最佳），並理解為什麼 random 在高維比 grid 更有效率。\n\n### 為什麼答案是 (B) RandomizedSearchCV — 隨機抽 n_iter 組，成本固定且常逼近最佳\n\n**1. 成本控制**：\nGridSearch 的 fit 次數 = `prod(每維長度) × cv`，5 維每維 10 個值 → `10^5 × 5 = 500,000` 次 fit，現實不可行。RandomizedSearch 是 `n_iter × cv`，使用者直接決定預算（例如 `n_iter=50, cv=5 = 250` 次 fit）。\n\n**2. 為什麼 random 不比 grid 差**：\nBergstra & Bengio (2012) *Random Search for Hyper-Parameter Optimization* 的核心觀察——**真正影響模型表現的超參數通常只有少數幾個**。Grid 在「不重要的維度」浪費大量探索；Random 因為每個維度都獨立抽，**重要維度上的有效樣本數 = n_iter**，而 Grid 上是 `n_iter^(1/d)`，d 越大差距越大。\n\n**3. sklearn 用法**：\n\n```python\nfrom sklearn.model_selection import RandomizedSearchCV\nfrom scipy.stats import loguniform, uniform\n\nparam_dist = {\n    'C': loguniform(1e-3, 1e3),      # log-uniform 適合學習率、正則化強度\n    'gamma': loguniform(1e-4, 1e1),\n    'kernel': ['rbf', 'poly'],\n}\nrs = RandomizedSearchCV(SVC(), param_dist, n_iter=50, cv=5, random_state=42)\nrs.fit(X_train, y_train)\n```\n\n`param_distributions` 可以給 list（離散）或 scipy.stats distribution（連續）。**連續超參數一定要用 distribution**，不要硬塞 list 進去——那等於退化成 Grid 的子集。\n\n### 為什麼其他選項錯\n\n- **(A) 繼續用 GridSearchCV，撐到資源耗盡**：5 維連續空間沒辦法窮舉，「撐到耗盡」不是工程選項。\n- **(C) 完全跳過調參用預設**：sklearn 預設值是通用 fallback，不會針對你的 dataset 最優化。生產模型至少要做一輪粗調。\n- **(D) 一次調 1 個固定其他（座標下降）**：超參數之間有交互作用（例如 SVM 的 C 和 gamma 強耦合），逐維調很容易卡在局部最佳。除非有強先驗知道維度獨立，否則不採用。\n\n### 章節來源\n\n**L23304 §2 超參數調整 — RandomizedSearchCV vs GridSearchCV**：高維連續空間用 random search 抽 n_iter 組評估，成本固定且樣本效率優於 grid；進階可用 Bayesian Optimization（Optuna、scikit-optimize）建 surrogate model 主動探索。\n\n### 融會貫通\n\n- **選擇樹**：\n  - 維度 ≤ 2、值離散且少（< 10 組） → GridSearch\n  - 維度 ≥ 3 或含連續超參數 → RandomizedSearch\n  - 單次 fit 很貴（大模型、大 dataset） → Bayesian Optimization（Optuna 的 TPE sampler）\n- **進階：Bayesian Optimization**：\n  - 用 Gaussian Process 或 Tree-structured Parzen Estimator（TPE）建一個「超參數 → score」的 surrogate model\n  - 用 acquisition function（EI、UCB）決定下一個探索點，**比 random 更聰明**（懂得 exploit 已知好區域 + explore 未知區域）\n  - 工具：`optuna`（最常用）、`scikit-optimize`、`hyperopt`、`Ax`\n- **loguniform vs uniform**：\n  - 學習率、C、gamma、權重衰減 → **loguniform**（這些超參數的「合理區間」橫跨多個數量級）\n  - dropout rate、momentum → uniform 即可\n- **n_iter 怎麼定**：經驗法則 `n_iter ≈ 60` 已有 95% 機率落在 top 5%（前提是「最佳區域」佔搜尋空間 5%）。預算夠就拉到 100-200。\n- **early stopping in search**：sklearn 的 `HalvingRandomSearchCV`（成功者減半）會先在小 subset 跑所有候選，淘汰差的再加大 subset，效率比純 random 高。Kaggle 比賽常用。\n- **業界做法**：實務上很少純跑 sklearn 的 search，多半是 Optuna + MLflow + Ray Tune 組合。但考試以 sklearn API 為準，要熟悉 RandomizedSearchCV 的參數。",
    "3": "### 題目核心\n\n考 `train_test_split` 的 **stratify 參數**：類別不平衡（90/10）時，純隨機切分可能讓 train/test 的類別比例失衡，導致 metric 不可信。正確做法是 `stratify=y` **分層抽樣**。\n\n### 為什麼答案是 (B) stratify=y — 分層抽樣，依 y 比例切分\n\n**1. 不平衡資料的切分風險**：\n假設 1000 筆資料，900 個負類、100 個正類。隨機 80/20 切：\n- 期望值：train 720/80、test 180/20\n- 變異風險：極端情況下 test 可能只有 5 個正類（甚至 0 個），accuracy 看起來很高但對少數類完全沒判別力\n\n**2. stratify=y 的數學保證**：\nsklearn 會 **依 y 的類別分佈做分層抽樣**——對每個類別獨立做 train/test split，再合併。結果：\n- train 也是 90/10、test 也是 90/10\n- 比例完全一致，方差大幅降低，metric 可比較\n\n```python\nX_train, X_test, y_train, y_test = train_test_split(\n    X, y,\n    test_size=0.2,\n    random_state=42,\n    stratify=y,          # 關鍵：保持類別比例\n)\n```\n\n**3. 為什麼是 `stratify=y` 而不是別的**：\n參數值是 **要分層的依據陣列**，通常就是 label `y`。也可以傳其他陣列（例如 multi-label 的某一維、或 group id），但分類問題 99% 場景就是 `stratify=y`。\n\n### 為什麼其他選項錯\n\n- **(A) shuffle=True**：預設就是 True，只是打散順序，**不保證類別比例**。對「資料原本按 label 排序」的資料集有用（避免前 80% 全是 class 0），但解決不了類別比例失衡問題。\n- **(C) random_state=y**：完全不存在這種寫法。`random_state` 是 int 或 RandomState 物件，控制隨機種子，跟分層無關。\n- **(D) 不需任何參數**：題目強調 90/10 不平衡，不加 stratify 就是放任比例飄移，是錯誤的工程實踐。\n\n### 章節來源\n\n**L23304 §3 交叉驗證 — train_test_split 與 stratify**：類別不平衡時，純隨機切分會讓 train/test 比例飄移，影響評估可靠度。`stratify` 參數做分層抽樣，確保切分後各 subset 的類別分佈與原始一致。同理也有 `StratifiedKFold`、`StratifiedShuffleSplit`。\n\n### 融會貫通\n\n- **判斷要不要用 stratify**：\n  - 二元分類比例 < 30/70 → 一律加\n  - 多類別、某些類別 < 10% → 一律加\n  - 接近 50/50 → 加了無害（也是個好習慣）\n- **CV 的對應 API**：\n  - `KFold` → 純隨機切 k 份\n  - `StratifiedKFold` → 分層 K-fold（**sklearn 的分類器在 `cross_val_score` 預設就用這個**，所以平時不會察覺）\n  - `GroupKFold` → 同一 group（例如同一病人、同一使用者）不能跨 train/test，避免 data leakage\n  - `StratifiedGroupKFold` → 同時做分層 + group 隔離（sklearn 0.24+）\n- **連續 y（迴歸）不能 stratify=y**：因為連續值每個都不同，無法分層。常見處理：\n  - 把 y 切成 bins（例如 quantile binning）：`stratify=pd.qcut(y, q=10, labels=False)`\n  - 或用 `GroupKFold` 按其他 group 切\n- **多 label 也要小心**：multi-label 用 `iterative-stratification` 套件（`MultilabelStratifiedKFold`），sklearn 內建的 stratify 對 multi-label 不夠精準。\n- **資料洩漏陷阱**：\n  - 切完才做 `StandardScaler.fit(X_train)`，**不能** `fit(X)` 之後再切（會把 test 統計量洩給 train）\n  - 時間序列千萬不要用 random split，要用 `TimeSeriesSplit`，按時間順序切\n- **考試口訣**：「不平衡看到 split，先想 stratify=y；regression 要 bin、有 group 用 GroupKFold」。",
    "4": "### 題目核心\n\n考 **`cross_val_score` 的回傳 shape**：`cv=5` 表示 5-fold，每個 fold 回傳一個分數，所以 `scores.shape == (5,)`。常用 `.mean()` 看平均、`.std()` 看穩定性。\n\n### 為什麼答案是 (B) (5,) — 每 fold 一個分數\n\n**1. cross_val_score 的運作流程**：\n```python\nscores = cross_val_score(RandomForestClassifier(), X, y, cv=5)\n```\nsklearn 內部做：\n- 把 X, y 切成 5 個 fold（分類器預設用 StratifiedKFold）\n- 每個 fold 輪流當 validation set：\n  - fold 0 當 val、其餘當 train → 訓練 → 評分 → `score_0`\n  - fold 1 當 val、其餘當 train → 訓練 → 評分 → `score_1`\n  - ...\n  - fold 4 當 val、其餘當 train → 訓練 → 評分 → `score_4`\n- 回傳 numpy array `[score_0, score_1, score_2, score_3, score_4]`，shape = `(5,)`\n\n**2. 預設 scoring**：\n沒指定 `scoring` 參數時用 estimator 的 `.score()` 方法：\n- 分類器（RandomForestClassifier、LogisticRegression、SVC）→ **accuracy**\n- 迴歸器（RandomForestRegressor、LinearRegression）→ **R²**\n\n**3. 典型解讀**：\n```python\nprint(scores.shape, scores.mean(), scores.std())\n# (5,) 0.842 0.018\n```\n- mean ≈ 期望泛化效能\n- std 小 → 不同 fold 都穩定；std 大 → 某些 fold 表現崩掉，要懷疑資料分佈不均、或模型對特定 subset 過擬合\n\n### 為什麼其他選項錯\n\n- **(A) (1,) — 平均分數**：cross_val_score **不會自動平均**，要使用者自己 `.mean()`。回傳的是每 fold 原始分數，方便算 std。\n- **(C) (5, 5)**：5×5 沒有對應的語義。如果是 `cross_validate` 加多個 metric，回傳的是 dict（不是 2D array）。\n- **(D) (n_samples,)**：那是 `cross_val_predict` 的 shape——對每個樣本都用「它沒被當 train 那一輪」的模型做預測，回傳 per-sample 預測值。和 cross_val_score 是不同函式。\n\n### 章節來源\n\n**L23304 §3 交叉驗證 — cross_val_score 快速評估**：對 estimator 做 k-fold CV，每 fold 訓練 + 評分，回傳長度為 cv 的 array。是「快速看 baseline 泛化能力」的標配 API，比手寫 KFold loop 簡潔。\n\n### 融會貫通\n\n- **cross_val_score vs cross_validate**：\n  - `cross_val_score`：單一 metric、回傳 1D array、最簡單\n  - `cross_validate`：可傳多個 metric、回傳 dict（含 `test_score`、`train_score`、`fit_time`、`score_time`），分析更完整\n  ```python\n  from sklearn.model_selection import cross_validate\n  res = cross_validate(clf, X, y, cv=5,\n                       scoring=['accuracy', 'f1', 'roc_auc'],\n                       return_train_score=True)\n  # res['test_accuracy'].shape == (5,)\n  ```\n- **cross_val_predict 的陷阱**：它回傳的「整體預測」可以拿來算 confusion matrix，但**不能拿來算 mean accuracy**——因為不同 fold 的模型不同，把預測拼起來算 metric 在統計上不是 k-fold 的無偏估計。\n- **scoring 字串對照**：分類 `accuracy / f1 / f1_macro / roc_auc / precision / recall`、迴歸 `r2 / neg_mean_squared_error / neg_mean_absolute_error`。**注意 sklearn 的 loss 都加 neg_ 前綴**（因為 sklearn 約定「越大越好」），所以 RMSE 要自己 `np.sqrt(-scores.mean())`。\n- **CV 的進階變形**：\n  - `RepeatedStratifiedKFold`：重複多次 K-fold 取更穩定的估計\n  - `LeaveOneOut`：n_samples 個 fold，極端但無偏，僅適合小 dataset\n  - `TimeSeriesSplit`：時間序列專用，train 一定在 val 之前\n- **n_jobs=-1**：5 個 fold 互相獨立，平行跑速度幾乎線性，現代 8 核機器 5-fold 約等於單次 fit 時間。\n- **業界 take-away**：報告模型效能時，**寫 `0.842 ± 0.018` 比單一數字更專業**，反映了 CV 的不確定性；面試官看到單一 accuracy 沒有 std 會懷疑你有沒有做 CV。",
    "5": "### 題目核心\n模型 **訓練集 acc = 0.99、驗證集 acc = 0.65**，train 與 val 出現巨大 gap，要判讀屬於哪一類模型病理。\n\n### 為什麼答案是 (B) 高 variance（overfit）— 需要 regularization / 增加資料 / 降低模型複雜度\n這是 **Learning Curve 教科書級的 overfit 訊號**：模型把訓練資料背到 0.99（幾乎全對），但換到沒看過的驗證集就掉到 0.65，**generalization gap = 0.99 − 0.65 = 0.34**，這個差距遠超正常波動範圍（一般 < 0.05 才算健康）。\n\n判讀邏輯靠這張標準診斷表：\n\n```\ntrain 低 + val 低   → 高 bias（underfit）  → 加深 / 加寬 / 加特徵 / 換更強模型\ntrain 高 + val 低   → 高 variance（overfit）→ 加 regularization / dropout / 增資料 / 降複雜度\ntrain 高 + val 高   → sweet spot（收工）\ntrain 低 + val 高   → 資料洩漏或切分有 bug（不正常）\n```\n\n本題對應第二列：train 高、val 低 → **模型容量過剩，把訓練集的雜訊都記下來了**，所以在新資料上失準。處方就三招（任一即可）：\n\n1. **加 regularization**：L1/L2、Dropout、weight decay\n2. **增加訓練資料**：最根本但最貴\n3. **降低模型複雜度**：減層數、減神經元、樹模型限制 max_depth\n\n### 為什麼其他選項錯\n- **(A) 高 bias（underfit）— 需要更複雜模型**：underfit 的特徵是**連 train acc 都很低**（例如 train 0.65、val 0.62，兩個都爛）。本題 train 高達 0.99，明顯不是模型容量不夠。給更複雜的模型只會 overfit 得更嚴重。\n- **(C) 模型完美**：完美的定義是 train 跟 val 都高且接近（如 train 0.95、val 0.93）。本題 val 只有 0.65，上線必爆。把 train acc 高就當完美是新手最常犯的錯。\n- **(D) 資料品質問題**：資料品質不佳通常會表現為 train 跟 val **同步爛**，或 train/val 之間 label noise 差距異常。單純從這個 train/val gap 不足以推到資料問題；先用模型角度（variance）解釋更合理。\n\n### 📖 章節來源\n**L23304 §4.1 Learning Curve — 高 bias / 高 variance 判讀**：Learning Curve 以「樣本數」為 X 軸、train/val score 為 Y 軸畫出兩條曲線，**兩線之間的差距（gap）就是 variance、兩線收斂後的高度反映 bias**。教材列出標準判讀表：train 高 val 低 = 高 variance，建議手段為 regularization、增資料、降複雜度。\n\n### 融會貫通\n- **gap > 0.1 就要警覺**：業界經驗值，看到 train 0.99 / val 0.65 直接判 overfit\n- **Learning Curve 看「曲線是否收斂」**：val 曲線若仍隨樣本數上升，代表「**還有救——加資料就會好**」；若已 plateau 才差，那就是模型本身問題\n- **sklearn 一行畫出來**：`from sklearn.model_selection import learning_curve`，搭配 `train_sizes=np.linspace(0.1, 1.0, 10)`\n- **三招處方的優先順序**：先試 regularization（最便宜），再試降複雜度，最後才考慮收集更多資料（最貴但根治）\n- **考前口訣**：「**train 99 val 65，背過頭了**」——看到大 gap 不要懷疑，直接 overfit\n\n業界 debug 順序：畫 learning curve → 看 gap → 判 bias/variance → 對症下藥。這是 Andrew Ng 在 deep learning 課反覆強調的「**模型診斷比換模型重要**」。",
    "6": "### 題目核心\n固定資料量、掃描 **模型 complexity**（如樹深度、神經元數、epoch 數），結果 **train loss 一直降，val loss 先降後升**——問最佳 complexity 該選在哪個點。\n\n### 為什麼答案是 (B) val loss 最低處 — sweet spot\n這是 **Validation Curve 經典 U 型圖** 的標準解題：當複雜度從低往高掃，會經過三個階段：\n\n```\n低 complexity  → train loss 高、val loss 高  → underfit（模型還沒學會）\n中 complexity  → train loss 中、val loss 最低 → ★ sweet spot ★\n高 complexity  → train loss 低、val loss 又升 → overfit（背雜訊去了）\n```\n\n模型「對新資料的表現」只能用 **val loss** 來代表（train loss 是已知答案的考試成績，不算數）。因此 **val loss 最低點就是 bias-variance trade-off 的最佳折衷**——再簡單會 underfit、再複雜會 overfit。\n\nsklearn 標準做法：\n\n```python\nfrom sklearn.model_selection import validation_curve\ntrain_scores, val_scores = validation_curve(\n    estimator=RandomForestClassifier(),\n    X=X, y=y,\n    param_name='max_depth',\n    param_range=[1, 3, 5, 7, 10, 15, 20],\n    cv=5, scoring='neg_log_loss'\n)\n# 找 val_scores.mean(axis=1) 最高（loss 最低）那一格\n```\n\n對應到 NN 訓練：把 epoch 當 complexity 軸 → val loss 最低 epoch 就是該停的時機（這正是 EarlyStopping 的核心邏輯，見 Q7）。\n\n### 為什麼其他選項錯\n- **(A) train loss 最低處（最複雜，overfit）**：train loss 最低意味著模型把訓練集吃乾抹淨，但這時 val loss 已經反彈上升——**上線就是災難**。考試最常見的陷阱選項，新手會被「loss 越低越好」誤導，忘了那是哪個 set 的 loss。\n- **(C) train / val loss 重合處（通常 underfit）**：兩線重合通常出現在最左邊（complexity 很低），此時兩條 loss 都很高，是 **underfit 區**，模型還沒學到東西。重合不等於最佳，是「同樣爛」。\n- **(D) 越複雜越好**：違反 bias-variance trade-off 鐵律。越複雜 → variance 越高 → 對新資料越爛。深度學習雖然有「double descent」的反直覺現象，但那是大資料+特殊架構才會出現，考試層級一律以經典 U 型為準。\n\n### 📖 章節來源\n**L23304 §4.2 Validation Curve — 模型複雜度 vs 泛化**：Validation Curve 把 **一個 hyperparameter 的變化（如 RF max_depth、SVM C、NN epoch）** 當 X 軸，train/val score 當 Y 軸，畫出兩條曲線。教材強調觀察重點是「**val loss 的最低點 / val score 的最高點**」，那就是 bias-variance 的甜蜜點。\n\n### 融會貫通\n- **Learning Curve vs Validation Curve 一秒分辨**：\n  - Learning Curve 的 X 軸是「**樣本數**」（看資料夠不夠）\n  - Validation Curve 的 X 軸是「**hyperparameter 值**」（看複雜度對不對）\n- **看圖三步驟**：(1) 找 val 曲線最低點 (2) 看對應 X 軸值 (3) 看那點 train/val gap 健不健康\n- **EarlyStopping 是 Validation Curve 的自動化**：epoch 當 complexity，自動停在 val loss 最低（Q7 即此用法）\n- **業界用法**：用 `validation_curve` 預掃 → 框出合理範圍 → 再丟給 GridSearchCV 精掃，避免 grid 太大\n- **考前口訣**：「**train 看不準、val 才準；val 最低就是甜蜜點**」\n\n實務 trade-off：val loss 最低點不一定就是上線版本——還要看推論速度、模型大小、解釋性。但**選 complexity 的依據永遠是 val 表現，不是 train**，這條鐵律不變。",
    "7": "### 題目核心\n訓練排程 100 epoch，但 **val_loss 從 epoch 30 開始上升**（之後越訓越糟，典型 overfit 起跑點）。問哪個 callback 能 **自動在最佳處停下並還原回最佳權重**。\n\n### 為什麼答案是 (B) EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True)\n這就是 Keras 為這個情境量身打造的 callback。題目給的 code 拆解：\n\n```python\nfrom tensorflow.keras.callbacks import EarlyStopping\nes = EarlyStopping(\n    monitor='val_loss',           # 監控指標：驗證 loss\n    patience=5,                    # 容忍 5 epoch 沒改善才停\n    restore_best_weights=True      # 停下時自動回 rollback 到最佳 epoch 的權重\n)\nmodel.fit(..., callbacks=[es])\n```\n\n對應到本題：epoch 30 是 val_loss 最低點，之後開始升。patience=5 表示再撐 5 epoch 看是否回穩，到 epoch 35 仍未刷新最低值 → 觸發停止 → 因為 `restore_best_weights=True`，模型權重自動回到 epoch 30 那份。**整個流程不需要人介入、不需要事後手動 reload checkpoint**，這就是它被廣泛採用的原因。\n\n三個關鍵參數的意義：\n\n1. **monitor**：要看哪個指標。常用 `val_loss`（越低越好）或 `val_accuracy`（越高越好，需配 `mode='max'`）\n2. **patience=5**：容忍噪聲緩衝。val_loss 本身就有抖動，連續 5 epoch 都沒突破最佳值才停，避免被單次小波動騙停\n3. **restore_best_weights=True**：**這個 flag 是新手最容易漏的雷**。沒開的話，停下時權重停在「patience 結束那 epoch」（已經比最佳差 5 epoch 的劣化版本），整個 EarlyStopping 等於白做半套\n\n### 為什麼其他選項錯\n- **(A) 沒此功能，必須手動觀察**：完全錯誤。Keras / PyTorch Lightning / HuggingFace Trainer 全都內建 EarlyStopping。手動盯 100 epoch 是上世紀做法。\n- **(C) LearningRateScheduler — 只調 lr**：這個 callback **只動學習率不會停訓練**。當 val_loss plateau 時可用來降 lr 繼續 fine-tune，但無法解決「該何時停」的問題。常與 EarlyStopping **搭配**使用（先降 lr 再決定停），但不能取代。\n- **(D) ModelCheckpoint — 只負責存權重，不會停**：ModelCheckpoint 的職責是「**每個（或最佳）epoch 把權重存到磁碟**」，但訓練不會自動停。它跟 EarlyStopping 是搭檔不是替代——production pipeline 通常**兩個一起掛**：ModelCheckpoint 存最佳檔，EarlyStopping 決定停點。\n\n### 📖 章節來源\n**L23304 §5 訓練 callback — EarlyStopping**：EarlyStopping 監控驗證指標、當連續 `patience` 個 epoch 沒改善就終止訓練，避免 overfit 並節省算力。教材強調 `restore_best_weights=True` 是「**讓 callback 真的有用**」的關鍵參數。\n\n### 融會貫通\n- **黃金組合（業界 production 標配）**：\n  ```python\n  callbacks = [\n      EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True),\n      ReduceLROnPlateau(monitor='val_loss', patience=5, factor=0.5),  # Q8\n      ModelCheckpoint('best.h5', save_best_only=True),\n  ]\n  ```\n  ReduceLROnPlateau 先降 lr 試救（patience 較短）→ 還是不行才讓 EarlyStopping 收工（patience 較長）\n- **patience 怎麼設**：小資料 / NLP fine-tune 設 3-5；大資料 / 從頭訓 CNN 設 10-20。太短會被噪聲騙停，太長省不到算力\n- **monitor 選擇**：分類任務若不平衡，**用 val_loss 比 val_accuracy 安全**（accuracy 在不平衡下會騙人，見 L23303）\n- **PyTorch 怎麼做**：純 PyTorch 要自己寫 best_loss tracking + early stop counter；用 **PyTorch Lightning** 的話 `from lightning.pytorch.callbacks import EarlyStopping`，介面跟 Keras 幾乎一樣\n- **考前口訣**：「**EarlyStopping 三件套：monitor 看哪個、patience 等多久、restore_best 救回最佳**」\n\n實戰雷：忘記設 `restore_best_weights=True` 是最常見災難，訓出來的模型其實比最佳版本爛 5 個 epoch，inference 表現差但沒人發現——code review 看到 EarlyStopping 第一件事就是檢查這個 flag。",
    "8": "### 題目核心\n\n訓練 loss 卡在 **plateau（高原期）** 無法下降，想自動「**降低 learning rate**」以突破局部困境。哪個 Keras callback 專門做這件事？\n\n### 為什麼答案是 (B) ReduceLROnPlateau\n\n`ReduceLROnPlateau` 是專門對付「loss 不降但又不想停訓練」的 callback。它的運作機制非常直觀——監控指標（`monitor='val_loss'`）若連續 `patience` 個 epoch 沒有改善，就把 learning rate 乘以 `factor`（且不低於 `min_lr`）。範例參數的語意：\n\n```python\nReduceLROnPlateau(\n    monitor='val_loss',  # 看 val_loss\n    factor=0.5,          # 觸發時 lr *= 0.5（砍半）\n    patience=3,          # 連續 3 epoch 沒進步才觸發\n    min_lr=1e-6          # lr 不會無限縮小到爆 0\n)\n```\n\n物理直覺：訓練後期 loss 平緩通常意味著「**步長太大跨過最佳點**」。把 lr 降半相當於用更細的步伐去摸索 loss surface 的細節結構，常常能再擠出 1~3% 的指標。\n\n### 為什麼其他選項錯\n\n- **(A) EarlyStopping**：監控到停滯時直接「停訓練」，不會給模型第二次機會去逃離 plateau。這跟題目「想突破」的意圖相反。\n- **(C) ModelCheckpoint**：純粹的「存檔」工具——監控 metric 在每個 epoch 後決定要不要寫權重到磁碟。完全不會動 lr。\n- **(D) CSVLogger**：把每個 epoch 的 loss / metric 寫成 CSV 而已，是日誌工具，跟訓練動態無關。\n\n### 章節來源\n\n**L23304 §5 訓練 callback — ReduceLROnPlateau**：Keras 提供的三大訓練動態控制 callback 中，`ReduceLROnPlateau` 負責 **lr 自適應**，與 `EarlyStopping`（停損）、`ModelCheckpoint`（保存最佳）互補組合成 production-grade 訓練流程。\n\n### 融會貫通\n\n**1. 業界經典三件套組合**——順序是先試圖救，救不起來才停：\n\n```python\ncallbacks = [\n    ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=3, min_lr=1e-6),\n    EarlyStopping(monitor='val_loss', patience=10, restore_best_weights=True),\n    ModelCheckpoint('best.h5', monitor='val_loss', save_best_only=True),\n]\n```\n\n注意 `EarlyStopping` 的 patience（10）一定要 > `ReduceLROnPlateau` 的 patience（3），否則 lr 還沒來得及降就停訓練，本末倒置。\n\n**2. PyTorch 對應**——`torch.optim.lr_scheduler.ReduceLROnPlateau`，介面幾乎一致，但 PyTorch 要在訓練 loop 內手動 `scheduler.step(val_loss)`，不像 Keras 自動觸發。\n\n**3. 跟「預定 schedule」的取捨**：\n- **適應式（ReduceLROnPlateau）**：依實際訓練狀況調整，省 tuning 時間，但對小資料雜訊敏感（容易誤觸發）\n- **預定式（CosineAnnealingLR / StepLR / WarmupLR / OneCycleLR）**：曲線可預測、reproducibility 好，但需要先知道訓練要跑幾個 epoch\n- Transformer / LLM 訓練幾乎都用 **Warmup + Cosine**；傳統 CV 模型 / 小資料 fine-tune 用 ReduceLROnPlateau 較多\n\n**4. 常見坑**：\n- `monitor` 寫成 `'loss'`（train loss）而不是 `'val_loss'`——train loss 通常持續降，永遠不會觸發\n- `factor` 設太接近 1（如 0.9）——降太少看不出效果；設太小（如 0.1）——一次砍 90%，模型直接停止學習\n- 跟 `tf.keras.optimizers.schedules.*` 同時用——schedule 已經自動降 lr，callback 再降會打架\n\n**5. 考前口訣**：「停損用 Early，存權用 Checkpoint，**降 lr 用 ReduceLROnPlateau**，日誌用 CSV。」四種 callback 各司其職、互不重疊。",
    "9": "### 題目核心\n\n`VotingClassifier` 要做「**多數決**（投票）」組合三個分類器，`voting` 參數該填 `'hard'` 還是 `'soft'`？關鍵在「**多數決**」這四個字——指投票，不是機率平均。\n\n### 為什麼答案是 (A) voting='hard'\n\nsklearn 的 `VotingClassifier` 只支援兩種模式，定義非常清楚：\n\n- **`voting='hard'`**——每個 estimator 呼叫 `predict()` 得到一個類別標籤，最終取**眾數**（majority vote）。三模型若投出 `[1, 1, 0]` → 預測 1。\n- **`voting='soft'`**——每個 estimator 呼叫 `predict_proba()` 得到機率分布，加權平均後 `argmax`。\n\n題幹明確說「**多數決** voting」，這就是 hard voting 的標準翻譯。範例對應：\n\n```python\nvoting = VotingClassifier(\n    estimators=[('rf', rf), ('svm', svm), ('lr', lr)],\n    voting='hard'   # 多數決\n)\n```\n\n數學上，hard voting 是 $\\hat{y} = \\text{mode}(\\hat{y}_1, \\hat{y}_2, \\hat{y}_3)$；soft voting 是 $\\hat{y} = \\arg\\max_k \\frac{1}{N}\\sum_i P_i(y=k|x)$。\n\n### 為什麼其他選項錯\n\n- **(B) voting='soft'**：技術上合法，但對應的中文是「**機率平均**」或「加權投票」，不是題目要的「多數決」。而且若範例中 `svm` 是 `SVC()` 預設 `probability=False`，soft 直接 crash。\n- **(C) voting='stack'**：sklearn `VotingClassifier` **沒有這個值**，會 raise `ValueError`。Stacking 是另一個獨立的類別 `StackingClassifier`。\n- **(D) voting='vote'**：純粹編造的選項，sklearn 文件裡不存在，丟下去直接報錯。\n\n### 章節來源\n\n**L23304 §6.1 模型整合 — Voting（hard / soft）**：Voting 是最簡單的 ensemble 方法，sklearn 文件明定只有 `'hard'`（majority vote）與 `'soft'`（weighted probability average）兩種模式，其他字串都會觸發 `ValueError`。\n\n### 融會貫通\n\n**1. hard vs soft 的工程取捨**：\n\n| 面向 | hard voting | soft voting |\n|---|---|---|\n| 需求 | `predict()` 即可 | 所有 estimator 都要 `predict_proba()` |\n| SVC | 無腦能用 | 必須 `SVC(probability=True)`（會慢很多，內部跑 Platt scaling） |\n| 細膩度 | 粗，只看 argmax | 細，會考慮「模型有多確定」 |\n| 校準依賴 | 不依賴 | 依賴；機率沒校準（如 RF）效果打折 |\n\n業界實務：若 estimator 機率都校準良好（LR / 校準過的 GBM）→ soft 通常贏；若混合異質模型（RF + SVM + KNN）且機率沒校準 → hard 更穩。\n\n**2. Ensemble diversity 是關鍵**——三個 RF（只差 seed）做 voting 幾乎沒幫助，因為錯誤模式高度相關。要混入**演算法本質不同的模型**（樹模型 + 線性 + 距離型 + 核方法），讓錯誤去相關化（decorrelation），voting 才有 free lunch。\n\n**3. 跟 Stacking 的本質差異**：\n- **Voting**：所有模型**地位平等**（hard 各一票 / soft 各 1/N 權重），人類預設好權重\n- **Stacking**：用 **meta-learner**（通常是 LR）學習怎麼**最佳組合** base models 的 OOF 預測，權重由資料決定\n- Kaggle 比賽尾段幾乎都是 stacking；production 部署為了可解釋性 / 維運簡單，常退回 voting\n\n**4. 加權 voting 寫法**——`VotingClassifier(estimators=[...], voting='soft', weights=[2, 1, 1])`，給 rf 兩票。注意 hard mode 加權是「票數倍數」，不是機率權重。\n\n**5. 考前口訣**：「**hard 就是多數決，soft 是機率平均**；題目看到『投票 / 多數決』選 hard，看到『機率加權』選 soft。」其他兩個字串永遠是陷阱選項。",
    "10": "### 題目核心\n\n混合資料（**數值欄 + 類別欄**）要先做 `StandardScaler` + `OneHotEncoder` 再接分類器。**最乾淨且能防資料洩漏**的寫法是哪一個？關鍵字：「**乾淨**」「**防資料洩漏（data leakage）**」。\n\n### 為什麼答案是 (B) ColumnTransformer + Pipeline\n\n`ColumnTransformer` 負責「**按欄位分流**」處理——數值欄走 `StandardScaler`、類別欄走 `OneHotEncoder`；`Pipeline` 把預處理跟分類器**鎖在同一個物件裡**：\n\n```python\nct = ColumnTransformer([\n    ('num', StandardScaler(), num_cols),\n    ('cat', OneHotEncoder(),  cat_cols),\n])\npipe = Pipeline([('prep', ct), ('clf', RandomForestClassifier())])\npipe.fit(X_train, y_train)   # 內部：ct.fit_transform(X_train) → clf.fit\npipe.predict(X_test)         # 內部：ct.transform(X_test)       → clf.predict\n```\n\n**為什麼這樣就能防洩漏**——關鍵在 `fit` 與 `transform` 的分離：\n\n1. 呼叫 `pipe.fit(X_train)` 時，scaler 的 `mean_` / `std_` **只用 X_train 算**\n2. 跑 cross-validation 時，sklearn 自動在每個 fold **重新 fit** 整條 pipe（包含 scaler），train fold 的統計絕不會「偷看」val fold\n3. 部署到線上 inference 時，`pipe.transform(X_new)` 用的是當初 train 時 fit 好的統計量——重現性 100%\n\n### 為什麼其他選項錯\n\n- **(A) 手動切欄 + fit_transform + concat**：最常見的初學者災難——若先對全部 `X` 做 `scaler.fit_transform(X)` 再 `train_test_split`，scaler 已經偷看過 test 的 mean/std，**離線 CV 分數會虛高**，上線後掉一截。即使切完才 fit，做 K-fold CV 時還是要手動每折重 fit，極易寫錯。\n- **(C) 只用 OneHotEncoder**：數值欄被當類別 one-hot——一個年齡欄 0~100 會炸出 101 個 binary 欄，且失去「數值大小」的線性語意；連續變數該標準化，不是離散化。\n- **(D) 只用 StandardScaler**：類別欄（字串 `'male' / 'female'`）丟給 scaler 會直接 raise `ValueError: could not convert string to float`。即使是 label-encoded 整數，scaler 也會錯誤地假設「2 比 1 大」的線性關係。\n\n### 章節來源\n\n**L23304 §7 Pipeline & ColumnTransformer — 防資料洩漏**：sklearn 的 `Pipeline` 設計核心目的就是「**把 fit 階段封裝起來**」確保在 CV / 部署時，預處理統計量只從訓練資料學習；`ColumnTransformer` 則解決「不同欄位需要不同處理」的痛點，兩者組合是 sklearn 生態系防洩漏的標準範式。\n\n### 融會貫通\n\n**1. 資料洩漏（data leakage）的兩大來源**——sklearn pipeline 同時解決：\n- **時間性洩漏**：用未來資料算特徵（pipeline 無法救，要靠 time-aware split）\n- **統計性洩漏**：scaler / imputer / target encoder 偷看 test set 的統計量（**pipeline 的主戰場**）\n\n**2. 跟 `GridSearchCV` 完美整合**——參數用 `step__param` 雙底線命名空間：\n\n```python\nfrom sklearn.model_selection import GridSearchCV\n\nparam_grid = {\n    'prep__num__with_mean': [True, False],   # ct 內 num step 的 StandardScaler 參數\n    'clf__n_estimators': [100, 200, 500],    # RandomForest 參數\n    'clf__max_depth': [None, 10, 20],\n}\ngs = GridSearchCV(pipe, param_grid, cv=5, n_jobs=-1)\ngs.fit(X_train, y_train)\n```\n\n每組超參數在每個 fold 都會獨立 fit 一條 pipe——零洩漏、零手動 boilerplate。\n\n**3. ColumnTransformer 的 `remainder` 參數**——預設 `'drop'`（沒列在 transformers 的欄位被丟掉），常見坑！若有第三類欄位（例如 datetime）想直接保留：`remainder='passthrough'`。\n\n**4. OneHotEncoder 線上部署陷阱**——務必設 `handle_unknown='ignore'`，否則 production 出現訓練時沒見過的類別會直接 crash：\n\n```python\n('cat', OneHotEncoder(handle_unknown='ignore', sparse_output=False), cat_cols)\n```\n\n**5. 進階替代**：類別基數高（cardinality > 50）時 OneHotEncoder 會把欄位數炸開，改用 `TargetEncoder`（sklearn 1.3+）或 `category_encoders` 套件的 `CountEncoder` / `CatBoostEncoder`，在 pipeline 內一樣防洩漏。\n\n**6. 考前口訣**：「**ColumnTransformer 分欄、Pipeline 串行；fit 只看 train、transform 套 test**——這就是 sklearn 防洩漏的全部秘密。」面試被問「你怎麼避免 data leakage」回答 pipeline + cross_val_score 就贏一半。"
  },
  "code_L23102": {
    "1": "### 題目核心\n\n考 numpy 的**轉置（transpose）**對 shape 的影響：`A.T` 將 `(m, n)` 翻轉為 `(n, m)`。原矩陣 `A` 是 `(2, 3)`，`.T` 之後維度互換成 **`(3, 2)`**。\n\n### 為什麼答案是 (B) `(3, 2)` — 行列互換後變 3×2\n\n轉置的定義很直白：`A[i, j] = Aᵀ[j, i]`。第 `(i, j)` 個元素跑到第 `(j, i)` 位置，整體 shape 自然從 `(m, n)` 變 `(n, m)`。\n\n代入本題：\n\n```python\nA = np.array([[1, 2, 3],\n              [4, 5, 6]])     # shape (2, 3)\nA.T                            # shape (3, 2)\n# [[1, 4],\n#  [2, 5],\n#  [3, 6]]\n```\n\n所以 `A.T.shape == (3, 2)`，列數 3、行數 2。一個容易記的口訣：**「m × n 轉置就是 n × m」**，不需要思考。\n\n值得提的工程細節：`A.T` 不會複製資料，它只是改了 strides 的「view」，記憶體零成本。只有當你後續 `np.ascontiguousarray(A.T)` 或 `.copy()` 才會真的搬資料。在處理大矩陣（例如 1e8 元素的 feature matrix）時，這個區別很重要。\n\n### 為什麼其他選項錯\n\n- **(A) `(2, 3)` — 維持原 shape**：那是 `A.shape`，沒做轉置。\n- **(C) `(6,)` — flatten 成 1D**：那是 `A.flatten().shape` 或 `A.ravel().shape`，轉置不會降維。\n- **(D) `(2, 2)`**：硬湊出來的正方形，數學上根本對不上。\n\n### 章節來源\n\n**L23102 §2.4 轉置（transpose）— shape 反轉規則**：轉置是矩陣最基本的形狀變換，定義為 `Aᵀ[j, i] = A[i, j]`，shape `(m, n) → (n, m)`。在線性代數體系裡，轉置是內積、二次型、normal equation 等所有公式的基礎運算之一。\n\n### 融會貫通\n\n- **`.T` 是 view 不是 copy**：numpy 用 strides 機制做轉置，O(1) 操作。大矩陣轉置不要怕，慢的是後續若要 contiguous memory access 的計算。\n- **典型業界用法**：\n  - 點積 quadratic form：`x.T @ A @ x`\n  - 最小平方 normal equation：`(X.T @ X) ** -1 @ X.T @ y`（教學寫法；實務用 `np.linalg.lstsq` 比較穩）\n  - 注意力分數：`Q @ K.T / sqrt(d_k)`（transformer attention）\n- **1D 陷阱**：`np.array([1, 2, 3]).T` 還是 1D，shape `(3,)` 不變。要轉成 column vector 必須 `arr.reshape(-1, 1)` 或 `arr[:, None]`。這是新手最常踩的坑，因為數學上「向量轉置 = column vector」，但 numpy 的 1D 沒有 row/column 區別。\n- **3D 以上用 `np.transpose(A, axes=(...))` 或 `A.swapaxes()`**：`.T` 對高維會反轉所有軸（`(a, b, c) → (c, b, a)`），通常不是你要的。CNN feature map `(N, C, H, W) → (N, H, W, C)` 要寫 `A.transpose(0, 2, 3, 1)`。\n- **考試提示**：看到 `.T` 直接把 shape tuple 反過來寫，秒答。看到 `A.T @ A`（Gram matrix）結果 shape 是 `(n, n)`，看到 `A @ A.T` 是 `(m, m)`，這兩個在 PCA、最小平方反覆出現。",
    "2": "### 題目核心\n\n考 numpy 兩個極易混淆的乘法運算子：`*` 是 **element-wise（Hadamard product）**，`@` 才是 **真正的矩陣乘法**（PEP 465 在 Python 3.5 引入的 matmul 運算子）。\n\n### 為什麼答案是 (B) `*` element-wise（Hadamard），`@` 真正矩陣乘法（PEP 465 引入）\n\n對 numpy `ndarray`，運算子的語意是：\n\n- `*`：對應位置相乘（broadcasting 之後），數學上叫 **Hadamard product**，記號 `A ⊙ B`。\n- `@`：行 × 列累加求和，數學上的 `A · B` 或 `AB`。\n\n代入本題實算：\n\n```python\nA = np.array([[1, 2],\n              [3, 4]])\nB = np.array([[5, 6],\n              [7, 8]])\n\nA * B\n# [[1*5, 2*6],\n#  [3*7, 4*8]]  →  [[ 5, 12],\n#                   [21, 32]]\n\nA @ B\n# [[1*5+2*7, 1*6+2*8],\n#  [3*5+4*7, 3*6+4*8]]  →  [[19, 22],\n#                            [43, 50]]\n```\n\n兩種結果**完全不一樣**。`*` 只是逐元素相乘，shape 必須一致（或可廣播）；`@` 走線性代數的內積規則，第一個矩陣的 column 數要等於第二個的 row 數。\n\n`@` 是 Python 3.5（PEP 465）引入的新運算子，專門為了解決 numerical computing 社群長期以來「`*` 到底是什麼乘法」的歧義。在 numpy 1.10+ 開始原生支援，PyTorch、TensorFlow、JAX 全部跟進。\n\n### 為什麼其他選項錯\n\n- **(A) `*` 矩陣乘法，`@` element-wise**：完全顛倒。這個誤解最常出現在從 MATLAB 切過來的人身上（MATLAB 的 `*` 才是矩陣乘法，`.*` 才是 element-wise）。\n- **(C) 都是矩陣乘法**：`*` 對 `ndarray` 從來都不是矩陣乘法。\n- **(D) 都是 element-wise**：`@` 明確就是矩陣乘法，且只能是矩陣乘法。\n\n### 章節來源\n\n**L23102 §2.2 矩陣乘法 + §2.3 element-wise（Hadamard product）— `@` vs `*` 區分**：教材明確指出 numpy 中 `@` 是 PEP 465 標準的矩陣乘法運算子，等同 `np.matmul()` 或對 2D 的 `np.dot()`；而 `*` 是 element-wise 的 Hadamard product。混淆這兩者是初學者第一大坑。\n\n### 融會貫通\n\n- **三種等價寫法**：`A @ B`、`np.matmul(A, B)`、`A.dot(B)`（後兩者較舊，推薦 `@`，可讀性高）。\n- **歷史陷阱 `np.matrix`**：numpy 有個快被廢棄的 `np.matrix` 類別，它的 `*` **才是**矩陣乘法。所以網路上舊 code 看到 `M1 * M2` 結果是矩陣乘法，先檢查 type。**業界共識**：永遠用 `np.ndarray`，永遠用 `@`，把 `np.matrix` 當沒看過。\n- **Hadamard product 的用途**：\n  - Attention mask：`scores * mask`（mask 是 0/1）\n  - Element-wise gate：LSTM/GRU 裡的 `forget_gate * cell_state`\n  - 損失加權：`(y_pred - y_true) ** 2 * sample_weight`\n- **PyTorch / TF 一致**：`torch.tensor @ tensor` 和 `tf.matmul` 都用同樣的 `@` 語法。換框架不用換肌肉記憶。\n- **考前口訣**：「**星號逐元素，At 號矩陣乘**」——`*`（star）對應位置相乘，`@`（at）走線性代數。\n- **shape 檢查表**：`*` 要求 shape 相容（broadcast），`@` 要求內側維度相等（見 Q3）。題目給你兩個矩陣加運算子，先看是哪個運算子，再決定 shape 規則。",
    "3": "### 題目核心\n\n考矩陣乘法的 **shape 規則**：`(m, k) · (k, n) → (m, n)`。**內側維度（k）必須相等**，外側維度（m, n）保留為輸出 shape。本題 `(3, 4) @ (4, 2)`，內側 4 對齊，輸出 **`(3, 2)`**。\n\n### 為什麼答案是 (A) `(3, 2)` — (3,4)·(4,2) = (3,2)\n\n矩陣乘法的定義：`C[i, j] = Σ_k A[i, k] * B[k, j]`。對 `i` 固定、`j` 固定，沿著「中間那個維度 k」做向量內積。因此：\n\n- A 的 shape `(3, 4)`：row 數 3、col 數 4\n- B 的 shape `(4, 2)`：row 數 4、col 數 2\n- A 的 col 數（4）== B 的 row 數（4）→ **對齊成功**\n- 結果 C 的 shape = (A 的 row 數, B 的 col 數) = **`(3, 2)`**\n\n業界口訣：**「外側留、內側消」**。把兩個 shape 寫成 `(3, 4) · (4, 2)`，中間兩個 4 互相消掉，外側的 3 和 2 留下來組成新 shape。\n\n驗證：\n\n```python\nA = np.random.rand(3, 4)\nB = np.random.rand(4, 2)\nC = A @ B\nC.shape   # → (3, 2)\n```\n\n這在所有線性代數計算裡是最基礎的形狀推理，無論你跑神經網路的 forward pass、最小平方、PCA，都靠這個規則。\n\n### 為什麼其他選項錯\n\n- **(B) `(4, 4)`**：取了內側維度當輸出，方向錯了。內側維度是用來對齊的「橋樑」，不會出現在結果裡。\n- **(C) `(3, 4)`**：那是 A 自己的 shape，沒做乘法。\n- **(D) 報錯**：只有當內側維度不相等（例如 `(3, 4) @ (5, 2)`）才會報 `ValueError: shapes ... not aligned`。本題 4 == 4，完全合法。\n\n### 章節來源\n\n**L23102 §2.2 矩陣乘法 — shape 對齊規則**：矩陣乘法 `AB` 的合法條件是 `A.shape[-1] == B.shape[-2]`（A 的最後一維 = B 的倒數第二維），結果 shape 為 `A.shape[:-1] + B.shape[1:]`（取 A 除最後一維、B 除倒數第二維拼起來）。\n\n### 融會貫通\n\n- **外側留、內側消**：兩個 shape 並排寫 `(m, k) · (k, n)`，中間 k 對消，外側 m × n 是答案。秒看秒答。\n- **shape 不合的錯誤訊息要熟**：\n\n  ```\n  ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0,\n  with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 5 is different from 4)\n  ```\n\n  看到這串就是內側維度沒對齊。\n- **batch matmul**：`(b, m, k) @ (b, k, n) → (b, m, n)`，batch 維度 `b` 平行運算。Transformer attention 的 `Q @ K.T` 就是 batch matmul，shape `(B, h, L, d) @ (B, h, d, L) → (B, h, L, L)`。\n- **1D 特例**：\n  - `(n,) @ (n,) → scalar`（內積）\n  - `(m, n) @ (n,) → (m,)`（矩陣 × 向量）\n  - `(m,) @ (m, n) → (n,)`（行向量 × 矩陣）\n  numpy 會自動 promote 1D 為合適的方向，是很方便也很容易誤判 shape 的地方。\n- **轉置救援**：如果 `A @ B` 不合，常見補救是 `A @ B.T` 或 `A.T @ B`。在 ML code 裡看到滿天的 `.T`，多半是在湊 shape。\n- **debug 習慣**：寫 `@` 之前先 `print(A.shape, B.shape)`，腦中跑「外側留、內側消」推演 result shape，再對照實際輸出。這個習慣能擋掉 90% 的 shape bug。",
    "4": "### 題目核心\n\n考**反矩陣**最核心的性質：`A · A⁻¹ = A⁻¹ · A = I`。A 是 2×2 非奇異矩陣（det = 1·4 − 2·3 = −2 ≠ 0），可逆，乘上自己的反矩陣得到 **單位矩陣 I**。`np.round(..., 4)` 是為了把浮點誤差砍掉，讓結果看起來乾淨。\n\n### 為什麼答案是 (A) 單位矩陣 `[[1, 0], [0, 1]]`\n\n反矩陣的定義就是「乘起來等於單位矩陣的那個矩陣」：\n\n```\nA · A⁻¹ = I    且    A⁻¹ · A = I\n```\n\nA⁻¹ 存在的條件是 A 必須是**方陣**且 **det(A) ≠ 0**（非奇異）。本題：\n\n```python\nA = np.array([[1.0, 2.0],\n              [3.0, 4.0]])\n# det(A) = 1*4 - 2*3 = -2 ≠ 0  → 可逆\n\nA_inv = np.linalg.inv(A)\n# A_inv = (1/det) * adj(A)\n#       = (1/-2) * [[ 4, -2],\n#                   [-3,  1]]\n#       = [[-2.0,  1.0],\n#          [ 1.5, -0.5]]\n\nA @ A_inv\n# 理論值 = [[1, 0],\n#          [0, 1]]\n# 實際浮點值約 = [[ 1.0000e+00, -1.11e-16],\n#               [ 0.0000e+00,  1.0000e+00]]\n```\n\n直接 `print(A @ A_inv)` 你會看到對角線是 1.0、非對角線是 −1.1e-16 之類的「幾乎是 0」的小數。這是 IEEE 754 雙精度浮點數的固有殘留（machine epsilon 約 2.2e-16）。\n\n`np.round(..., 4)` 把所有元素四捨五入到小數第 4 位，1e-16 級的雜訊全部變 0.0，輸出就是乾淨的：\n\n```\n[[1. 0.]\n [0. 1.]]\n```\n\n### 為什麼其他選項錯\n\n- **(B) 零矩陣**：那是 `A - A` 或 `A @ np.zeros_like(A)` 的結果，跟反矩陣無關。\n- **(C) 原矩陣 A**：那會發生在 `A @ I = A`，但題目第二個運算元是 `A_inv` 不是 `I`。\n- **(D) 報錯**：A 是非奇異方陣，`np.linalg.inv()` 完全可以算。只有當 det(A) = 0（奇異矩陣，例如 `[[1,2],[2,4]]`）才會丟 `LinAlgError: Singular matrix`。\n\n### 章節來源\n\n**L23102 §5 反矩陣與線性方程組 — 反矩陣定義與單位矩陣性質**：方陣 A 若 det(A) ≠ 0，存在唯一的反矩陣 A⁻¹ 使得 `AA⁻¹ = A⁻¹A = I`。在數值實作上，`np.linalg.inv()` 內部用 LU 分解求解，但實務上「**永遠不要顯式算反矩陣去解線性方程組**」（見 Q8）。\n\n### 融會貫通\n\n- **可逆的三個等價條件**（背起來）：\n  1. det(A) ≠ 0\n  2. A 滿秩（rank = n）\n  3. A 的所有特徵值非零（也等價於 0 不是 eigenvalue）\n- **`np.linalg.inv()` 內部**：走 LU 分解 + back substitution，O(n³)。對 1000×1000 矩陣大約 0.1 秒；10000×10000 就要等十幾秒，且記憶體吃 800 MB。\n- **業界鐵律：不要用 inv 解 Ax = b**。即使你看到一條公式寫 `x = A⁻¹ b`，code 也絕對寫 `x = np.linalg.solve(A, b)`。原因：\n  - **數值更穩**：solve 用 LU 一次到底；inv 算反矩陣再 `@ b` 多一道誤差累積，condition number 大時誤差會放大。\n  - **更快**：solve 算一次 LU 就完事；inv 等於對 `b = e_1, e_2, ..., e_n`（n 個單位向量）各解一次 solve，再組成 A⁻¹。多花 n 倍力氣只為了之後再 `@ b` 一次。\n- **浮點誤差是常態**：`A @ A_inv` 對角線會是 0.9999999999999998，非對角是 −1.1e-16 之類。考試/教學常用 `np.round(..., 4)` 或 `np.allclose(A @ A_inv, np.eye(n))` 做驗收。\n- **看到題目給 `np.round(...)`**：八成是在「掩蓋浮點誤差讓題目選項能對得上整數矩陣」，本身就是強烈暗示「理論答案是漂亮的整數矩陣」。\n- **考前口訣**：**「反矩陣相乘等於 I，浮點誤差靠 round 收」**。",
    "5": "### 題目核心\n\n呼叫 `np.linalg.det(A)` 計算 **2×2 矩陣的行列式**，本質是「主對角乘積減去副對角乘積」的代數運算，結果是個純量。\n\n### 為什麼答案是 (B) -2.0\n\n2×2 行列式公式直接背：\n\n```\ndet(A) = a·d − b·c\n```\n\n代入 `A = [[1, 2], [3, 4]]`：\n\n```\ndet = 1 × 4 − 2 × 3 = 4 − 6 = -2\n```\n\nnumpy 印出來就是浮點數 `-2.0`（注意是 `float`，不是 `int`，因為內部走 LAPACK 的 LU 分解再取對角乘積，路徑天然會落在浮點）。\n\n對於一般 n×n 矩陣，numpy 不會傻傻去展 cofactor expansion（O(n!)），而是先做 **LU 分解**：`A = P·L·U`，然後 `det(A) = (-1)^k · ∏ Uᵢᵢ`，其中 k 是 P 中列交換次數。複雜度從階乘降到 O(n³)，這是業界唯一可行的算法。\n\n### 為什麼其他選項錯\n\n- **(A) 2.0**：把減法寫成加法（4 + 6 = 10 也不對），或漏掉負號——常見粗心錯，答題前一定要確認正負。\n- **(C) 10.0**：算成 `a·d + b·c = 4 + 6 = 10`，把行列式跟「內積之和」搞混。\n- **(D) 0.0**：誤判矩陣奇異。要 det = 0 必須 row/column 線性相依，這題 `[1,2]` 跟 `[3,4]` 不平行，顯然不奇異。\n\n### 章節來源\n\n**L23102 §4 行列式（determinant）— 2×2 公式與幾何意義**：行列式衡量線性變換對「體積（n=2 時是面積）」的縮放比例；正負號代表是否翻轉方向。det = 0 等價於矩陣不可逆、欄向量線性相依、變換把空間壓扁到低維。\n\n### 融會貫通\n\n- **2×2 口訣**：`ad − bc`，順時針減逆時針。\n- **3×3 口訣**：Sarrus 對角線法（往右下斜三條加、往右上斜三條減）。n ≥ 4 之後不要手算，交給 `np.linalg.det()`。\n- **幾何直覺**：`det(A)` 是 A 對單位正方形/立方體的體積縮放因子。`det < 0` → 變換含鏡射（左右手系翻轉）。`det = 0` → 把空間壓到低維，自然不可逆。\n- **行列式三個常用性質**（面試常考）：\n  1. `det(AB) = det(A) · det(B)`\n  2. `det(Aᵀ) = det(A)`\n  3. `det(A⁻¹) = 1 / det(A)`\n- **業界忠告**：不要用 `det(A) == 0` 判斷可逆。浮點下 det 的數值會隨矩陣縮放放大或縮小（`det(c·A) = c^n · det(A)`），一個 100×100 的矩陣 det 可能是 1e-50 或 1e+50，但矩陣本身可能完全 well-conditioned。要判斷可逆性，看 **condition number**（`np.linalg.cond`）或 **奇異值最小值**（SVD 最後一個 σ）才是正路。\n- **對角／三角矩陣的 det**：直接是對角元素相乘，O(n) 就解決。看到三角結構先省力。",
    "6": "### 題目核心\n\n對 **2×2 對角矩陣** 呼叫 `np.linalg.eig(A)` 求特徵值；對角矩陣的特徵值就是**對角元素本身**，這是 eigendecomposition 最直觀的特例。\n\n### 為什麼答案是 (B) [3, 5]\n\n特徵值定義：存在非零向量 `v` 使得 `A v = λ v`。對 `A = diag(3, 5)`：\n\n```python\nA @ [1, 0]ᵀ = [3, 0]ᵀ = 3 · [1, 0]ᵀ   → λ₁ = 3, v₁ = e₁\nA @ [0, 1]ᵀ = [0, 5]ᵀ = 5 · [0, 1]ᵀ   → λ₂ = 5, v₂ = e₂\n```\n\n對角矩陣的標準基 `e₁, e₂` 就是它的特徵向量，對應的特徵值剛好是對角元素。\n\n從特徵多項式角度同理：\n\n```\ndet(A − λI) = (3 − λ)(5 − λ) = 0\n            → λ = 3 或 5\n```\n\n`sorted([3.0, 5.0])` → `[3.0, 5.0]`，選 B。注意 numpy `eig` 回傳的是 `complex128` array（即使結果是實數），題目用 `.tolist()` + `sorted` 拍平成 Python list 比較。\n\n### 為什麼其他選項錯\n\n- **(A) [0, 0]**：誤把行列式為 0 條件套到特徵值上。0 是特徵值代表矩陣奇異，但這個矩陣 `det = 15 ≠ 0`，特徵值不會是 0。\n- **(C) [-3, -5]**：把特徵值的正負號搞反。特徵多項式 `det(A − λI) = 0` 解出的是 `+3, +5`，不是 `−3, −5`。\n- **(D) [8, 8]**：把 trace（對角和 3+5=8）誤認成特徵值。**Trace = 特徵值之和**沒錯，但本身不是特徵值。\n\n### 章節來源\n\n**L23102 §6 特徵值與特徵向量（eigendecomposition）— 特殊矩陣的特徵值直讀**：對角矩陣、上/下三角矩陣的特徵值都等於對角元素，不需要解特徵多項式。一般矩陣才需要做 `det(A − λI) = 0` 或交給 LAPACK 的 QR algorithm。\n\n### 融會貫通\n\n- **三角／對角矩陣特徵值口訣**：「對角元素就是答案」。看到三角結構直接讀，不用算。\n- **兩個守恆律**（n×n 矩陣通用，背起來很省事）：\n  - `trace(A) = Σ λᵢ` → 本題 3+5 = 8 = trace ✓\n  - `det(A) = ∏ λᵢ` → 本題 3·5 = 15 = det ✓\n  \n  考試或面試求出特徵值後，用這兩條當自我檢查最快。\n- **特殊矩陣的特徵值性質**（高頻考點）：\n  - **對稱矩陣**：特徵值全為實數，特徵向量彼此正交（可做正交對角化 `A = QΛQᵀ`）。\n  - **正定矩陣**（PSD 升級版）：特徵值全 > 0。Cholesky 分解的前提。\n  - **正交矩陣**：特徵值模 `|λ| = 1`（在單位圓上）。\n  - **冪等矩陣**（`A² = A`）：特徵值只能是 0 或 1。\n  - **冪零矩陣**：特徵值全為 0。\n- **業界 numpy 慣例**：\n  - 通用 `np.linalg.eig`（一般矩陣，回傳 complex）。\n  - 對稱／Hermitian 用 `np.linalg.eigh`（更快、更穩、保證實數結果），這是 ML 場景（共變異數矩陣、Gram matrix）的首選。\n  - 只要特徵值不要特徵向量：`np.linalg.eigvals` / `eigvalsh`。\n- **對角矩陣為什麼舒服**：特徵值、行列式（對角相乘）、矩陣冪 `A^k`（對角元素各自 k 次方）、`exp(A)`（對角元素各自 exp）、解線性方程組（一行一個未知數）全部 O(n) 解決。所以 PCA、SVD 的核心就是「把矩陣對角化」——把難題轉成簡單題。",
    "7": "### 題目核心\n\n對向量 `v = [3, 4]` 呼叫 `np.linalg.norm(v)`，預設算 **L2 norm（歐氏長度）**——就是國中 3-4-5 直角三角形的斜邊。\n\n### 為什麼答案是 (A) 5.0\n\nL2 norm 定義：\n\n```\n||v||₂ = sqrt(Σᵢ xᵢ²)\n```\n\n代入 `v = [3, 4]`：\n\n```\n||v||₂ = sqrt(3² + 4²)\n       = sqrt(9 + 16)\n       = sqrt(25)\n       = 5.0\n```\n\n`np.linalg.norm` 的關鍵：**預設 `ord=2`**。沒指定 `ord` 時，向量算 L2、矩陣算 Frobenius（其實也是把矩陣攤平後的 L2）。回傳是 `float64`，所以是 `5.0` 不是 `5`。\n\n幾何上就是畢氏定理（Pythagorean theorem）——直角三角形兩腿 3、4，斜邊長 5，這是國中考過幾百次的 3-4-5 組合，看到要立刻反射。\n\n### 為什麼其他選項錯\n\n- **(B) 7.0**：算成 **L1 norm**（曼哈頓距離）：`|3| + |4| = 7`。L1 在 Lasso regression 出現，但這題沒指定 `ord=1`。\n- **(C) 12.0**：算成 `3 × 4 = 12`，把 norm 當成乘積。完全不對的運算。\n- **(D) 25.0**：算到 `3² + 4² = 25` 就停手，**忘記開根號**——這是最常被坑的失誤。L2 norm 一定要 `sqrt`，沒開根號的是「平方 L2 norm（squared L2 norm）」，常用在 loss function 但不是 norm 本身。\n\n### 章節來源\n\n**L23102 §8 範數（norm）— L1 / L2 / L∞ / Frobenius**：範數是「向量長度」的廣義化，必須滿足非負、齊次性、三角不等式。L2 是最常用的歐氏距離，其他常用的還有 L1（稀疏性誘導）、L∞（最大絕對值）、Frobenius（矩陣版 L2）。\n\n### 融會貫通\n\n- **常用 norm 速查**（向量 `v`）：\n  - **L1**：`||v||₁ = Σ |xᵢ|` → `np.linalg.norm(v, ord=1)` = 7\n  - **L2**：`||v||₂ = sqrt(Σ xᵢ²)` → `np.linalg.norm(v)` = 5 ← 預設\n  - **L∞**：`||v||∞ = max |xᵢ|` → `np.linalg.norm(v, ord=np.inf)` = 4\n  - **L0**（嚴格說不是 norm）：非零元素個數 = 2，常用在 sparsity。\n- **矩陣 norm**：\n  - **Frobenius**：`||A||_F = sqrt(Σ Aᵢⱼ²)`，最常用，可以視為「把矩陣攤平後的 L2」。\n  - **Spectral norm（2-norm）**：最大奇異值 σ₁，`np.linalg.norm(A, ord=2)`。\n  - **Nuclear norm**：所有奇異值之和，低秩矩陣補全會用。\n- **ML 應用對照**：\n  - **L2 regularization (Ridge / weight decay)**：在 loss 加 `λ ||w||₂²`，特性是讓權重整體變小但不為零（圓形等高線）。\n  - **L1 regularization (Lasso)**：加 `λ ||w||₁`，會把某些權重壓到精確的 0（菱形等高線有尖角）→ 自動特徵選擇。\n  - **Cosine similarity**：先 L2 normalize 兩個向量，再做內積，等價於計算夾角 cosine，是 embedding 相似度的標配。\n  - **Gradient clipping**：當 `||grad||₂ > threshold` 時，把整個梯度向量縮回 threshold，防止 RNN 梯度爆炸。\n- **業界框架對應**：\n  - PyTorch：`torch.linalg.norm(v)`（推薦，跟 numpy API 對齊）或舊版 `torch.norm(v)`。\n  - TensorFlow：`tf.norm(v)`。\n- **考前口訣**：「L2 開根號、L1 直接加、L∞ 拿最大」。看到 `np.linalg.norm` 沒參數，預設就是 L2，記得 sqrt 不能漏。",
    "8": "### 題目核心\n解 `Ax = b` 最佳寫法是 **`np.linalg.solve(A, b)`**——內部走 **LU 分解**，比 `inv(A) @ b` 又快又數值穩定。\n\n### 為什麼答案是 (B) `x = np.linalg.solve(A, b)` — LU 分解、數值穩定\n\n業界鐵律：**「能用 solve 就不要 inv」**（matlab、numpy、scipy、Eigen 都這樣講）。\n\n數學上 `x = A⁻¹b` 跟 `solve(A, b)` 等價，但**數值上天差地別**：\n\n1. **計算量不同**\n   - 顯式算 `inv(A)`：要對 n 個單位向量 `eᵢ` 分別解，總共 O(n³) 算出 **n²** 個 entries\n   - `solve(A, b)`：對單一 RHS，做一次 LU + forward/back substitution，**O(n²) per RHS**（LU 本身只算一次）\n   - 對 1000×1000 矩陣，solve 大概比 inv 快 2-3 倍\n\n2. **數值誤差不同**\n   - `inv(A)` 顯式儲存所有 entries，每個 entry 都帶誤差，後面再 `@ b` 又乘一次誤差\n   - solve 直接從分解結果回代，**少一輪 round-off**\n   - 當 condition number κ(A) 很大時（near-singular），inv 的相對誤差可能放大到不可用\n\n3. **稀疏性不同**\n   - 稀疏矩陣 A 的 `inv(A)` 通常變 dense（fill-in），記憶體爆炸\n   - LU 分解可控 fill-in，且 `scipy.sparse.linalg.spsolve` 直接處理 sparse 結構\n\n驗算示例：\n\n```python\nimport numpy as np\nA = np.array([[1, 2], [3, 4]], dtype=float)\nb = np.array([5, 11], dtype=float)\nx = np.linalg.solve(A, b)   # [1., 2.]\nprint(A @ x - b)             # [0., 0.] ✓\n```\n\n### 為什麼其他選項錯\n- **(A) `x = np.linalg.inv(A) @ b`**：數學對、結果幾乎一樣，但**慢、誤差大、破壞稀疏**。Code review 看到會被打槍。\n- **(C) `x = b / A`**：numpy 的 `/` 是 element-wise，會 broadcast 出 (2, 2) 矩陣，**語意完全錯**——不是線性方程組解。\n- **(D) `x = A @ b`**：那是矩陣 × 向量，是 `b` 經 `A` 映射的結果，**跟解方程是反向操作**。\n\n### 章節來源\n**L23102 §5 反矩陣與線性方程組 — 數值穩定性**：教材強調 `inv` 是「數學定義」、`solve` 是「實務做法」。numpy/scipy 提供 `solve` 就是要你別手算 inv。對稱正定走 `cholesky`（一半浮點數）、最小二乘走 `lstsq`、稀疏走 `spsolve`、超大規模走 iterative（CG / GMRES / BiCGSTAB）。\n\n### 融會貫通\n- **記憶口訣**：solve = 算術做的事，inv = 學術上的定義；數學等價、數值天差地別\n- **何時可以用 inv**：(a) 同一個 A 要對「**極多**」不同 RHS 求解、且 A 良態 → 先存 inv 反而快；(b) 要顯式分析 A⁻¹ 的結構（教學、推導）。實務上 99% 走 solve\n- **多 RHS 加速**：要解 `Ax₁=b₁, Ax₂=b₂, ...` → 用 `scipy.linalg.lu_factor` 先分解一次、之後 `lu_solve` 重複用；或直接 `solve(A, B)` 把 RHS 拼成矩陣 B\n- **特殊結構走特殊解**：對稱正定 → `cholesky` + `cho_solve`（速度 2x、誤差更小）；三角矩陣 → `scipy.linalg.solve_triangular`；對角矩陣 → 直接 element-wise 除\n- **大型 ML 場景**：normal equation `(XᵀX)w = Xᵀy` 不要算 `inv(XᵀX)`——走 `solve` 或直接 `np.linalg.lstsq(X, y)`（內部 SVD、處理 rank-deficient 也穩）\n- **考試判別技巧**：題目給「解 Ax=b」，選項裡有 `solve` 跟 `inv`，直接選 `solve`，幾乎不會錯",
    "9": "### 題目核心\nSVD 公式 `A(m,n) = U · diag(S) · Vᵀ`，**economy mode** (`full_matrices=False`) 取 r = min(m, n)；對 (5,3) 矩陣 → **U:(5,3), S:(3,), Vᵀ:(3,3)**。S 是 **1D vector** 不是 2D 矩陣。\n\n### 為什麼答案是 (B) (5, 3), (3,), (3, 3) — economy SVD\n\nSVD 拆解任意矩陣 `A ∈ ℝ^(m×n)`：\n\n```\nA = U · Σ · Vᵀ\n    └─ U:正交矩陣 (left singular vectors)\n        Σ:對角矩陣，對角線是奇異值 σ₁ ≥ σ₂ ≥ ... ≥ 0\n        Vᵀ:正交矩陣 (right singular vectors)\n```\n\n對 `A.shape = (5, 3)`，rank ≤ r = min(5, 3) = 3，**最多 3 個非零奇異值**。所以多出來的 U 那兩個 column 與 Σ 那兩個 zero row 其實沒用——economy mode 就是把它們砍掉：\n\n| Mode | U | S（numpy 回傳 1D） | Vᵀ |\n|---|---|---|---|\n| `full_matrices=True`（預設） | (5, 5) | (3,) | (3, 3) |\n| `full_matrices=False`（economy） | (5, 3) | (3,) | (3, 3) |\n\n**關鍵陷阱**：numpy 的 `S` **永遠是 1D vector**（長度 = min(m, n)），不會自動 reshape 成 (n, n) 對角矩陣。要重組 A 必須手動：\n\n```python\nU, S, Vt = np.linalg.svd(A, full_matrices=False)\nA_recon = U @ np.diag(S) @ Vt   # 或 (U * S) @ Vt（broadcasting，更快）\n```\n\n### 為什麼其他選項錯\n- **(A) (5, 5), (5,), (3, 3)**：那是 `full_matrices=True`，且 S 的 shape 寫成 (5,) 是錯的——S 永遠是 (min(m,n),) = (3,)。所以 A 兩個錯（U shape + S shape）。\n- **(C) (5, 3), (3, 3), (3, 3)**：S 寫成 (3, 3) 對角矩陣是常見誤解，numpy `svd` 回傳的 S 是 **1D**，要自己 `np.diag(S)` 才會變 2D。\n- **(D) (3, 3), (3,), (5, 3)**：U 跟 Vᵀ 顛倒。U 對應 left side、shape (m, r)；Vᵀ 對應 right side、shape (r, n)。混淆 U/V 是新手常見錯誤。\n\n### 章節來源\n**L23102 §7.3 SVD（singular value decomposition）— Economy vs Full**：SVD 是**所有矩陣分解的母體**（任何實/複矩陣都有 SVD，eigendecomposition 只對方陣）。Economy mode 是業界預設——對 m≫n 或 n≫m 的瘦長矩陣，full 模式的 U（或 V）會大到爆記憶體，economy 砍掉零空間部分省下 O(max(m,n)²) 的儲存。\n\n### 融會貫通\n- **shape 心法**：A:(m,n) → U:(m,r), S:(r,), Vᵀ:(r,n)，其中 r = min(m,n)（economy）。Full 模式 U 撐到 (m,m)、Vᵀ 撐到 (n,n)，多出來的 column/row 對應**零奇異值**（A 的 null space basis），數值上沒資訊\n- **記憶體 trade-off**：對 (50000, 1000) 矩陣，full U 是 50000×50000 = 20 GB（float64），economy U 只要 50000×1000 = 400 MB，差 50 倍\n- **truncated SVD**：取 top-k 奇異值/向量做**低秩近似** `A ≈ U[:, :k] · diag(S[:k]) · Vᵀ[:k, :]`，是 PCA、LSI、推薦系統（矩陣補全）、影像壓縮的核心；sklearn 提供 `TruncatedSVD`，scipy `svds`，大型矩陣走 `randomized_svd`（O(mnk) 而非 O(mn·min(m,n))）\n- **S 是 1D 不是 2D 的設計理由**：奇異值本來就是 r 個純量，存 1D 省記憶體、reconstruct 時用 broadcasting `(U * S) @ Vt` 比 `U @ np.diag(S) @ Vt` 快得多（避免實體化 diag 矩陣）\n- **跟特徵值的關係**：對對稱半正定矩陣 `M = AᵀA`，eig(M) 的特徵值就是 S²、特徵向量就是 V。這也是 PCA 的數學基礎（見 Q10）\n- **考試判別技巧**：看到 SVD 三個輸出 shape 的題目，先記 r = min(m,n)、S 永遠 1D、U 接 m 邊、Vᵀ 接 n 邊，三步秒判",
    "10": "### 題目核心\nsklearn `PCA` 內部走 **SVD on 中心化資料 X̃**——奇異向量 **V 的 column 就是 principal components**，奇異值平方 / (n-1) 就是各 PC 的變異數。**比走「協方差矩陣 eigendecomposition」更數值穩定**。\n\n### 為什麼答案是 (B) 對中心化資料 X̃ 直接做 SVD，奇異向量 V 即 principal components\n\n**PCA 數學等價的兩條路**：\n\n**(a) 協方差矩陣 eigendecomposition（教科書定義）**\n```\nC = X̃ᵀ X̃ / (n-1)      # X̃ 已中心化（每 column 減去平均）\neigvals, eigvecs = eig(C)\nPCs = eigvecs (按 eigvals 大小排序)\n```\n\n**(b) 直接對 X̃ 做 SVD（sklearn 實作）**\n```python\nX_centered = X - X.mean(axis=0)\nU, S, Vt = np.linalg.svd(X_centered, full_matrices=False)\nPCs = Vt.T            # V 的每個 column = 一個 PC\nexplained_var = S**2 / (n - 1)\n```\n\n**為什麼 (b) 數學等價於 (a)**：\n`C = X̃ᵀX̃ / (n-1) = (V·Sᵀ·Uᵀ)(U·S·Vᵀ) / (n-1) = V · (S²/(n-1)) · Vᵀ`\n\n這正是 C 的 eigendecomposition——V 是特徵向量、S²/(n-1) 是特徵值。\n\n**為什麼 sklearn 選 (b) — 數值穩定性**：\n- 顯式算 `X̃ᵀX̃` 會把 **condition number 平方化**：κ(X̃ᵀX̃) = κ(X̃)²。如果 X̃ 已經有點 ill-conditioned（κ ~ 10⁶），平方後變 10¹² → 接近 float64 機器精度（~10¹⁶），eigendecomposition 結果可能爛掉\n- SVD 直接吃 X̃，**完全不形成 X̃ᵀX̃**，誤差只受 κ(X̃) 影響、不會被平方放大\n- 對 m ≫ n 的胖瘦資料（典型 ML：n_samples ≫ n_features），SVD 的 economy mode 還省記憶體\n\n### 為什麼其他選項錯\n- **(A) 對協方差矩陣 X̃ᵀX̃ 做 eigendecomposition**：**概念對、數學等價**，但 sklearn 不走這條（數值穩定考量）。教科書、線代課常用這個版本講解，但實作上會放大誤差、ill-conditioned 時不可靠。所以「對 PCA 觀念」沒錯、「對 sklearn 實作」是錯\n- **(C) 隨機初始化迭代**：那是 power iteration、Lanczos、或 ALS 的描述（用於超大規模或 streaming SVD）；sklearn 的 `randomized_svd` 確實用隨機投影做近似，但底層還是 SVD、不是「隨機迭代到收斂」這種梯度下降式描述\n- **(D) LU 分解**：LU 是用來解線性方程組（Ax=b），跟 PCA / 找主成分**毫無關係**。LU 不產生正交基底、不排序變異數方向\n\n### 章節來源\n**L23102 §10 PCA 與 SVD 應用 + §7.3 SVD**：PCA 是**降維與資料壓縮**最常用的線性方法，其數學底層就是 SVD。教材強調「PCA = SVD applied to centered data」，sklearn 預設 `svd_solver='auto'`——小資料走 full SVD、大資料走 randomized SVD。\n\n### 融會貫通\n- **業界口訣**：**「PCA 是 SVD 的中心化版本」**——SVD 是引擎、PCA 是套了「中心化 + 變異數解釋」殼的應用\n- **三條等價路徑**：(a) eig(XᵀX) → 不穩 (b) SVD(X̃) → sklearn 預設、穩 (c) randomized SVD → 大資料、近似但快。三者結果都一樣（差個正負號，因為奇異向量正負方向不唯一）\n- **sklearn PCA 細節**：`PCA(n_components=k).fit(X)` 內部做 (1) 自動中心化（存 `mean_`）(2) SVD on X̃ (3) 取 top-k V 存在 `components_`，奇異值在 `singular_values_`，變異數在 `explained_variance_`\n- **何時要 IncrementalPCA**：資料一次裝不進記憶體 → 走 batch SVD update，記憶體 O(batch_size × n_features)；KernelPCA 則是先做 kernel trick φ(X) 再 PCA，可抓非線性結構\n- **跟 whitening / ZCA 的關係**：whitening = X̃ · V · diag(1/S)（讓特徵變獨立、單位變異數），常用於影像預處理；PCA + whitening = sklearn `PCA(whiten=True)`\n- **為什麼正負號不固定**：SVD 的 U, V 各 column 可以同時翻正負號、結果不變，所以不同 lib（numpy vs scipy vs LAPACK 不同版本）跑出的 PCs 可能差正負，**不是 bug**，比較時取 `np.abs` 或對齊符號\n- **考試判別技巧**：題目問 PCA 實作走什麼分解 → 選「SVD on centered data」；問 PCA 數學定義 → 選「協方差矩陣特徵分解」。兩者數學等價、數值穩定性 SVD 勝"
  },
  "code_L23103": {
    "1": "### 題目核心\n\n考 **梯度下降（Gradient Descent）手動跑一步**：給定 $f(x)=x^2$、起點 $x=4$、學習率 $lr=0.1$，計算更新後的 `x_new`。重點在於記得 **更新公式的方向（減號）** 以及 **代入導數值**。\n\n### 為什麼答案是 (B) 3.2\n\nGD 標準更新公式：\n\n```\nx_{t+1} = x_t − lr · ∇f(x_t)\n```\n\n對 $f(x) = x^2$ 求導：\n\n```\nf'(x) = 2x\n```\n\n在 $x=4$ 處代入：\n\n```\ngrad = 2 · 4 = 8\n```\n\n代回更新公式：\n\n```python\nx_new = 4.0 − 0.1 · 8 = 4.0 − 0.8 = 3.2\n```\n\n直觀理解：函數 $f(x)=x^2$ 是一個開口向上的拋物線，最小值在 $x=0$。我們現在站在 $x=4$（右半邊上坡處），梯度 $+8$ 表示「往右走會更高」，所以 GD 要 **往左** 走 → $x$ 變小 → 3.2 是合理結果（朝 0 移動了一點）。\n\n若繼續迭代：3.2 → 2.56 → 2.048 → 1.638 → ... 一路逼近 minimum $x=0$。這也是「為什麼 lr=0.1 對二次函數能收斂」的直觀演示——每步把離原點的距離乘上 $(1 − 2·lr) = 0.8$。\n\n### 為什麼其他選項錯\n\n- **(A) 2.0**：用了 $lr=0.5$ 算出 $4 − 0.5·8 = 0$，但題目給的是 $lr=0.1$，誤代學習率。\n- **(C) 3.6**：學習率算成 $0.05$ → $4 − 0.05·8 = 3.6$，學習率讀錯一個 zero。\n- **(D) 4.4**：把更新方向算成 `+lr·grad` → $4 + 0.1·8 = 4.8$（甚至 4.4 是其他誤算組合）。**這是初學者最致命的錯誤**——GD 是 **減** 梯度，不是加。加梯度叫 Gradient Ascent，是往「上坡」走（找 maximum 才用）。\n\n### 章節來源\n\n**L23103 §2 梯度下降系 / §2.1 Batch / SGD / Mini-batch — 更新公式核心**：GD 的本質就是 `θ_new = θ_old − lr · ∇L(θ)`。所有後續變體（Momentum、Adam、L-BFGS）都圍繞「如何更聰明地選擇下一步方向 / 步長」打轉，但 **減梯度的核心方向不變**。\n\n### 融會貫通\n\n- **公式背成肌肉記憶**：`θ ← θ − lr · g`，看到「+ lr · g」就是 ascent（找最大值）。\n- **手算 GD 一步的標準流程**：(1) 算 ∇f；(2) 代入當前點得 grad 數值；(3) 乘 lr；(4) 從當前點減掉。\n- **常見二次函數導數對應記熟**：$x^2 → 2x$、$x^3 → 3x^2$、$\\sin x → \\cos x$、$e^x → e^x$、$\\ln x → 1/x$。考場手算 GD 多半就用 $x^2$ 或 $(x-a)^2$。\n- **PyTorch 對應**：\n  ```python\n  x = torch.tensor(4.0, requires_grad=True)\n  loss = x**2\n  loss.backward()           # x.grad = 8.0\n  with torch.no_grad():\n      x -= 0.1 * x.grad     # x = 3.2\n      x.grad.zero_()\n  ```\n  業界寫 `optimizer.step()` 一行帶過，本質就是這四步。\n- **學習率代數直覺**：對 $f(x)=x^2$，一步更新等於把 $x$ 乘上 $(1 − 2·lr)$。$lr=0.5$ 時剛好乘 0 → 一步到位；$lr>0.5$ 時 $|1-2lr|>0$ 但會 **跨過去** 開始震盪；$lr>1$ 直接發散。這個結論也呼應 Q3：lr 過大會炸。\n- **考前口訣**：「**先算梯度，再乘 lr，最後減**」三步搞定。",
    "2": "### 題目核心\n\n辨識 **Batch GD / SGD / Mini-batch GD 三者差異** 中哪句是 **錯誤** 描述。關鍵字是「**一定能找到全域最佳解**」——梯度法在 **非凸函數** 上只能收斂到 local minimum 或 saddle point，**沒有任何 GD 變體保證 global**。\n\n### 為什麼答案是 (D) Mini-batch GD 一定能找到全域最佳解\n\n這句錯在「**一定**」與「**全域**」兩個絕對化字眼。梯度下降的數學保證是：\n\n1. **凸函數（convex）+ 合理 lr** → 收斂到 **唯一** 的 global minimum（因為 local = global）。\n2. **非凸函數（non-convex，深度學習絕大多數情況）** → 只能保證收斂到 **某個 stationary point**（梯度為 0 的點），可能是 local min、saddle point、甚至 plateau。\n\nMini-batch 是 **計算策略**（一次用多少樣本算梯度），並 **不改變收斂性質**。具體拆解三者：\n\n- **Batch GD**：每次更新都用 **全部 N 筆樣本** 算平均梯度。方向最準（接近真實 gradient），但 N 很大時：\n  - 一次 epoch 只能更新 1 次參數 → 慢\n  - 全部資料要塞進記憶體 → 100GB 資料根本放不下\n- **SGD（純隨機）**：每次只用 **1 筆樣本** 算梯度。\n  - 雜訊大（單筆梯度方向可能跟 batch 平均差很多）\n  - 雜訊也是優點 → **有機會跳出 local minimum 或 saddle point**\n  - GPU 無法向量化（一次只算 1 筆，浪費平行能力）\n- **Mini-batch GD**：折衷，每次用 **B 筆樣本**（B 常見 32 / 64 / 128 / 256）。\n  - GPU 向量化吃飽\n  - 雜訊適中（既不會 batch 那麼平滑卡 saddle、也不會 SGD 那麼亂）\n  - 業界深度學習 **預設方案**\n\n但 **不管哪種**，遇到非凸 loss surface（如神經網路），都只能保證 **local convergence**，沒有人保證 global。所以 (D) 是錯的。\n\n### 為什麼其他選項錯（皆正確描述）\n\n- **(A) Batch GD 用全部樣本算梯度，方向最準但慢、記憶體吃緊**：正確。Batch GD 算的是真實 expected gradient，方向毫無雜訊，但 N 大時 wall-clock 慢且 OOM 風險高。\n- **(B) SGD 一次一樣本，雜訊大但有助於跳出 local minima**：正確。這正是 Bottou 等人提出「SGD 隱含 regularization」的核心觀察：雜訊就像退火，能逃離 sharp local minima。\n- **(C) Mini-batch（32/64/128）折衷、可向量化、雜訊適中**：正確。這是現代深度學習標配，PyTorch `DataLoader(batch_size=64)` 預設就是 mini-batch。\n\n### 章節來源\n\n**L23103 §2.1 Batch / SGD / Mini-batch GD — 三者取捨**：教材強調「三者差別 **僅在每步用多少樣本算梯度**，**不影響收斂的數學保證**」。凸性才是決定能否到 global 的關鍵（§1 最佳化概論）。\n\n### 融會貫通\n\n- **「一定 / 必定 / 絕對」這類字眼在數值優化題八成是陷阱**。GD 家族沒有任何方法在非凸情境敢說「一定 global」。\n- **凸 vs 非凸是 global 收斂的真正分水嶺**，不是 batch size：\n  - Linear / Logistic Regression（凸） → 任何 GD 變體都到 global\n  - Neural Network（非凸） → 都只到 local\n- **業界 batch size 慣例**：\n  - 32 / 64：標準起手\n  - 128 / 256：大模型 + 多 GPU\n  - 1024+：需要 LR warmup 配合（Goyal et al. 2017 \"Large Minibatch SGD\"）\n  - **batch size 翻倍 → lr 也大約翻倍**（linear scaling rule）\n- **深度學習實證**：在 NN 上 local minimum 跟 global minimum 的 loss 差距通常很小，**找到 good local 已經夠用**（Choromanska et al. 2015）。所以雖然不保證 global，實務上不太care。\n- **考前口訣**：「**Batch 準慢爆、SGD 雜跳、Mini 萬用**」；遇到「一定 global」直接刪。",
    "3": "### 題目核心\n\n考 **學習率（learning rate, lr）大小對訓練行為的影響**。lr 是深度學習 **最重要的單一超參數**（Bengio 名言），太大會炸、太小會卡。\n\n### 為什麼答案是 (B) lr 過大 → loss 震盪 / 發散；lr 過小 → 收斂緩慢、卡 plateau\n\n這是 GD 訓練曲線的兩種典型病徵，背後直觀理解：\n\n**lr 過大 → 步伐越過 minimum**\n\n想像在山谷裡找最低點，如果每步邁太大：\n- 第一步從左坡跨到右坡更高處\n- 第二步再從右坡跨回左坡，可能比起點更高\n- loss 曲線變成 **鋸齒震盪**，甚至 **發散到 NaN**\n\n對二次函數 $f(x)=x^2$ 來說，一步更新等於把 $x$ 乘 $(1 − 2·lr)$：\n- $lr = 0.5$ → 乘 0，一步到位\n- $lr > 0.5$ → $|1-2lr| > 0$ 但震盪\n- $lr > 1.0$ → 直接發散\n\n實務上 NN 的 loss surface 更複雜，lr 太大常見現象：\n- loss 訓練 1-2 個 step 後變 `NaN` / `Inf`\n- gradient explode → 參數權重變很大\n- 訓練曲線像鋸齒（mini-batch noise 疊加 lr 過大）\n\n**lr 過小 → 每步幾乎不動**\n\n- 100 epoch 後 loss 還在初始值附近\n- 卡在 **plateau**（梯度小但不是 minimum）動不了\n- 卡在 **saddle point** 出不來（因為 momentum 不足，純小步無法逃離）\n- 浪費算力，wall-clock 爆炸\n\n### 為什麼其他選項錯\n\n- **(A) lr 越大訓練越快、loss 一定越低**：錯。lr 大到一定程度反而 **發散**，loss 不降反升。「越大越快」只在 lr 還在安全範圍時成立。\n- **(C) lr 不會影響收斂行為**：嚴重錯誤。lr 是 GD 中 **最影響收斂** 的超參數，從「能不能收斂」到「收斂多快」都被 lr 主宰。\n- **(D) lr 設 0 是最安全的選擇**：lr = 0 表示 `θ_new = θ_old − 0 · g = θ_old`，**模型完全不更新**，等於沒訓練。「不訓練」不叫「安全」，叫「失敗」。\n\n### 章節來源\n\n**L23103 §2.2 Learning Rate 調整 — 大小取捨與 scheduler**：教材強調 lr 是 GD 的「步長」，要在「不發散」與「能進步」間找 sweet spot；並介紹各種動態調整方法（cosine、warmup、ReduceLROnPlateau）。\n\n### 融會貫通\n\n- **業界 lr 找法：log scale 粗掃**\n  - 候選：`1e-1, 1e-2, 1e-3, 1e-4, 1e-5`\n  - 先看哪個能訓練（loss 在降），找到 sweet spot 再 fine-tune\n  - PyTorch Lightning 的 `lr_find()` 就是自動跑 log scale ramp，找 loss 下降最陡的 lr\n- **LR Scheduler（動態調整）四大常用**：\n  - **Cosine Annealing**：lr 隨 epoch 呈餘弦下降，最後接近 0（深度學習標配）\n  - **Warmup**：訓練前幾百 step lr 從 0 線性升到目標值，避免初始 gradient 爆炸（大 batch 必備）\n  - **ReduceLROnPlateau**：監測 val loss，停滯時自動 lr ×0.5（穩妥派最愛）\n  - **OneCycleLR**：lr 先升後降（Smith 2018 super-convergence）\n- **常見預設 lr**：\n  - SGD + momentum：`0.1 ~ 0.01`（CNN 經典）\n  - Adam：`1e-3 ~ 3e-4`（Karpathy constant：3e-4 是 Adam 萬用起點）\n  - AdamW + Transformer：`5e-5 ~ 1e-4`（搭配 warmup）\n- **訓練曲線病徵診斷表**：\n  - loss 飆升到 NaN → lr 太大\n  - loss 鋸齒震盪 → lr 偏大或 batch size 太小\n  - loss 平緩不動 → lr 太小 或 卡 plateau\n  - loss 降一陣後停住 → 該降 lr 了（用 scheduler）\n- **考前口訣**：「**大則炸、小則癱、log 掃、cos 退**」。",
    "4": "### 題目核心\n\n考 **Momentum（動量）** 的定義與作用。Momentum 是把 **過去梯度做指數加權平均**，幫助 GD **加速收斂、衝過 saddle point、減少震盪**，是純 SGD 的第一個重要進化版。\n\n### 為什麼答案是 (A) momentum 把過去梯度做指數加權平均（v = β·v_prev + g），幫助衝過鞍點、加速收斂\n\nMomentum SGD 的更新規則：\n\n```python\n# 純 SGD:\nθ = θ − lr · g\n\n# SGD + momentum:\nv = β · v_prev + g       # 速度 = 衰減的舊速度 + 新梯度\nθ = θ − lr · v           # 用速度更新參數\n```\n\n其中：\n- `g`：當前 mini-batch 算出的梯度\n- `v`：累積速度（velocity），初始為 0\n- `β`：動量係數，**PyTorch SGD 預設 β = 0.9**\n\n把 v 展開（指數加權平均）：\n```\nv_t = g_t + β·g_{t-1} + β²·g_{t-2} + β³·g_{t-3} + ...\n```\nβ=0.9 時，相當於「記住最近約 $1/(1-β) = 10$ 步的梯度」。\n\n**物理直覺**：小球從山坡滾下來，會 **累積動能**：\n- **平坦處（gradient ≈ 0）**：純 SGD 會停下；momentum 還有 v 推著前進 → 穿越 plateau\n- **小山丘 / saddle point**：純 SGD 卡住；momentum 靠累積動能 **衝過去**\n- **峽谷震盪**：純 SGD 在窄峽谷左右橫跳；momentum 因左右梯度互相抵消，**沿谷底前進方向加速** → 減少震盪\n\n對 NN 來說，loss surface 充滿 saddle points（Dauphin et al. 2014 證明高維 NN 中 saddle 比 local min 多得多），**momentum 是必要的**，這也是為什麼 PyTorch 的 `SGD(momentum=0.9)` 是業界 baseline 而不是純 SGD。\n\n### 為什麼其他選項錯\n\n- **(B) momentum 是增加 batch size 的別名**：錯。Batch size 是「一次用多少樣本算梯度」，跟 momentum 完全無關。Momentum 改的是「如何用梯度更新」，不是「如何算梯度」。\n- **(C) momentum 是增加 learning rate 的別名**：錯。雖然有效步長 $\\approx lr / (1-β)$ 會放大，但 momentum 的核心是 **方向累積（衝過 saddle、減震盪）**，不是單純把 lr 變大。lr 變大會發散，momentum 不會。\n- **(D) momentum 是減少模型參數量的技巧**：錯到離譜。Momentum 不改變參數 `θ` 本身（只增加一個跟 θ 同形狀的 `v` buffer 來追蹤速度），跟 pruning / quantization 等模型壓縮技巧無關。\n\n### 章節來源\n\n**L23103 §2.3 Momentum / NAG（Nesterov）— 加速與動量累積**：教材把 momentum 定位為 GD 的第一個「歷史資訊利用」版本——不只看當前梯度，還看過去梯度的方向。NAG 則是進階版（先沿 momentum 走一小步再算梯度）。\n\n### 融會貫通\n\n- **三大記法**：「**v = β·v + g**, **θ = θ − lr·v**, **β=0.9**」\n- **直觀類比**：純 SGD 像盲人摸路（每步重新判斷方向），momentum 像滾雪球（累積方向）。\n- **NAG（Nesterov Accelerated Gradient）= momentum 進階版**：\n  - 標準 momentum：先算當前點梯度 → 加進 v → 更新\n  - NAG：**先沿 momentum 方向「探一步」**，在那個位置算梯度 → 加進 v → 更新\n  - 理論收斂率更好（Nesterov 1983），PyTorch `SGD(nesterov=True)` 開關\n- **Adam = momentum + 自適應 lr 兩件套**：\n  - $m_t = β_1 · m_{t-1} + (1-β_1) · g_t$ ← momentum 部分（β1=0.9 預設）\n  - $v_t = β_2 · v_{t-1} + (1-β_2) · g_t^2$ ← 自適應 lr 部分（β2=0.999 預設）\n  - Adam 內建 momentum 是 Adam 強大的一半原因\n- **業界選擇**：\n  - **SGD + momentum 0.9 + cosine lr**：CV / ResNet 經典組合，泛化最好\n  - **Adam / AdamW**：Transformer / LLM 標配，收斂快但泛化略遜\n  - **純 SGD（無 momentum）**：基本不用，被 momentum 完全壓過\n- **β 的物理意義**：\n  - β = 0：退化成純 SGD\n  - β = 0.9：記住最近 10 步（標準）\n  - β = 0.99：記住最近 100 步（極長記憶，少用）\n- **考前口訣**：「**過去梯度指數加權，衝過 saddle 減震盪**」、「β=0.9 是預設」。",
    "5": "### 題目核心\n**Adam optimizer** 是 momentum + RMSProp 的綜合體，使用 **一階動量 m_t / 二階動量 v_t / bias correction / 全域 lr** 五件套；題目要找出「敘述錯誤」的選項。\n\n### 為什麼答案是 (C) Adam 不需要 lr，只需要 β1/β2\n這是徹底的觀念錯誤。Adam 的「自適應」是指**對每個參數**根據其 v̂_t 動態調整有效步長，但**全域 learning rate `lr` 仍是不可省略的 step size**。看更新式：\n\n```\nθ_t = θ_{t-1} - lr · m̂_t / (sqrt(v̂_t) + ε)\n```\n\n- `lr` 是放在最外層的全域 scale，沒有它整個更新量就沒有量綱\n- PyTorch `torch.optim.Adam` 預設 `lr=1e-3`、TensorFlow Keras Adam 預設也是 1e-3\n- 實務上 Transformer 訓練還要再加 **warmup + cosine decay** 對 lr 動態調整\n- β1/β2 控制的是 **動量的記憶長度**（EMA decay），不是 step size\n\n換句話說 β1/β2 與 lr 各司其職：β 決定「歷史梯度怎麼平滑」、lr 決定「平滑後要走多大一步」，兩者缺一不可。\n\n### 為什麼其他選項錯\n- **(A) Adam = momentum + RMSProp**：正確。m_t 來自 momentum（一階動量 EMA），v_t / sqrt(v̂_t) 來自 RMSProp（梯度平方 EMA 做 per-parameter lr 縮放）。Adam 論文（Kingma & Ba, 2014）原文就是這個 framing。\n- **(B) 預設 β1=0.9, β2=0.999, ε=1e-8**：正確。PyTorch/TF/JAX/Keras 全部沿用論文預設，是業界跨框架共識。\n- **(D) bias correction 解決初期 m̂、v̂ 偏小**：正確。t=1 時 m_1 = (1-β1)·g_1 = 0.1·g_1，數值偏小；除以 (1-β1¹)=0.1 後 m̂_1 = g_1 恢復原始尺度。沒做 bias correction 前幾步會嚴重 underestimate 動量。\n\n### 章節來源\n**L23103 §3.3 Adam / AdamW — 五件套更新式**：Adam 用 (m_t, v_t, m̂_t, v̂_t, lr) 完成自適應更新，lr 是全域 step size 而非可省略項；β1/β2 是動量 EMA decay。AdamW 進一步將 weight decay 從動量中解耦，是現代 Transformer 的標配。\n\n### 融會貫通\n- **口訣**：「Adam 五件套」= m, v, m̂, v̂, lr — 少一個都不是 Adam\n- **何時用 Adam / AdamW**：NLP / Transformer / GAN / RL 一律 Adam 系；CV（ResNet/EfficientNet）反而 SGD+momentum 收斂更平穩、泛化更好（這是 Adam 的著名弱點：generalization gap）\n- **AdamW vs Adam**：原版 Adam 把 L2 penalty 加到 gradient 上會被 v̂_t 縮放扭曲；AdamW 把 weight decay 獨立施加在 θ 上，是 HuggingFace transformers / timm 預設\n- **bias correction 直覺**：EMA 從 0 起算，初期被 0 拉低；correction 等同把 EMA 還原成「樣本平均」的尺度\n- **業界 lr 慣例**：Adam/AdamW 1e-3 ~ 5e-5（Transformer 通常 5e-5 ~ 2e-4 配 warmup）；SGD 0.01 ~ 0.1\n- **考試陷阱**：題目用粗體「不需要 lr」是經典送分題，看到這種絕對化敘述（「不需要」「一定」「完全」）優先懷疑\n- **進階**：β2=0.999 在小資料 / 短訓練步數時 v̂_t 估不準，可改 0.99 或用 RAdam（Rectified Adam）自動處理 warmup",
    "6": "### 題目核心\n用 `scipy.optimize.minimize` 對 **f(x)=(x-3)²** 從 `x0=0` 出發找最小值，問印出的 `round(result.x[0], 2)` 是多少。本題考的是 **scipy 預設 BFGS** 對凸二次函數的收斂行為。\n\n### 為什麼答案是 (B) 3.0 — 解析最小值\n解析推導非常乾淨：\n\n```\nf(x) = (x-3)²\nf'(x) = 2(x-3) = 0  →  x* = 3\nf''(x) = 2 > 0     →  確認為極小值\n```\n\n`scipy.optimize.minimize` 的行為：\n- 未指定 `method`，預設 **BFGS**（擬牛頓法，§4.2），是無約束問題的 sane default\n- 未提供 `jac`（梯度），scipy 自動以 **finite difference** 估梯度 `(f(x+h)-f(x-h))/(2h)`\n- BFGS 用 secant equation 維護 inverse Hessian 近似 H_k，疊代 `x_{k+1} = x_k - H_k · ∇f(x_k)`\n- 對二次函數 (x-3)²，BFGS 通常 1-3 步內收斂到機器精度\n\n跑完 `result.x[0] ≈ 3.0`，`round(_, 2) = 3.0`。`result` 是 `OptimizeResult` 物件，常用欄位：\n- `.x` — 最佳化參數\n- `.fun` — 最佳目標值\n- `.nit` — 迭代次數\n- `.success` — bool 收斂成功與否\n- `.message` — 收斂或失敗原因\n\n### 為什麼其他選項錯\n- **(A) 0.0 — 未更新**：錯。BFGS 會主動更新；只有當 `x0` 本身就是 stationary point 或最大步數設為 0 才會停在原點。\n- **(C) 9.0 — 把 f(0) 當答**：錯。f(0)=9 是「初始目標值」，要拿應該讀 `result.fun` 而不是 `result.x`。混淆 `.x`（位置）與 `.fun`（值）是初學者經典坑。\n- **(D) 報錯（沒給梯度）**：錯。`jac` 是 optional，省略時 scipy 自動 finite difference。只有少數方法（如 `Newton-CG`）要求顯式提供 jac 才報錯。\n\n### 章節來源\n**L23103 §6 工程實作 — scipy.optimize.minimize**：scipy 提供統一介面 `minimize(fun, x0, method=..., jac=..., bounds=..., constraints=...)`，預設 BFGS 適合無約束、可微、中低維（< 10000）問題；對非凸目標可能卡 local，需多 `x0` 嘗試或改用 `basinhopping` / `differential_evolution`。\n\n### 融會貫通\n- **scipy method 速查**：無約束首選 `BFGS` / `L-BFGS-B`（後者支援 box constraint）；有等式/不等式約束用 `SLSQP` / `trust-constr`；無梯度資訊用 `Nelder-Mead`（單純形法）\n- **提供解析梯度永遠更快更準**：`minimize(f, x0=0, jac=lambda x: 2*(x-3))` 省下 finite difference 的 2n 次函數評估與截斷誤差\n- **`OptimizeResult` 取值口訣**：`.x` 位置、`.fun` 值、`.nit` 步數、`.success` 收斂；別搞混\n- **何時用 scipy vs PyTorch optimizer**：可微 + 中低維 + 不需要 GPU → scipy 一行解；高維 (> 10⁵) + mini-batch + autograd → PyTorch optimizer\n- **非凸警告**：scipy.minimize 只保證 local minimum；多 `x0` random restart 或 `scipy.optimize.basinhopping` 做全域搜尋\n- **常見 sharp edge**：`x0` 形狀必須是 1D array-like，若傳 scalar `0` scipy 內部會 wrap，但若傳 2D 會錯位\n- **業界場景**：超參數搜尋小規模可用 scipy；參數估計 / 統計模型擬合 / inverse problem 是 scipy 的主戰場；深度學習則交給 PyTorch / JAX\n- **考試辨識**：看到 `(x-a)²` 型一律解析答 a，scipy 只是工具確認",
    "7": "### 題目核心\n**Convex function（凸函數）** 的定義是「任兩點的弦不在函數圖形下方」、等價於「二階導數 ≥ 0」、「Hessian 半正定」。本題要從四個函數中挑出 **唯一非凸** 的那個。\n\n### 為什麼答案是 (D) f(x) = sin(x)\nsin 在整條實數軸上是經典的**非凸**函數：\n\n```\nf(x) = sin(x)\nf''(x) = -sin(x)\n```\n\n- 在 x ∈ (0, π)：f''(x) = -sin(x) < 0 → **concave（下凹）**\n- 在 x ∈ (π, 2π)：f''(x) = -sin(x) > 0 → **convex（上凹）**\n\n二階導數**時正時負**，不滿足「全域 f''(x) ≥ 0」的判定，所以 sin 是 **非凸也非凹** 的振盪函數。直覺驗證：取 x1=0、x2=π，中點 x=π/2，sin(π/2)=1，而弦中點 (sin(0)+sin(π))/2 = 0；函數值 1 > 弦值 0，違反 convex 定義（convex 要求函數值 ≤ 弦值）。\n\n從優化角度看：sin 有**無窮多個 local minimum**（每個 x = 3π/2 + 2kπ），梯度法會卡在最近的 local min，不保證找到任何「全域」最佳——這正是 non-convex 優化的本質困難。\n\n### 為什麼其他選項錯\n- **(A) f(x)=x²**：convex。f''(x)=2 > 0 全域成立，是 convex 的「教科書範例」，也是 MSE loss 對單參數的形式。\n- **(B) f(x)=|x|**：convex。雖在 x=0 不可微（沒有 f''(0)），但 convex 的定義**不要求可微**——只要「任兩點弦不在函數下方」即可。|x| 是 V 字形，任意兩點連線都在 V 上方或重合。subgradient 在 x=0 取 [-1, 1] 任一值即可。\n- **(C) f(x)=exp(x)**：convex。f''(x) = exp(x) > 0 對所有 x，是嚴格 convex（strictly convex）。Logistic regression 的 log-sum-exp 之所以 convex，就是因為 exp 是 convex 且 convex 函數的非負加權和仍 convex。\n\n### 章節來源\n**L23103 §1 最佳化概論 — convex vs non-convex**：convex 問題有唯一 global minimum，梯度法保證收斂到全域最佳；非凸問題（深度學習主場）有多個 local min / saddle point，需要 momentum / Adam / 多 init 等啟發式緩解。convexity 判定三招：定義（弦不下方）、一階（f(y) ≥ f(x) + ∇f(x)·(y-x)）、二階（Hessian ⪰ 0）。\n\n### 融會貫通\n- **convex 三大判定法**：(1) 定義法 f(tx1+(1-t)x2) ≤ t·f(x1)+(1-t)·f(x2)，(2) 一階法 graph 在切平面上方，(3) 二階法 Hessian 半正定\n- **convex 的「優化福音」**：唯一 global min、梯度法保證收斂、KKT 條件**充分**而不只必要、對偶 gap 為零（強對偶）\n- **業界 convex 範例**：LinearRegression (MSE)、Logistic Regression、Ridge / Lasso、SVM (hinge loss)、LP / QP / SDP / SOCP；都有保證最優解的求解器（cvxpy, MOSEK, Gurobi）\n- **業界 non-convex 範例**：Deep NN、k-means（NP-hard）、矩陣分解、PCA 帶 L0 約束、GAN min-max；只能 local optimal + 啟發式\n- **重要 trick — convex relaxation**：把 NP-hard 非凸鬆弛成 convex 來逼近，如 L0-norm → L1-norm（Lasso、Compressed Sensing）、rank constraint → nuclear norm（low-rank matrix recovery）、integer constraint → LP relaxation\n- **operations preserve convexity**：非負加權和、max、affine composition、perspective 都保 convex（這是 cvxpy 的 DCP 規則基礎）\n- **考試辨識**：見到三角函數、多項式高次（如 x³）、sigmoid 全身、神經網路 loss、k-means 目標，全部直覺判 non-convex\n- **sin 是反例常客**：任何「convex 函數有什麼性質」的題目，sin 都是萬用反例",
    "8": "### 題目核心\n\n考 **Newton's Method（牛頓法）** 在最佳化中的本質與限制：用 **Hessian（二階資訊）** 自適應決定步長與方向，理論收斂快但工程成本高，且**對非凸問題不保證全域最佳**。\n\n---\n\n### 為什麼答案是 (D) 「保證找到全域最佳，即便非凸」\n\n這段敘述把牛頓法神化了。實情是：\n\n牛頓法的更新規則 `x_{t+1} = x_t − H⁻¹ · g`（其中 `g = ∇f`、`H = ∇²f`）只是把 `f` 在當前點做二階 Taylor 展開、取那個二次曲面的最低點當下一步。它解的是「**一階必要條件** `∇f(x*) = 0`」，這只是 **stationary point（駐點）** 的條件，並沒有區分：\n\n- local minimum（H 正定）\n- local maximum（H 負定）\n- saddle point（H 不定 indefinite）\n\n換句話說，在非凸函數上跑牛頓法，可能：\n\n1. 收斂到 **local minimum**（不是 global）\n2. 收斂到 **saddle point**（深度學習 loss surface 充滿 saddle）\n3. H 不正定時，`−H⁻¹g` 甚至可能往「**上坡方向**」走 → 發散\n\n實務修正：用 **damped Newton**（加 line search）、**trust region**（信賴域法）、或在 H 對角線加上 `λI` 強迫正定（Levenberg-Marquardt 思路）。\n\n「保證全域最佳」這件事，**只在 convex（凸）+ 解唯一**的情況下成立——而那個保證來自凸性，不是牛頓法本身。GD 在凸問題下也保證全域最佳。\n\n---\n\n### 為什麼其他選項對\n\n- **(A) 二次收斂、比 GD 快**：對。在強凸 + Lipschitz Hessian 條件下，牛頓法是 **quadratic convergence**（誤差每步平方下降，`‖x_{t+1} − x*‖ ≤ C·‖x_t − x*‖²`），GD 只有 linear convergence（幾何遞減）。直觀理解：牛頓法用「曲率」自適應步長——陡峭處小步、平緩處大步，所以靠近最佳解時超快。\n- **(B) Hessian + 反矩陣計算貴**：對。每步要算 `n×n` 的 Hessian（`O(n²)` 儲存 + 一堆二階偏導）、再解線性系統 `H · Δx = −g`（`O(n³)`）。中等規模就吃不消。\n- **(C) 深度學習禁用全 Newton**：對。NN 參數動輒 `n=10⁶~10¹⁰`，Hessian 是 `10¹²~10²⁰` 個元素，根本存不下。所以業界全用一階法（SGD/Adam）+ heuristic（Q4 momentum、Q5 Adam）。\n\n---\n\n### 章節來源\n\n**L23103 §4.1 Newton's Method — 收斂速度與計算瓶頸**：教材會先推 1D 牛頓法 `x_{t+1} = x_t − f'(x_t)/f''(x_t)`，再推到多維 `x_{t+1} = x_t − H⁻¹ · g`，最後對比 GD 的線性 vs 牛頓的二次收斂；同時點出 `O(n³)` 求逆是工程瓶頸，引出 §4.2 quasi-Newton。\n\n---\n\n### 融會貫通\n\n- **口訣**：「牛頓法快但貴，深度學習用不起；非凸只到 stationary，不保證 global」。\n- **二階 vs 一階分水嶺**：`n < 10⁴` 用 BFGS/L-BFGS（Q9）、`n < 10²` 用 trust-ncg / Newton-CG；`n > 10⁶` 一律 SGD/Adam。\n- **`scipy.optimize.minimize` 預設**：沒指定 method 時，無約束問題用 BFGS（不是 Newton！因為 Hessian 太貴），表示連 scipy 都不敢預設用完整牛頓。\n- **PyTorch 沒有 Newton optimizer**：只有 `torch.optim.LBFGS`（quasi-Newton），這就是業界共識。\n- **saddle point 詛咒**：高維 NN loss surface 中，saddle point 數量遠多於 local minima。牛頓法會被 saddle 吸住，反而 SGD 的隨機性可以逃離——這是「為什麼 NN 不用二階」更深層的理由。\n- **考點變化**：若改問「牛頓法跟 GD 差別」→ 用了二階資訊；若問「為什麼 NN 不用牛頓」→ 計算成本 + saddle 問題；若問「非凸保證？」→ 只保證 stationary point。",
    "9": "### 題目核心\n\n`scipy.optimize.minimize` 在「**大型參數空間 + 不想算完整 Hessian**」場景的最佳選擇，是 **`method='L-BFGS-B'`**——擬牛頓法的記憶體有限版本，用梯度差近似 H⁻¹，記憶體 `O(m·n)` 而非 `O(n²)`。\n\n---\n\n### 為什麼答案是 (B) `method='L-BFGS-B'`\n\n把需求拆成兩個關鍵詞：\n\n1. **大型參數空間**：意味 `n` 大（譬如 `n=10⁴~10⁶`），不能存 `n×n` 的 Hessian 或反矩陣（`O(n²)` 就爆了）。\n2. **不想算完整 Hessian**：意味要用 quasi-Newton 思路——**用梯度差近似 H⁻¹**。\n\n**BFGS（Broyden–Fletcher–Goldfarb–Shanno）** 的核心 idea：每步觀察 `s_k = x_{k+1} − x_k` 和 `y_k = g_{k+1} − g_k`，用秩 2 更新公式維護一個近似 H⁻¹ 的矩陣 `B_k`，避免顯式算 Hessian 或求逆。但純 BFGS 還要存 `n×n` 的 `B_k`，記憶體 `O(n²)` 仍然吃不消。\n\n**L-BFGS（Limited-memory BFGS）** 的進化：只保留最近 `m` 步（典型 `m=5~20`）的 `(s_k, y_k)` 配對，每次需要 `B_k · g` 時用 two-loop recursion 即時算出來，記憶體從 `O(n²)` 降到 `O(m·n)`。`n=10⁶`、`m=10` 只要 `10⁷` 個 float，現代電腦輕鬆裝下。\n\n`L-BFGS-B` 的 `-B` = **with Bound constraints**（可加參數上下界 `lb ≤ x ≤ ub`），底層用 active-set 處理 box constraint，是 scipy 預設的「中大規模有/無界最佳化首選」。\n\n```python\nfrom scipy.optimize import minimize\nres = minimize(fun, x0, jac=grad, method='L-BFGS-B',\n               bounds=[(0, None)]*n,   # 可選 box constraint\n               options={'maxiter': 500, 'gtol': 1e-6})\n```\n\n收斂速度是 **superlinear**（介於 GD 的 linear 與牛頓的 quadratic 之間），對中等規模問題實測通常比 GD 快 1~2 個數量級。\n\n---\n\n### 為什麼其他選項錯\n\n- **(A) `Nelder-Mead`**：**derivative-free**（不用梯度，純比較函數值的 simplex 反射/收縮），收斂慢、且只適合 `n < 20`。題目強調「大型參數空間」直接出局。Nelder-Mead 的位置是「函數不可微 / 黑盒，且 `n` 小」，跟本題需求相反。\n- **(C) `Powell`**：同樣是 derivative-free，用一系列共軛方向的 line search。在低維平滑函數上比 Nelder-Mead 略好，但本質仍是黑盒方法，`n` 一大就慢到不能用。\n- **(D) `trust-ncg`**：trust-region Newton-CG，需要 **完整 Hessian** 或 Hessian-vector product。題目明說「不想算完整 Hessian」，剛好排除。trust-ncg 適合「`n` 中等 + Hessian 容易算」的場景，跟需求衝突。\n\n---\n\n### 章節來源\n\n**L23103 §4.2 Quasi-Newton（BFGS / L-BFGS）+ §6 工程實作**：教材會推 BFGS 的秩 2 更新公式，說明為什麼用梯度差能近似 Hessian（secant 條件 `B_{k+1} · s_k = y_k`），再進階到 L-BFGS 的「滑動視窗 + two-loop recursion」記憶體優化，最後接 `scipy.optimize.minimize` 的 method 對照表。\n\n---\n\n### 融會貫通\n\n- **`scipy.optimize.minimize` method 選擇樹**：\n  - 有梯度 + `n` 大 → `L-BFGS-B`\n  - 有梯度 + Hessian 容易算 + `n` 中等 → `trust-ncg` / `Newton-CG`\n  - 無梯度 + `n` 小 → `Nelder-Mead` / `Powell`\n  - 有等式/不等式約束 → `SLSQP` / `trust-constr`\n- **業界廣泛採用**：\n  - `sklearn.LogisticRegression(solver='lbfgs')` 是 scikit-learn 0.22 起的預設 solver。\n  - `sklearn.MLPClassifier(solver='lbfgs')` 在小資料集上比 Adam 更快收斂。\n  - PyTorch `torch.optim.LBFGS` 是少數內建的二階方法，常用於物理模擬 / PINN / 小規模 fine-tuning。\n- **L-BFGS vs Adam 的選用直覺**：\n  - L-BFGS：**確定性、批次最佳化**（full batch），`n < 10⁵`，要求精確收斂（loss 降到很小）。\n  - Adam：**隨機、線上學習**（mini-batch），`n > 10⁶`，DL 訓練、雜訊大。\n- **`m` 的調法**：`m=5~10` 是 scipy 預設，記憶體緊就調小、要更接近完整 BFGS 收斂速度就調到 `m=20`。\n- **超參經驗**：`gtol`（梯度收斂門檻）`1e-5~1e-7`、`maxiter` 視問題給 `200~5000`；若 `Warning: ABNORMAL TERMINATION` 多半是初值太差或 fun 不光滑。",
    "10": "### 題目核心\n\n**Lagrange Multipliers（拉格朗日乘數法）** 的本質：把「**有等式約束的最佳化**」轉成「**無約束的拉格朗日函數最佳化**」，引入乘數 λ 後對 `(x, λ)` 求駐點。ML 應用包括 **SVM dual** 與 **KKT 條件**。\n\n---\n\n### 為什麼答案是 (A) 把約束最佳化轉成拉格朗日函數的無約束最佳化\n\n原問題（等式約束）：\n\n```\nminimize  f(x)\nsubject to  g(x) = 0\n```\n\n直接處理約束很麻煩——必須投影回 feasible set 或用 projected gradient。**Lagrange 的天才**是把約束「吸收」進目標函數：\n\n```\nL(x, λ) = f(x) + λ · g(x)\n```\n\n`λ` 叫 **multiplier（乘數）**，可視為「違反約束的代價權重」。求解時對 `(x, λ)` 同時取偏導等於零：\n\n```\n∇_x L = ∇f(x) + λ · ∇g(x) = 0   ← 一階必要條件\n∇_λ L = g(x) = 0                ← 還原約束\n```\n\n幾何直覺：最佳解處 `∇f` 與 `∇g` **同向（或反向）**，`λ` 是調整係數讓兩個梯度向量對齊。\n\n對於**不等式約束** `g(x) ≤ 0`，需要更一般的 **KKT 條件（Karush–Kuhn–Tucker）**：\n\n1. **Stationarity**：`∇f + Σ λ_i ∇g_i + Σ ν_j ∇h_j = 0`\n2. **Primal feasibility**：`g_i(x) ≤ 0`、`h_j(x) = 0`\n3. **Dual feasibility**：`λ_i ≥ 0`（不等式對應的乘數非負）\n4. **Complementary slackness**：`λ_i · g_i(x) = 0`（要嘛約束 active `g_i=0`、要嘛 `λ_i=0`）\n\nKKT 是凸問題下的充要條件、一般情況的必要條件，是現代約束最佳化的基石。\n\n---\n\n### 為什麼其他選項錯\n\n- **(B) 只能用在 LP**：完全錯。Lagrange 是**通用框架**，對 nonlinear `f` 與 `g` 都成立，是 KKT 條件、SVM dual、interior-point method 的基礎。LP 只是它的一個特例（線性目標 + 線性約束）。\n- **(C) 是梯度下降的同義詞**：完全錯。GD 是**演算法**（無約束時迭代下降），Lagrange 是**問題轉換框架**（把約束問題轉成可解的形式）。兩者層級不同。實際上 Lagrange 之後仍要選演算法去解 `L(x, λ)`，可以是 GD、Newton、interior-point 等。\n- **(D) ML 中沒應用**：徹底錯。Lagrange / KKT 是 **SVM、Lasso、Maximum Entropy、CRF、constrained policy gradient** 等核心方法的數學基礎。沒有 Lagrange 就沒有現代 ML 的約束最佳化理論。\n\n---\n\n### 章節來源\n\n**L23103 §5.1 Lagrange Multipliers — 約束最佳化轉換**：教材會從「等式約束 → 拉格朗日函數 → 駐點條件」展開，配上幾何圖示（contour line 切於 constraint surface），再進階到 §5.2 KKT 條件處理不等式約束、§5.3 對偶問題（dual）導出 SVM 的 α 形式。\n\n---\n\n### 融會貫通\n\n- **SVM dual 是經典應用**：\n  - Primal：`min ½‖w‖² s.t. y_i(w·x_i + b) ≥ 1`\n  - 對每個約束引入 `α_i ≥ 0`，寫出 Lagrangian → 對 `w, b` 求偏導消去 → 得到 dual：\n    ```\n    max Σ α_i − ½ Σ Σ α_i α_j y_i y_j (x_i · x_j)\n    s.t. α_i ≥ 0, Σ α_i y_i = 0\n    ```\n  - 關鍵：dual 只剩 `(x_i · x_j)` 內積形式 → 套 **kernel trick** `K(x_i, x_j)` 就能做非線性分類。沒有 Lagrange 就沒有 kernel SVM。\n- **Lasso 的等價形式**：\n  - Constrained：`min ‖y − Xw‖² s.t. ‖w‖₁ ≤ t`\n  - Unconstrained：`min ‖y − Xw‖² + λ ‖w‖₁`（教科書常見形式）\n  - 兩者透過 Lagrangian 互換，`λ` 就是 multiplier。Ridge / Lasso / Elastic Net 的「正則化係數」其實都是 Lagrange multiplier。\n- **complementary slackness 直覺**：「**約束沒被綁住的時候，乘數為零**」。SVM 中只有 support vectors 的 `α_i > 0`，其餘訓練點 `α_i = 0`——這就是「為什麼叫 support vector」的數學原因。\n- **業界工具**：\n  - `scipy.optimize.minimize(method='SLSQP')`：Sequential Least Squares Programming，內部用 KKT 條件處理等式 + 不等式約束。\n  - `cvxpy`：宣告式凸最佳化框架，底層自動轉成 Lagrangian 並呼叫 interior-point solver。\n  - `gurobi` / `mosek`：商用 QP/SOCP/SDP solver，KKT 是核心。\n- **考點變化**：問「λ 物理意義」→ 約束代價權重 / shadow price；問「KKT 4 條件」→ stationarity + primal/dual feasibility + complementary slackness；問「為什麼 SVM 用 dual」→ kernel trick 只在 dual 形式可行。"
  }
}