機械学習
数学
データ分析
データサイエンス

データサイエンス、データ分析、機械学習関連の本

データサイエンス、データ分析、機械学習周りでおすすめ図書10選のような記事は良く見ますが、網羅的な紹介記事はあまり見かけないので自分が欲しいと思い書きました。私よりたくさん読んでいる方は多々いらっしゃると思いますが、記事を書いてくださいな。
基本的なスタンスとしては

本記事の対象と想定

  • Qiitaはプログラマやコンピューター系技術者のための記事と思ってます。ので研究者は対象にしていません。
  • 理論より手を動かす
    • 理論をないがしろにしてはいけない。ただ、数式を恐れて何もしなくなってしまうより、まず手を動かしてコードを書いてデータを扱うことにより理解が進むことがある
    • 理論ガチ無視で人工知能万歳!と無着苦茶だけど声がでかいだけでOKみたいな人を駆逐したい
  • ので、手を動かした後に理論もフォロー
    • 機械学習系って、研究成果が簡単なライブラリやAPIで誰でも試せるようになって距離が近くなっているので訳わかんなくなってるけど、研究成果を実際の問題に適用するのが大事
    • だからさ数式に恐れずまずトライしようよ

ってな感じです 反論があれば Qiitaコメントか、 twitter:@aokikenichi にね

ざっくりとした難易度

  • 初級:前提知識ほぼなし。数式不要。プログラミング不要。
  • 中級:初級を前提知識とする。理論の本の場合は微積・線型代数程度の数学の知識があれば理解に役立つ。ツールを扱う本の場合はRかPythonを書くと理解に役立つ。
  • 上級:中級を前提知識とする。微積・線型代数程度の数学の知識が十分ないと理解は難しい。中級程度の本でRかPythonを書いた経験を前提とする。

下記めっさ長くなったのでPower Pushの10冊

  • 数学的準備
    • 『プログラミングのための線形代数』
    • 『プログラミングのための確率統計』
    • 『統計学のための数学入門30講 (科学のことばとしての数学)』
    • 『これなら分かる最適化数学―基礎原理から計算手法まで』
    • 『統計学入門 (基礎統計学)』東京大学出版会
      • 類書いろいろあるから必ずしも本書でなくてもよいが統計学のしっかりした本をなにか1冊
  • データ分析、機械学習の理屈
    • 『「原因と結果」の経済学―――データから真実を見抜く思考法』
    • 『データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)』
    • 『はじめてのパターン認識』
  • Rによる実装(私はR派なのでPythonについては別の方の記事を参照してくださいな)
    • 『Rによるデータサイエンス データ解析の基礎から最新手法まで』
      • Pythonなら『Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)』が評判良さそうだがRもPythonも類書たくさん出たから相性の良いのを選べばよいのかも
  • その他用途に応じて1冊

    • 時系列分析なら
      • 『経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)』
    • 因果推論
      • 『データ分析の力 因果関係に迫る思考法 (光文社新書)』
    • 深層学習なら
      • 『深層学習』機械学習プロフェッショナルシリーズいわゆる青本ね
    • 自然言語処理なら
      • 『自然言語処理 (放送大学教材)』
    • あるいは技術の広がりを知っておくなら
      • 岩波データサイエンスシリーズVol.1-Vol.6
  • なんか数学や理論系の本が多くなってしまい「理論より手を動かす」と矛盾してそうですが、読み勧める推奨としては

    • 『Rによるデータサイエンス データ解析の基礎から最新手法まで』 で一通り目と手になじませる
      • Pythonの方は別の本で
    • 『はじめてのパターン認識』で上記本の理論を眺める(私も含めて大方の人はスラスラわからないだろうので並行して次の数学的準備を)
    • 数学的準備をする。統計学系は『統計学入門 (基礎統計学)』がスラスラ分かるなら次に進む。分からないなら『統計学のための数学入門30講 (科学のことばとしての数学)』を目指し、大学受験用and/or大学1年生用の「微分積分」「線形代数(行列)」の本を復習。機械学習系は『これなら分かる最適化数学―基礎原理から計算手法まで』が分かるなら次に進む。
      • 教科書を1回読めば理解できるって方以外は何度も読んだり問題演習が必要だがそれでも「俺一体何やってんだ?」となりがち。そういうときには『プログラミングのための線形代数』『プログラミングのための確率統計』が強い見方になる
    • 『「原因と結果」の経済学―――データから真実を見抜く思考法』は因果推論についての入門だがデータ分析に携わるなら最低限知っておくべきだと思う
    • 一口にデータ分析と言っても、大きく統計モデリングと機械学習に分かれる(かなりオーバーラップはしている)場合によっては統計モデリングは全くしないということもあるかもしれないけど最低限『データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)』は知っておくべきだと思う

データサイエンス・機械学習のための​数学

微分積分、線型代数

  • 初級:入門的な本
    • ​類書が多すぎてどれが良いのかは、、、大学受験・大学1年生用の「単位の取れる」「分かりやすい」などの「微分積分」「線形代数(行列)」の本を読めばよいと思います。
      • 数学アレルギーがあってこのレベルもヤバいということであればまずは下記で慣れてから
  • 中級『プログラミングのための線形代数』堀玄、平岡和幸著
    • 線形代数の「意味」が分かる。「行列は写像だ!」
    • 題名の「プログラミング」はほぼ関係ない。
  • 中級 『統計学のための数学入門30講 (科学のことばとしての数学)』永田靖著

    • とは言うものの数学が必須だよね。大学で学んだから代替は分かるのだけど統計との関連が今ひとつ、、、ってな方に適しています。統計学でどのように使われているかを念頭に置いた、微分積分、線型代数の紹介。1冊で紹介しているので各内容の説明は薄め。
    • 一通り勉強した後の確認や、過去に勉強したが錆び付いている人の再起動、今学んでいることを統計学と結び付けたい人向け。
    • 今、講談社機械学習プロフェッショナルシリーズ『深層学習』の読み解きをしているが、数学でわからないところは、ほぼ本書に出ている。
    • ただ、薄い本書に微分積分と線型代数を押し込めているので、初学者には厳しいと思います。
  • 中級『これなら分かる最適化数学―基礎原理から計算手法まで』金谷健一著​

    • 機械学習でも用いられる最適化に必要な(もののみの)微分積分、線形代数の解説。
    • コンセプトは上記書「統計学の~」に似ているが本書は、より目的の最適化に特化しており、例題を解いていくと定着するようになっている。
  • 推奨

    • 「わかる○○」的な本で微積・線型代数を一通り→「統計学のための数学入門30講」で復習。
    • 機械学習の中級的な本に挫折してから!→「これなら分かる最適化数学」で機械学習の数学が身につくと思う。
    • 『統計学のための数学入門30講』『これなら分かる最適化数学』に関する詳しい詳解の記事を書きました データサイエンス、データ分析、機械学習に必要な数学
    • 「プログラミングのための線形代数」に適宜寄り道すると得る所多し。

数学余談

統計学

  • 初級『とある弁当屋の統計技師(データサイエンティスト) ―データ分析のはじめかた―』石田基広著

    • 表紙が私は苦手なのですが、分かりやすい入門書を多数執筆している著者で、本書も分かりやすいです。
  • 初級『その数学が戦略を決める (文春文庫)』文春文庫

    • 数学がビジネスや社会の問題にどう適用されているか、のような話し。大部分は重回帰の話し。
  • 初級・中級『統計学が最強の学問である』、『統計学が最強の学問である[実践編]---データ分析のための思想と方法』西内啓著

    • ビジネスにその手法がなぜ必要なのかが分かります。
  • 初級『推測統計 はじめの一歩―部分から全体像をいかに求めるか? (ブルーバックス)

    • 品切れ?絶版?なのが残念。でもブルーバックスに統計学入門の類書がたくさんあるからそれでよいと思う。
  • 中級『プログラミングのための確率統計』堀玄、平岡和幸著

    • 確率・統計の「意味」が分かる。題名の「プログラミング」はほぼ関係ない。簡単にだが「カルマンフィルタ」なども紹介されている。 確率は面積だ!
  • 中級・上級『統計学入門 (基礎統計学)』東京大学出版会

    • 本書が理論理解の定番とされてますが、やや難しく、データ分析で統計学の詳細な内容まで問われることは少ない。
    • あるデータサイエンスの勉強会でも「まず、統計学の勉強を。とされているが統計学で挫折してしまうくらいなら、スルーした方がいい。実務で統計学の詳細な内容が必要なことはまずない」というようなことが言われてました。
  • 人文・社会科学の統計学 (基礎統計学)』東京大学出版会

    • 東京大学出版会の統計学3部作として(別に青い『自然科学の統計学(基本統計学)』がありますが、未読)有名です。本書は、アンケートなどの社会調査、経済(時系列)データ、心理テストなどのデータ分析を扱っている。基本的な内容を網羅的に扱っていると思う。ビジネス系のデータ分析で、アンケート調査や経済時系列データを扱うのであれば入門としてよいのかも知れない。
    • ただ、残念ながら内容が古い。「GNP」はすぐGDPと分かるからいいとして、「IBMカードの文字数制限」など???な内容があり、基準などが変わる経済指標で知らないうちに間違った古い知識を身に着けてしまう怖さがある。
    • ただ、経済指標や時系列分析の本をいろいろ読んだ後に本書を読むと、あー本書にまとめて書いてあるじゃんか、となったので、初期にざーっと読むのは価値があると思う。
  • 辞書的『統計クイックリファレンス 第2版』オライリー・ジャパン

    • 辞書としてだが、一読後あまり使ったことなく、、、
  • 推奨

    • 初級の本は何かお好きなものを。

統計学余談

多変量解析

統計モデリング

時系列分析・状態空間モデル

時系列分析

時系列分析は「統計モデリングの一種」でよいのだろうか。時系列データは独特の特徴があるので、時系列分析が不要な方はスルーでよいと思います。

​​

状態空間モデル

因果推論

ベイズ統計

データサイエンス

機械学習

シリーズ

​​​​

深層学習

深層学習のフレームワーク

研究者なら0から深層学習を実装する必要があるかもしれませんが、それを使う技術者&ユーザーはフレームワークを用いることになると思います。フレームワークはたくさんあります。ちょっと古いですが深層学習フレームワークヒッチハイクガイドVer2.0参照。

TensorFlow

Chainer

  • 『Chainerで作るコンテンツ自動生成AIプログラミング入門』
      • 理論の解説はほんの少しだけ。
      • 自動生成に的を絞って実装例を紹介している。
        • 超解像画像の生成、画像の自動生成、画像のスタイル変換、文章の自動生成、意味のある文章の自動生成、機械翻訳、画像のキャプションの生成
  • 『Chainer v2による実践深層学習』
    • 『自動生成本』よりも理論解説が多め。
    • 私は自動生成に興味があるので『自動生成本』を主に実施していますが、理論を一つずつ実装して試してみたいのならば本書の方がよいかも。

強化学習

  • ​『強化学習』森北出版
    • 2000年と古いが定番書

テキストマイニング、自然言語処理

首都大学東京小町研推奨の本

上記以外

  • Rによるテキストマイニング入門

    • Rの基礎説明、RMecabによる分かち書き(文章から単語に切り分ける)、ウェブからのテキスト収集、テキスト分類、Twitterタイムラインの分析など。話題のトピックモデルについても数ページながら言及あり。
    • word2vecなど深層学習絡みはないのが残念だがテキストマイニングの基礎的なことは一通り試せる。
  • Rによるテキストマイニング ―tidytextを活用したデータ分析と可視化の基礎

    • テキストマイニング系ってあっちゃこっちゃの関数やライブラリをつなぎ合わせた感があり、途中であるいはコードをあとで見直すと「俺何やってんだっけ」と見失いがちなのだが、tidytextという考え方で処理をスマートに記述するもの。自然言語処理もPythonが主流になりがちだけどRで実施するのであれば本書程度は慣れておくべきと思う。
  • 統計学OnePoint テキストアナリティクス

    • 『Rによるテキストマイニング入門』は分かち書きから基礎的な処理、『Rによるテキストマイニング ―tidytextを活用したデータ分析と可視化の基礎』はテキストのきれいな処理の仕方、『統計学OnePoint テキストアナリティクス』はもう少し突っ込んで多変量解析や機械学習などでテキストをどう分析するか、という違いか。ただ3著書とも流行り?の深層学習による分析などは行っていないので、まずは基礎的なところを押さえるという感じか。
  • ウェブデータの機械学習(機械学習プロフェッショナルシリーズ

    • 前3著とは異なり、理論の解説の本。
    • クローリングなどがメインかとスルーシていたのですが、自然言語処理を自習したくなったら参考になりそうなサイトなど このブログ記事を見て、「NLP関連として評判分析と表現学習 (word2vec) について扱っています.個人的に何かと後輩にお勧めすることが多い本です.」という記述を発見。自然言語処理と言っても、翻訳、要約、生成、などいろいろありますが、評判分析にちょうど興味を持ったところだったので即買い。
    • バースト検出、評判分析、表現学習、グラフデータ、順序学習とてんこ盛りなので1つのトピック自体は物足りないですが、日本語で読める資料としては貴重な内容です。
    • 『ウェブの自然言語処理』等としたほうがもっと売れるのではないかと思う。

データサイエンス言語

​R

Pyth​​on


マーケティング

ビジネス向けのデータ分析ではマーケティング関連で用いられる事が多いと思う。それらの入門的な本を。

  • 初級『改訂3版 グロービスMBAマーケティング
    • バイブル本としては『コトラー&ケラーのマーケティング・マネジメント 第12版』などが有名なのだが入門では本書が評判がよいようだ。ビジネスマンなら仕事上でマーケティング関連の用語や概念に多かれ少なかれ振れているはずだが、その整理によいと思う。もちろんマーケティングを本職としていない方(私も)には知らないこともたくさん書かれている。まず、データ分析対象の担当者と最低限話が通じるための一冊といったところ。
  • 初級・中級『マーケティング・エンジニアリング入門 (有斐閣アルマ)
    • マーケティング・エンジニアリングとはマーケティングとエンジニアリングが融合したもの、ということで、要はマーケティングにデータ分析を持ち込んだ、ということらしい。別途、マーケティング・サイエンスという分野もあり、となるとマーケティング・サイエンスとの違いがわかりにくいが
      • マーケティング・エンジニアリング
        • マーケティング担当者の意思決定に関心がある
      • マーケティング・サイエンス
        • 消費者の意思決定に関心がある
    • まー同じなのではないか?まぁマーケティング・エンジニアリングの鳥瞰的な全体像が得られるのだろう、所見なのでこれが全体像か確信がないけど。同じく有斐閣アルマに『マーケティング・サイエンス入門 -- 市場対応の科学的マネジメント 新版 (有斐閣アルマ)』があり、それもおいおい読んで紹介します。
    • 本書の後半はほぼ、データ分析の概説書となっている。ただ、データ分析の箇所の記述に難あり。「因果関係を表現する代表的な数理モデルである回帰分析」「回帰分析のように因子間の因果関係も同時に評価」とあるのはいただけない。相関と因果は違うという記述もない。ランダムフォレストの解説で「森に見立てた大量データから」とあるが、たくさんの木の事を森と見立てているはず。ニューラルネットワークを「非線形予測モデル」、サポートベクターマシンを「非線形クラス判別」としているが、予測もクラス判別も行える。本文ではサラッとしか振れてないのに、参考文献にいきなり講談社機械学習プロフェッショナルシリーズの『深層学習』もあるが、機械学習の項目はちょっととってつけた感がある。
  • データ・ドリブン・マーケティング―――最低限知っておくべき15の指標
    • データ分析というよりは、データを用いたマーケティングにどういった指標が必要かという解説の本。Amazon社員の必須テキストらしい。

需要予測

  • 在庫管理のための需要予測入門』キャノンシステムソリューションズ株式会社数理技術部編
    • 需要予測の本があまりないようです。理論的な詳しい本ではありませんが概要を見るにはよい本と思います。

番外
時系列データで経済・金融データを扱い需要予測周りも少し扱ったので関連書を

経済学

​​計量経済学

  • 中級・上級​​『計量経済学 (y21)』浅野哲、中村二朗著 有斐閣
    • 計量経済学の中級書の定番。重回帰、経済データの取り扱いなどが参考になると思う。

経済指​​標

その他

人工知能

データサイエンスや機械学習を行うにあたって直接的には人工知能の知識は必要ないと思います。ただ、人工知能のニュースが連日流れており、上司から「人工知能でなんかやれ」と言われてお困りの方もいらっしゃるのではないでしょうか。事例記事に流されていると何が人工知能なのかわからなくなってくるので一度、引きの立場で眺めてみるのも良いかと思います。

  • 初級『マッチ箱の脳(AI)―使える人工知能のお話』森川幸人著
    • ニューロン1つをマッチ箱に見立てて、マッチで重みを表現するという面白い絵本仕立ての本。遺伝的アルゴリズム、ニューラルネットワークに加えてエキスパートシステムは強化学習法の解説まである。Amazon中古はあるみたいなので、人工知能や機械学習のイメージをつかみたい初心者によいのではないか。
  • 初級『人工知能はどのようにして 「名人」を超えたのか?―――最強の将棋AIポナンザの開発者が教える機械学習・深層学習・強化学習の本質
    • コンピュータ将棋第一人者で名人を倒したポナンザの開発者山本さんの本。人工知能がいくつかのハードルを乗り越えたのを「卒業」と表現しているのが興味深い。理論的な解説はないが、ボナンザ、アルファ碁、機械学習、深層学習、強化学習、モンテカルロ探索などについて平易な解説がある。
  • 初級『人工知能はいかにして強くなるのか? 対戦型AIで学ぶ基本のしくみ (ブルーバックス)

    • 人工知能というよりコンピューターチェス、コンピューター碁についての入門書です。AlphaGOについても言及がありますが深層学習より手の探索のアルゴリズムの説明。人工知能を知る入門としては弱いと思うけど、新書なので軽く読むのにはいいのではないでしょうか。
    • 初級『最強囲碁AI アルファ碁 解体新書 深層学習、モンテカルロ木探索、強化学習から見たその仕組み
    • アルファ碁の解説を通して、深層学習、強化学習、モンテカルロ法などの触りですが、分かりやすいと思います。
  • 初級・中級『人工知能入門』小高知宏著

    • 大学の半期の講義用の教科書らしい。人工知能の概要をコンパクトにまとめている。数式はほとんどなく、章末問題に少し出てくる。本来は1章が分厚い1冊になる内容をまとめているので物足りなさは残るが「人工知能」についての概要を知るのにはよいと思う。人工知能≠機械学習であり、人工知能⊃機械学習(人工知能は機械学習とイコールではなく、人工知能を目指す技術の一部が機械学習)ってことがよく分かります。

データサイエンティストによる推薦リスト

っーかaokikenichiって誰やねん、自分なんか信じらんねーという方向けに信頼と実績の著名データサイエンティストによる推薦リストを

うーん、難しそうだ無理というなら、 データ分析の数学学習に疲れ「数学大嫌い」というあなたを癒やすお友達あるいは悪魔

最新の情報や、スクリプト例を無料で知りたいというなら、 データサイエンス領域の役立つブログをまとめる(日本のみ)


既読未分類