機器學習知識地圖 · 非監督式學習
PCA
主成分分析,線性降維
觀念教學
把 3D 物體的影子投到牆上,挑一個最能看出形狀的角度 — PCA 做的,就是幫高維資料找最會說話的投影方向。
核心觀念
主成分分析(PCA,Principal Component Analysis)是最常用的線性降維技術:找出資料變異最大的方向作為第一主成分,再找與它正交、變異次大的方向,依序排下去。變異大代表資訊多 — 只留前幾個主成分,就能用少少幾維扛住大部分資訊,順便消除特徵間的共線性(主成分彼此線性無關)。
白話理解
你有 100 個特徵,但很多互相重複、高度相關(坪數與房間數、收入與消費)。PCA 把它們融合成幾個「綜合方向」,100 維壓成 2 到 3 維,資訊盡量保留、維度大幅降低。
優缺點與應用
- 應用:資料視覺化(高維壓到 2D 畫圖)、去除雜訊、加速模型訓練、影像壓縮
- 優點:快速、無監督(不需標籤)、能有效去除冗餘特徵
- 缺點:只能抓線性關係 — 非線性結構請改用 t-SNE/UMAP
- 缺點:主成分不好解釋 — 它是原始特徵的加權組合,不再是「坪數」「屋齡」這種人話
- 驗收:解釋變異比例(前幾個主成分吃下多少總變異)與重建誤差
🎯 口訣:挑變異最大的方向投影 — 快又省,但只懂直線、新軸難解釋。
iPAS 考點
判斷關鍵字:主成分、線性降維、最大化保留變異、去除共線性。易混淆對:PCA(線性、可壓縮可前處理)vs t-SNE(非線性、主要做視覺化)。陷阱:PCA 是非監督式 — 問「不需標籤的降維」選它;「找變異最大的正交方向」是它的正字標記。
應用場景
評估指標
iPAS 歷屆考題詳解(4 題)
先自行作答,再展開詳解。題目出處均為 iPAS AI 應用規劃師正式考題,著作權屬原主辦單位。
某金融科技公司建立房價預測模型,使用多項特徵(如建坪、房齡、樓層、總價等)進行線性迴歸分析(Linear Regression Analysis)。資料分析師發現多個特徵之間存在高度相關性,導致模型係數不穩定、預測誤差上升。為解決此問題,下列哪一種方法最適合?
- A繼續保留所有特徵,不進行任何處理
- B使用主成分分析(PCA)將相關特徵轉換為彼此獨立的主成分
- C新增更多原始變數以提升模型表現
- D改用分類模型進行預測
看正解與逐選項詳解
正解:B
某團隊在開發風險評估模型時,使用主成分分析(Principal Component Analysis, PCA)進行降維。輸入資料包含三個數值欄位:「交易金額(單位:新台幣)」、「交易次數(次/月)」與「年齡(歲)」,其數值量級分別約為10⁵、10¹與 10²。分析人員直接將原始數據帶入 PCA,結果第一主成分(PC1)幾乎完全由「交易金額」主導。下列哪一項作法或判斷最合理?
- A這是正常現象,金額本身變異較大,應主導主要成分
- B若改用特徵選擇法,可自動解決變數量級問題
- C可刪除「交易金額」欄位以平衡各主成分的影響
- D在進行PCA前應先進行標準化(Standardization),以避免因數值尺度差異造成特徵偏誤
看正解與逐選項詳解
正解:D
研究人員使用 sklearn 內建手寫數字資料集 digits(每張影像 8×8 灰階、共 1797 筆、64 維特徵),並以以下程式碼加入雜訊: import numpy as np noisy = np.random.normal(digits.data, 4) 接著嘗試使用 PCA 對 noisy 進行降噪,程式碼如下(行末註解為程式碼編號): from sklearn.decomposition import PCA #程式碼A pca = PCA() #程式碼B pca.fit(noisy) #程式碼C components = pca.transform(noisy) #程式碼D filtered = pca.inverse_transform(components) #程式碼E 他們希望保留影像的主要特徵、去除雜訊,但程式執行後影像仍含明顯雜訊。請問哪一段程式碼需要修改,才能讓 PCA 對 noisy 影像有效去噪?
- A程式碼A
- B程式碼B
- C程式碼C
- D程式碼D
看正解與逐選項詳解
正解:B
某資料科學家正在處理一份包含 200個感測器特徵的工廠設備監測資料集,為了降低模型複雜度並保留主要變異資訊,他先對資料進行標準化(Standardization),再使用主成分分析(PCA)進行降維。在 PCA 過程中,為了找出能最大化資料變異量的主成分方向,演算法主要依賴哪一項數學操作?
- A透過對目標函數進行梯度下降(Gradient Descent)最佳化,迭代求得主成分方向
- B根據特徵與目標變數之間的相關性(Correlation)進行排序,選擇重要特徵
- C對資料的協方差矩陣(Covariance Matrix)進行特徵值分解(Eigen Decomposition),取得對應主要變異方向的特徵向量
- D對資料矩陣進行卷積運算(Convolution),擷取特徵之間的局部關係
看正解與逐選項詳解
正解:C