機器學習知識地圖 · 非監督式學習

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 應用規劃師正式考題,著作權屬原主辦單位。

114年第二梯次中級AI應用規劃師第一科人工智慧技術應用與規劃 第12題

某金融科技公司建立房價預測模型,使用多項特徵(如建坪、房齡、樓層、總價等)進行線性迴歸分析(Linear Regression Analysis)。資料分析師發現多個特徵之間存在高度相關性,導致模型係數不穩定、預測誤差上升。為解決此問題,下列哪一種方法最適合?

  1. A繼續保留所有特徵,不進行任何處理
  2. B使用主成分分析(PCA)將相關特徵轉換為彼此獨立的主成分
  3. C新增更多原始變數以提升模型表現
  4. D改用分類模型進行預測
看正解與逐選項詳解

正解:B

正確答案:(B) 【正解解析】 多個特徵高度相關即為多重共線性(Multicollinearity),會使線性迴歸的係數估計變異數膨脹、數值不穩定。主成分分析(PCA)對原特徵進行正交轉換,產生彼此不相關的主成分,再以主成分作為迴歸輸入,可從根本上消除共線性,同時保留大部分變異資訊,是處理此問題的經典手法;實務上亦常先以變異數膨脹因子(VIF)確認共線性的嚴重程度,再決定降維策略。 【為何其他選項錯了?】 - (A):不進行任何處理,係數不穩定與預測誤差上升的問題會持續存在,無法改善。 - (C):共線性的根源是特徵之間資訊重疊;再新增更多原始變數只會使重疊更嚴重,惡化問題。 - (D):房價為連續數值,任務本質是迴歸;改用分類模型是改變了任務型態,並未解決共線性問題。 提示:特徵高度相關(共線性)可用 PCA 轉為正交主成分;VIF 是診斷共線性的常用指標。
114年第二梯次中級AI應用規劃師第二科大數據處理分析與應用 第29題

某團隊在開發風險評估模型時,使用主成分分析(Principal Component Analysis, PCA)進行降維。輸入資料包含三個數值欄位:「交易金額(單位:新台幣)」、「交易次數(次/月)」與「年齡(歲)」,其數值量級分別約為10⁵、10¹與 10²。分析人員直接將原始數據帶入 PCA,結果第一主成分(PC1)幾乎完全由「交易金額」主導。下列哪一項作法或判斷最合理?

  1. A這是正常現象,金額本身變異較大,應主導主要成分
  2. B若改用特徵選擇法,可自動解決變數量級問題
  3. C可刪除「交易金額」欄位以平衡各主成分的影響
  4. D在進行PCA前應先進行標準化(Standardization),以避免因數值尺度差異造成特徵偏誤
看正解與逐選項詳解

正解:D

正確答案:(D) 【正解解析】 PCA 以「變異數最大化」尋找主成分,而變異數有單位與量級:交易金額量級為 10⁵,其變異數可能是年齡(10²)與交易次數(10¹)的數百萬倍以上,第一主成分自然被交易金額完全主導。正確作法是先進行標準化(將各欄位轉換為平均 0、標準差 1),使每個變數在相同尺度上比較,PCA 才能反映真正的資料結構而非單位量級差異。實務上,對相關係數矩陣進行 PCA 即等價於先標準化再分解。 【為何其他選項錯了?】 - (A):金額的變異大主要來自其單位量級,不代表其資訊量確實較大;未標準化即讓量綱主導主成分,是分析偏誤而非可接受的正常現象。 - (B):特徵選擇是挑選變數子集,不會改變留下的變數之間量級懸殊的事實,無法解決尺度問題。 - (C):直接刪除交易金額會捨棄重要資訊;問題出在尺度差異,不在變數本身。 提示:PCA 對尺度敏感,分析前先標準化;對相關係數矩陣做 PCA 等價於自帶標準化。
114年第二梯次中級AI應用規劃師第三科機器學習技術與應用 第46題

研究人員使用 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 影像有效去噪?

  1. A程式碼A
  2. B程式碼B
  3. C程式碼C
  4. D程式碼D
看正解與逐選項詳解

正解:B

正確答案:(B) 【正解解析】 PCA 降噪的原理是只保留解釋變異量大的前幾個主成分來重建資料,將主要分布在小變異方向上的雜訊濾除。程式碼B 的 pca = PCA() 未指定 n_components,預設會保留全部 64 個主成分;此時 transform 再 inverse_transform 等於將原資料完整重建,雜訊完全不會被濾除。應改為 pca = PCA(n_components=k)(k 為較小的整數),或以解釋變異比例自動選取成分數(如 PCA(0.5)),降噪才會生效。 【為何其他選項錯了?】 - (A):import 敘述本身沒有問題,匯入的類別也正確。 - (C):pca.fit(noisy) 的用法正確;問題不在擬合這一步,而在建立模型時未限制成分數。 - (D):components = pca.transform(noisy) 是標準的投影寫法,本身無誤。 提示:PCA 降噪的關鍵在 n_components;主成分全數保留等於原樣重建,不具濾噪效果。
115年第一次中級AI應用規劃師第一科人工智慧技術應用與規劃 第30題

某資料科學家正在處理一份包含 200個感測器特徵的工廠設備監測資料集,為了降低模型複雜度並保留主要變異資訊,他先對資料進行標準化(Standardization),再使用主成分分析(PCA)進行降維。在 PCA 過程中,為了找出能最大化資料變異量的主成分方向,演算法主要依賴哪一項數學操作?

  1. A透過對目標函數進行梯度下降(Gradient Descent)最佳化,迭代求得主成分方向
  2. B根據特徵與目標變數之間的相關性(Correlation)進行排序,選擇重要特徵
  3. C對資料的協方差矩陣(Covariance Matrix)進行特徵值分解(Eigen Decomposition),取得對應主要變異方向的特徵向量
  4. D對資料矩陣進行卷積運算(Convolution),擷取特徵之間的局部關係
看正解與逐選項詳解

正解:C

正確答案:(C) 【正解解析】 PCA 的數學核心是:對標準化後的資料計算協方差矩陣(Covariance Matrix),再對其進行特徵值分解(Eigen Decomposition)。特徵向量(Eigenvector)即主成分方向,對應的特徵值(Eigenvalue)代表該方向上的變異量大小;將特徵值由大到小排序,取前 k 個特徵向量進行投影,即得到保留最多變異資訊的 k 維表示(實務上亦常以 SVD 計算,數學上等價)。先標準化則是避免量級大的感測器特徵主導變異量。 【為何其他選項錯了?】 - (A):PCA 具有閉式解(Closed-form Solution),直接對協方差矩陣分解即可求得最適方向,不需梯度下降迭代逼近。 - (B):依特徵與目標變數的相關性排序挑選特徵,是監督式特徵選擇(Feature Selection);PCA 是非監督方法,全程不使用目標變數,且產出的是原特徵的線性組合而非子集。 - (D):卷積運算是 CNN 擷取局部空間特徵的操作,與 PCA 的全域線性代數分解是不同的技術。 提示:PCA 流程:標準化、計算協方差矩陣、特徵值分解;特徵向量給方向,特徵值給變異量。

相關節點