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
  • はじめに
  • 列挙
  • 添字
  • 観測したデータの集合
  • スカラー、ベクトル、行列など

Was this helpful?

数学記号記法一覧

はじめに

数学の解説に関しては、普段私が用いているルールに則った記号・記法を用いる。式を読んでいて文字が何を指しているかわからなくなったらここを確認してほしい。

列挙

もっとも注意すべきは私が勝手に用いている列挙(enumerate)の記号であり、

Ei=1nxi=x1,x2,…,xn\overset{n}{\underset{i=1}{\sf E}} x _ i = x _ 1, x _ 2, \ldots, x _ ni=1E​n​xi​=x1​,x2​,…,xn​

を表すものである。列挙の範囲が文脈から明確ならば

E⁡xi=x1,x2,…,xn\operatorname{{\sf E}} x _ i = x _ 1, x _ 2, \ldots, x _ nExi​=x1​,x2​,…,xn​

と書くこともあるし、添字が複数あるならば列挙したい文字を指定して

E⁡i xij=x1j,x2j,…,xnj\underset{i}{\operatorname{{\sf E}}} \, x _ {ij} = x _ {1j}, x _ {2j}, \ldots, x _ {nj}iE​xij​=x1j​,x2j​,…,xnj​

と書くこともある。

この記法は集合、ベクトルや数の組などを

{E⁡xi}={x1,x2,…,xn}(E⁡xi)=(x1,x2,…,xn)\begin{aligned} \left\{ \operatorname{{\sf E}} x _ i \right\} &= \{ x _ 1, x _ 2, \ldots, x _ n \} \\ \left( \operatorname{{\sf E}} x _ i \right) &= ( x _ 1, x _ 2, \ldots, x _ n ) \end{aligned}{Exi​}(Exi​)​={x1​,x2​,…,xn​}=(x1​,x2​,…,xn​)​

と表記できるし、複数の等式制約などを表記するときも

E⁡i{gi(x)=ci}\underset{i}{\operatorname{{\sf E}}} \left\{g _ i (x) = c _ i \right\}iE​{gi​(x)=ci​}

と書けるので非常に便利である。列挙の記法はあくまで私が勝手に用いているだけで一般的ではないため、なるべく使わないよう心がけるが、たとえば複数の等式制約を

gi(x)=cii∈{1,2,…,n}g _ i (x) = c _ i \quad i \in \{1,2, \ldots, n\}gi​(x)=ci​i∈{1,2,…,n}

と書くよりも楽なのでときどき使うことがある。

ちなみに列挙の右下に2項演算子∗\ast∗を置くことで、列挙中のコンマ( , )を演算子で置き換える操作も定義しておくと面白い。つまり

E⁡∗xi=x1∗x2∗⋯∗xn\operatorname{{\sf E}} _ \ast x _ i = x _ 1 \ast x _ 2 \ast \cdots \ast x _ nE∗​xi​=x1​∗x2​∗⋯∗xn​

とすれば、総和Σ\SigmaΣや総乗Π\PiΠを

Σ=E⁡+Π=E⁡×\begin{aligned} \Sigma = \operatorname{{\sf E}} _ + \\ \Pi = \operatorname{{\sf E}} _ \times \end{aligned}Σ=E+​Π=E×​​

と定義できる(独自の記法を積み重ねると誰も読めなくなるので解説中は決して使わないが)。

紙面を節約しつつ混乱を防げるのでかなり便利な記法だと思うのだが、なぜ誰も発明しなかったのだろう(数学の歴史は長いので誰かは発明していると思うのだが、なぜ一般的ではないのだろう)。

添字

添字は本書中でも少なくとも

  1. 冪乗の指数

  2. 共変の添字

  3. 反変の添字

  4. イテレーションの何回目かを表す添字

  5. 何番目のデータかを表す添字

  6. 空間やノルムの種類を表す添字

の6種類の用途で用いられる。6番目については誤解することはほぼないだろうが、それ以外は混乱を招きやすいので、原則として

  1. 上付き添字

    • 反変の添字

    • 冪乗の指数

    • ( )付きで、何番目のデータかを表す添字

  2. 下付き添字

    • 共変の添字

    • イテレーションの添字

    • 空間やノルムの種類を表す添字

とする。例外として

  • 反変共変があまり重要でないとき、ベクトルのiii番目の成分を下付き添字で表す

こともある。

添字が3つ以上ある場合はどういう記号法を用いるか説明するよう心がけるので文脈から判断してほしい。一応、いくつか私がよく使う例を挙げておく。

  1. xxxのnnn乗:xnx ^ nxnまたは(x)n(x) ^ n(x)n

  2. xxxのiii番目の反変成分:xix ^ ixi

  3. xxxのiii番目の共変成分:xix _ ixi​

  4. kkk回目のイテレーションにおけるxxx:xkx _ kxk​またはx(k)x _ {(k)}x(k)​

  5. iii番目に観測されたデータxxx:x(i)x ^ {(i)}x(i)

上記で2種類記法があるものは、紛らわしい場合に右側のものを使う。つまりkkk回目のイテレーションにおける​lll番目の変数​xxxの反変​iii番目、共変​jjj番目の​nnn乗を

(xj (k)i (l))n\left(x ^ {i \, (l)} _ {j \, (k)} \right) ^ n(xj(k)i(l)​)n

で表すものとし、誤解のない範囲で必要ない添字や ( ) を適宜省略する。この記法では添字が5種類まで使えることになるのでほぼ困ることはない。

観測したデータの集合

観測したデータの集合は慣習にならってD\mathcal{D}Dでおく。ラベルつきデータの場合は

D={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}={E⁡ (x(i),y(i))}\begin{aligned} \mathcal{D} &= \left\{ (x ^ {(1)}, y ^ {(1)}), (x ^ {(2)}, y ^ {(2)}), \ldots, (x ^ {(n)}, y ^ {(n)}) \right\} \\ &= \left\{ \operatorname{{\sf E}} \, (x ^ {(i)}, y ^ {(i)}) \right\} \end{aligned}D​={(x(1),y(1)),(x(2),y(2)),…,(x(n),y(n))}={E(x(i),y(i))}​

であり、ラベルなしの場合は

D={x(1),x(2),…,x(n)}={E⁡ x(i)}\begin{aligned} \mathcal{D} &= \left\{ x ^ {(1)}, x ^ {(2)}, \ldots, x ^ {(n)} \right\} \\ &= \left\{ \operatorname{{\sf E}} \, x ^ {(i)} \right\} \end{aligned}D​={x(1),x(2),…,x(n)}={Ex(i)}​

である。いずれの場合もiii番目のデータを

D(i)\mathcal{D} ^ {(i)}D(i)

と表すことがある。

スカラー、ベクトル、行列など

スカラーとベクトルを太字で区別することは基本的にはしない。説明の始めのほうにx∈Rx \in \mathbb{R}x∈Rと書いてあったらxxxはスカラー(実数)であり、x∈Rnx \in \mathbb{R} ^ nx∈Rnと書かれていたらx xxはn nn次元のベクトル(実数ベクトル)である。

代わりにa,b,c,k a,b,c,ka,b,c,kなどはスカラー、x,y,m x, y, mx,y,mなどはベクトルといったように、使う文字は極力区別するよう配慮する。状況にもよるが、大雑把には

  • a,b,c,da,b,c,da,b,c,d:スカラー

  • eee:基底

  • f,gf,gf,g:関数

  • hhh:スカラー、関数、ベクトルなど臨機応変に使う

  • i,j,k,li,j,k,li,j,k,l:添字

  • m,nm,nm,n:次元数、データの要素数など

  • ooo:000と非常に紛らわしいので用いない

  • p,q,r,s,tp,q,r,s,tp,q,r,s,t:スカラー、ベクトルなど臨機応変に使う

  • u,v,w,x,y,zu,v,w,x,y,zu,v,w,x,y,z:主にベクトルを表すのに使う。ベクトルの1次元の場合としてスカラーに用いることがある。

という区別をしている。ギリシャ文字も大体この規則に従う。

x∈Rnx \in \mathbb{R} ^ nx∈Rnと書いたときxxxは行列表記において列ベクトルであるとする。xTx ^ \mathrm{T}xTは行ベクトルである。行ベクトルはxT=(x1,x2,…,xn)x ^ \mathrm{T} = (x _ 1, x _ 2, \ldots, x _ n)xT=(x1​,x2​,…,xn​)のように要素を横に並べて書く。したがって列ベクトルはx=(x1,x2,…,xn)Tx = (x ^ 1, x ^ 2, \ldots, x ^ n) ^ \mathrm{T}x=(x1,x2,…,xn)Tのように横に並べたものを転置することで表記する。あるいは直接的に

x=(x1x2⋮xn)x = \left( \begin{matrix} x ^ 1 \\\\ x ^ 2 \\\\ \vdots \\\\ x ^ n \end{matrix} \right)x=​x1x2⋮xn​​

と縦書きにすることもある。添字は列ベクトルの要素のとき右上に、行ベクトルの要素のときは右下に書くことが多い。添字が右上にあるとき冪乗と混同しないように注意。

AAAやHHHのような大文字は行列を表すことが多い。これもA∈Rm×nA \in \mathbb{R}^{m \times n}A∈Rm×nのようにどの空間の元であるか最初になるべく明記する。

f ⁣:R→Rf \colon \mathbb{R} \to \mathbb{R}f:R→RはR\mathbb{R}Rを定義域にとりR\mathbb{R}Rを値域とする関数である。同様にf ⁣:Rn→Rf \colon \mathbb{R} ^ n \to \mathbb{R}f:Rn→RはRn\mathbb{R} ^ nRnを定義域にとりR\mathbb{R}Rを値域とする関数である。

Previous数学プログラミング置き場Next確率論

Last updated 5 years ago

Was this helpful?