前回はこちら。📄
(講義ノート)統計的機械学習第10回 。内容は以下の通り。
3層のDNN(隠れ層が1)のもののRademacher複雑度の抑え方は以下の通り。B1,B2は係数の上界であり、mは隠れ層のノード数。
Rn(F)=Ex,σ[supfθ∈Fn1∑i=1nσifθ(xi)]≤2B1B2Cnm ResNetについては、📄
2019-NIPS-Are deep ResNets provably better than linear predictors? がありそれについて、以下のようにResNetのRademacher複雑度を抑えらえれるとわかった。
通常の全結合ネットワークとは分子からmが消えていることが違いであり、これは隠れ層のノード数がいくら増えたとしても、Rademacher複雑度に影響しないという評価である。影響するのは、各パラメタの上界だけ。
万能近似定理
Neural Networkは十分なパラメタと適切な活性化関数を設定すれば、1層の隠れ層だけを持つNNとして、任意の連続な関数に好きな精度で近似できる=稠密(ちゅうみつ)である。
なお、稠密であることと完備性があるというのは同じではない。有理数は実数に対して稠密であるが、無理数がないので穴だらけですよね。
つまり微分できる関数ならテイラー展開、マクローリン展開に従って多項式で近似できる!というようなことを言っている。
厳密に定義するなら以下のように定義されている。
線形空間から位相線形空間へ
無限次元のベクトル=関数による空間=関数空間、考えられるといろいろ便利ですよね?
基底について、部分集合B⊂Vが基底というのは、Bが有限集合である必要はなく、B自身の有限部分集合で、もともとのVに含まれる任意の元を構築できるベクトル集合を持てるならBは基底。
ただこれだと、∀x∈Vは有限個のベクトルで表現する必要があるが、x=∑i=1∞aiviというような無限次元の表現が出てきてしまう。例えばフーリエ変換とか、カーネル法による
この無限級数の表現が収束するかのような議論が必要になり、そのために位相が求められる。
なので、有限個の基底という概念からさらに進化させて、無限個を許容しそれの収束性なども証明し、それが「位相」となる。
位相空間とは
一部だけかいつまんで。
ある集合に、「位相」を定義したものが位相空間。位相を定義するのに以下のものが必要。
- 点の近傍
- 開集合
- 閉集合
- 閉包
これら4つはそれぞれ相互に定義可能であり、1つ定義できればその他はそれを使い同様に表せる。
位相空間の定義
部分集合系Oについて、以下の3点が成り立てばOはXの位相であり、(X,O)は位相空間とい。
例)Xが実数なら、Oは実数区間を元とする集合みたいな。
- ϕ,X∈O 空集合とX自身は含む。aに対して[a,a]みたいな感覚。
- ∀U1,U2,U1∩U2∈O 位相に含まれる元の積集合も必ず位相に属する。
- 任意の添え字集合Λについて、⋃λ∈ΛUλ∈Oが成り立つ。 任意の添え字でOに含まれる元Uλの和集合をとっても絶対に入っている。
また、言い方として、O自身を「開集合」と定義しちゃってて、X自体を位相空間と言ったりする。
もう1つの例は有限集合S={a,b,c}について、O={{a},{a,b},{a,c},S}だというもの。これも確かに位相空間(S,O)である。
なので、開区間はもう定義できた。
なお、集合の集合を集合族、集合系と言ったりする。族はその集合の集合に何かしらの操作をすることを前提にしているが、系の場合は集合の集合自体に興味があり操作なくていいもの。
閉集合
開集合が定義されたとき、開集合の補集合が閉集合である。
定義は開集合と似ているがひっくり返したもの。Fだとする。
- ϕ,X∈O 空集合とX自身は含む。
- ∀U1,U2,U1∪U2∈O 位相に含まれる元の和集合も必ず位相に属する。
- 任意の添え字集合Λについて、⋂λ∈ΛUλ∈Oが成り立つ。 任意の添え字でOに含まれる元Uλの積集合をとっても絶対に入っている。
連続関数の定義
連続ならば、行った先の位相空間から元々の位相空間への逆像があるということ。
開集合から写像した先から逆像で戻したらちゃんと開集合になるということ。
ここで、逆像と逆写像とは違う。写像の定義として全単射があるがそれを満たさなくてもいいということ。
連続というのは、∀ϵ>0,∃δ>0で、∣x−x0∣<δ⇒∣f(x)−f(x0)∣≤ϵである。これを先ほどの集合に転用させると、以下のようになる。
∀ϵ>0,∃δ>0,x∈Uδ(x0)⇒f(x)∈Uϵ(f(x0)) つまり、写像した先の変動が微小というのを、U∗というもので表現した(例でいうと開区間がそれにあたる)
Oが開集合ならば、以下のが成り立つ。
距離空間
Xを集合とする。に変数関数d:X×X→Rが、任意のa,b,c∈Xに対して、以下が成り立つなら、(X,d)は距離空間という。
- 正定値性 d(a,b)≥0であり、a=b⇔d(a,b)=0でもある。
- 対称性 d(a,b)=d(b,a)
- 三角不等式 d(a,b)≤d(a,c)+d(c,b)
この距離空間について、Uϵ(a)={x∈X∣d(x,a)<ϵ}を、中心a∈X、半径ϵの開球という。
不等号は等号を含まない!開球なのに含まない!理由はちゃんとある!
そしてこの開球を用いて、開集合、閉集合を定義することもできる。
- Aが開集合とは、以下のようなことである。つまり、開集合のどんな元を選んでも、それを中心とした何かしらの半径の開球は、開集合A自身の中に含まれている。
- 実際どんな開集合[a,b]を選んでも、なんでもいいので距離の尺度d(ユークリッドと考えてもいい)があるとして、あるϵがあって、d([a,b],[c,d])>ϵとなるすべての[c,d]は開集合なので、確かになりたつみたい。
- つまり、元(開区間)の近傍の性質によって元(開区間)全体から成る本体の集合(開集合)の性質が定義される。
∀a∈A,∃ϵ>0:Uϵ(a)⊆A - Bが閉集合とは、以下のようなことである。
∀b∈Bc,∃ϵ>0:Uϵ(b)∩B=ϕ 逆像の良さ
逆像は等号成立が非常に多いので、使いやすく、連続の定義はよって逆像で定義している。
位相空間(X,O),(X′,O′)の間の写像f:X→X′が連続であるということは、
U′∈O′⇒f−1(U′)∈O が成り立つということ。任意のX′の開集合の逆像がXの開集合であれば、fが連続であるという。
移した前での近傍のものは、移した先でも近傍であってほしい。
近傍
x∈XのXにおける近傍V(x)⊆Xとは、ある開集合U⊆V(x)が存在し、x∈U⊆V(x)、
xの近傍とは、V(x)という集合族の元の集合がすべてxを含むものである、というもの。1を相手と考えるなら、{{1},{1,2},{1,3},{1,3,4}}みたいな。開区間も集合であるので、Rという大きな集合に、開区間が集合として包含されるということ。
さらに、V(x)が開集合ならば、開近傍である。
内点
位相空間(X,O)を考える。A⊂Xだとする。
- xがAの内点であるとは、∃U∈O,x∈U⊆Aである。
- ある開集合Uがあり、それはxを元として含み、部分集合AもUを含むというもの。
- 近傍の定義そのままで、xの近傍V(x)の内点がxである。
- 位相空間のみならず、距離まで完備である距離空間の場合、内点であるというのは、以下の数式である。
- Uが開球のUϵである。
∃ϵ>0,Uϵ(x)⊆A - さらに言えば、Xが実数体R上のノルム線形空間の場合、以下である。
- どんな向きのベクトルyであっても、あるϵだけ足したらAに入ってるなら内点。
- Uϵがさらに具体的になった。
∀y∈X,∃ϵ>0,∣t∣<ϵ⇒x+ty∈A すべての内点の集合が内部。
内部とコア
内点についてはさらに、Xが実数体R上のノルム線形空間の場合を考える。上で解説した通り、線形空間に含まれるどの向きのベクトルでも少し動いてもちゃんと収まるということ。
この時、0≤t<ϵと0も許容する=ギリギリ境界上でもOKならば、それはコアである。
外部、境界
ことばの定義みたいなもの。
内部はA∘であり、外部はAcと書く。境界は∂Aと書く。
内部と開近傍の和
Aを位相空間Xの部分集合とする。A=A∘(自分の内部は自分と同じ これから示すように開集合ならば必ず成り立つものである)であるとする。
x∈A∘のA∘における開近傍をV(x)∈A∘とすると、以下を満たす開近傍Vが存在する。
A∘、つまり内部に含まれるすべての内点の開近傍について、それの和集合はA∘つまり内部と同じである。
A∘=⋃x∈A∘V(x) 証明
内点の定義により、∀x∈A∘について、x∈V(x)⊆A∘が成り立つ。なので、x∈⋃x∈A∘V(x)が当然成り立つ。すべての元xについて成り立つので、A∘⊆⋃x∈A∘V(x)も成り立つと思う。
次に V(x)⊆Aであるが、仮定としてA=A∘なので、V(x)⊆A∘である。すべてのxについても同様に成り立つので、A∘⊇⋃x∈A∘V(x)。
よって両側で示せた。
内部は開集合
内点の定義により、∀x∈A∘について、x∈U(x)⊆Aとなる開近傍Uが存在する。なので、先ほどの定義から、すべてのxについて考えればA∘⊆⋃x∈A∘U(x)となる。
A=A∘という仮定がないのでちょっとむずかしい証明になる。
UをAに含まれる任意の開集合とする。この時、x∈U⊆Aにより、xはAの内点。任意の開集合について、U⊆A∘(内点なので内部の中であるよね?)が常に成り立つので、⋃x∈A∘U(x)⊆A∘も成り立つ。
なので、A∘、Aの内部は開集合。
部分集合が開集合の必要十分条件
Aは位相空間Xの部分集合である。この時、AがXの開集合⇔A∘=Aである。
証明
→をまず証明する。AがXの開集合ならば、∀x∈A,x∈A⊆Aが当然成り立つので、x∈A∘であり、A⊆A∘である。内部の定義により、逆向きも成り立つので示せた。
←を証明する。A=A∘=⋃x∈A∘V(x)となる開集合Vが存在する。開集合の和は開集合なので、Aはちゃんと開集合である。
内部と最大の開集合の関係
今までの流れを踏まえてこれを考えたらこのようになった。
Aを位相空間Xの部分集合である。A∘はAに含まれる最大の開集合である。
証明
UをAに含まれている任意の開集合とする。x∈U⊆A。すべてのUについてこれは成り立つ。すべてのUの成分は結局すべてのAの成分であり、x∈A∘=Aとなるが、開集合なのに同じ、となっているのでつまり最大の開集合であるということ。
微分における内点/開集合
微分は定義するとき以下の時のようになる。これは右極限、左極限が必要であるが、実はaの周り(a−ϵ,a+ϵ)でfが定義されている必要がある。つまり、aがfの定義域の内点である。
limx→ax−af(x)−f(a) 触点と閉包
x∈XがAの触点であるというのは、xの任意の開近傍U(x)がAと交わることである。
なので、触点はAの内部か、境界上にある。(内部がすべて触点というわけではない)
U(x)∩A=ϕ Aの触点の集合をAの閉包という。閉包はAˉとあらわす。
内部か境界上にあるので、Aˉ=A∘∪∂Aである。
そしてさらに自明にではあるが、A⊆Aˉである。
集積点(極限点)と閉包
x∈XがAの集積点であるということは、xの任意の開近傍U(x)がxをのぞいてAと交わること。
(U(x)\{x})∩A=ϕ ここで重要なこととして、集積点自身がAに含まれなくてもよい。あくまで任意の開近傍がAと交わればよい。
ドーナツみたいな感じ。触点から自分自身が含まれるを除いた。
定義からして、Aの集積点は閉包に含まれている。集積点のすべての開近傍はAと交わるから。
集積点ではどんな小さい開近傍であってもAと交わるので、本当にAとスレスレかAの中にいるとわかる。周りのどの点でもAである。
閉包は閉集合である
すべての触点の集合が閉包であるがそれが閉集合だと示す。
閉包の補集合が開集合であることを示せばいい。開集合の定義が明確である以上こちらで証明するというテク。
補集合に含まれる元はAと交わらず、閉包の定義からして当然のようにAˉとも交わらない。よって、補集合に含まれる点の任意の近傍も補集合に含まれる。これって内点そのものであるので、内点の集合=内部=開集合である。
これは逆も成り立つ。
閉包と稠密性
Aを位相空間Xの部分集合だとする。稠密(ちゅうみつ, dense)であるとは、閉包Aˉについて、Aˉ=Xである。
- Aの閉包=触点(すべての近傍がAに含まれるような点)をすべて集めた集合ではあるが、これが位相空間X全体を覆っているという状況。
- x∈Xの近傍にはa∈Aがいる。これは極限や近似として使える。
- 例えば実数に対しては有理数Q⊂Rは稠密。有理数自身は少しでも動けば=任意の近傍、実数になる。なので、有理数の閉包は実数。