機械学習やディープラーニングに必要な数学項目をピックアップし、そういった項目を教科書的〜実践的にカバーしているオススメの「数学」本を紹介する。また中学〜大学までの数学全体を学び直したい人向けの本も紹介。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
機械学習やディープラーニングを学んでいると、その内部の仕組みは計算式なので、やはりどこかしらで数式が出てくる。そこで数学の必要性を感じて本格的に学び始めるという人も少なくないだろう。
では、どのレベルから、どんな本で学べばよいのだろうか。これはケースバイケースで、あなたが大学生であれば大学レベルの本からスタートすればよいだろうが、大学から遠ざかって5年以上たつような社会人であれば、数学をもう少し基礎的なところから復習した方がいいかもしれない。
また、数学に10年以上のブランクがある場合、中学レベルの数学から部分的に記憶が欠落しているかもしれない。数学は積み上げ型の学問なので、一部の知識が欠落していると、その上位の数学で躓(つまず)いてしまう。よって本来であれば、中学数学から地道に学び直した方がいいのだろうが、さすがに学習範囲が膨大すぎて簡単には実行できないだろう。
多くの社会人にとってまずは、中学〜高校1年生レベルの数学知識があることを前提として、機械学習やディープラーニングに必要な部分の数学だけを限定的に学ぶのが一番効率がよいと思われる。そういったレベル感に役立つ本やネット上のコンテンツは多数ある。そこで本稿では、社会人で数学は忘れてしまったレベル感の人に役立ちそうなオススメの本を、特に日本語の書籍(単行本や電子書籍)に絞って紹介していく。
※なお以下で紹介する本は、筆者が所有しているか、図書館で借りて一読したか、本屋さんで一通り目を通しただけの書籍が対象である。筆者が知らないものの優良な書籍もあると思われるので、その点はあらかじめご了承いただきたい。
本の紹介に入る前に、「機械学習やディープラーニングでは、どんな数学が必要なのか」を筆者なりに示しておきたい。
ディープラーニングは機械学習の一分野であり、それに使われる数学範囲もより狭い。数学を学ぼうとしている人なら知っていると思うが、ディープラーニングでは、
という3分野の数学を学ぶ必要があるとされている。これらはあくまで(機械学習全般ではなく)「ディープラーニング」を実装するのに最低限、必要とされるものだ。より高度な内容を扱ったり、機械学習全般に手を広げたりすると、当然これだけでは足りなくなる。よって、まずは上記の3分野を中心に基礎的な数学をマスターし、これら以外の数学項目が必要になった段階でその数学項目を学んでいくようなイベント駆動型の方針で数学を学んでいくとよいのではないかと思う。
ディープラーニングだけでなく機械学習全般を含めて数学を学ぶのであれば、あくまで筆者の経験に基づくもの(※必要な数学項目を完全に網羅しているわけではなく思い付いたものだけ)であるが、以下のような分野/項目の数学を習得することをお勧めする(凡例: ◎ 必修、○ 習得が望ましい、△ できれば習得)。
上記の箇条書きでは微分と線形代数を重要視しているが、機械学習エンジニア視点に基づく場合である。データサイエンティスト視点で見ると、微分と線形代数よりも統計学方面の知識の方が重要になる(と筆者は考えている)。これは機械学習がデータから予測することに主眼を置くのに対し、データサイエンスはデータからインサイト(洞察)を得ることに主眼を置くためである。
数学を学ぶモチベーションが湧きやすいように、上記の箇条書きでは「機械学習のどんな場面で活用されるか」を簡単に説明することで各数学項目の有用性を示した。ただしそれでも「これって何の役に立つのか」がうまくイメージできないという人もいるかもしれない。そんな人のためにもっと汎用(はんよう)的な活用例で、(筆者が機械学習エンジニア視点で考える)「知っておいて損しない、数学の便利ツール、7選」を紹介しておこう。下記の活用ポイントを意識すると、数学ががぜん有用なものと感じられるのではないだろうか。
以上、前置きが長くなったが、いよいよ数学の本を紹介する。
本稿に記載した評価ポイントと売れ筋ランキングは、2021年3月13日時点のAmazon.co.jp(単行本)に掲載されていた内容を引用したものである。
前半は数学の教科書パートとなっている。教科書パートでは、前述した「最初に習得したい数学分野」をおおよそカバーしており、なおかつ図も多く分かりやすい。
欠点としては教科書パートの例題や演習問題が少ないように思う。数学は繰り返し自分で問題を解きながらでないとなかなか身に付かない(という印象を筆者は持っている)。本当の実力を付けるには、応用パターンも含めた問題集も欲しいところだが、適切な問題集もないので、これだけでマスターできるかどうかは疑問に感じている。
後半は数学の実践活用パートとなっている。線形回帰やロジスティック回帰、ニューラルネットワークの数学を一通り学べるので、「ディープラーニングの数学」そのものを学びたい人に役立つだろう。
最初の3分の2が教科書パートとなっている。教科書パートでは、数学項目の見出しが、常にページの先頭から始まっており、ページをぱらぱらとめくって項目を探しやすい。数学項目をちょっと調べたいときなどで、辞書的に使えるだろう。手元に置いておきたい本である。また、例題や演習問題も比較的多めなのは評価できる。
欠点としては、ページ内にきれいに収めるためというのもあるだろうが、「一部で説明が不十分」「説明にムラがある」との評価コメントがAmazonレビューなどで散見されることだ。あくまで既に数学知識を持っている人が、手元で確認するための本ということになるかと思う。
残りの3分の1が実践活用パートとなっている。線形回帰や、自然言語処理の初歩、ニューラルネットワークの数学を一通り学べる。
「統計学」と書かれているが、最終的に説明されているのはニューラルネットワークの数学である。ただし、この本には教科書パートはなく、数学を本格的に学べる本ではない。ニューラルネットワークで使われている数学を文章説明で読む形になる。
例えばカフェで読書する際は、前述の2冊よりも断然にこの本がお勧めである。実際に筆者も勉強というよりも、「趣味の教養」的な形でこの本を読むことが多い。特に文系出身など数学に苦手意識がある人は、文章で読めるこの本からニューラルネットワークの数学になじむのもアリだと思う。
欠点としては(Kindleではなく単行本の場合)字が小さいことである。
上記の3冊をまずはお勧めする。とはいえ、万人に合う本などない。自分の数学レベルに応じて、書き方や見た目の好みに応じて、TPO(カフェで読むなど)に応じて、自分にとってベストな1冊を選べばよいだろう。
これら以外にも機械学習のための「数学」本はたくさんある。以下では追加の8冊を箇条書きで短く紹介しておく。
本稿では、機械学習/ディープラーニングのための数学「本」を紹介してきたが、本以外にも「無料のネットコンテンツ」で有用なものも幾つかあるので紹介しておこう(※あくまで筆者が知っている範囲なので、もっとよいコンテンツもあるかもしれない点をあらかじめご了承いただきたい)。
(編集担当なので)手前みそになって恐縮だが、全編が教科書パート(+応用例)となっており、数学自体が学べる。例題と練習問題を備えており、これを繰り返し学習するだけで数学の知識が定着するように工夫されている。
また応用例の題材として、平方完成、重心、線形回帰/重回帰分析、ニューラルネットワークの一部なども説明している。これまでに紹介した書籍と比較しても遜色(そんしょく)ない内容ではないかと思う。また一部の解説で理解の助けとなるよう動画も無料提供している。
ただし対応している数学範囲に足りていない部分がまだある(※対数や積分、より高度な線形代数などを番外編として不定期に追加予定)。
Udemyで定評があったキカガクによる「脱ブラックボックス」講座(動画)が今は無料で視聴できる。教え方がお世辞抜きにうまいので、特に数学が苦手な人にお勧めしたい。
Chainerチュートリアルは、かつてディープラーニングを学ぶ人によくお勧めされていたコンテンツで、Preferred Networksだけでなくキカガクが制作に協力したようである(メディカルAI専門コースも同様)。Chainer自体は開発がストップしているものの、そのチュートリアルに含まれる数学に関する内容は分かりやすくて有用である。
ただしディープラーニングの数学範囲に特化しているのが欠点になるだろう。
取りあえず、上記の中からまずは1冊(もしくは1コンテンツ)を学んでみるとよい。その後は、機械学習やディープラーニングを実践しながら、少しずつ数学力を身に付けていけばよい。では、どんな数学本があるのか。これについて、最後に紹介しておきたい。レベルに応じて探せるように、大学数学レベル→高校数学レベル→中学数学レベル+統計学の順で紹介する(※通常は高校数学レベルくらいから学べばよい)。あくまで筆者が優良と考える代表的な本であるので、実際に購入する際は自分に合ったものを探して判断することをお勧めする。
Copyright© Digital Advantage Corp. All Rights Reserved.