【機械学習の真髄?】代数幾何:構造層を使って空間を超回復する

大前提

※この記事を読むためには直感的に認めてもらわなければ困ることが7点もあります。

全ての集合には、その上の実数値関数が考えられる

ということを、まず認めたい。

ある点xに対して任意の実数を対応させることは当然可能。集合は点xの集まりである。だから、1点からなる集合{x}上の関数が存在するならばそれらを張り合わせて、任意の集合上の関数が得られる。すると、

全ての集合には、その上の関数集合が考えられる

ということも認めざるをえない。

ここから微妙なのだが、

全ての集合上の関数は、足し算可能である

これは、1点からなる集合{x}上でのfとgの和がf(x)+g(x)であると考えれば、これらを張り合わせて、任意の集合上の関数f+gを定義できるからである。

さらに言えば、

ある特定の集合上の関数全ての集合はアーベル群である

と言える。まず2つの関数を足し算すると関数になり閉じている。単位元0(定数関数)がある。fの逆元-fがある。足し算は可換。よってアーベル群である。

次に

全ての集合は、集合をObject、包含関係を射とした圏である

を認めたい。圏ってなんだっけ、といつも思って思考が一瞬止まってしまうのだが、次のように覚えると覚えやすいと思っている。

圏とは、(Object, 射, 合成)の組み合わせからなる数学的構造の事である。

さらに、圏と圏の間の写像を関手(functor)と呼ぶ。

  1. Objectの集まり(正確にはクラス)
  2. 射、すなわち2つのObject間の矢印 obj1→obj2の集まり(正確にはクラス)
  3. 合成、すなわち2つの射に1つの射を対応させ、さらに合成則を満たす写像

クラスとは「集合の集合」のことだが、集合の集合という概念はラッセルのパラドックスを引き起こすので、矛盾を避けるために概念されたより正確な「集まり」の概念だ。

そう考えると、集合の集まりはObjectの集まりと思って良いし、包含関係は2つの集合が包含関係にあるときだけ一方向の矢印を生じさせるので射になるし、包含関係の合成則はそのまま使えるので、合成も存在する。つまりこの3つを合わせて圏と呼んで良い。

最後に認めてもらいたいのが、

全てのアーベル群の集合は、アーベル群をObject、準同型写像を射、準同型写像合成を合成とする圏である

ということである。準同型写像って何、という質問が出ると思うが、非常に長くなってしまいそうなので、後で追記予定。群と群の間の写像で、合成則を保つものです。例えば整数全体から、2の倍数全体への写像が準同型写像です。

本題

さて本題ですが、構造層とは何か、です。

構造層とは、任意の集合+位相=位相空間にくっついてくる(反変)関手です。具体的には、「全ての位相空間⊂全ての集合」の圏から「各集合上の全ての実数値連続関数⊂アーベル群」の圏への写像で、

  1. 集合UというObjectに対してその上の関数全てからなるアーベル群F(U)というObjectを対応させ、
  2. 集合の包含関係U⊂U’という射に対して、関数全てのUへの制限F(U’)→F(U)という射を対応させ、
  3. 包含関係の合成則U⊂V⊂WならばU⊂Wに対して、制限の合成F(W)→F(V)→F(U)=F(W)→F(U)を対応させる

この3つの写像により構成される関手で、さらに貼り合わせ可能条件を満たすものが、構造層です。

「層」とは何かというと、「貼り合わせ可能な」反変関手とでも覚えておけばよく、むしろ構造層の定義を確実に覚えておいたほうが良い。

ということは、任意の集合に対して構造層が幽霊のように付随して存在していることになります。

また、連続関数を使うか、Cr級関数を使うか、正則関数を使うかで、構造層は変化します。

まとめ

任意の位相空間X上にアーベル群Aを考えることが出来て、特に実連続関数のとき構造層と呼ぶ。

今回の趣旨

関数空間は距離空間(L1距離とかL2距離とか)であり、フーリエ成分のように有限次元の部分集合を作ることも容易で、実際パラメーター空間が付随するなら、そのまま多様体に出来る。

しかし、尖った図形、特に多項式は多様体に出来るのだろうか。尖っているなら、できない。機械学習とくに確率モデルの空間は基本尖っている。潜在変数が1つでもあれば尖ってしまうのだそうだ。

そもそも関数同士の距離を考えることは自然じゃないかもしれない。

そもそも関数のL2距離っていうのは、フーリエ変換や量子力学から生まれた概念であり、実用的な意味を持っていた。逆に、一般の関数空間上にL2距離だけ与えても、何に使えばいいというのか。特に、機械学習には関係ない。(カルバックライブラ距離とも関係なければ、L2正則化とも全然関係ない。カルバックライブラはダイバージェンス、つまり距離の2乗量であって全然距離と関係ない。L2正則化に至っては、L2距離と何が似ているのかよくわからない。)

例えば、0と1のいずれかもしくは両方をゼロ点に持つ関数の空間を考える。次の3つの多項式は基底になりそうだが、これらの間に距離を定義して果たして意味があるのだろうか。

x \\x - 1 \\x (x - 1)

距離を考えるよりも、x * (x – 1)のゼロ点を除く定義域と、xのゼロ点を除く定義域が無関係でない – 包含関係にある – ことのほうが重要なのではないだろうか。

ゼロ点を除く定義域を考えることは、むしろ次の3つの有理関数を考えることに相当するのではないだろうか。この時、定義域の包含関係には何の意味があるのだろうか。

\displaystyle\frac{1}{x} \\\displaystyle\frac{1}{x - 1} \\\displaystyle\frac{1}{x (x - 1)}

謎は深まるばかりでございますが、そこで思い出したいのが構造層

多項式空間=可換関数環は距離が入らなくても「任意の位相空間」には違いないわけで、ということは構造層が存在するわけであります。

正確には、多項式の極大イデアルのなすザリスキ位相空間を考えまして、その上の構造層を考えることと、多項式の素イデアルのなすザリスキ位相空間上の構造層を考えることをするのです。

この2つの構造層から、複素ユークリッド空間C^nと、アフィン空間A^nが”回復“出来るのです。これらは「代数多様体」と呼ばれ、尖った点があっても気にしない、多様体を超えた多様体と言ってもよいと思います。そもそも局所的にユークリッド空間C^nと同相ではないから、尖ってるとか知ったこっちゃないのです。というか点は「尖ってる関数」ではなく、「尖っている関数が生成するイデアルを包含する極大イデアルで作った同値類」ですからね。。。

ただ、関数の同値類を関数扱いしてよいのかという問題については、尖った点を含む代数多様体を

X=\{x \in \mathbb{C}^n \vert F(x)=0 \}

(陰関数Fは尖った点を含む)というC^nの部分集合で考える場合には、f∈Kernelとすると、同値類のすべての元F+fに対してやはり

F(x) + f(x) = 0

なので、図形の形は変わらないわけです。またイデアルなので、任意の関数をかけて

a(x)F(x) + b(x)f(x) = 0

も同様に成り立ちます。なので、極大イデアルによる同値類は1点と同じなのです。

長くなりましたが、そんなわけで今回の趣旨は、

多様体C^nから距離構造を抜いて点集合にバラバラに分解したのち、
1対1対応により多項式環C[x_n]の極大イデアル集合にマッピングし、
自然位相と関係ないザリスキ位相を入れたうえ、
構造層を考えると、点集合が層上で張り合わされるため、ユークリッド空間やアフィン空間が回復される。
その結果多様体は超回復して代数多様体に生まれ変わる。

です。

追加で書くこと

「構造層アフィンスキームからアフィン空間を回復する」

「【機械学習の真髄?】代数幾何:構造層を使って空間を超回復する」への1件のフィードバック

  1. ピンバック: AIと代数幾何@ロマンティック数学ナイト | teqニカルブログ

コメントは受け付けていません。