SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社 新刊紹介(AD)

『技術者のための基礎解析学』はより高度な数学を学ぶための基礎固め――中井悦司が語る数学を学ぶ価値

  • このエントリーをはてなブックマークに追加

 機械学習を理解する基礎となる「大学の数学」を学び直すことを目標とした『技術者のための基礎解析学』(翔泳社)。本書を執筆した中井悦司さんに、技術者(プログラマー)にとっての数学の価値についてうかがいました。どうやって勉強すればいいのか分からないと悩む方へのアドバイスも。

  • このエントリーをはてなブックマークに追加

コンピューターシステムを作り上げた人々と同じ知識を持つ意義

――『技術者のための基礎解析学』は書名が特徴的だと思います。「技術者のための」にどんな意図を込めたのか、執筆の狙いと合わせて教えてください。

中井:本書で取り扱っているのは大学の教養課程で学ぶ一般的な解析学であって、けっしてプログラミングに特化した内容ではありません。そういう意味では、「技術者のための」というタイトルについて補足が必要かも知れません。

 直接の経緯としては、私が過去に出版した機械学習の書籍について、読者の方々から「この本に書かれている数式を理解するために、数学を勉強したいです!」というコメントをいただいたことにあります。

 最近の技術の流れを見ていると、プログラマーの方もより広い範囲の技術を学ぶ必要性がどんどん高まっています。その中には、まさに機械学習のように、大学教養レベルの数学が基礎となる分野も含まれています。

 数学の基礎知識が欠けている、ただそれだけの理由で、機械学習を始めとする新しい技術領域を不必要に「難しい」と感じる方がいるとすれば、とてももったいないことだと思います。

 そこで、大学の教養課程レベルの数学を学ぶチャンスがなかった方、もしくは、その頃に学びきれなかった方々に、もう一度基礎から数学を理解し直す、数学に再入門するきっかけを提供したいと考えたことが、本書を執筆しようと思い立ったきっかけです。

――では、技術者(プログラマー)にとってどんな場面で数学が役立つと言えるのでしょうか。

中井:ちょっと意地悪かもしれませんが、あえて答えは言いません(笑)。もちろん、計算量を見積もってアルゴリズムを最適化する、集合演算を用いてデータを効率的に操作するなど、さまざまな応用例は考えられますが、こういった事は表面的に現れる結果にすぎないと思っています。

 プログラミング言語を始めとするコンピューターシステムは、すべて数学が基礎になっています。端的に言えば、数学を理解した人々が考え出して、作り上げた世界です。その人々と同じ知識を持つことで、プログラミングやコンピューターシステムの本質に一歩近けば、新しい技術を理解するスピードも上がり、より幅広い応用が考えられるようになるものと信じています。

数学を知っていて損になることは何一つない

――本書のコンセプトを「大学の数学を学ぶ(学び直す)」とされたのはなぜですか?

中井:前述のように「機械学習の基礎を理解する」というゴールを考えると、大学教養課程レベルの解析学、線形代数学、確率統計学が大前提となります。もちろん、最先端の論文を読みこなそうと思うとこれだけでは足りないかもしれません。

 ですが、まずはここを押さえることで、機械学習の入門レベルなら格段に理解が進むと思います。「大学以前の数学」を対象とした初学者向けでないのは、それが理由です。

 また、「大学以前の数学」を解説することは、「大学の数学」を解説することとはまったく別次元の才能が必要です。初学者といっても数学にまったく触れたことがないという方はいないでしょうし、前提知識も千差万別です。前提知識を明確に決めずに数学を解説するというのは、(少なくとも私にとっては)相当にアクロバティックな離れ業なんです(笑)。

 そういった書籍の著者の方々は、本当にすごいと思います。正直なところ、そこは私の得意分野ではありませんので、本書ではあくまでも私が最も効率的にお手伝いできる領域に限定させていただきました。

 本書がカバーする範囲は、大学生向けの既存の教科書とほぼ同じ。とてもスタンダードな解析学ですが、数式の変形を含めて、かなり丁寧に解説しています。一般的な教科書で苦労した経験のある方には、再入門として活用していただけると思います。前提知識としては、大学入学前の高校レベルの数学が必要です。

 それと現在、本書の続編として線形代数学と確率統計学をカバーする書籍の準備を進めています。この3つの領域がカバーできれば、今後プログラマーに求められるであろう、機械学習を始めとするより広い応用分野へと進んでいくための、より高度な数学を学ぶための基礎固めが完成するでしょう。

 分かりやすく言えば、「私が執筆した機械学習の書籍を数式を含めて理解して読みこなすための準備が整う」レベルまで学ぶことができます(笑)。

 その3冊を読み終えたあとは、皆さんそれぞれが目指す領域に応じた、より専門的な数学の勉強を進めていただければと思います。もちろん、専門領域とは関係なく、より本格的な数学の世界を趣味として楽しむ方が増えることも楽しみにしています。

何が分からないのかを心に留めて読み進めていく

――本書の内容についても教えてください。また、久々に学び直そうという方にとってはどう取り組めばいいのか戸惑うかもしれず、学び方のアドバイスをいただきたいです。

中井:本書の特徴を改めて整理すると、まず内容としては、あくまでも標準的な解析学です。機械学習だけに必要となる、何か特別な数学があるわけではありませんので、その点はご理解ください。逆に言うと、標準的な解析学、線形代数学、確率統計学をしっかりと身につければ、機械学習を理解するのは本当に楽になります。

 本書では、数式の変形に加えて、言葉による説明をかなり丁寧に加えてあります。当たり前のようですが、本書の説明を読みながらノートの上で式変形を追いかけていくこと、なぜそのような式変形が成り立つのかという理屈を自分の頭で考えながら計算を進めること、これこそが数学を身につける王道の勉強法です。

 もしも本書の説明に理解できない点があれば、類似の数学書を何冊でも参照してください。同じ内容であったとしても、それぞれの書籍で異なる観点から説明がなされているはずです。

 数学の勉強というのは、「立体物」をその平面図から想像して、頭の中に描いていく過程によく似ています。特に数学に苦手意識のある方は、まずはさまざまな書籍にあたり、さまざまな角度からの平面図を総合して理解を進めていく、そんな勉強法を試してみるとよいかも知れません。

 1冊の書籍を端から順に完璧に理解しようとするのではなく、理解が曖昧なところは、「何が分からないのか」という点をよく心に留めて、まずは先に進んでみてください。

「立体物」の全体像が見えてくれば、ある日突然、「なぜそれが分からなかったのか」が分かるようになります。そんな新鮮な驚きに出会えることも、数学を勉強する楽しみの一つだと思います。

 数学はあらゆる科学・工学の基礎となるものですので、コンピューターに関わる仕事をしている方であれば、知っていて損になることは何一つありません。さらに今後、数式混じりの技術書はどんどん増えてくるかもしれません。

 ですので、いまのうちに数学の基礎を学び直して、「しっかりとその準備をしておきたい」「昔触れた大学数学をもう一度思い出しておきたい」と考えている方にはぜひ一度、本書とその続編に目を通していただけると幸いです。

中井悦司さんのサイン会開催!

 Developers Summit 2018の1日目、2月15日(木)の13:50~14:10に、中井悦司さんのサイン会を開催します。著書『技術者のための基礎解析学』や『プログラマのためのGoogle Cloud Platform』をぜひお持ちください!

 そのほか、翔泳社から発売中の『カイゼン・ジャーニー』などの著者サイン会も併催。詳しくはDevelopers Summit 2018の公式サイトにて。

Developers Summit 2018 サイン会の詳細(PDF)

技術者のための基礎解析学

Amazon SEshop その他

技術者のための基礎解析学
機械学習に必要な数学を本気で学ぶ

著者:中井悦司
発売日:2018年1月19日(金)
価格:2,808円(税込)

 

本書の特徴

・機械学習に関連する数学の最も基礎となる解析学・微積分を順序立てて学習できる
・定義と定理をもとに、厳密に展開される議論を丁寧に説明している(再入門者に理解しやすい)
・各章の最後に理解を深めるための演習問題を用意

 

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10670 2018/02/13 07:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング