数学の理解を補助するExcel マクロ

先日、機械学習の通信講座に取り組んだ際、次々と様々な数式が登場した。
例えば、最小二乗法による誤差関数の式。
f:id:Infoment:20201205225251p:plain
慣れないと、パッと見た瞬間、「うっ」と息をのんでしまう。

しかしこのようなΣの式も、Excel マクロで表現してみると、割とすんなり
理解できる場合がある。

例えば、単純なこの式で考えてみよう。
f:id:Infoment:20201205225747p:plain

これは、このように書くことが出来る。

Function Σ(開始値 As Long, _
            終了値 As Long) As Long
    Dim i As Long
        For i = 開始値 To 終了値
            Σ = Σ + i
        Next
End Function

具体的に、1~10 までの足し算をしたい場合は、このようになる。

Sub test()
    Debug.Print Σ(1, 10)
End Sub

f:id:Infoment:20201205230310p:plain

Excel マクロを扱っていれば、このようなコードは日常的に書いている。
従ってVBAに限らず、今更改めて言うまでもないことと思うが、プログラ
ミングを行う人は意識するしないに関わらず、日々数学と向き合っている
と言えるだろう。

またExcelなら、このような整理も行いやすい。
f:id:Infoment:20201205231153p:plain

自分で値を入力しながら確認することで、最終的にこの式も理解できる
ようになると思う。
f:id:Infoment:20201205231413p:plain

このように、数式の理解が難しい場合は、一旦Excel上に「展開」してみる
のも、アプローチとして面白いのでは?と思った次第。

参考まで。