機械学習の理論の勉強や、論文を読む際など、線形代数やベクトルが絡む多くの演算が登場することになると思います。
これらは大学の教養課程で学ぶ内容で、理系大学に進学した人であれば一度は授業で習った内容かもしれませんが、実際に現時点でこれらの演算を自由に扱える人は限りなく少ないと思います。
今回は、機械学習の基本的な理論に登場する、数式の公式集をまとめ紹ます。
特に重点的に、線形代数分野と解析学、またこれらの発展であるベクトル解析周りの式変形や公式を扱っていきます。特に重点的に、行列演算に必要な式変形や、ベクトルの微分などを扱っていきます。
これらの数式は一度で覚えられる人は中々いないので、勉強するたびに振り返るなどして、ゆっくり身につけられると良いかと思います。
本記事は工事中なので、今後内容を充足していく予定です。
- 機械学習で扱う数式について紹介
- ベクトルの微分で登場する数式
- ベイズの定理で登場する数式
ベクトルでの微分
まず、ここではベクトルに関係する微分の演算をまとめていきます。
機械学習の理論書を読む中でも、ベクトルをベクトルで微分したり、スカラーをベクトルで微分する演算は様々なところで登場します。主成分分析における、第一主成分軸の導出や、単回帰・重回帰といった機械学習の基本的なテーマを学習する中でも、ベクトルの微分は登場します。
機械学習の手法自体が、大量のデータをベクトルとして扱うことが多いので、自ずとベクトルの微分などの演算が多く登場します。
ベクトルでの微分を理解するためには、まずその定義を抑えることが一番重要です。そもそも、スカラーやベクトルをベクトルで微分するってどういうことか理解できない人は多いと思います。そのため、まずは定義からしっかり押さえましょう。
ベクトルの微分における定義
まずベクトルの微分における定義はこのようになります。定義といっても、今回の場合、スカラー値を返す関数を微分する場合と、ベクトルをベクトルで微分する演算の2つの演算があることに留意してください。二乗最小法やラグランジュの不等方程式の解を見つけるような場合は、基本的に前者のスカラー値を返す関数を微分するような演算をすることになっています。
スカラー値を返すような関数をベクトルで微分する際の定義
まず定義として、以下のようなベクトル $\bm{x}$が与えられた時、
\begin{equation} \bm{x} = (x_1, x_2, \dots , x_n)^T \end{equation}
が与えられた時、スカラー値を返す関数 $\mathit{L}( \bm{x} )$ の $\bm{x}$による微分を次のように定義します。
\begin{equation} \frac{\partial \mathit{L}(\bm{x})}{\partial \bm{x}} = \left( \frac{\partial \mathit{L}(\bm{x})}{\partial x_1} \raisebox{-1.57ex}{,\ } \frac{\partial \mathit{L}(\bm{x})}{\partial x_2} \raisebox{-1.57ex}{,\ } \dots \raisebox{-1.57ex}{,\ } \frac{\partial \mathit{L}(\bm{x})}{\partial x_n} \right)^T \end{equation}
線形代数の分野で登場する機械学習の数式
続いて、線形代数で登場する機械学習の数式についてまとめます。
逆行列補題(Sherman-Morrison-Woodburyの公式)
カルマンフィルタ の導出などで登場します。これをみると、面食らいますが、カルマンフィルタ 以外でもかなり頻出なので、覚えておくと良いでしょう。
下記の2つが成り立つ。
\begin{equation} (A + BCD)^{-1} = A^{-1} - A^{-1}B(DA^{-1} B + C^{-1})^{-1}DA^{-1} \end{equation}
\begin{equation} (A^{-1} + B^TC^{-1}B)^{-1}B^TC^{-1} = AB^T(BAB^T + C)^{-1} \end{equation}