機械学習と物理学（ディープラーニング↔統計力学、量子力学）

# 概要
- ディープラーニングの話を聞いていて、なんか物理っぽいんだけどなんだったっけという内容のメモです。
- どれも確率を扱う学問なので当たり前なのかなとも思いますが、知ってることと結びつくとイメージわきます。
- 気づくたびに書き足していきます。
- こういうのもあるよと教えてもらえるとすごい嬉しいです。
- 「いいね❤」もらえるとやる気出ます！

20210919: 初稿。エントロピー、温度付きSoftMax、Relu。
20211003: シグモイド、ヒルベルト空間、L2。
20211113: ベクトル、テンソル。

# エントロピー

- シャノンエントロピー（情報理論）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/3c9266d8-91d4-bd7a-3d24-0ff1b530e740.png)


- ギブスエントロピー（統計力学）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/a912317d-3c91-a4ef-7233-6a0ab8736571.png)

- フォンノイマンエントロピー（量子力学）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/9a004254-ca72-2b2e-6b8e-5fc87b0f0e31.png)


https://ja.wikipedia.org/wiki/%E6%83%85%E5%A0%B1%E9%87%8F

https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AD%E3%83%94%E3%83%BC

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A9%E3%83%B3%E3%83%BB%E3%83%8E%E3%82%A4%E3%83%9E%E3%83%B3%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AD%E3%83%94%E3%83%BC

# 温度付きSoftMaxとボルツマン分布

- 温度付きSoftMax（機械学習）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/045d9bb8-3e05-2a69-234b-6bea2b651eaf.png)

- ボルツマン分布（統計力学）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/99aae279-576a-795a-fc47-26ed3f6f2693.png)

温度によるエネルギー分布の違い。平均値はあがり、分布は広がっている。図は[こちらの記事](http://mriquestions.com/fall-to-lowest-state.html)より引用。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/2bd0c573-4e58-8cc6-acca-c4414ffd76ac.png)


https://qiita.com/nkriskeeic/items/db3b4b5e835e63a7f243

https://en.wikipedia.org/wiki/Softmax_function#Statistical_mechanics

# シグモイド

ハイパボリックタンジェント $\text{tanh}(x)$とは顔なじみのつもりでいましたが、
実は$\text{cosh}(x)$ 、$\text{sinh}(x)$に比べると物理での出現率が低い？

- シグモイド（機械学習）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/3464fd78-d7c5-01a7-baa3-6411ff171b13.png)


- イジングモデルの平均場近似（統計力学）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/2d82a730-d240-a3ab-7542-178549462a1e.png)



- フェルミ分布（量子統計力学）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/355aae2b-007f-80a7-05c4-3b81820e5594.png)

- こんな洒落た書き方したい。

https://twitter.com/kaitou_ryaku/status/1089127694833397760

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%B0%E3%83%A2%E3%82%A4%E3%83%89%E9%96%A2%E6%95%B0

https://ja.wikipedia.org/wiki/%E5%B9%B3%E5%9D%87%E5%A0%B4%E8%BF%91%E4%BC%BC

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%AB%E3%83%9F%E5%88%86%E5%B8%83%E9%96%A2%E6%95%B0

# ヒルベルト空間

- SVMのカーネルトリックの再生核ヒルベルト空間（機械学習）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/e64321cb-d2a1-246e-ca31-3812a1d847c1.png)


- ブラケットや波動関数（量子力学）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/2f9b819e-db86-227b-97de-241150572813.png)


https://ja.wikipedia.org/wiki/%E3%83%92%E3%83%AB%E3%83%99%E3%83%AB%E3%83%88%E7%A9%BA%E9%96%93

https://en.wikipedia.org/wiki/Kernel_method

https://en.wikipedia.org/wiki/Bra%E2%80%93ket_notation

https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9-%E3%82%B1%E3%83%83%E3%83%88%E8%A8%98%E6%B3%95

# L2ノルム


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/d88713ef-5874-c64b-b88f-0dc64f4acd4e.png)

- L2正則化（機械学習）

損失関数${\displaystyle E({\boldsymbol {w}})} $を書き換える。
L2正則化のときはルートをつけずにノルムの二乗なので、この項をL2ノルムと言われると違和感がある。ちなみに正則化はregularization。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/96a74784-d7e0-8769-8404-3c95d63157e6.png)



- 正規化（量子力学）

L2ノルム（つまりその2乗も）が１になるように正規化(normalization)するのが普通。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/0fc32611-6da3-9085-2843-499993909af9.png)


https://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%AB%E3%83%A0

https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%89%87%E5%8C%96

https://en.wikipedia.org/wiki/Wave_function#Normalization_condition


# 変分法

物理の世界だと保存則にかかわるので超重要。

- Normalizing Flow（機械学習）

https://tatsy.github.io/blog/posts/2020-12-30-normalizing_flow%E5%85%A5%E9%96%80_%E7%AC%AC1%E5%9B%9E/

- ネーターの定理（量子力学）

# アインシュタインの縮約

- einsum（機械学習）
  pytorchのやつ

- 計量を使った計算（量子力学） 

- 完全反対称テンソルを使った計算（量子力学） 

# ベクトル

プログラミングの世界以外では配列とベクトルは違うものです。
あとから名前を付けておいて意味が違うstd::vectorは罪深いと思う。

- std::vector (c++)  
1次元の動的配列（コンテナ）として表現されるデータ構造。

```
 std::vector<int> v = {1, 99, 4};
```

- ベクトル (数学、物理)  
  ベクトル空間の元。線形性を持つ、すなわち和とスカラー倍を取る事ができる量。  
  一階のテンソル。  
  向きを持った量。速度とか力とか量自体は座標系に寄らないので、座標系を変えると表現（数字の組み合わせ）が変わる。

  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/a0576196-919f-be92-db1b-9edcef5f93d8.png)

https://ja.wikipedia.org/wiki/%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB

# テンソル

プログラミングの世界以外では行列とテンソルは違うものです。
あとから名前を付けておいて意味が違うTensorFlowは罪深いと思う。

- tf.Tensor, torch.Tensor (ディープラーニング)  
  行列。多次元の数字のコンテナ。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/0583b47d-bfe7-ab0b-d556-c94c54a01730.png)

- テンソル、テンソル場  (数学、物理)   
  ベクトルを一般化した量。基底を決めると行列で表現できる。
  慣性モーメントとかエネルギー運動量テンソルとか、量自体は座標系に寄らないので座標系を変えると表現（数字の組み合わせ）が変わる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/c4dc29da-c2b1-09bb-db4d-c3433b0f87c0.png)

（大雑把すぎる説明）
 座標系を変えたとき、n階のテンソルの表現はベクトルの表現を変える操作n回分で変換できる。
 2階のテンソルだったらこのような感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/ce628ca2-a7f1-488f-a865-d95f8ab6f35c.png)

こちらの動画がおすすめ。

https://www.youtube.com/watch?v=y6P7IGF1fjs

https://www.youtube.com/watch?v=FKv5mjnYpcs&t=0s

あとこれも分かりやすい。

https://remedics.air-nifty.com/academy/2020/02/post-fbe026.html

参考
https://www.tensorflow.org/api_docs/python/tf/Tensor
https://pytorch.org/docs/stable/tensors.html
https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%B3%E3%82%BD%E3%83%AB

# 名前だけ違う系 

* ReLU と ランプ関数  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1017728/32f4a046-ad9e-a2a3-da0d-a053e9362f8f.png)

https://ja.wikipedia.org/wiki/%E6%B4%BB%E6%80%A7%E5%8C%96%E9%96%A2%E6%95%B0


# 参考
http://www-adsys.sys.i.kyoto-u.ac.jp/mohzeki/summer2016.pdf

https://www.hellocybernetics.tech/entry/2017/08/23/204342

まだ読んでないがきっと参考になる。

https://bookclub.kodansha.co.jp/product?item=0000318303z