今年1月に『技術者のための基礎解析学』が刊行されたあと、8月に『技術者のための線形代数学』が、9月に『技術者のための確率統計学』が続けて発売となり、機械学習を支える数学を大学レベルの基礎から学び直す本シリーズの3編がついに出揃った。
本シリーズは、過去に機械学習の本を執筆された著者の中井悦司さんが「機械学習の教科書や文献を読むために数学を理解したい」という読者の声をもとに企画されたもの。2月のインタビューで、中井さんは企画意図を次のように述べている。
直接の経緯としては、私が過去に出版した機械学習の書籍について、読者の方々から「この本に書かれている数式を理解するために、数学を勉強したいです!」というコメントをいただいたことにあります。
そこで、大学の教養課程レベルの数学を学ぶチャンスがなかった方、もしくは、その頃に学びきれなかった方々に、もう一度基礎から数学を理解し直す、数学に再入門するきっかけを提供したいと考えたことが、本書を執筆しようと思い立ったきっかけです。
シリーズ3編ではまさに、高校数学を前提知識として、大学で学ぶレベルの数学が基本的な概念から解説されていく。機械学習を利用するだけならサポートしてくれる様々なツールがあるが、土台となる数学から理解しておけば機械学習に限らず新しい技術を理解・習得するスピードが上がるし、なにより専門的な教科書や文献を読み進める助けになる。やりたいことをやるために、あるいは自身のキャリアアップにおいても有用ではないだろうか。
プログラミング言語を始めとするコンピューターシステムは、すべて数学が基礎になっています。端的に言えば、数学を理解した人々が考え出して、作り上げた世界です。その人々と同じ知識を持つことで、プログラミングやコンピューターシステムの本質に一歩近けば、新しい技術を理解するスピードも上がり、より幅広い応用が考えられるようになるものと信じています。
上記引用はいずれもCodeZine「『技術者のための基礎解析学』はより高度な数学を学ぶための基礎固め――中井悦司が語る数学を学ぶ価値」から
シリーズへの反響は上々
では、本シリーズの狙いはどれくらい行き届いたのだろうか。先行して発売された『技術者のための基礎解析学』と『技術者のための線形代数学』に関しては、中井さんのもとにも多くの感想が寄せられているという。今回、中井さんにその所感をうかがった。
面白いことに、本当に様々な反応をいただきました。とりわけ「機械学習のベースとしての数学」という観点ではいろいろな見方があるようです。極端な例を挙げると、「そもそも数学は不要」という方もいれば、「この程度の数学は知っていて当然」という声もありました。あるいは、「機械学習に直結する解説が見当たらず残念だった」という厳しいご意見もいただきました。
今回のシリーズは昨今の機械学習ブームを背景にした「もう一度、本格的な数学を学び直したい」という声をきっかけに執筆したものですが、その内容は決して機械学習だけに特化したものではありません。機械学習を直接のゴールとして本書を手にした方には、少し期待と異なる部分もあったかもしれません。
ただ、数学というのは論理の積み重ねの世界ですので、「機械学習の説明に登場する数式」だけを切り取って勉強するのはどうしても理解に限界があります。最初のステップとしては、もちろんそういう勉強法も考えられますが、最終的には「解析学」「線形代数学」「確率統計学」といった、ひとかたまりの分野をある程度まとまった形で勉強するのがよいと思います。
実際のところ、数学そのものに興味を持って本書を手に取っていただいた読者からは「昔勉強した数学の再理解が進んだ」「厳密な数学の世界を思い出すことができて楽しかった」といった声もいただいています。あるSNSで見かけた、
「この手の数学は大学で一瞬やった気がするけど忘却の彼方で、でも機械学習の文献に出てくるからやり直したい」というプログラマへのど真ん中の回答というコメントには、「そうそう。それが言いたかった」と私自身も思わず反応してしまいました(笑)。
シリーズ3編は興味がある分野から
そして、この9月に『技術者のための確率統計学』が発売となった。付録としてシリーズ3編で扱った数学がどのように機械学習と関わっているのかが解説されている。
『技術者のための確率統計学』では、この分野を理解するポイントとなる「確率モデル」の考え方を丁寧に説明しています。機械学習という目的に限定せず、確率統計学の根本原理を知りたいという読者にはおすすめできる1冊だと思います。
さらに、付録として「機械学習への応用例」という章も用意しました。機械学習の基礎的なアルゴリズムについて、その原理を数学的な観点から解説していますので、「解析学」「線形代数学」「確率統計学」の3分野と機械学習の関係を具体例を通して感じていただけると思います。
一方で、自身が今携わっている機械学習の領域を深く理解するために、3編のうちどれから読み進めればいいか迷う方もいるかもしれない。中井さんは興味がある分野からで大丈夫だと言う。
本書が解説する数学は、あくまでも「機械学習のアルゴリズムを正確に理解するためのバックグラウンド」として必要になるものです。そしてまた、機械学習のアルゴリズムは、「解析学」「線形代数学」「確率統計学」の3つの分野の「合わせ技」です。
そういう意味では、本シリーズを読み進める順番は機械学習の領域や利用方法とはあまり関係がないかもしれません。純粋に数学的な観点で、自分が勉強したい、もしくは、興味がある部分から読み進めていただければと思います。
最後に、3編を読み通した読者がより機械学習への理解を深めるために何をすればいいのか、あるいは学んだことを活かすにはどうすればいいのかについてメッセージをいただいた。中井さんからの言葉を参考に、かつて学んだ数学を本気で学び直したい方には、じっくり本シリーズを読み進めてもらいたい。
本シリーズでは「機械学習のアルゴリズムを正確に理解するためのバックグラウンド」となる数学の知識を提供しています。したがって、機械学習への活用という意味では、次のステップとしてはまさに「機械学習のアルゴリズムを数学的に解説した、より本格的な機械学習の教科書」へと進むのがよいでしょう。
最近は数式を用いない機械学習の解説書も増えているようですが、数学の知識があるならば、数式を用いて理解した方がより深く本質を理解できることは間違いありません。
今、機械学習の世界ではディープラーニングはもちろんのこと、その他の領域においても新しいタイプのアルゴリズムの開発が進んでいます。機械学習のコンペティションであれば、とにかく様々なタイプのアルゴリズムを組み合わせてわずかでもスコアを伸ばそうと考えるものです。一般的なビジネス活用においても、これまで知らなかったアルゴリズムを理解すれば、より広い視点で機械学習の活用が進められるようになるでしょう。