MML
  • 数学プログラミング置き場
  • 数学記号記法一覧
  • 機械学習のための数学
    • 確率論
  • 機械学習・データサイエンス
    • 1. 機械学習・データサイエンス(概要)
    • 2. 機械学習
      • 2.1. 機械学習をこれから始める人へ
      • 2.2. 回帰問題
        • 2.2.1. 線形回帰の基礎
        • 2.2.2. 線形回帰モデルと正則化
        • 2.2.3. 線形基底関数モデル
          • いろいろな基底関数
        • 2.2.4. ベイズ線形回帰モデル
        • 2.2.5. カーネル回帰
        • 2.2.6. ガウス過程回帰
        • 2.2.7. 一般化線形モデル
        • 2.2.8. 一般化加法モデル
        • 2.2.9. 分位点回帰
        • 2.2.10. 3層ニューラルネットワーク
        • 2.2.11. 深層学習
        • 2.2.12. 深層学習とガウス過程
      • 分類問題
        • 線形判別分析
        • SVM
        • カーネルSVM
      • 強化学習
    • 3. データサイエンス
      • 主成分分析
      • 白色化
      • 低ランク行列近似
      • 行列補完
      • NMF
      • スパースモデリング
        • LASSO
          • FISTA
          • ADMM
        • 全状態探索法
    • 4. ニューラルネットワーク
      • CNN
      • GAN
      • VAE
      • GNN
      • word2vec
    • 5. ベイズ推論
      • 確率
      • 確率分布
      • ちょっとだけ振り返って
      • MCMC
      • ギブスサンプリング
      • 変分推論
  • 連続最適化
    • 1. Taylor展開と関数近似
    • 2. Taylorの定理と誤差の評価
    • 3. 最適化問題
    • 4. 直線探索法
      • 4.1. 最急降下法
      • 4.2. Armijo条件・Wolfe条件
      • 4.3. ニュートン法
      • 4.4. 共役勾配法
        • 4.4.1. 原始的な共役勾配法
        • 4.4.2. PRP法
        • 4.4.3. HS法
      • 4.5. 準ニュートン法
        • 4.5.1. DFP法
        • 4.5.2. BFGS法
        • 4.5.3. L-BFGS法
        • 4.5.4. Bryoden family of methods
        • 4.5.5. Broyden法
    • 5. 確率的最適化
      • 5.1. 確率的勾配降下法(SGD)
      • 5.2. 確率的準ニュートン法(SQN)
  • 行列計算
    • QR分解
    • コレスキー分解
    • 一般化コレスキー分解
    • 固有値分解
    • 一般化固有値問題
    • 特異値分解
  • その他
    • 位相限定相関法
  • カーネル法
    • カーネル法(概要)
  • Riemannian最適化
    • Riemann多様体って?
    • Riemannian最適化(概要)
    • 概説
    • 詳説
      • 解析学
      • 線形代数学(反変性・共変性・不変量)
      • テンソル解析
      • リーマン積分と微分形式
      • 位相空間論
      • 多様体論(解析幾何学)
      • Riemann多様体
  • プログラミングサイドブック
    • はじめに
    • Step 0. 勉強の仕方
      • いつ始める?どれくらい勉強する?
      • どうやって勉強する?
      • どこから手をつけたらいい?
    • Step 1. インターネットで調べる
    • Step 2. コンピュータの仕組みを学ぶ
    • Step 3. 開発環境を整える
    • Step 4. プログラミング言語を学ぶ
    • Step 5. 次のステップへ進むには
    • Step 6. 情報科学を学ぶ
  • プログラミング
    • プログラミング(概要)
    • システムの構成
    • サーバーのセットアップ
      • OSセットアップ
        • ユーザの作成
        • SSHの設定
        • ファイアウォールの設定
      • ドメインの取得と設定(Google domain)
    • Dockerによる仮想化
    • サーバーサイド(golang/gin)
    • リバースプロキシの設置(nginx)
    • SSL/TLS(Let's Encrypt)
    • フロントエンド(Elm)
    • Authentication(Firebase)
    • DB(MySQL)
    • KVS(Redis)
  • 数学勉強ノート
    • 0. 数学勉強ノート(概要)
    • 1. 第1群(基礎1)
      • 1.1. 集合
      • 1.2. ファジィ集合
      • 1.3. 論理学
      • 1.4. 位相
      • 1.5. 代数学
        • 1.5.1. 群
        • 1.5.2. 環
        • 1.5.3. 体
      • 1.6. 多様体論
    • 2. 第2群(基礎2)
      • 2.1. 線形代数学
      • 2.2. 解析学
        • 2.2.1. 常微分
        • 2.2.2. 全微分/偏微分
        • 2.2.3. 反変・共変と不変量
        • 2.2.4. リーマン積分
        • 2.2.5. 外微分
        • 2.2.6. ベクトル解析
      • 2.3. 複素解析学
      • 2.4. 圏論
      • 2.5. 測度論
      • 2.6. 確率論
    • 3. 第3群(情報科学)
      • 3.1. 情報理論
      • 3.2. 通信符号理論
      • 3.3. 暗号理論
      • 3.4. グラフ理論
    • 4. 第4群(基礎3)
      • 4.1. 位相幾何学
      • 4.2. 微分幾何学
      • 4.3. 関数解析学
      • 4.4. 偏微分方程式論
      • 4.5. 数値解析学
        • 4.5.1. 常微分方程式
        • 4.5.2. 偏微分方程式
        • 4.5.3. 固有値問題/特異値分解
      • 4.6. 数理統計学
    • 5. 第5群(物理学)
      • 5.1. 古典力学
      • 5.2. 剛体力学
      • 5.3. 流体力学
      • 5.4. 解析力学
      • 5.5. 電磁気学
      • 5.6. 相対性理論
      • 5.7. 熱力学
      • 5.8. 統計力学
      • 5.9. 量子力学
    • 6. 第6群(電気・機械工学)
      • 6.1. 電気回路学
      • 6.2. システム制御理論
    • 7. 第7群(基礎4)
      • 7.1. 情報幾何学
      • 7.2. 確率解析
  • 書籍メモ
    • 書籍メモ(概要)
  • 論文メモ
    • 論文メモ(概要)
    • 線形代数
      • The Matrix Cookbook
      • ON THE EARLY HISTORY OF THE SINGULAR VALUE DECOMPOSITION
      • The tensor rank decomposition
    • 行列分解
      • Probabilistic Matrix Factorization
      • Probabilistic Matrix Factorization with Non-random Missing Data
      • Graph Regularized Non-negative Matrix Factorization for Data Representation
      • Alternating least squares for personalized ranking
    • 連続最適化
      • Quasi-Newton Methods: Superlinear Convergence Without Line Searches for Self-Concordant Functions
    • 確率・統計
      • Statistical inference of Langevin distributionfor directional data
      • Bayesian Inference over the Stiefel Manifold via the Givens Representation
      • あとで読む(Langevin distribution)
    • Riemannian最適化
      • A Broyden Class of Quasi-Newton Methods for Riemannian Optimization
      • Riemannian stochastic quasi-Newton algorithm with variance reduction and its convergence analysis
      • Primal-Dual Optimization Algorithms over Riemannian Manifolds: an Iteration Complexity Analysis
      • Extending FISTA to Riemannian Optimization for Sparse PCA
    • RCD空間
      • On the geometry of metric measure spaces. I
      • On the geometry of metric measure spaces. II
      • Cohomology and other analyticalaspects of RCD spaces
      • Untitled
  • 雑記帳
    • 球面幾何(楕円幾何)
    • 双曲幾何
  • なんかの部屋
    • データの表現について
Powered by GitBook
On this page
  • 球面幾何(楕円幾何)
  • 球面
  • 球面上の座標
  • 球面のユークリッド空間への射影
  • 円筒射影(cylindrical projection)
  • 方位角射影(azimuthal projection)
  • 球面上の2点間の距離
  • 球面上の3点が作る三角形の面積
  • 球面上の確率分布
  • デルタ分布
  • 一様分布
  • Langevin分布(von Mises-Fisher分布)
  • 球面の接ベクトル空間
  • レトラクション

Was this helpful?

  1. 雑記帳

球面幾何(楕円幾何)

PreviousUntitledNext双曲幾何

Last updated 5 years ago

Was this helpful?

球面幾何(楕円幾何)

球面幾何(spherical geometry)は楕円幾何(elliptic geometry)の特殊な場合であり、楕円幾何は曲率が正の非ユークリッド幾何である。たとえば地球の地表は2次元の球面で近似することができ、ある方向に「まっすぐ」進むといつかは元の場所に戻ってくる「閉じた」空間である。

これは数学的にはより高次元の空間にも拡張できる。相対論が適用できるような規模では我々の宇宙空間も「閉じて」いるかもしれず、宇宙の果てに向かって「まっすぐ」進んで行ったらいつかはもと地球があった場所に戻ってくるかもしれない。

宇宙の果てはどうなっているか知りようがないのだが、もっと身近で簡単に次元が膨れ上がるのが「データ」である。100種類のカラムを持つデータは100次元のユークリッド空間上の点として表現されていることになるが、適切な写像を定義することで非ユークリッド空間上に「写す」ことができる。もっとも簡単には、単に各ベクトルをそのノルムで割ってノルムを 1 にする正規化の操作を行うと、データは99次元の球面上に写されたことになる。

球面幾何はコンピュータと非常に相性がよい幾何のひとつだと私は考えている。コンピュータは有限の範囲、有限の精度でしか数値を表現できないので、ノルムが定数で各座標も大きな値を取れない球面幾何はオーバーフローの心配がないのである。

適切な座標変換を与えれば楕円幾何は常に球面幾何に翻訳できるので、ここでは取り扱いが簡単な球面幾何についてのみ考察する。

球面

nnn次元球面SnS^nSnはn+1n+1n+1次元のユークリッド空間Rn+1\mathbb{R} ^ {n+1}Rn+1で原点からの距離が 1 の点をすべて集めた部分空間として定義される。つまり

Sn={x∣∥x∥=1, x∈Rn+1}S ^ n = \{ x \mid \|x\| = 1,\, x \in \mathbb{R} ^ {n + 1} \}Sn={x∣∥x∥=1,x∈Rn+1}

である。n=1n=1n=1のときは「円」、n=2n=2n=2のときは「球面」として我々が認識しているもので、通常はn≥3n \geq3n≥3のnnn次元球面を想像することはできず、それらは十把一絡げに「超球面」と呼ばれる。

厳密には、球面SnS^nSnはユークリッド空間Rn+1\mathbb{R} ^ {n+1}Rn+1に埋め込まれたときのみ球面となる。たとえばS1S^1S1は我々が認識する「円」であり、これを我々が生活している3次元ユークリッド空間R3\mathbb{R} ^ {3}R3に埋め込んでもそれはやはり円に過ぎず球面とはみなされない。逆にS2S ^ 2S2は我々が認識する「球面」であり、これを2次元のユークリッド空間R2\mathbb{R} ^ 2R2である平面に「描き込む」ことはできない。2次元ユークリッド空間R2\mathbb{R} ^ 2R2における球面は円S1S ^ 1S1である。

球面上の座標

球面のユークリッド空間への射影

様々な方式の世界地図が存在すること(メルカトル図法や正距方位図法)から想像できることだが、球面を、同じ次元のユークリッド空間へ翻訳しようとすると何かしらの歪みが生じる。

本書では球面上の点を同じ次元のユークリッド空間への射影ではなく、次元が 1 だけ大きいユークリッド空間への埋め込みによって表現するため、歪みを考慮する必要はないが、一応情報を整理する目的で概要だけ触れておく。もしかしたら結果を可視化する目的で球面を射影したい人がいるかもしれない。

円筒射影(cylindrical projection)

メルカトル図法や正距円筒図法などが該当する。

方位角射影(azimuthal projection)

正距方位図法が該当する。

球面上の2点間の距離

球面上の3点が作る三角形の面積

球面上でモンテカルロ法を使いたい場合などに必要になるかもしれない。

球面上の確率分布

当然のことながら、球面上ではユークリッド空間上で定義される確率分布、たとえば多変量ガウス分布などを用いることはできない(多変量ガウス分布からサンプルされた点が球面上に位置する確率は 0 である)。

一般にユークリッド空間に埋め込まれた低次元多様体上の分布を定義することは困難だが、球面の場合は例外的に扱いやすく、デルタ分布と一様分布だけでなく、指数型分布族も定義されている。

デルタ分布

どんな多様体上でもまず定義できるであろう分布の代表格。ある一点にのみ集中した分布。

一様分布

性質のよい多様体上なら大体定義できるであろう分布の代表格。

Langevin分布(von Mises-Fisher分布)

球面上で定義される指数型分布族のひとつである。Langevin分布(ランジュバン分布と読む)は球面上のガウス分布みたいなもので、中心と分散のパラメータを持つ。

球面の接ベクトル空間

球面上で定義された関数の勾配を考えるには接ベクトル空間の概念が必要になってくる。ユークリッド空間では気にする必要がなかったが、勾配には「勾配に沿って少しだけ動いても空間からはみ出さない」という性質がある(微分幾何、リーマン多様体などの範囲)。

具体的には円の接線を考えてもらえればよい。円のある接点からそこでの接線に沿ってほんの少しだけ動いても、円からははみ出さないように見える。接線以外の方向へ移動すれば、どれだけ慎重にほんのちょっと動いたとしても円からはみ出してしまうだろう。

球面の接ベクトル空間はとても簡単で、

レトラクション

球面上の任意の点xxxは、零ベクトルではないあるユークリッド空間上のベクトルvvvを用いて

x=v∥v∥x = \frac{v}{\| v \|}x=∥v∥v​

と表せる。ただし∥⋅∥\| \cdot \|∥⋅∥はベクトルのノルム(ユークリッドノルム)である。通常は∥v∥=1\| v \| = 1∥v∥=1のもので代表するが、ノルムは任意でもよい。この表現を用いる場合、nnn次元球面上の点を表現するのにn+1n+1n+1次元のベクトルを用いることになる。

極座標を用いるとノルムの情報を保存する必要がないのでnnn 個の角度を保存することで必要十分な情報を扱えるが、高次元の場合になると数値計算上の利点はほぼない上に、n≫1n \gg 1n≫1の状況では大してメモリ効率がよくなるわけでもない。したがって本書では極座標は取り扱わない。

参考:

「飛行機は世界地図の上をまっすぐには飛ばない」という事実を中学校や高校で習って覚えている人もいることだろう。球面上の2点間の距離(球面上を移動したときの最短ルート)は大円(その2点と原点を通る平面で球面を切断して断面にできる円)に沿った短い方の弧の長さである。2点x,yx,yx,yがそれぞれユークリッド空間上の位置ベクトルu,vu,vu,vによって表現されているなら、ベクトルu,vu,vu,vの偏角であると言い換えてもよい。つまり弧の長さは rad で測られる。rad は無次元量であることに注意する。

数式で書いておこう。球面上の2点x,y∈Snx,y \in S ^ nx,y∈Snがユークリッド空間上の位置ベクトルu,v∈Rn+1u, v \in \mathbb{R} ^ {n+1}u,v∈Rn+1で表現されるとき、すなわち

x=u∥u∥, y=v∥v∥x = \frac{u}{\| u \|}, \, y = \frac{v}{\| v \|}x=∥u∥u​,y=∥v∥v​

であるとき、球面上の2点x,yx,yx,y間の球面上での距離d(x,y)d(x,y)d(x,y)は

d(x,y)=arccos⁡(u⋅v∥u∥∥v∥),0≤d(x,y)≤πd(x,y) = \arccos \left( \frac{ u \cdot v }{ \| u \| \| v \|} \right), \quad \quad 0 \leq d (x,y) \leq \pid(x,y)=arccos(∥u∥∥v∥u⋅v​),0≤d(x,y)≤π

である。ただしu⋅vu \cdot vu⋅vはuuuとvvvのユークリッド空間上における内積であり、同様に∥⋅∥\| \cdot \|∥⋅∥もベクトルのユークリッドノルムを表している。

Langevin分布は von Mises-Fisher分布(フォンミーゼス・フィッシャー分布)とも呼ばれる。特にn=2n=2n=2のとき von Mises分布(フォンミーゼス分布)と呼ばれる。

この接線の概念をnnn次元球面に一般化したのが接ベクトル空間(tangent vector space)である。接ベクトル空間は単に接空間(tangent space)ともいう。

TxSn={ξ∣xTξ=0,ξ∈Rn+1}T _ x S ^ n = \{ \xi \mid x ^ \mathrm{T} \xi = 0 , \xi \in \mathbb{R} ^ {n+1} \}Tx​Sn={ξ∣xTξ=0,ξ∈Rn+1}

である。要するに、点xxxに直交するベクトルξ\xiξであればなんでもよい。

https://www.researchgate.net/publication/330888153_Elliptic_geometry