---
# System prepended metadata

title: 《 【2026 最新】GCP Professional Machine Learning Engineer 考試重點與讀書筆記》

---

# 《 【2026 最新】GCP Professional Machine Learning Engineer 考試重點與讀書筆記》
## 📒前言
大家好~ 在開始閱讀這份筆記之前，想先同步一下我的背景供大家參考。在挑戰這張證照前，我已持有 AWS Machine Learning Specialty 與 Solutions Architect Professional。



(對我的學經歷感興趣的話歡迎到我的 [linkedin](https://www.linkedin.com/in/max-lu-192b942b0/) 跟我Connect~)

所以，我的學習路徑相對「暴力」，主要是以 ExamTopics 為核心的刷題戰術。這種方法並不一定適合每個人，如果你偏好系統化的教科書學習，建議參考其他資源。

那我們就快速進入重點吧！

## 📒備考重點速覽
* 學習策略：採取暴力刷題法，透過 AI 解析與官方文件排除爭議題。[刷題點我](https://www.examtopics.com/exams/google/professional-machine-learning-engineer/)
* 語言習慣：筆記採中英混合，直接記住英文關鍵字（Keywords）以應對全英文考題。
* 實戰提醒：
    * `不要死背選項`：正式考試選項順序會隨機排列，請記住題目與答案的邏輯。
    * `題型與時間`：多為長篇情境單選題；50 題 120 分鐘，我實測含檢查約 1 小時初。
    * `適合對象`：這份筆記適合想快速掌握考點的人，但不一定適合完全沒基礎的初學者。

以下是我的考點整理，內容較多，若有錯誤或建議歡迎留言討論！




## 📒GCP Service
### 📙GCP Vertex AI 
* **基礎與擴展性：**  
  * 提供代管的 `AI Platform` 進行模型訓練。  
  * 原生支持 `TensorFlow Estimators`，以**最小化重構**即可擴展到大規模數據。  
  * 透過**自定義容器（Custom Containers）功能**，允許運行 PyTorch 等任何機器學習框架。  
* **開發與分析：**  
  * `Vertex AI Workbench Notebooks` 提供極高的靈活性，用於自定義的可視化與統計分析。  
* **自動化與優化：**  
  * `Vertex AutoML model` 自動進行特徵工程、演算法選擇與超參數調優。  
  * `Vertex AI Vizier` 作為黑盒子優化服務，自動找出模型中最完美的參數組合。  
* **工作流編排：**  
  * `Vertex AI Pipelines` 負責自動化工作流與調度，主要用於**訓練或批次處理**。  
* **元數據與血緣追蹤：**  
  * `Vertex ML Metadata` 負責記錄參數、構件（Artifacts）與執行譜系（Lineage），是實現模型**可追溯性**的核心組件。  
  * `Vertex AI Pipelines` 的組件會自動記錄輸入與輸出產物，自動建立完整的**血緣（Lineage）追蹤**。  
* **模型監控：**  
  * `Vertex AI Model Monitoring` 監控 **Feature Drift** 與 **Training-Serving Skew**，超標自動發送 Cloud Logging 告警。  
* **實驗管理：**  
  * `Vertex AI TensorBoard` 用於追蹤、以視覺化方式呈現及比較每一輪訓練（epoch）的詳細指標。  
  * `Vertex AI Experiments` 用於比較不同版本的模型表現。  
* **預測服務：**  
  * `Vertex AI Prediction` 提供具備**自動擴展 (Autoscaling)** 能力的在線預測服務。  
* **部署與流量管理：**  
  * Vertex AI 允許在同一個` Endpoint `上部署多個 Model 並進行 **Traffic 分割**。  
  * `ALTER MODEL` 語句能直接將現有的 `BigQuery ML 模型` 註冊到 Vertex AI，是實現部署最快的方法。  
* **數據與特定模型：**  
  * `Vertex AI tabular dataset` 專門用來存放與管理「結構化資料」。  
  * `AutoML Vision Edge: mobile-verasatile-1` 是專為手機與行動設備開發的影像模型。  
* **Jupyter Notebooks 增強：**  
  * `Notebooks' Query cell magic`：在 Jupyter Notebook 中使用 `%%bigquery` 指令，將 SQL 查詢結果自動轉換為 Pandas DataFrame 的功能。


### 📙 Google Cloud Dataproc 
是一項由 Google 提供的全託管型服務，可讓你在 Google Cloud 上快速部署、管理和擴展 Apache Hadoop、Spark`(專為大規模數據處理設計的開源分散式運算引擎)`、Hive 和其他大數據工具，常搭配ML架構使用。
* 簡化了傳統Cluster的建立與維運，只需數分鐘即可啟動一個完整的處理Cluster
* 支援使用 `Cloud Storage` 做為主要儲存空間，避免 HDFS 的容量限制。
* 適合處理像是 ETL、資料轉換、機器學習訓練與資料分析等工作，且具備彈性計費、與 `BigQuery`、`Cloud Composer` 等服務整合良好，是雲端環境中處理分散式大數據工作的高效選擇。
* `Vertex AI Hyperparameter Tuning Job`：是專為自定義模型設計的受管服務，能自動並行運行多個試驗並尋找最佳參數組合，且僅需對程式碼進行極少量的改動
* `Vertex AI Pipelines` 在執行時會自動將執行過程記錄於 Vertex ML Metadata 中，配合 `Vertex AI SDK `能輕鬆實現模型產出物（Artifacts）與譜系（Lineage）的追蹤
* `AutoSxS (Automatic side-by-side)` 是 Vertex AI 專門用於評估與比較多個 LLM 版本性能的預定義管道組件，能自動處理存儲在 Cloud Storage 的批次推論結果並追蹤相關產
#### 📘容易混淆
* `Dataprep`： GCP 提供的視覺化資料處理No-Code服務，即可透過互動式介面快速清理、轉換與結構化原始數據。
* `Vision API` 輕鬆處理、分析及理解影片、工業環境的目視檢測工作，雖能辨識文字，但無法像 `Document AI` 針對固定版位進行精確欄位擷取


### 📙Cloud Composer
GCP上用來「排程與管理資料處理工作流程」的工具，底層是用 `Apache Airflow`打造的託管型服務，不需要或不應直接部署容器到GKE cluster
* 用來自動排程與執行資料處理工作流程，不用手動每天跑流程。
* 底層是 Airflow，所以是用 DAG（流程圖）定義先做什麼再做什麼，方便管理多步驟資料流程。
* 📗`應用情境：每天自動跑資料清洗、匯入 BigQuery、跑分析、寄報表。`
#### 📘容易混淆
* `Cloud Scheduler` 是類似 cron 的時間驅動排程服務，用於觸發單一任務或 HTTP/Pub/Sub 呼叫。

#### 📘 NOTE
| 技術名稱 | 核心解釋 | 實際案例 |
|---------|---------|---------|
| Apache Airflow | 開源排程平台，使用 Python 定義 DAG (有向無環圖) 管理任務依賴與重試。 | 電商凌晨自動化：<br>&emsp; 。導出 MySQL 紀錄 → Spark 清洗數據 → 發送 Slack 通知。 |
| Cloud Composer | GCP 全代管 Airflow，自動維運 GKE 與資料庫，開發者只需專注於寫 DAG。 | 自動化 ML 流水線：<br>&emsp; 。偵測 GCS 新檔案→BigQuery 分析 → 觸發 Vertex AI 重新訓練。 |

### 📙Cloud Logging
是 GCP 的全代管日誌管理服務，負責集中收集、儲存及分析來自雲端資源與應用程式的所有日誌，並提供強大的過濾工具供工程師進行即時除錯與監控。
* `Sink功能` 是一個過濾與轉發機制，它能根據你設定的條件篩選 Log，並將其自動導向至 `BigQuery`、`Cloud Storage`或 `Pub/Sub`等目的地進行後續處理。


### 📙瑣碎考點
* `What-If Tool`： 由 Google 開發的No-Code互動式UI，讓開發者測試資料點變動對Model Prediction的影響，並檢測模型的公平性與偏差。
* `Deep Learning VM (DLVM)` 是 Google Cloud 提供的最佳實驗環境，因為它已預裝所有必要的深度學習庫（如 TensorFlow/PyTorch）與 GPU 驅動程式
* `Data Labeling Service`：GCP 提供的代管服務，協助開發者將大量的原始數據（如影像、文字）發送給人工標註團隊，以產生機器學習所需的正確標籤（Ground Truth）。
* `Cloud Data Fusion`：Google Cloud 提供的全代管、No-Code資料整合服務（基於 CDAP），讓使用者透過視覺化介面快速建構與管理 ETL/ELT 資料流水線。
* `VPC Service Controls (VPC SC)` 是 Google Cloud 中專門用於防止資料外洩的核心工具


## 📒ML Data Processing
### 📙Kubeflow Pipelines (KFP)
基於 Kubernetes 的開源平台，專門用於自動化部署、管理和擴展機器學習工作流（ML Pipelines）。
* `實驗 (Experiment)功能`：專為組織多次執行（Runs）而設計。
* `預定義組件 (Predefined components)`：可以直接從 GitHub 儲存庫No Coding的載入現成的 BigQuery 查詢組件，呼叫 API 並處理結果。
* 提供「統一指標比較儀表板」的功能直觀且完整
* `Katib`：專案中的超參數優化組件，能在 Kubernetes 環境下自動搜尋最佳的模型參數或神經網路架構（NAS），實現 MLOps 自動化。
* `func_to_container_op` 函數能直接將現有的 Python 函數轉換為 Kubeflow 管道組件，無需手動建立 Docker 鏡像，是整合自定義代碼最快速的方法
#### 📗舉例
```
你在 GCP GKE 上建立一個 Pipeline
自動從 Cloud Storage 抓資料、進行分布式訓練
最後直接將模型部署成 API 服務，實現全自動 MLOps。
```
### 📙當遇到問題時的應對方式
#### 📘資料不平衡
* `Downsampling`：透過減少多數類別（Majority Class）的樣本數量，讓多數類別與少數類別的數據量趨於Equal，優點是能減少訓練數據量、加快訓練速度，但缺點是可能會遺失多數類別中的重要資訊。
* `Upweighting`：增加少數類別（Minority Class）的權重比例（或稱給予較高的懲罰係數），讓模型在計算損失函數（Loss Function）時更在意少數類別的錯誤，這能在不改變數據量的情況下，達到平衡類別影響力的效果。

#### 📘運算資源限制
* `Slurm Workload Manager`：傳統高效能運算（HPC）常見的集群調度系統，專門管理大量運算節點的任務排隊、資源分配與大型並行運算（如 MPI）。

## 📒Algorithm $ Models
### 📙Loss Function
損失函數（Loss Functions），用於衡量模型預測值與實際標籤之間的差距
損失函數的比較通常發生在Training或Validation階段，不適合用於監控已部署在prod環境中、處理實時數據的模型。
* `Data oscillation`：在模型訓練過程中，損失函數（Loss）或權重出現劇烈且不穩定的上下波動，通常由Learning Rate過高或資料雜訊引起。([延伸閱讀](https://stackoverflow.com/questions/65213048/why-is-the-validation-loss-and-accuracy-oscillating-that-strong))
* **「Cross-entropy 是「要求精準的分數」，而 Hinge 是「只要差距(margin)夠多就好」」。**
#### 📘Categorical Hinge
解釋： 主要用於多分類 SVM (支持向量機)，它不看概率，而是要求正確類別的分數必須比其他錯誤類別的分數高出一個「邊際（Margin）」，否則就會產生損失。
#### 📘Binary Cross-entropy (BCE)
解釋： 用於二元分類（只有兩類），衡量兩個機率分佈（預測值 vs 實際標籤 0 或 1）之間的差異，預測越偏離真實結果，損失會呈指數型增長。
#### 📘Categorical Cross-entropy (CCE)
解釋： 用於多分類問題，且標籤必須先經過 One-hot 編碼（如 [1, 0, 0]），它會計算預測機率分佈與真實標籤分佈之間的差距。
#### 📘Early stopping：
在模型訓練過程中，當驗證集的效能不再提升甚至開始惡化時，立即停止迭代以防止模型`Overfitting`。


### 📙Models
* Neural Network 神經網路模型
    * `CNN (Convolutional)` 辨識空間影像
    * `RNN(Recurrent)` 處理時間序列
    * `DNN (Deep)`：由多個隱藏層組成的深層神經網路，透過非線性轉換來學習資料中極其複雜的特徵模式。
* `Reinforcement Learning` 透過獎勵學習決策。
* `Collaborative-based filtering (協同過濾)` ：通常用於recommandation系統，透過分析使用者與項目間的互動行為來捕捉「偏好相似度」。
* `ResNet Model`： 透過「殘差連接（Residual Connection）」讓梯度能跳層傳遞，解決了深層網路難以訓練的退化問題。
    * 像是給程式碼加了一個「備份跳線」，讓資訊可以直接跳過複雜的層級傳遞，防止重點在傳話過程中被抹滅。
* `PyTorch model`：由 Meta 開發，以動態計算圖為核心，因語法靈活且高度符合 Python 撰寫邏輯，是目前 AI 研究與原型開發的首選框架。
* `TensorFlow model`：由 Google 開發，擁有完善的工業級生態系（如 TFX、TF Serving），特別適合處理大規模分散式訓練與跨平台生產環境部署。
* `Google’s BERT`：一種 NLP 預訓練模型，透過雙向 Transformer 架構同時理解文字的前後文語境，改變了搜尋引擎對人類語言的理解能力。
* `EfficientNet model`：透過同時等比例縮放網路深度、寬度與解析度，以極低算力消耗達成極高精度的CNN架構。
* `Lasso regression Model`：透過加入 `L1 正規化`來壓縮特徵權重，並能將不重要特徵的係數歸零，從而達成自動特徵選取的線性模型。
* `ARIMA model`：一種經典的統計模型，專門透過分析歷史數據的規律（如季節性或趨勢）來預測未來的時間序列（如房價或銷量）。
* `Prophet`：由 Meta 開發的預測工具，專門處理具有強烈季節性規律（如週末、節慶）的時間序列數據。
* `BERT-based model`：一種能理解文字前後脈絡的 AI 模型，讓電腦能更精準地「讀懂」整句話的人類語言意涵。
* `models’ binaries`：訓練完成後封裝成的二進制檔案，是電腦執行預測任務時直接讀取的「大腦指令集」。
* `模型檔案 (Pickled model)`：使用 Python 的 pickle 工具將模型狀態打包成的檔案，方便將訓練好的成果保存或傳輸到其他伺服器使用。


### 📙Algotithm
* `Bayesian search`： 一種超參數優化演算法，透過建立機率模型預測哪些參數組合表現較好，減少盲目嘗試並找到最佳解。
* `Element-wise`： 指的是對陣列或矩陣中相同位置的元素逐一進行獨立運算（如對應位置相加），而非進行整體的矩陣乘法。
* `Gradient Optimization (梯度優化)`：透過計算損失函數的斜率（梯度），沿著誤差下降最快的方向不斷迭代調整模型權重，直到找到最小誤差值的過程。
    * 簡單來說就是根據每一批資料的預測誤差來修正參數，讓模型的預測越來越準。
    * 如果輸入特徵的Range差異過大`===導致==>`梯度優化器（Gradient Optimizer）在更新權重時變得不穩定
    * `Normalization`：可以將所有特徵縮放到一致的比例範圍內，可以讓損失函數的表面更平滑，使梯度優化能更有效地找到理想的權重解
* `XGBoost regression`：利用梯次提升決策樹（XGBoost）演算法，直接對結構化資料進行連續性數值的預測任務。
* `Word2Vec` 透過分析文本上下文來捕捉文字間的「語義相似度」，
* `BigQuery’s CORR(X1, X2)`：一個 SQL 統計函數，用於計算兩個數值欄位之間的Pearson Correlation，協助快速找出變數間的線性關聯性
* `BigQuery ML` 的 `CREATE MODLE` query 會針對類別型特徵 (如字串) 自動執行預處理，例如獨熱編碼。
* `BigQuery - 排程查詢（Scheduled Queries）`是 BigQuery ML 的原生功能，能直接定期執行 SQL 重新訓練語法，這在開發努力與排程成本上均為最低
* `TRANSFORM clause` 讓你直接在 SQL 中定義預處理邏輯並將其封裝在模型內，確保訓練與預測時的資料處理始終一致，避免「訓練與服務偏差（Training-Serving Skew）」。
##### 📗案例
```
在影像辨識中區分 10 種不同的雲端架構圖標，標籤預先轉為長度為 10 的向量。

*Sparse Categorical Cross-entropy (SCCE)
。邏輯與 CCE 完全相同
。但標籤直接使用整數索引（如 1 代表貓, 2 代表狗）
。標籤非向量所以在類別極多時能大幅節省記憶體空間。
```
## 📒Machine Learinging 觀念

### 📙Pre-Processing
*  `Base64 編碼`：僅是用於處理二進制數據（如圖像）的傳輸格式，對於模型在內存中進行運算時的負擔並沒有減輕作用
* `PCA `產生的新特徵是原始變數的混合體，雖然能減少特徵數量，但會失去原始數據的直觀意義
* `One-Hot`：是將類別轉為高維稀疏且互不相關的 0 與 1 向量
    * `One-Hot Encoding` ： 是將類別轉為高維稀疏且互不相關的 0 與 1 向量
* `Embedding` ： 則將類別映射至低維稠密空間，能捕捉資料間的語義相似度。
* `L1 Regularization`：將不重要特徵的係數縮減至 0 的特性，能直接剔除無效特徵並保留有效特徵的原始形式；`L2 Regularization`：將不重要特徵的係數增加權重，同時保留特徵並使權重值保持較小
* `Stratified sampling 分層抽樣`：能確保所有子群體（即使是少數族群）在訓練數據中都有足夠的代表性，防止模型因樣本不足而產生偏見
### 📙Training
* `Federated Learning（聯邦學習）` 是一種分散式機器學習技術，資料不需要離開各設備並通過加密機制在雲上建立共有模型，確保數據隱私。
* `Transfer Learning (遷移學習)` 是將一個在大規模資料集上預訓練好的模型知識，應用於另一個相關但不同任務的過程，以節省重新訓練的時間與資料需求。
* `Parallel interleave`：在資料載入流水線中，同時並行地從多個資料源讀取數據塊並交錯組合，以消除因硬體 I/O 讀取速度緩慢而導致的效能瓶頸。
* `常見模型參數(parameter):`
    * `Scale-tier`： 這是 GCP 特有的參數，用來決定訓練任務所使用的運算資源等級（如：單機 CPU、多 GPU 或 TPU 叢集）。
    * `Epochs`： 代表模型掃描完整個訓練資料集的次數，增加次數通常能提升準確度，但過多會導致過擬合。
    * `Batch size`： 每次更新模型權重前所處理的樣本數量，較大的數值能加速訓練並穩定梯度，但會消耗更多記憶體。
    * `Learning rate`： 決定模型在每次優化時步進的大小，設定過大可能導致無法收斂或震盪，過小則會讓訓練極度緩慢。
    * `Interleave 選項`： 在資料讀取時同時從多個檔案中交錯提取數據，利用並行處理來消除 I/O 讀取的瓶頸。
    * `Prefetch 選項`： 讓 CPU 在 GPU 執行當前訓練步時，預先準備好下一批（Next Batch）資料，實現運算與讀取的重疊。
    * `Verbose`： 控制訓練過程中的日誌輸出詳細度
    * `Optimizer`：是用來更新模型權重以最小化損失函數的演算法
* `Autoencoder (自動編碼器)` 是一種常用於非監督式學習 (Unsupervised Learning) 的神經網路架構。它的核心目標是學習如何將輸入數據「壓縮」成較小的表示，然後再「重建」回原始數據。

### 📙Validation & Evaluation
#### 📘ROC & AUC
* `Receiver Operating Characteristic (ROC)` 透過繪製不同閾值下的「真陽性率(TPR)-預測正確」與「偽陽性率(FPR)-預測錯誤」關係曲線，來衡量分類模型區分不同類別的綜合能力。]
* `AUC（Area Under Curve）`代表在ROC曲線下的面積，能表示分類器預測能力的一項常用的統計值。
* ROC曲線越靠近右上、AUC面積越大，代表模型的效果越好。
    * 當AUC = 1時，代表分類器非常完美。
    * 當AUC > 0.5時，代表分類器分類效果優於隨機猜測。
    * 當AUC = 0.5時，代表分類器分類效果與隨機猜測相同。
![image](https://hackmd.io/_uploads/HkQBQyKmZx.png)
[SOURCE](https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=zh-tw)
* `Precision-Recall Curve (AUC PR)`：描繪模型在不同門檻值下「精確度」與「召回率」權衡關係的曲線，是評估資料集類別極端不平衡時效能的最佳指標。
    * PR曲線越靠近右上方表示模型表現越好
    * **AUC PR 比 AUC ROC 更能真實反映模型對「少數類別」的預測表現**
![image](https://hackmd.io/_uploads/BymygxamWl.png)
[SOURCE](https://medium.com/marketingdatascience/%E5%88%86%E9%A1%9E%E5%99%A8%E8%A9%95%E4%BC%B0%E6%96%B9%E6%B3%95-roc%E6%9B%B2%E7%B7%9A-auc-accuracy-pr%E6%9B%B2%E7%B7%9A-d3a39977022c)
#### 📘其他評估工具
*  `TFX ModelValidator tools`：允許開發者針對特定的資料切片（Slices）設定效能指標門檻，確保模型在投入生產前符合特定的子集表現要求
*  `k-fold cross-validation`：主要用於評估模型對訓練資料的泛化能力，無法針對特定的業務子集（如特定鞋款或地區）進行生產前的細分驗證
*  `sampled Shapley explanations`：透過隨機採樣特徵組合來快速用Shapley method估算各個特徵對模型最終預測結果的貢獻程度。
*  `Integrated Gradients`：計算快、視覺化效果好、適合純`NN`or`深度學習`，藉由計算輸入特徵從基準值到原始值路徑上的梯度積分，將預測結果精確分配給每個輸入特徵。
* `Local feature importance（在地特徵重要性）`：能針對「單一預測結果」提供解釋，說明各個特徵對該次特定決策的具體貢獻程
* `XRAI` 是專門為「影像 (Images)」設計的解釋方法，能精準標示出圖片中哪些區域（如裂縫、特徵）影響了模型的判斷。
`Data artifacts`：Pipeline 部件執行後的結果稱為Artifacts ，例如不同特徵工程階段產生的資料、訓練後的模型、schema、metrics…
`Matrix Factorization` 矩陣分解：尋找兩個變項之間是否可能受到某種潛在因素(latent factor)的控制
`Integrated Gradients`（整合梯度）：主要適用於神經網路等可微分模型，像 XGBoost 這種「樹狀結構」的模型則更適合用`Shapley`解釋

## 📒易混淆觀念
### 📙 Precision & Recall
* `精確度 (Precision)`： 在所有模型預測為真的樣本中，實際真的為真的比例（強調「誤報」）
* `召回率 (Recall)`： 在所有實際為真的樣本中，模型成功預測出來的比例（強調「漏網之魚」）。
* `F1 Score `是處理類別不平衡（Class Imbalance）問題的最佳指標是處理類別不平衡（Class Imbalance）問題的最佳指標
![image](https://hackmd.io/_uploads/r1W76au7-g.png)[SOURCE](https://www.researchgate.net/figure/Calculation-of-Precision-Recall-and-Accuracy-in-the-confusion-matrix_fig3_336402347)
---
### 📙Cloud Natural Language API & AutoML Natural Language
* `Cloud Natural Language API`: 提供預先訓練好的模型，讓你透過 API 直接分析文本的**情緒、實體（人名、地名）及語法**，無需提供任何訓練資料，隨選隨用。
* `AutoML Natural Language`：讓你上傳自己的資料集來訓練「客製化」模型，專門處理**特定產業的術語或獨特的分類需求**，且無需撰寫機器學習程式碼。
---
### 📙Drift & Skew & Leakage
* `資料偏移 (C Drift)`： 指模型上線一段時間後，輸入數據的統計分佈隨時間產生變化（如用戶行為改變），導致原有的模型逐漸失效。
* `資料偏差 (V Skew)`： 指模型在訓練時與實際預測時的數據處理方式或環境不一致（如特徵工程邏輯不同），導致上線表現與實驗結果落差巨大。
**`SOLUTION` => 建立「監控、警示與重新訓練」的自動化循環」**
---
* `Skew` 通常是指在模型部署的「當下」，訓練數據與服務數據之間的差異（通常源於Feature Engineering 邏輯不一致或數據採樣問題）。
* 而Feature隨時間「變化」，屬於長期的`Drift`問題。
---
* `資料洩漏 (Data Leakage)`：指訓練資料中意外包含了預測當下無法取得的資訊（如未來數據），導致模型在訓練時表現極佳但在實際應用中失效。(`用未來的數據預測過去`)
    * 常是因為某些特徵中包含了預測目標的資訊（例如：無意中加入了未來的數據）
`SOLUTION` => 嚴格過濾、清理與資料，避免高相關性特徵影響結果
---
### 📙交叉驗證
* `交叉驗證 (Cross-validation)`： 將資料集切分為 $k$ 份，輪流將每一份當作測試集、其餘當作訓練集，最後取平均結果以減少單次切分的隨機誤差。
    * 📗把 100 筆雲端日誌分成 5 份，每次拿 80 筆練習判斷異常、20 筆考試，考 5 次「大考」後算平均分。
* `嵌套交叉驗證 (Nested Cross-validation)`： 在外層驗證循環中嵌套一個內層驗證循環，分別用內層來挑選最合適的參數，外層則用來評估該模型的最終性能。
    * 📗延續上面的 5 次大考，在每次準備大考時，都先在 80 筆練習題中再切分小組做「模擬考」，用來決定要選哪種模型參數（如 Learning rate），決定後才去參加大考。

### 📙Big Table & Firebase
* `Bigtable` 則是專為 PB 級海量數據、高吞吐與低延遲需求設計的寬欄位 (Wide-column) 儲存系統。Bigtable 延遲極低，但需要手動管理實例與叢集配置
* `Firebase` ：專注於行動端應用的即時同步與開發易用性，而 。，若強調「簡單性」且需要處理網頁端的即時數據，Firestore 它是無伺服器架構，這意味著開發團隊不需要花時間去設定伺服器或擴充節點，系統會自動處理。

### 📙Scikit-learn & TensorFlow 
* `Scikit-learn` 是一個資料工具庫，專注於`傳統機器學習` 的分類、迴歸、分群與預處理（如隨機森林、SVM），主要運行於 CPU，適合處理中小型結構化數據，具有簡潔統一的 API 介面
    * scikit-learn 主要是基於 CPU 運算的機器學習庫
* `TensorFlow` 則是專為`深度學習`設計的框架，支援 GPU/TPU 硬體加速，能處理海量非結構化數據（如影像、語音），並擁有完整的工業級生產部署生態系（TFX）。
    * `TFRecords`：TensorFlow 專用的二進位資料格式，能將分散的檔案打包並優化讀取效率，特別適合用於大規模資料集的串流傳輸與訓練。避免 I/O 瓶頸。
    * `TensorFlow Extended (TFX)` 提供了專為 TensorFlow 設計的標準組件（如 `ExampleValidator` 與 `Evaluator`），能直接處理數據與模型的質量檢查，且透過 Vertex AI Pipelines 代管能以最低維護成本實現自動化與規模化
    * `Keras`： 一個以 Python 編寫的高階深度學習 API，能運行在 TensorFlow 等框架之上，旨在讓開發者能快速、簡單地建構神經網路原型。
    * `tf.distribute.Strategy API` 啟動分佈式訓練，能將三百萬張影像的龐大工作負載分散至多個硬體加速器（GPU/TPU），從而顯著縮短訓練時間並維持模型性能
    * `TensorFlow Transform (TFT)` 能夠生成一個預處理圖形（Transform Graph），並將其直接導出為模型的一部分，確保在 Dataflow 訓練與在線預測時執行完全相同的邏輯
    * `TensorFlow Profiler` 主要用於分析運算效能與硬體執行瓶頸，與解釋模型預測 rationale 或識別偏誤無關

簡言之，前者是處理統計型機器學習的標準工具，後者則是建構複雜深度神經網路的強力引擎。
### 📙ML中 GPU和CPU的考點 (ML GPU and CPU Key Points)
#### TPU vs. GPU vs. CPU應用 (GPU vs. CPU Applications)
| 處理器 | 描述 |
|--------|------|
| `TPU`  | * Google 開發的 AI 推斷處理器，效能為 GPU 的 15~30 倍，但價格昂貴，被設計並運用於大量的低精度計算|
| `GPU`  | 深度學習訓練優先選擇，具高效並行計算能力，適用於分析與 AI 任務。 |
| `CPU`  | 適合傳統 ML 或輕量推斷，成本效益高，部署靈活。 |
#### 訓練與調試考量 (Training and Debugging Considerations)
* `GPU 運算限制`: 單顆 GPU 的運算吞吐量有其上限，單純增加主機記憶體與批次大小無法有效解決大規模數據集的處理瓶頸。
* 模型調試首要步驟: 確保模型能在一小部分數據上過擬合 `(Overfitting)`，以驗證模型架構與訓練程式碼是否正常運作。


### 📙Traning Explaination
* `feature attributions`是用來量化各因素對結果的貢獻、適合表格資料與技術人員，而
* `example-based explanations`則透過相似案例直觀說明模型判斷、適合圖片資料(複雜)與非技術對象。

### 📙影像辨識相關
* `Image Classification` 自定義訓練（Custom Training）能提供調優模型參數所需的最高靈活性
* `Object Detection`主要用於在較大、未經裁剪的影像中定位多個物件的位置，但對於已經裁剪好的單一標誌影像來說，這會增加不必要的計算負擔與複雜度


**「影像分類是告訴你整張圖片裡「有什麼」（貼上一個標籤），而物件偵測則是告訴你圖片裡「有哪些東西」以及它們分別「在哪裡」（畫出框框）」**

### 📙系統模型
* `Core ML model`：一個機器學習框架，蘋果公司專為 Mac OS 等設備打造的模型格式，能直接調用蘋果晶片（如 NPU）的運算能力，讓 AI 在蘋果產品上跑得最快。
* `TFLite model`：Google 推出的輕量化格式，專門將龐大的 TensorFlow 模型「瘦身」，使其能在 Android 手機、iOS 或小型硬體（如樹莓派）上快速執行且不耗電。

### 📙特徵類別
* `類別特徵 (Categorical Features)：`代表事物的性質、分組或標籤，例如產品類別、支付方式、店面位置或性別,,。這類資料不具備數值大小的數學意義，通常是字串格式，必須透過`One-hot encoding`、`Feature hashing`等方法轉換成數字，模型才能進行運算。
* `非類別/數值特徵 (Numerical Features)`：代表可測量的數量或計數，這類特徵可以直接參與數學運算，實務上通常需要進行`Standardization`或`Normalization`處理。

### 📙KFP & TFX & Vertex AI
`Kubeflow Pipelines (KFP)`：靈活的「通用引擎」 它提供極大的自由度，不限於 TensorFlow，無論你用 PyTorch 還是 Scikit-learn 都能像玩樂高一樣自由拼裝。如果你需要自定義複雜的工作流，它是最佳選擇。
`TFX (TensorFlow Extended)`：專業的「工作劇本」 這是一套專門為 TensorFlow 打造的工具包。它內建了許多專業組件（如資料驗證、特徵轉換），適合希望依照 Google 標準化流程、省心開發的專業團隊。
`Vertex AI Pipelines`：代管的「自動化場域」 這是一個雲端平台，負責提供運算資源來實際跑動 TFX 或 KFP 的劇本。它會自動追蹤所有實驗數據與模型紀錄，讓你不必自己維護伺服器。

## 📒零碎考點
* `Syntactical analysis`：在自然語言處理（NLP）中，根據語法規則分析句子的結構（如主動賓關係），以釐清單字之間如何組合形成有意義句子的過程。
* `Binning strategy`：分箱技術，將連續型數值資料切分為多個離散區間（如年齡轉為年齡層）的預處理技術，用以減少細微雜訊影響並捕捉非線性特徵關係。
* `Backpropagating `(反向傳播)： 透過計算預測誤差並從輸出層向輸入層反向傳遞梯度，藉此調整神經網路權重以優化模型的數學過程。
* `Feature crossing` (特徵組合)： 將兩個或多個原始特徵組合（如相乘）形成新的合成特徵，讓模型能學習到特徵之間的非線性關係。
* `Placeholder category (佔位類別)`： 在處理類別型特徵時，為模型在訓練期間未曾見過的未知類別（Out-of-Vocabulary）預留的分類標籤，以提升推理時的穩定性。
* `Image segmentation (影像分割)`： 將數位影像中的每一個像素分配給特定類別，從而精確定位並勾勒出物體邊界與輪廓的技術。
* `Weight pruning` (權重剪枝)：刪除模型中接近零或不重要的權重，以減少參數數量並加速推論速度，同時盡可能維持準確度。
* `Dynamic range quantization` (動態範圍量化)：將模型權重從 32 位浮點數轉換為 8 位整數格式，藉此在不需重新訓練的情況下大幅縮減模型體積。
* `Model distillation` (模型蒸餾)：透過大型「教師模型」引導小型「學生模型」進行學習，使小模型能以極少資源達到接近大模型的效能。
* `Dimensionality reduction `(降維)：利用 PCA 等技術減少資料集中的特徵變數數量，以降低運算複雜度並有效防止過擬合。
* `Z-score` 代表數據點距離平均值幾個標準差，用於衡量數值在整體分佈中的相對位置或識別異常值(通常三個標準差會被視為異常)。
* `Sparse representation (稀疏表示)`： 這種資料格式僅儲存非零元素及其索引，藉此在大規模高維度（且多數值為 0）的場景下大幅節省記憶體與運算空間。
* `Box-Cox transformation`： 一種數學變換技術，透過調整參數 $\lambda$ 來穩定資料的變異數，並使非正態分佈的連續型數據更接近常態分佈。
* `Training and validation losses `： 分別代表模型在訓練集（學習成效）與驗證集（泛化能力）上的誤差數值，常用於診斷模型是否產生過擬合或欠擬合。
`Shapley method`： 基於賽局理論的解釋技術，透過計算每個特徵對模型預測結果的平均邊際貢獻，提供具備數學公平性的特徵重要性評估。
`DSL `是專門為「特定任務」或「特定領域」量身打造的程式語言(e.g. SQL、HTML)



## 📒總結
整體來說，這張證照的難度算高，體感上比GCP Data Professional 和AWS MLS更具挑戰性。

如果你還在猶豫考照順序，我個人強烈建議先考 Data Professional。
理由很簡單，高品質的Data處理是機器學習（ML）的基石。

當你先把資料處理、管線設計的基礎打好後，回頭來解這張 ML 的題目會更有邏輯，也能更精準地抓到 Best Solution 的核心關鍵。

祝好運！

![image](https://hackmd.io/_uploads/ry9H8Lwrbe.png)
