渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

データサイエンティストを目指すというかデータ分析を生業にするなら読んでおきたい初級者向け5冊&中級者向け12冊(2015年冬版)

f:id:TJO:20151222154259j:plain

(Photo via VisualHunt)

追記

2017年3月現在の最新書籍リストはこちらです。


最近になってまた色々とデータサイエンティストを目指す人向けのお薦め書籍リストとか資料リストとかが出てきてるんですが、個人的には何かと思うところがあるので僕も適当にまとめておきます。偏りありまくり、完全に主観で決めたリストなので文句が出まくるかと思いますが、もはや毎回のことなのでご容赦を。


なおこちらのリストはあくまでもビジネスの現場でデータ分析を生業にする(しようとしている)人たち向けのものであり、研究者含めたガチ勢の方々向けのものではありませんのでどうか悪しからずご了承下さい。


ちなみに毎回言ってますが、アフィリエイトは全くやっていないのでここに貼られたリンクを踏んで皆さんが購入されても僕の懐には一銭も入りません。拙著だけはそもそも例外ですが(笑)。*1


初級者向け5冊


一応初級者向けと銘打ってはありますが、中級以上を自認する方でも持っていて損のない本が多いかと思います。


統計学


以前からこのブログでは推し続けてますが、統計学の「と」の字も知らない人がとりあえず取り掛かるには良い一冊だと思います。統計学という営みが何の役に立つのか、どう使うべきものなのか、が簡潔にまとめられています。


Rによるやさしい統計学

Rによるやさしい統計学

その上でRを用いて実践するならこの本がベストでしょう。先に理論的な側面を学ぶべきだという声もあるかもしれませんが、僕はこの本で一旦「実際に統計学というのはどのようにして用いられるものなのか」を体験的に学ぶことが後々役に立つのではないかと思ってます。なお、この本は検定論までしかカバーしていないので、その先の話題は中級者向けの書籍で勉強しましょう。


機械学習


データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

これは本当に良い本が出たと思います。以前は初級者でも読める機械学習の本というのは本当に皆無だったんですが、今ならこれをお薦めします。前にも書評しましたが、基本のきの「何故機械学習が有用なのか?何に使えるのか?」という素朴な話題から、ある程度高度ながらRやPythonなどの言語をベースに定番の機械学習手法や、レコメンデーションの基礎や、Deep Learningの話題にも触れられたオールマイティな一冊です。続編としてスクラッチから組んでいく?本が出るという噂もありますが、それはおいおい。。。


その他データ分析


データサイエンティスト養成読本 [ビッグデータ時代のビジネスを支えるデータ分析力が身につく! ] (Software Design plus)

データサイエンティスト養成読本 [ビッグデータ時代のビジネスを支えるデータ分析力が身につく! ] (Software Design plus)

これまた鉄板かつ以前にも書評したことがありますが、広いデータ分析の世界を概観するには非常に便利な本だと思います。上の3冊で取り上げられた内容のダイジェスト的にも読めますし、統計学機械学習データマイニングのみならず、例えばSQLなどDB周りの話やスクレイピングはたまたFluentdの話題なども取り上げられており、これからデータ分析を生業とする上で知っておくべき情報が満載です。


手を動かしながら学ぶ ビジネスに活かすデータマイニング

手を動かしながら学ぶ ビジネスに活かすデータマイニング

はい、手前味噌ですが昨年出版した拙著でございます(笑)。どう見てもこの後の中級者向けに入れるにはおかしいし、かといって本当の初心者が読むと大変かもという面倒くさい立ち位置の本なんですが、上の4冊を既に一通り読んで実践してみた人ならすんなりお読みになれるかと思います。Rでコードを実行していくだけで、主だった統計学機械学習データマイニングの事例を一通り手を動かしながら体験できるように書きましたので、皆さんのお気に召したら嬉しいです。ただの宣伝でごめんなさい。。。


中級者向け10冊


改めて中級者向けと書いてありますが、これは初級者向けの本を既に皆さん読んで理解した後or別に読む必要がないだけの知識が既にあるということが前提なので、場合によってはちょっとレベルが飛躍しているかもしれませんのでご了承を。


統計学


統計学入門 (基礎統計学?)

統計学入門 (基礎統計学?)

自然科学の統計学 (基礎統計学)

自然科学の統計学 (基礎統計学)

人文・社会科学の統計学 (基礎統計学)

人文・社会科学の統計学 (基礎統計学)

お馴染み東大出版会の赤本・青本緑本の三部作です。基礎と検定論をメインに扱った赤本、線形モデルや一般化線形モデル(GLM)を扱った青本、そして系列相関や不均一分散といった特徴を持つ社会科学データに対するアプローチを扱った緑本、とテーマが綺麗に分かれているので、可能であれば3冊とも揃えておくと良いと思います。


これまたお馴染み、久保先生の「みどりぼん」。RとBUGS(正確にはWinBUGS + {R2WinBUGS})による実践例を多く収録した非常に分かりやすい統計モデリングの解説書です。多くの人がMCMC本として読んでいるようですが、それ以前のGLMなど統計モデリングの初歩から非常に丁寧に解説されているので、特に東大出版会青本から次に進む際にはこの本がベストかと思います。


基礎からのベイズ統計学: ハミルトニアンモンテカルロ法による実践的入門

基礎からのベイズ統計学: ハミルトニアンモンテカルロ法による実践的入門

ベイジアン統計解析の実際 (医学統計学シリーズ)

ベイジアン統計解析の実際 (医学統計学シリーズ)

現在統計モデリング界隈で大流行しているMCMCによるパラメータ推定、特にStanによるベイジアンモデリングについて学ぶならこの2冊を。豊田先生の本は恐らく日本初のStanベースの専門書で、MCMC及びHMCについての解説と、ベイジアンモデリングの実践について、章末問題及びStanコード例とで盛り沢山の一冊です。


ただ、豊田先生の本だけだと実際のベイジアンモデリングの適用の仕方についての情報が足りなくて困るかもしれませんので、BUGSベースですがもう1冊丹後本を追加しておきました。実際に階層ベイズを用いてどのような問題に臨むべきかについてなど、細かい事例が詰まった良書です。なお@先生のラボでも輪読で用いられたそうです。


追記(12/28)


豊田本の内容に色々不備があるという指摘を複数頂いておりまして現在僕の方で確認中なのですが、もしそれらを避けたいということであれば代わりに手前味噌ですがこちらの本をお薦めしておきます。

岩波データサイエンス Vol.1

岩波データサイエンス Vol.1

僕も刊行委員会に名を連ねる本書ですが、こちらもMCMC / HMC及びStanについての解説が豊富です。下の方でシリーズ全体としてのお薦めもしていますが、本書だけでもStanとPyMCのコードを用いた説明まで充実しているので是非お試し下さい。


機械学習


はじめてのパターン認識

はじめてのパターン認識

鉄板中の鉄板「はじパタ」です。主要な機械学習手法について、簡潔にそれらの理論的基礎と数式を紹介した上で、Rによる実行例*2が添えられていて、見た目にも分かりやすい本です。


言語処理のための機械学習入門 (自然言語処理シリーズ)

言語処理のための機械学習入門 (自然言語処理シリーズ)

これまた名著として名高い一冊。言語処理のための、とうたってはいるものの言語処理に限らず機械学習全般の話題が非常に丁寧にまとめられています。特にこの本の良いところは、通り一遍のアルゴリズムをただ数式で表すだけでなく、例題ごとに一つ一つ式の展開を追っていくことでどのようにアルゴリズムが期待される結果を出していくかを逐一明示してあるところかと。もちろん自然言語処理の入門としても有用な一冊だと思います。


統計的学習の基礎 ―データマイニング・推論・予測―

統計的学習の基礎 ―データマイニング・推論・予測―

  • 作者: Trevor Hastie,Robert Tibshirani,Jerome Friedman,杉山将,井手剛,神嶌敏弘,栗田多喜夫,前田英作,井尻善久,岩田具治,金森敬文,兼村厚範,烏山昌幸,河原吉伸,木村昭悟,小西嘉典,酒井智弥,鈴木大慈,竹内一郎,玉木徹,出口大輔,冨岡亮太,波部斉,前田新一,持橋大地,山田誠
  • 出版社/メーカー: 共立出版
  • 発売日: 2014/06/25
  • メディア: 単行本
  • この商品を含むブログ (5件) を見る

名著PRMLベイズベイズし過ぎているので取り下げる代わりに、どうしても入れたかったのが「カステラ本」ことこの一冊。完全に鈍器というレベルの大著ですが、この1冊に統計的機械学習のほぼ全てが詰まっています。そしてこの本の最も素晴らしいところは、大抵の機械学習手法について擬似コードが添えられている点。単に数式を追うだけでなく、その結果としての実装についてもイメージをつかみやすいです。高価な本ですが、持っていて損のない一冊だと思います。


深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

そしてこのご時世Deep Learningについて取り上げないわけにはいかないということで何か一冊挙げたかったんですが、このご時世山ほどDeep Learning本が出ている中でどうしても挙げるなら!ということで僕が選んだのはこちら。現在主流のDNN、CNN、RNNなど一通りのDeep Learningの基礎がコンパクトにまとめられています。数式パートも他書に比べると読みやすい方だと思うので、数学があまり得意ではない人でもそれなりに読めると思います。


その他データ分析


経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

現実にはビジネスデータ分析の実務で時系列分析(特に全て内生変数しかないケース)を扱うことって多くないと思うんですが、これを計量経済学的に扱おうというのであればこの沖本本が一冊あれば十分かと。ただし実践例については学術書につきあまり詳しくないので、例えばRでの実践例についてはこのブログの関連記事一覧(時系列分析 カテゴリーの記事一覧 - 六本木で働くデータサイエンティストのブログ)などお読み下されば良いかなと(笑)。


ここだけ特定のIT技術・言語に絞った紹介ですが。。。実際にデータ分析を生業とする上で絶対に避けて通れない、DB(そしてSQL)についてデータ分析を主題としてコンパクトにまとめられた一冊。本業のDBエンジニアほどの凄腕である必要はないものの、行比較やら縦横変換やらデータ分析業務でSQL書くと遭遇する数々の難題とどう戦うべきかといった重要な知識がふんだんに盛り込まれていて、非常に有用です。SQLだけでやれる簡単な集計・分析についても細かく説明されており、そこもポイントかと。


上級者向けは?他の本は?


僕なんぞ半端者が偉そうにそんなリストを論った瞬間に、マサカリが全方位から十字砲火で飛んでくるのでやめておきます(笑)。Twitterなどで大きな声で騒げばきっと誰かがマサカリを投げつけがてら教えてくれることでしょう。というか、単に難しい本を取り上げるだけならいくらでも際限なく取り上げられるので、そうではなく読みやすい本を挙げろということであれば上記の5冊+12冊の通りかなぁと。


今回は「黄色い本」ことPRMLパターン認識と機械学習 上 / パターン認識と機械学習 下 (ベイズ理論による統計的予測))は上下巻とも外しました。理由は簡単で、そろそろ陳腐化が目立ってきた点、ベイズベイズし過ぎていてベイズ慣れしてない読者にはつらい点、そして最近出てきた本に比べると実装面でのサポートが少々弱い点です*3。グラフィカルモデルなど他書ではカバーしてない部分を取り上げているというメリットもあるんですが、下記の事情も踏まえて結局今回のリストからは外してあります。「中級者向け14冊」で良ければ従来通り入れたかも。


そうそう、上の方で一つも取り上げなかったテーマの一つにトピックモデルがあるんですが、これは単に僕が不勉強でほとんど分かってないだけです(汗)。@先生本(トピックモデルによる統計的潜在意味解析 (自然言語処理シリーズ))を積ん読にしたっきりなもので、その辺はご容赦を。。。他にもグラフ理論、ネットワーク分析、グラフィカルモデルなども削りましたが、これは単に分野全体で見た場合の立ち位置としてそこまで主流ではないということで一旦外してあります。レコメンデーション(推薦)システムの話題も捨て難かったんですが、これは単に僕が良書を知らないだけでして。。。レコメンデーションの良書があればどなたかコメント欄などで教えて下されば幸いです。


そしてRやらPythonやら、個々の言語に特化した本も割愛してあります。これはどちらかというとコーディング環境=エンジニア的素養の話になるので、他のもっとちゃんとしたエンジニアの方の紹介記事にでも譲ります*4。そもそもスクラッチから機械学習アルゴリズムとか実装するなら、例えばJavaC#やJuliaやRuby*5でやりたいという人もいると思われるので、あまり言語依存的な話はしない方が良いかもという。。。


ということで、適当にキリのいい数字ということで5冊+12冊に絞っただけなので、他にも良い本は沢山ありますよーということだけは強調しておきます。このブログの過去の書籍紹介記事書評記事も参照していただければと。


実務向けの本は?


最近は統計学機械学習はたまたデータマイニングに関する本が飽和してきたこともあり、データ分析実務そのもののハンドリングを扱った本が幾つか出ていますが、個人的な感想としては「どの本もそれぞれの著者の個人的好みや所属する業界のカルチャーを強く反映し過ぎていて汎用性が高くない」と感じているので、今回は基本的には外しました。


ただし、それらデータ分析実務に関する個々の書籍はどれも完成度が高いと思うので、純粋に読者の皆さんと著者の属する業界が一致するような本を選んで読んでみれば良いのではないかなと思います。個人的な願望を書くと、データ分析実務系の本は業界ごとに別々に出すより、例えば『ビジネスデータ分析大全』とか称して全てを一つにまとめた鈍器みたいな業界全体向け事例集的ハンドブックとして出すのが理想的かなぁと。


ついでにお薦めの書籍のシリーズを


単発の書籍についてはコメントしにくいんですが、データ分析業界で既に定評があったり皆が注目しているシリーズを幾つか挙げておきます。

  • Rで学ぶデータサイエンス 全20巻 | 共立出版:こちらは金明哲先生監修の定番シリーズ。Rで取り組める題材に限られますが、それでも非常に内容が多彩なので興味のある巻に絞って読んでいくだけでも極めて有用だと思います。『ネットワーク分析』は僕の座右に置く文献の一つです。
  • 機械学習プロフェッショナルシリーズ | 書籍情報 | 株式会社 講談社サイエンティフィク人工知能ブームに先駆けて、日の出の勢いで次々と新刊を出し続けるお化けシリーズ。日本の機械学習業界のトッププレイヤーがズラリと著者陣に並び、その内容も非常に高度かつ先進的で、これを全巻読破し尚且つスクラッチから実装できれば、日本でもトップの機械学習エンジニアになれると言っても過言ではないでしょう。価格を抑えるために紙版だと印刷が粗いのが珠に疵かと(汗)。
  • 岩波データサイエンス:そして僕も刊行委員会に名前を連ねるこのシリーズ。まだ刊行が始まったばかりですが、ひとまず第1期全6巻の刊行は決まっておりますので、ぜひぜひ皆さんお読み下さい。産学双方のメンバーが執筆&編集に携わることで、タイムリーな話題を出来る限り分かりやすく、けれども過不足なく正確に提供することを目指しています。サポートサイトで追加の有用な情報*6も提供しております。


他にも色々有名どころはたくさんありますが、これ以上挙げていくとキリがないのでこの辺にしておきます。


最後に:スキル要件やら定義やらといった話題について


そうそう、何とか協会がデータサイエンティストのスキル定義みたいなものを出してました*72年以上前の記事で僕は以下のように指摘しています。

これを、もし一人の人材に資格認定の観点からあれもこれもとスキルを突っ込むことで達成しようとすれば、まさにデータサイエンティストのスキル版「次元の呪い」にハマるだけだと思います。


ということでスキルを事細かに分けるのではなく、大まかな人材要件像として提示したのが今年春のこちらのエントリでした。



正直言って、「○○ができるからこいつは凄い」とか「××を知らないからあいつはダメ」とかいう、次元の呪いを地で行くような人材評価なんかしても有意義ではないと個人的には思います。もう少し大まかな人材像を提示するに留めて、そこに至る道筋の多様性を認める方がよほど有用ではないでしょうか。それこそ上に挙げた本を全部読みこなして大体実践できます、ぐらいでちょうど良いはず。後は実際にどうデータ分析事例に臨んでいく(いった)かを見て評価すれば良いと思っています。


もっと平たく言えば、データ分析人材の評価モデルにも汎化が必要ですよ、ということで(笑)。

*1:もちろん印税を頂戴することになります笑

*2:ただしRコードは伏せられている

*3:擬似コードもないし、最適化計画解法のところを端折ってる箇所も幾つかある

*4:そもそも僕自身がなんちゃってエンジニアなので泣

*5:これ以上列挙すると宗教戦争が始まるのでやめておきます

*6:紙面に載り切らなかったページや実装コードなど

*7:この資料中に僕と同姓同名の方が見えますが、所属企業が違うので僕とは別人だと皆さん容易にお分かりかと思います