教育カリキュラムについて(データサイエンティストやエンジニアリングマネージャーに役立つ書籍50+1冊)

私は企業の育成担当として、今まで10人以上のデータサイエンティスト・エンジニアリングマネージャーをマンツーマンで育ててきました。

その時に、どの企業にいても、私が1on1で読んでもらう(一元化)のがこのページです。どなたでも、お役立てください。

カリキュラム入門前の心得 : 唯一の注意点について

本に出てくる練習問題は全て解くこと。質より量です。量をこなすことこそが本当の質、とも言えます。

カリキュラム

1. 統計学についての6冊

統計学は、データサイエンティストのみならず、データアナリスト・ビジネスデベロップメント(特にグロース)職に対しても必須としてカリキュラムに組み込んできました。

なぜならほとんどの問題は、機械学習ではなく、統計学で十分解決可能だからです。

リクルートのデータ関係の総合職が必ず入社時に受けなければいけなかった(2015年当時)のが統計検定基礎(2級)です。

この教科書には、実に多くの役立つツールが含まれています。

  • 確率分布
  • 仮説検定
  • 回帰
  • ANOVA

チートシートを描いたことでもちょっと有名になりました。

二元配置ANOVA・尤度比検定・漸近等分散性・カイ二乗分布の導出・AICの導出など大学院レベルの内容について特に詳しいのがこの本です。

この本については、みずほ証券のクオンツ→リクルート→JDSCとご活躍されている、私の師匠のhotoku氏が大学院で輪講していた本です。当時自分にとってはめちゃくちゃ難しかったです。先輩が怖いので死ぬ気で勉強しました。

hotoku先生にクラメール・ラオの限界について教わったのもこの本です。当たり前のように使っている標本平均の特異性について教えてくれる先輩は彼くらいのものでしょう。あ、私も教えています。今でも私が最も引用することが多い本です。

A/Bテストの統計的仮説を立てるテクニックについて詳しいのがこの本です。

古来から、データサイエンスはビジネスコンテキストと切り離せないということが、知られていました。

Machine Learning : The high interest credit card of technical debt . Google(2015)

この事実を受け入れ、モデルをいろいろ調整しないと、会社員として成果を出すことはできません。著者も認知科学の研究者としてキャリアをスタートしており、現実に立ち向かうための良い本です。著者のキャリアがすごい・・・

I was Vice President and Technical Fellow at Airbnb, working on search relevance, personalization, and experimentation. I previously led the Analysis and Experimentation at Microsoft’s Cloud and AI group as Technical Fellow and Corporate Vice President, and I was previously the director of data mining and personalization at Amazon.com, and VP of Business Intelligence at Blue Martini Software.

Ron Kohavi, PhD

確率論の本は、伊藤とシナイでしょうね。シナイ先生については私のストーカーじみた文章も見てください。

確率論はルベーグ積分を使うのが一番相対的には簡単なんですよね。わからない人にはわからないのですが。あとは確率過程。

これは、私が大学4年生の時に師匠(金子邦彦先生)と輪講した本です。ファン・キャンペンの定理のファン・キャンペンですね。この本は難しいです。本棚に飾ってありますが、輪講したければ付き合います。

2. 機械学習についての4冊

とりあえず今の人はこれをやればいいのだと思います。kaggleのTitanicで提出するという本です。この本は4~8時間で読み終えられる良い本で、これを終わらせてから次ということになるでしょう。

ただしこの本は最終的なアンサンブルモデルが思いつきのif文で勝てたりする精度なので、この本だけで実務というのは厳しそうです。

さて機械学習というのは歴史が面白いので面白い本を教えてくれと言われたらこの本です。こうした内容は古くならないのです。タイトルとしてはめっちゃベイズですね。Amariの忘却ネットワークとTychonoffの正則化が印象的でした。

体系的に学ぶには、意外に向いていないかもしれません。なぜかというと、重箱の隅をつつくような話題や、解決策がアップデートされている話題が多すぎるからです。ただ使われなくなった手法も勉強しないと、なぜ手法が使われなくなるのかがわからないので。

機械学習を原理的に学びたいならこの本です。zip圧縮と機械学習は理論的に同じ、という本です。この本もhotoku先輩に教えてもらいました。最近のNNの本には、キャパシティやVapnik次元の説明が足りない気がします。

機械学習の応用による新科学創生を原理的に学びたいならこの本です。私も小売の科学を作ろうとしていました。マックスプランク研究所のディレクターが書いた、人類学についての素晴らしい本です。もとはUberのpyroに引用されていたことがきっかけで知りました。

基礎的にも面白いテーマが多く、新しい科学が生まれたというのはほとんどシンプソンのパラドックスの勘違いであるなど哲学的な深い内容があります。この本の勉強会もしました。

ここまで書いてリコメンド(レコメンド)の本がないのに気づきましたが、ほとんどの機械学習は実装するものです。リコメンドについては、オンライン講座でAlternate Optimizationを書きましたね。この記事のオンライン講座版も作っていこうと思います。

3. ディープラーニング・画像解析についての4冊

私のこの分野に対する考え方は以下の書籍にまとまっているのですが、Amazonで星1をいただいたので、この考えについては世の中と合わない部分が多いのかもしれませんが、本音としては誰かちゃんと読んで星5をつけて欲しいです。

多分星1なのは、「本なんて何冊読んでも無駄だから論文毎年100本読め」と書いているからです。学問に王道なし、というこのスタンスを貫いていくつもりです。

なのであんまりおすすめしたい本はありませんが、バックプロパゲーションは一回自力で組んでみて欲しいと思っています。

2~4は読んでいません。

あとこれは読んでおいた方がいいです。SIFTを知らないと悲しいことになります。

やはりHugging Faceの書いた本をお勧めしたいと思います。

4. 強化学習についての5冊

まずはサイバーエージェントに移られた森村先生のご著書です。何度も読みました。こういうキャッチーな本に対してつきがちな「理解できないので星1」「数式が多いので星1」というレビューが多く、星が低めになっています。

入門編という感じで、POMCP周りの記述が荒いです(詳細しても読む人がいなさそうですが・・・)POMCPでゲームを解くぞ、となるまではかなり心強い味方です。

サットン先生の本です。第二版が2022年に出ています。評価は第一版のものです。

小山田先生たちが訳された本です。めちゃくちゃ薄くてMDPの定式化がしっかりしています。

深層強化学習でいうと、ブレインパッドから出ているこの本が良いです。川﨑さんとだけ面識あり。誰でもDQNを組むことができます。

ベルトセカス先生の本です。これがなんとなく好きです。Hamilton-Jacobi-Bellman方程式が載っています。

5. 時系列解析についての2冊

Inferring Causal Impact using Bayesian structural time-series models. Google(2015)

まず何はともあれこの論文を読んでもらっています。本を1冊読むぐらいの重さがあります。

そして、この本ですかね。状態空間モデルの本ですが、カルマンフィルタがBayesの定理から鮮やかに導かれています。

6. コンピューターについての3冊

コンピューターと言うと意味が広すぎるきらいがありますが、私がコンピューターと呼ぶのは、「CPUを含むハードウェアと、Linuxの仕組み」という狭い意味です。

そもそもの大前提として、本を買うより前に自作PCを組んだ方がいいかもしれません。

この本は、コンピューターについて学ぶ上で私が欠かせないと思っているものです。なぜか人気がなく、続刊が発売されません。評価は英語版ですが高いので不思議です。

この本は、大学院を留年してプログラミングで就職しよっかな〜と思って東大の秋葉原キャンパス(2010~11年当時)をうろうろしてたときに、笹田先生(Rubyの仮想マシンの)に読ませていただいた本です。この本には人生を変えられました。ありがとうございます。

いきなりseekとかを習い終わったところで「lsコマンド」をc言語で書けとか言われます。痺れます。僕は書けます。

あとはLIPCレベル1でも取ればいいんじゃないですかね。

7. プログラミングについての8冊

プログラミングというと意味が広すぎるきらいがありますが、私がプログラミングと呼んでいるのは「高級言語によるプログラミング」という狭い意味です。私が書ける高級言語の中からのチョイスになります。つまりBASIC, C, C++, Java, scala, PHP, python, Ruby, haskell, JavaScriptです。すいません。

Cを書く人は一度読んでもいいと思います。素晴らしく面白い本です。

プログラミングの基本(技術による問題解決)について書いてある本です。プログラミングはプログラミングを始める前に決着がついていることがほとんどですが、まさに、プログラミングを始める前に必ず読んでいただきたい本です。私をスパコンプログラミングコンテストに連れて行ってくれた天才プログラマが大事にしていた本です。

心構え系はこの4冊ですかね?チクセントミハイ以外は読んでも読まなくてもいいです。ソンメズの本はガムボールマシンの経営本です。

言語系の本を期待されているような気がしますが、読む意味がないです。ほとんど全ての本が言語マニュアルの下位互換でしかない気がしてなりません。

JavaならJVMの仕様書を、pythonならグイドのチュートリアルを読めばいいです。

これだけは面白かったかな?

まぁ本とか読んでないでとにかく10000時間書いてください。

とにかく書くならこれですかね?留年引きこもり時代お世話になりました。

8. 分散コンピューティングについての4冊

まずなぜCAP定理やACIDが成り立つかわからないと話にならないのでこれを読みましょう。

The Log: What every software engineer should know about real-time data’s unifying abstraction

Kafkaの思想書のようなもの。それのみならず、データベースとは何かまで掘り下げてくれる本(記事)です。おそらく、OracleのアーキテクチャでACIDを理解していて、Oracleを2台繋げるとうまく動かないのはなぜか考えたことがあれば解読できると思います。これはエムスリーのグローバルCTOのBrian Hooper氏から教えてもらったものです。まだJay KrepsがLinkedInにいた時代。これも人生をいい意味で変えてくれましたね。

Concurrentライブラリを作った人たちが書いた本です。セマフォから始まり、スレッドセーフなオブジェクトにたどり着くために何が行われたのかを正確に理解できます。

もう改訂版が出るかわからない日本が誇るNTTグループから出た分散処理についての渾身の一冊です。何度も読み返しました。

9. アジャイル開発についての4冊

まずですね、アジャイルの前に40年間開発プロジェクトが失敗し続けた理由を書いてある素晴らしい本があるのでこれを読んでください。つまり、アジャイルとは全メンバーが学ばないと機能しないということですね。

次に、世界最初のアジャイル開発とされるのがこれです。アトラクタ株式会社の原田騎郎先生・吉羽龍太郎先生に教えていただきました。彼らの授業には必ず豊田自動織機が出てきます。

両先生のご著書がこちらでございます。しなければならないたくさんのことが書いてあります。全部やるのが良いでしょう。

iRobotの社長の本です。思想的な背景が書いてあります。

10. マネジメントについての10冊

私のマネジメント観を簡潔に示した本です。P&LとBSを守る、そのほかに明確な正解はない、という考え方です。マネジメントは人だ、という方も多いですが、当然「人」以外の仕事がとてもたくさんあります。

そのうえで、押さえておいて欲しい基礎が次の本です。

「Black Book」

この本が何なのかはあえてLinkを貼れませんが、直接下についてもらう次期マネジメント候補の人には必ず読んでもらうことにしています。かならず原語で読むことに拘っています。

そして、まず自分の業務をやめる(オフロードする)ことが必要になります。そうしないと修行時間が取れず、いつまでもマネジメントの練習に割く時間がありません。リクルートのTop営業マン(Top営業マンいすぎ問題)のこの本がおすすめです。

さて、修行が始まったとしても、マネジメントは最初に壁にぶつかって辞めることが多いので、次の本をお勧めしています。

マネジメントは辛いことしかないのでどう救いを求めたら良いか、という宗教的な本です。

その中でマネジメントは他人のために人生をコミットして欲しいと真摯に考えているので、もしドラを読んでもらいます。

私はマネジメントには答えはないという考え方をしているので、あたかも答えがあるかのように勘違いさせる「エンジニアリング・マネージャー本」は百害あって一利なし、と考えています。

答えが無い問題をダイナミックに捉えるのがセンゲ教授のマネジメント論であると思います。

つぎに、データサイエンティストのマネジメント上も重要なのですが、本人のためにもこの本を勧めています。

マネジメントはやらなければやらないことと性格の乖離に苦しむので、そうした現象への処方箋はこの本にしています。

逆に、旧世代のマネジメントがどう考えているのかということを理解し、彼らの良いところを学ばせていただくのも重要です。歴史は繰り返しますから、必ずや、ポストデータサイエンス時代に必要になってくるはずです。

最後に、経営陣と会話ができるようにするための本2冊を置いておきます。この本についてはここで解説サイトを作ろうとしていました。

また、私がPKSHA出身だということで、社長の上野山の大好きな本を置いておこうと思います。私自身も多大に影響を受けた本で、「eggギャルと渋谷のギャルの違い」のエピソードはよく人に話してこの本をお勧めしています。

11. カリキュラムが多すぎる。働きながら勉強する時間もない。どうすれば・・・?という時に読む1冊

絶対的なカリキュラムは世界のどこにも存在しない。

「この50冊を読めば仕事ができるようになる」というリストは存在しない、ということです。

勉強とは極めて主観的かつ主体的なものです。内容においても方法論においてもです。

ですから、諦めてください。そして、ぜひ勉強を頑張ってください。

私自身も、先輩方が読めと言った本を全部読まずに、大人になりました。

以下の本も面白いです。

好きなようにしてください。

以上