こんにちはたくまろです。
今回はおすすめする本は、数学ガールの著者である結城浩先生の『プログラマの数学』です。
「プログラマーって何を考えてプログラミングしてるんだろう…?」とお考えの方
「プログラミング未経験だけど、機械学習などに興味がある!」と思っている方
にオススメの本です。
この本を読めば、プログラミングに役立つ「数学的な考え方」が身につきます!
![]() |
新品価格 |
『プログラマの数学』の概要
プログラミングと数学
プログラミンと数学にはどのような関係性があるのでしょうか。
この本の冒頭で、プログラミングの土台はコンピュータサイエンスにあり、コンピュータサイエンスの土台には数学があると述べています。つまり、数学が分かっているとプログラミングの土台がしっかりと出来ており、成長しやすいということです。
特に、プログラミングは論理的に考えて処理を行うことが多いです。
「どうすれば、コードをより少なく書けるか?」
「どうすれば、処理のスピードを上げれるか?」
など、効率を求めることがよくあります。
このような論理的な思考力を上げるために数学力が必要なのです。
この本では、「読み飛ばしたくなるような数式」をできるだけ取り除いて、日々のプログラミングがより良く理解できるような内容になっています。
本書の構成
第1章 ゼロの物語――「ない」ものが「ある」ことの意味
第2章 論理――trueとfalseの2分割
第3章 剰余――周期性とグループ分け
第4章 数学的帰納法――無数のドミノを倒すには
第5章 順列・組み合わせ――数えないための法則
第6章 再帰――自分で自分を定義する
第7章 指数的な爆発――困難な問題との戦い
第8章 計算不可能な問題――数えられない数、プログラムできないプログラム
第9章 プログラマの数学とは――まとめにかえて
付録1 機械学習への第一歩
付録2 読書案内
第1~5章では数学の基本的な演算や論理に関する話になっています。
第6章では、実際にプログラミングで使うような、再帰的な定義の仕方を学びます。
第7, 8章では、計算量のお話になり、コンピュータでは解くことが出来ない問題を考えています。
ちなみに、この本は第2版になっています。
初版では、なかった機械学習の内容が加わりさらにボリュームアップした構成になっています。
『プログラマの数学』おすすめポイント
Point1:使う数学は四則演算と指数のみ
この本の最大のオススメポイントは、難しい数学を最大限取り除いて書かれている点です。
極端なことを言うと、四則演算が分かっていれば大体の内容が分かると思います。
ループ処理や数学的帰納法についても、一つ一つクイズなどの例でわかりやすく解説しているので、難しい文字式なども登場しません!
逆に数学ができる人からしたら、前半の内容は退屈かも知れませんね。
それぐらい、親切な設計になっていました!
Point2:知識ではなく考え方を学べる
知識を学べる本はたくさんありますが、考え方を学べる本をとても少ないです。
こういう考え方をすれば良いのかと、なるほどポイントが次々とあり、アウトプットにも力を入れています。
まさに、プログラマの思考を学べる一冊と言えます。
Point3:やさしい機械学習の本
新たに、付録で機械学習について触れています。
予測問題と分類問題、パーセプトロン、ニューラルネットワークなどについて解説がされています。
前提としている知識がほとんどないため、数式だらけの機械学習の入門書なんかよりもずっと分かりやすいです。
機械学習の入門書の入門書にオススメです。
まとめ
今回は、おすすめの一冊ということで結城 浩(著)の『プログラマの数学』を紹介しました。
Takumaro’s blogでは他にも初学者向けの分かりやすい本を紹介しています。
良かった、ご覧ください!!
【2021年】Kindle Unlimited 無料で読めるPython入門書10選