|
タイトル |
数式をプログラムするってつまりこういうこと(スウシキヲプログラムスルッテツマリコウイウコト) |
|
「プログラマーだからといって、数学に強い必要はない」
プログラミングのスキルは、数学の知識や理解度とは必ずしも一致しないこともあり、上記のような主張はある程度の説得力を持っています。
特に最近は、良いアルゴリズムを気軽に利用するためのライブラリやモジュールが充実しています。
そのため、アルゴリズムの中身を意識しなくても、それなりに良い結果を得られやすくなっており、それで良しとする考え方も存在します。
しかし、本当にそれで良いのでしょうか。
コンピュータは元々計算機として開発されたという歴史的な経緯もあり、アルゴリズムの中身の話になると、数式が必ず出てきます。
また、最近話題になっている機械学習の理論も数式によって表現されます。
つまり、アルゴリズムや機械学習を「きちんと理解して」使いこなすために、数式は避けては通れないものなのです。
しかし、数学、そして、数式に対し、苦手意識がある人も多いと思います。
実際、本書を手に取られた方の中には、数式に対する苦手意識をなんとかしたいという方も多いのではないでしょうか。
そこで本書では、数式に苦手意識があるプログラマーを対象として、簡単な数式をPythonで記述されたコードに置き換えるという訓練を繰り返していきます。
この訓練を通して、数式に対する苦手意識をなくし、数式を読む力や数式をプログラムに落とし込む力を養っていきます。
具体的には、簡単な機械学習のモデルを実装することを目標として、それに必要な数式を取り扱っていきます。
まず、Chapter 1〜2で平均から始めて標準偏差やF値などの統計分析をする上での基礎的な数式を、Chapter 3〜4で距離関数や分布などの機械学習を学ぶ上での素地となる数式を扱います。
そして、Chapter 5では簡単な機械学習のモデルを数式を見ながら実装していきます。
各節には練習問題を用意していますので、プログラミング言語を覚えるときのように、実際に手を動かしながら理解していただければと思います。
本書を読み終わる頃には、アルゴリズムや機械学習の理論が書かれた理論書であっても、ある程度物怖じせずに読めるようになっているはずです。