stMind

about Tech, Computer vision and Machine learning

CourseraのMachine Learningコースの受講メモを取るときに使ったTexまとめ

本日、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}

    f:id:satojkovic:20140119183155p:plain

  • sum, prod
    例えば、コスト関数を書くときに。

    J(¥theta_0, ¥theta_1) = ¥sum_{i=1}^{m} (h(x^{(i)}) - y^{(i)})2

    f:id:satojkovic:20140119183708p:plain

    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)

    f:id:satojkovic:20140119183942p:plain

  • argmin
    コスト関数を最小化するパラメータを求める式を書くときに。

    ¥newcommand{¥argmin}{¥operatornamewithlimits{argmin}} ¥argmin_{¥theta_0, ¥theta_1} J(¥theta_0, ¥theta_1)

    f:id:satojkovic:20140119184139p:plain

  • partial
    偏微分(partial derivative)は、最急降下法を書くときに。

    ¥theta_j := ¥theta_j - ¥alpha ¥frac{¥partial}{¥partial ¥theta_j} J(¥theta_0, ¥theta_1)

    f:id:satojkovic:20140119184346p:plain

  • 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]

    f:id:satojkovic:20140119184531p:plain

  • 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}

    f:id:satojkovic:20140119184705p:plain

あとはこれらの組み合わせで、Machine Learningコースの数式は大体書くことができると思います。