AI資格ドリル
資格を選ぶ↓

用語比較

オートエンコーダと主成分分析(PCA)の違い|どちらも次元削減だが、線形か非線形かで選ぶ(G検定)

オートエンコーダと主成分分析(PCA)は、どちらも高次元のデータを少ない次元にまとめる次元削減に使えます。違いは、まとめ方の自由度です。PCAは分散を最大限説明する直交した成分への線形な変換で、オートエンコーダはニューラルネットワークに入力を再構成させて符号を学ぶ方法です。

G検定のシラバスには両方の名前があり、教科書でも「PCAの非線形な一般化」という形で関係が整理されています。次元削減の手法を選ぶ場面では、両者の関係を読み分けられると迷いません。線形な変換だけならPCA、非線形な変換を学べるならオートエンコーダと覚えると整理できます。

このページは、教科書『Deep Learning』(Goodfellow・Bengio・Courville)のオートエンコーダの章と、scikit-learn公式ドキュメントのPCAの説明をもとに、仕組み・求め方・一致する条件の3点で比べます。VAEとの違いは別のページで扱います。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。

結論

PCA

データを中心化し、特異値分解で、分散を最大限説明する直交した成分に分解する。少数の成分へ射影して次元を下げる。線形な変換で、学習のやり直しなしに成分が決まる。

オートエンコーダ

エンコーダが入力を符号に変え、デコーダが符号から入力を再構成するネットワーク。損失関数L(x, g(f(x)))、たとえば平均二乗誤差を最小にするよう学習する。符号の次元を入力より小さくしたものが、次元削減に使える。

一致する条件

デコーダが線形で損失が平均二乗誤差のとき、次元の小さい符号を持つオートエンコーダはPCAと同じ部分空間を学ぶ。非線形のエンコーダとデコーダなら、PCAの非線形な一般化を学べる。

違いを表で確認

比較軸PCAオートエンコーダ
手法の種類PCA:統計の手法。クラスタリングではなく次元削減の手法オートエンコーダ:ニューラルネットワーク。入力を出力へ写し取ろうと訓練され、内部に入力を表す符号を持つ
変換の形PCA:分散を最大限説明する直交した成分への線形な変換オートエンコーダ:非線形のエンコーダとデコーダも使える。PCAの非線形な一般化を学べる
求め方PCA:各特徴量を中心化し、スケーリングはせずに特異値分解を適用する。成分は計算で決まるオートエンコーダ:損失関数L(x, g(f(x)))、たとえば平均二乗誤差を最小にするようネットワークを学習する
次元を下げるときの決め方PCA:分散の大きい成分から少数を選び、その成分へ射影する。成分の分散の割合はexplained_variance_ratio_で確かめられるオートエンコーダ:符号の次元を入力の次元より小さくする。入力より小さい符号を持つものをundercompleteと呼ぶ
両者が同じになる条件PCA:線形な変換そのものオートエンコーダ:デコーダが線形で損失が平均二乗誤差なら、PCAと同じ部分空間を学ぶ。この場合PCAの主部分空間を副産物として学んでいる
気をつける点PCA:成分は元の変数の線形結合になる。スケールを揃えないので、単位の違う特徴量は事前に調整を考えるオートエンコーダ:エンコーダとデコーダの容量が大きすぎると、有用な情報を取り出さずに入力のコピーだけを学ぶことがある

どこで迷っているかを切り分ける

01

次元削減の手法名を選ぶ設問で迷う人

「分散を最大限説明する直交成分へ分解する」とあればPCAです。「入力を再構成するよう学習した中間の表現を使う」とあればオートエンコーダです。

02

「PCAの非線形な一般化」という言い方を見かけた人

非線形のエンコーダとデコーダを持つオートエンコーダが、PCAの非線形な一般化を学べます。線形なデコーダと平均二乗誤差の組み合わせに限れば、PCAと同じ部分空間になります。

03

積層オートエンコーダの名前から、PCAとの関係を知りたい人

G検定のシラバスのキーワードには、主成分分析(PCA)と積層オートエンコーダの両方があります。前者は統計の次元削減、後者は層を重ねた再構成のネットワークと、出どころを分けて覚えます。

04

どちらを実際に使うか考える人

線形で足りて成分の意味を調べたいならPCAです。線形では表せない構造を学ばせたいならオートエンコーダが候補になります。ただし容量が大きすぎると、コピーを学ぶだけになる点に注意します。

具体例で使い分ける

例 1

PCAの成分が計算で決まる例(架空の2変数)

2つの特徴量の分散が4と3、共分散が2のデータで、PCAを行います。

  • 共分散行列の固有値は (7±√17)/2、つまり約5.562と約1.438です。合計7のうち、第1成分が説明する分散の割合は約0.795、第2成分は約0.205です。
  • 第1成分の向きは約(0.788, 0.615)で、元の2軸のどちらとも違う斜めの向きになります。2次元を1次元に落とすなら、この向きへ射影します。

結論: PCAは、共分散行列の固有値と向きから、データごとに成分が一つに決まります。数値は説明用の架空のデータです。

例 2

オートエンコーダがPCAと同じになる場合

符号の次元を入力より小さくしたオートエンコーダを、平均二乗誤差で学習します。

  • デコーダが線形なら、このオートエンコーダはPCAと同じ部分空間を張ります。コピーの課題を解くうちに、主部分空間を副産物として学んでいます。
  • エンコーダとデコーダに非線形の層を使うと、直線や平面では表せない構造も符号に写せます。その代わり、PCAのように計算だけで成分が決まるわけではありません。

結論: 線形に限ればPCAと同じ、非線形を許せばPCAを含むより広い表現になります。

問題文から答えを選ぶ手順

  1. 1

    説明文のキーワードを探す

    「分散」「直交」「成分」「特異値分解」ならPCA、「符号」「エンコーダ」「デコーダ」「再構成」ならオートエンコーダです。

  2. 2

    変換が線形か非線形かを読む

    線形な変換だけならPCA。非線形な変換を学べるという記述があれば、オートエンコーダです。

  3. 3

    一致する条件の記述がないか確かめる

    デコーダが線形で損失が平均二乗誤差という条件がそろっていれば、両者は同じ部分空間を学びます。条件の一つでも違うなら、同じとは言えません。

  4. 4

    次元削減以外の用途を除く

    VAEのように分布を学んで新しいデータを生成する話は、オートエンコーダの発展の話です。次元削減の比較とは分けて読みます。

試験での見分け方

  • 1分散を最大限説明する直交成分、特異値分解の語が出たらPCA。
  • 2符号とエンコーダ・デコーダ、再構成の語が出たらオートエンコーダ。
  • 3線形なデコーダと平均二乗誤差の組み合わせなら、PCAと同じ部分空間を学ぶ。
  • 4非線形のエンコーダとデコーダなら、PCAの非線形な一般化を学べる。

誤答しやすい選択肢

オートエンコーダはいつでもPCAと同じ結果になると考える

修正: 同じになるのは、デコーダが線形で損失が平均二乗誤差のときです。非線形の層を使えば、PCAでは表せない構造を学べます。

PCAをクラスタリングの手法だと考える

修正: PCAはグループ分けではなく、次元削減の手法です。k-meansの前処理として使う場合も、PCAそのものはクラスタを作りません。

符号の次元が入力より大きくても有用な特徴が必ず得られると考える

修正: 容量が大きすぎると、入力のコピーだけを学んで有用な情報を取り出さないことがあります。次元削減には、入力より小さい符号を使います。

確認問題

Q1線形なデコーダと平均二乗誤差で学習した、符号の次元が入力より小さいオートエンコーダは、何と同じ部分空間を学ぶ?

答え: 主成分分析(PCA)と同じ部分空間

教科書『Deep Learning』のオートエンコーダの章に、この条件のとき入力より小さい符号を持つオートエンコーダはPCAと同じ部分空間を張ると書かれています。

Q2「PCAの非線形な一般化」を学べるのは、オートエンコーダのどんな構成?

答え: 非線形のエンコーダ関数と非線形のデコーダ関数を持つオートエンコーダ

同じ章に、非線形のエンコーダ関数とデコーダ関数を持つオートエンコーダは、PCAのより強力な非線形の一般化を学べると書かれています。

Q3PCAは、特徴量に対してどんな前処理をしてから特異値分解を適用する?

答え: 各特徴量を中心化する。スケーリングはしない

scikit-learn公式ドキュメントに、PCAは各特徴量を中心化するがスケーリングはせずに特異値分解を適用すると書かれています。

到達チェック

  • PCAは線形な変換、オートエンコーダは非線形も学べると言える
  • オートエンコーダがPCAと同じになる条件(線形なデコーダと平均二乗誤差)を言える
  • PCAがクラスタリングではなく次元削減の手法だと確認した

同じ資格で次に知りたいこと

よくある質問

QオートエンコーダとPCAは、どちらが次元削減に向いている?

A

どちらが優れるかは目的で決まります。線形な変換で足りて成分を調べたいならPCA、非線形な構造を学ばせたいならオートエンコーダが候補です。試験では、手がかりになる語(直交・分散か、符号・再構成か)で見分けます。

QオートエンコーダとPCAは、同じ結果になることがある?

A

あります。デコーダが線形で損失が平均二乗誤差のとき、入力より小さい符号を持つオートエンコーダはPCAと同じ部分空間を学びます。

QPCAは教師あり学習?

A

PCAはラベルを使わずに成分を求める次元削減の手法で、scikit-learn公式ドキュメントでも教師なし学習(Unsupervised learning)の章に置かれています。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)