LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

機械学習分野で頻出のTeX記法の基本

この記事はLCL Advent Calendar 2021 - 23日目です。

qiita.com

Androidアプリエンジニアの高橋です。

LCLに入社してから早2年と9ヶ月になります。 入社当時はAndroidアプリに割と専念してましたが、今はバックエンド・データエンジニアリングが主な業務になってきています。

LCLでもデータ活用の機運が高まってきており、自分のキャリア含め将来を見越してデータ周りに強くなろうと機械学習・強化学習分野の勉強を少しずつしています。

機械学習の勉強を進めているとどうしても数式とじっくり向き合う必要性が出てくるのですが、テキストエディタにメモ書きするときに数式が綺麗に書けなくていつも困っていたので、TeX記法のチートシートをブログにしたためようかと思います。(はてなブログだと見づらくない?というツッコミはなしで)

以下、自分の偏見でよく使うと思ったものだけを選抜して載せています。つまりほぼ自分用です。(笑)

とりあえず初歩的な記法を知りたいという人向けなので、網羅的なチートシートを求めている方はネットで探せば他にいくらでも出てくるかと思いますので、そちらを参照した方が良いかと思います。

前提

この記事自体をはてなブログで書いている関係上、はてな記法に従っています。

具体的には数式を書くときは以下のようなブロックを使います。

<div>
[tex: \displaystyle
  1行目 \\
  2行目
]
</div>

[tex: ~] の部分ははてなブログ独自の記法です。\\ は改行ですが、はてなブログの場合<div></div> で囲まないとうまく改行できないケースがあるみたいです。

この記事の焦点は数式の部分なので上記記法(<div></div>[tex: ~] の部分)は省略して触れないことにします。

四則演算

1+1=2 \\
10-1=9 \\
2\times3=6 \\
4\div2=2

表示例.

 \displaystyle
1+1=2 \\
10-1=9 \\
2\times3=6 \\
4\div2=2

等号・不等号

1=1 \\
2>1 \\
1<2 \\
a \geq b \\
b \leq a

表示例.

 \displaystyle
1=1 \\
2>1 \\
1<2 \\
a \geq b \\
b \leq a

プログラムの演算子みたいに >= と書いても上記の様な記号にならないので注意です。

分数

\dfrac{1}{2}-\dfrac{1}{3}=\dfrac{1}{6} \\
\dfrac{a+b}{2ab}

表示例.

 \displaystyle
\dfrac{1}{2}-\dfrac{1}{3}=\dfrac{1}{6} \\
\dfrac{a+b}{2ab}

数式の縦揃え

\begin{align}
f(x)&=x^2+3x+2 \\
&=(x+1)(x+2)
\end{align}

表示例.

 \displaystyle
\begin{align}
f(x)&=x^2+3x+2 \\
&=(x+1)(x+2)
\end{align}

ポイントは、

  • 数式を \begin{align} ~ \end{align} で囲む
  • イコール(=) の前に&をつける

括弧

a \bigl\[ b(c+d) + e(f+d) \bigr\]

表示例.

 \displaystyle
a \bigl[ b(c+d) + e(f+d) \bigr]

ポイントは、

  • \bigl(左括弧) や\bigr(右括弧) で直後の括弧を大きくする。
  • はてな記法の場合、[]はバックスラッシュでエスケープする必要がある。

場合分けの式

f(x) = \left\{
\begin{array}{ll}
\frac{1}{x}   &   (x \geq 0)  \\
-x^2+1        &   (x \lt 0)
\end{array}
\right.

表示例.

 \displaystyle
f(x) = \left\{
\begin{array}{lll}
\frac{1}{x}   &   (x \geq 0)  \\
-x^2+1        &   (x \lt 0)
\end{array}
\right.

結構ややこしいですが、ポイントとしては、

  • 数式は \begin{array}{列数文のl}\end{array} を使って囲む。
  • {列数文のl} の「l」は左寄せを意味する。r(右寄せ)やc(中央)も指定可能。
  • \begin\left\{\right.を使って囲む
  • 数式の後に、& (条件式) で条件式の表示が可能。

冪乗

a^2 \\
a^{\frac{2}{3}}

表示例.

 \displaystyle
a^2 \\
a^{\frac{2}{3}}

ポイントは、

  • 上付き文字に式が含まれている場合は {} で囲む。
  • 分数を入れたいときはdfracではなくfracを使うことで、上付き文字を小さくできる。

平方根

\sqrt{a^2+b} \\
\sqrt\[5\]{a}

表示例.

 \displaystyle
\sqrt{a^2+b} \\
\sqrt[5]{a}

ポイントは、

  • 冪根は[]で囲む。(はてな記法の場合はエスケープが必要)

ギリシャ文字

機械学習・統計分野で個人的によく見かけると思ったものだけ書きます。

読み 表記 TeX
アルファ  \alpha \alpha
ガンマ  \gamma \gamma
デルタ  \delta \delta
デルタ(大文字)  \Delta \Delta
エプシロン  \varepsilon \varepsilon
シータ  \theta \theta
ラムダ  \lambda \lambda
ミュー  \mu \mu
クシー  \xi \xi
オミクロン  o o
パイ  \pi \pi
パイ(大文字)  \prod \prod
シグマ  \sigma \sigma
シグマ(大文字)  \sum \sum
ウプシロン  \upsilon \upsilon
カイ  \chi \chi
オメガ  \omega \omega

エプシロンには \epsilon ( \epsilon) の表記もありますが、\varepsilon ( \varepsilon) の方がよく見る気がします。

シグマ(大文字)やパイ(大文字)にはそれぞれ、\Sigma ( \Sigma)、\Pi( \Pi)の表記もありますが、総和・総乗の式を書く場合には \sum ( \sum)、\prod ( \prod)が多いかと思います。

総和・総乗

\sum_{k=1}^{n}k=1+2+3+\cdots+n=\dfrac{n(n+1)}{2}

表示例.

 \displaystyle
\sum_{k=1}^{n}k=1+2+3+\cdots+n=\dfrac{n(n+1)}{2}

シグマの下付き文字は _{下付き文字} で表現できます。

上付き文字は冪乗のところで説明したものと同じです。

「・・・」は \cdotsで表現できます。

同様に総乗は以下のようになります。

\prod_{k=1}^{n} a_k = a_1 \times a_2 \times a_3 \times \cdots \times a_n

表示例.

 \displaystyle
\prod_{k=1}^{n} a_k = a_1 \times a_2 \times a_3 \times \cdots \times a_n

三角関数

\sin\theta \\
\cos\theta \\
\tan\theta

表示例.

 \displaystyle
\sin\theta \\
\cos\theta \\
\tan\theta

指数関数

e^\pi \\
\exp(x)

表示例.

 \displaystyle
e^\pi \\
\exp(x)

対数

\log_a \frac{x}{y} = \log_a x - \log_a y

表示例.

 \displaystyle
\log_a \frac{x}{y} = \log_a x - \log_a y

確率

特に専用の記法はないですが一応例を挙げておきます。

P(B|A)=\dfrac{P(A|B)P(B)}{P(A)}

表示例.

 \displaystyle
P(B|A)=\dfrac{P(A|B)P(B)}{P(A)}
E\[X\]=\sum_{i}p_{i}x_{i}

表示例.

 \displaystyle
E[X]=\sum_{i}p_{i}x_{i}

集合

a \in A \\
A \subset B \\
A \subseteq B

表示例.

 \displaystyle
a \in A \\
A \subset B \\
A \subseteq B

極限・微分

\lim_{n \to \infty} a_n \\
\dfrac{d\sin(x)}{dx}=\cos(x) \\
\frac{\partial f}{\partial x}

表示例.

 \displaystyle
\lim_{n \to \infty} a_n \\
\dfrac{d\sin(x)}{dx}=\cos(x) \\
\dfrac{\partial f}{\partial x}

偏微分で使われる  \partial は筆記体のdを様式化したものらしいです。

線形代数・行列

\begin{pmatrix}
a & b \\
c & d 
\end{pmatrix}

表示例.

 \displaystyle
\begin{pmatrix}
a & b \\
c & d 
\end{pmatrix}

ベクトル

\boldsymbol{v} \\
\vec{v} \\
x = (x_1, x_2, \ldots, x_d) 

表示例.

 \displaystyle
\boldsymbol{v} \\
\vec{v} \\
x = (x_1, x_2, \ldots, x_d)

内積

\boldsymbol{A} \cdot \boldsymbol{B}

表示例.

 \displaystyle
\boldsymbol{A} \cdot \boldsymbol{B}

最後に

冒頭でも述べたようにTeX記法の初歩レベルの内容のみですが、上記を空で書けるようになればテキストエディターに最低限のメモ書きが取れるようになるかも?しれません。

なお、個人で使っているInkdropのプラグインでは上記の記法で綺麗に表示されていることは一応確認済みですが、他のエディタなどでは正常に描写されない可能性もあるのでご了承ください。

採用情報

LCLでは開発メンバーを募集しています。(現在はフロントエンジニアを重点的に募集中)

カジュアル面談も行っていますので、少しでも興味をお持ちでしたらご連絡下さい。

www.lclco.com