本日、CourseraからMachine LearningコースのCertificateが届きました!
コースのオンラインビデオを見ながらEvernoteにメモを取っていたのですが、数式を書くときにはLaTexiTを使って数式を画像にしてEvernoteに貼り付けていました。
新しい講義ビデオを見るたびに何度も調べてしまうので、ここによく使ったTexの表現をまとめておくことにします。
下付き、上付き文字、分数、パラメータ、ガウス分布、スペース
基本的な記述から。 大体直感的に書けますが、イプシロンだけ¥varepsilonとしたほうが いつも使う書体に近くなります。x{n}^{(i)}, ¥,¥, ¥frac{1}{m}, ¥ ¥theta{n}, ¥Theta^{(j)}, ¥mu, ¥alpha, ¥lambda, ¥varepsilon, ¥sigma, ¥Sigma, ¥Delta, ¥mathcal{N}
sum, prod
例えば、コスト関数を書くときに。J(¥theta_0, ¥theta_1) = ¥sum_{i=1}^{m} (h(x^{(i)}) - y^{(i)})2
prodは、例えば異常検知するために異常度を計算する式に。
p(x) &= ¥prod{j=1}^{n} p(x_j;¥mu_j, ¥sigma_j2) ¥¥
&= ¥prod{j=1}^{n} ¥frac{1}{¥sqrt{2 ¥pi} ¥sigma_j} ¥rm{exp} ¥left( - ¥frac{(x_j - ¥mu_j)2}{2 ¥sigma_j2} ¥right)argmin
コスト関数を最小化するパラメータを求める式を書くときに。¥newcommand{¥argmin}{¥operatornamewithlimits{argmin}} ¥argmin_{¥theta_0, ¥theta_1} J(¥theta_0, ¥theta_1)
partial
偏微分(partial derivative)は、最急降下法を書くときに。¥theta_j := ¥theta_j - ¥alpha ¥frac{¥partial}{¥partial ¥theta_j} J(¥theta_0, ¥theta_1)
bmatrix, array
複数のパラメータ更新の式をまとめて書くときに。¥begin{bmatrix}
¥theta_0 ¥¥
¥theta_1 ¥¥
¥theta_2 ¥¥
¥vdots ¥¥
¥theta_n
¥end{bmatrix}
:=
¥left[
¥begin{array}{c}
¥theta_0 - ¥alpha ¥frac{1}{m} ¥sum{i=1}^{m} (h¥theta (x^{(i)}) - y^{(i)}) ¥cdot x_0^{(i)} ¥¥
¥theta_1 - ¥alpha ¥frac{1}{m} ¥sum{i=1}^{m} (h¥theta (x^{(i)}) - y^{(i)}) ¥cdot x_1^{(i)} ¥¥
¥theta_2 - ¥alpha ¥frac{1}{m} ¥sum{i=1}^{m} (h¥theta (x^{(i)}) - y^{(i)}) ¥cdot x_2^{(i)} ¥¥
¥vdots ¥¥
¥theta_n - ¥alpha ¥frac{1}{m} ¥sum{i=1}^{m} (h¥theta (x^{(i)}) - y^{(i)}) ¥cdot x_n^{(i)}
¥end{array}
¥right]cases
例えば、ロジスティック回帰の複数行のコスト関数を書くときに。Cost(h¥theta (x), y) =
¥begin{cases}
-log(h¥theta (x) ) & ¥ {¥rm if} ¥ y = 1 ¥¥
-log(1 - h_¥theta (x) ) & ¥ {¥rm if} ¥ y = 0
¥end{cases}
あとはこれらの組み合わせで、Machine Learningコースの数式は大体書くことができると思います。