PyQ開発チームの斎藤です。
現在PyQブログでは、Python言語の2018年のまとめと今後の動向をテーマにした記事を連載しています。
本記事では、機械学習に関連する2018年の書籍を紹介します。
機械学習は、2018年ITジャンルのホットワードですね。AIや機械学習と冠された書籍も目まぐるしく出版されています。
「結局どういうものなの?」という概念的な内容から、 機械学習を学びたい人に向けたPythonでの実装についての技術書、実際に機械学習を運用する上で関連してくる、データ分析・確率・統計の本まで、2018年末の今読んで損のない、PyQ運営お勧め書籍をジャンル別に集めました。
- 機械学習の概念を知りたい
- Pythonプログラマーで、機械学習の入門知識が知りたい
- Pythonプログラマーで、機械学習に関連する知識を得たい
- プログラミング未経験から網羅的に学びたい
- 番外:まとめ記事紹介:Python本まとめ・2019年版 - Webとデータ分析を初心者が仕事にするまで
- コラム:Pythonプログラマーが、機械学習を書籍で学習する意義
- オンラインでPython機械学習を始めたいなら - PyQ機械学習カリキュラムの紹介
- PyQブログ年末特集「2018年から2019年へ向けてのPython動向」
最新の動向ということで、新しく発売された書籍は気になるところです。まずは今年発売・改定された書籍を見ていきましょう。
機械学習の概念を知りたい
しっかり知りたいビッグデータとAI
https://www.maruzen-publishing.co.jp/item/b302793.htmlwww.maruzen-publishing.co.jp
書籍情報
- 出版社
- 丸善出版
- 著者
- 宇野 毅明、池田 亜希子
- 対象者
- AIについてざっくり知りたい人
推薦メンバーコメント:斎藤努
- PyQコンテンツ作成担当
- 著書
著者の1人の宇野先生は、TeX作成者のDonald Knuth氏の執筆したThe Art of Computer Programmingのシリーズにも寄稿している、アルゴリズムの著名な研究者です。アルゴリズムについて調べる際に読みましたが、著者が研究で培った知識を活かしてAIの概念を易しく説明しています。
平易に纏められた本はその情報の正しさがポイントになりますが、その点で安心感があります。
構成
- 2人の主人公による会話形式で、わかりやすいです。
- 内容は、丸々機械学習ではなく、社会における人工知能の役割・影響・活用法など、AIに関して広く知ることができます。
- 小さいので通勤・通学でも読みやすいでしょう。
Pythonプログラマーで、機械学習の入門知識が知りたい
[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践]
書籍情報
- 著者・翻訳者
- Sebastian Raschka、Vahid Mirjalili(著)
- 福島真太朗(監訳)
- 株式会社クイープ(翻訳)
- 出版社
- インプレス
- 対象者
- Pythonは読み書きできるけど、機械学習は初めての人
- じっくり腰を据えて読み解く気がある人
機械学習本ベストセラーの第2版です。大幅な増補もされていて、第1版を持っている人も参考になるでしょう。
推薦メンバーコメント:清水川貴之
- PyQサポートスタッフ
- twitter:@shimizukawa
- 著作:
- 独学プログラマー(監訳)
- エキスパートPythonプログラミング改訂2版 など
- 書評元ページ:【Scrapbox】
Pythonコードをじっくり読むことで機械学習のアルゴリズムや機械学習の数式の意味を理解できました。
機械学習の数式がさらっと登場してくるので、一旦読み飛ばしながら、コードから理解しようとしたら読めました。
本の内容を読んだだけ、コードを書き写しただけで分かる(分かった気になれる)本ではないです。
この本だけでは用語説明が不足しているので、検索で調べたり色々やる必要はありました。
matplotlibのグラフ描画のコードは読み飛ばしました。この本で学べるものではないので諦めてください。
Pythonプログラマーで、機械学習に関連する知識を得たい
近年Pythonの機械学習ライブラリーなども増え、簡単に機械学習を試せるようになってきました。 しかし、ライブラリーをブラックボックスとして使うだけでは、どのようなしくみで動いているかはわかりません。
そこで、ライブラリーについての知識を深めたり、 機械学習の前提となる数学・統計学・データ処理・データ分析など、 データの扱いに用いる手法やツールの使い方の知識を深めることで、より深い理解が得られます。
以下では、機械学習に関連する周辺知識を学べる書籍を紹介します。
Pythonで学ぶあたらしい統計学の教科書
書籍情報
- 著者
- 馬場 真哉
- 出版社
- 翔泳社
- 対象者
- 統計学を学びたい人
- 機械学習 に取り組もうとしたが、分からない用語や数式が出てきて基本が分からず挫折した人
- Pythonのコードは読めるので「Pythonコードで統計を説明してほしい」という人
- 統計学の用語、説明、コード、ストーリーをセットで段階的に学びたい人、辞書的に使いたい人
推薦メンバーコメント:清水川貴之
- PyQサポートスタッフ
- twitter:@shimizukawa
- 著作:
- 独学プログラマー(監訳)
- エキスパートPythonプログラミング改訂2版 など
- 書評元ページ: 【Scrapbox】
章構成
1つの章は5ページから10ページ、章内の節は1ページ前後で、短め。 そのためテンポ良く読める。
内容
1章は、そもそも統計学の目的がなにで機械学習とどう繋がっていくのかをコンパクトに紹介、その流れでこの本の章構成を説明していて、なにが学べるのか分かりやすい。
統計学が必要になるシーンを分かりやすいエピソードで紹介して、その次の節からその話題に適用できる「用語」が1つ1つ別の節として登場する。流れが分かりやすいのが良い。
節名に「用語」「実装」「補足」と付いているところがあって、その節の目的が分かりやすい。この表示のおかげで、この本全体が統計学の用語集、実装コード例集として使えるようになっている。
数式は7章(40ページ)で初登場。なぜ数式で表すのか、それまでに登場した「用語」を数式で表すとどうなるのか、という説明で、順番に読んでいくと自然に数式便利だなって思える流れになっている。
PythonユーザのためのJupyter[実践]入門
書籍情報
- 著者
- 池内 孝啓、片柳 薫子、岩尾 エマ はるか、@driller
- 出版社
- 技術評論社
- 対象者
- PyData入門者
- Jupyterを使ったグラフ描画の方法などをざっくり知りたい人
機械学習・データ分析をするときJupyterを使うと便利です。
この本では、Jupyterをベースに、pandas、matplotlib、bokehについて詳しく知ることができます。PyQともコラボしています。
推薦メンバーコメント:清水川貴之
- PyQサポートスタッフ
- twitter:@shimizukawa
- 著作:
- 独学プログラマー(監訳)
- エキスパートPythonプログラミング改訂2版 など
- 書評元ページ:【Scrapbox】
お勧めの読者
- PyData入門者
- Jupyterを使ったグラフ描画の方法などをざっくり知りたい人
扱っている分野
- [Jupyter] インストール、日本語フォントの設定、使い方
- [Anaconda] インストール
- [Pandas] データの扱い方、計算、クロス集計、時系列データ処理、可視化
- [Matplotlib] グラフ描画、フィギュア、サブプロット、折れ線グラフ、散布図、棒グラフ、ヒストグラム、箱ひげ図、円グラフ、線分や円弧や文字列の描画、目盛りの描画、凡例の調整、描画スタイルの変更
- [Bokeh] Matplotlibとの違い、描画方法、折れ線グラフ、散布図、棒グラフ、ヒストグラム、箱ひげ図、円グラフ使いこなし
コメント
- Jupyterを使っていて「これどうすればいいんだろう」と思う事が大体書かれていて仕事しながら情報を探すのに良いです。
プログラミング未経験から網羅的に学びたい
ここまで紹介した書籍は主にPythonをある程度習得している人向けのものです。Python言語を習得中・未経験で、機械学習を学びたいという人もいるでしょう。
今年という縛りではなく、近年出版・改定された書籍で、一から機械学習までを、しっかりと体系立てて学びたい人向けの書籍を紹介します。
あたらしいPythonによるデータ分析の教科書
書籍情報
- 著者
- 寺田学 著
- 辻真吾 著
- 鈴木たかのり 著
- 福島真太朗 著
- 出版社
- 翔泳社
- 対象者
- データ分析・機械学習のための知識をコンパクトに学びたい人
- Pythonをある程度知っていてデータ分析エンジニアを目指している人
こちらは2018年9月19日に発売された本です。
2019年の夏に公開予定の「Python3 エンジニア認定データ分析試験」の主教材にも認定されており、 体系的に学ぶのに適した構成です。
社内にレビュー*1担当者が2名いましたので、それぞれにコメントをもらいました。
推薦メンバーコメント:nao_y
- PyQコンテンツ作成担当
- Web+機械学習でWebアプリを作ろう パート など
- 著作
- スラスラ読める Pythonふりがなプログラミング(監修)
- Software Design 2018年9月号 内「使えばわかる!データ分析にPythonが選ばれる理由」
- twitter:@NaoY_py
- 「あたらしいPythonによるデータ分析の教科書」レビュー
"教科書"の名の通り、Pythonによるデータ分析で抑えておきたい知識を一通り学ぶことができる書籍です。
データ分析を取り巻く状況の解説から始まります。データ分析や機械学習でできること、Pythonがそれらに向いている理由、本書が目指すデータ分析エンジニアと巷でよく目にするデータサイエンティストという職業の違いがコンパクトに紹介されています。
章ごとの内容
第2章:データ分析環境の構築とPythonの文法
- データ分析の環境構築については様々な情報が出回っていますが、本書ではデータ分析エンジニアとして抑えるべき方法が解説されています。
第3章:数学の基礎を学びます。
- データ分析というかっこいい響きに気を取られて、見過ごしがちな数学の基礎に一つの章があてられています。
- 数式を読めるようになることを目標に、大学初等クラスまでの線形代数・基礎解析(微積分)・確率統計の基礎を丁寧に解説しています。
- (情報系出身なのに)数学に苦手意識のある私でも苦しむことなく読み進めることができました。
第4章はライブラリの使い方の解説です。
- データ処理・分析ライブラリNumPy, pandas, 可視化ライブラリMatplotlib、機械学習ライブラリscikit-learnを扱っています。
- どのライブラリもとても奥が深いのですが、本書では実践で役に立つポイントを抑えて解説しています。
最後の第5章は応用的な内容で、Webスクレイピング・自然言語処理・画像データ処理を通してデータ収集と加工について学びます。
- Webサイト・テキストデータ・画像データをターゲットにしたやりごたえのある内容になっています。
推薦メンバーコメント: nakagami
- PyQサポートスタッフ
- twitter: @hajime_nakagami
- 書評元ページ:Pythonによるあたらしいデータ分析の教科書:ある nakagami の日記:SSブログ
- 「あたらしいPythonによるデータ分析の教科書」レビュー
Python でデータ分析を行うための基礎を網羅的に学ぶための書籍です。
- Python のインストールや簡単な説明の章はありますが、この本を読みこなすためには、先に Python 言語の入門書を読んでおくか、 何らかのプログラミング経験が必要です。
内容的には、Python でデータ分析を行う場合に必要になりそうなライブラリの解説がメインです。
個人的に良いと思ったのは、高校から大学の教養くらいまでの数学について解説した3章があることです。
- 短い章で足早でかなり詰め込まれているのですが、私のように高校以来数学をやってこなかった人間には助かりました。
- 数式をあまり使わず、その計算の意味するところを解説されていて、内容的にも良かったです。
- この章だけで全てを理解することは難しいと思いますが、足がかりになると思います。
Python のライブラリについても、広く網羅的に解説していますが、機械学習については十分な解説はありませんし、 ディープラーニングについての解説もありません。 Python の入門を終えて、機械学習やディープラーニングを学ぶために必要な知識を身につけるための本で、 Python の入門書と機械学習の解説書の間を埋める内容になっています。
世界標準MIT教科書 Python言語によるプログラミングイントロダクション第2版: データサイエンスとアプリケーション
書籍情報
- URL
- 出版社
- 近代科学社
- 著者・翻訳者
- John V. Guttag(著)
- 久保 幹雄(監訳)
- 麻生 敏正、木村 泰紀、小林 和博、斉藤 佳鶴子、関口 良行、鄭 金花、並木 誠、兵藤 哲朗、藤原 洋志(翻訳)
- 対象者
- プログラミング未経験で、計算機科学やアルゴリズム、計算量を体系的に学びたい人
- さらに最適化、確率・統計、機械学習についても学びたい人
MITの講義とオンライン学習のedXとMITxを元に作成された本の翻訳本の第2版です。
全24章のうち5章が第2版で追加されました。
2017年に、機械学習と推測統計学が追加されました。
推薦メンバーコメント:斎藤努
- PyQコンテンツ作成担当
- 著作:
- 私事ですが、私の妻が翻訳者に入っており、出版前にもレビューをしました。 そのためかなり読み込みましたが、世界最高峰の工科大学であるMITでプログラミングの教科書として使われているだけあり、計算機科学の概念やしくみを知るのに適しています。
- データサイエンス向けに、最適化、確率・統計、機械学習についても詳しく知ることができます。
- Python言語を使用しており、1つの章が1つの例題をもとにPythonのコードも使いながら進んでいくので、わかりやすいです。
- 気になった章から、Pythonコードで動かしてみるのもお勧めです。
- Pythonのコードは、ライブラリーを使うとよりシンプルに書けるので、自分なりに変えていっても良いでしょう。
番外:まとめ記事紹介:Python本まとめ・2019年版 - Webとデータ分析を初心者が仕事にするまで
もはやご紹介するまでもないですが、はてなブックマーク1000を超えたまとめ記事にもデータ分析の項目があり、良書が多数紹介されていますので紹介します。
とても網羅的な内容です。年末特集その1・その2でご紹介した初心者向け・プロ向けの本も紹介されている他、初心者向け項目でPyQもご紹介いただいたようです*2。
コラム:Pythonプログラマーが、機械学習を書籍で学習する意義
実際の機械学習を使ったプロジェクトは、難しいです。「XXX法やYYYモデルを使えば必ずうまくいく」というテンプレート的な手法がありません。 やってみないとどうなるかわからないことから、経営陣に対して投資対効果を説明しづらいです。
ですので、少しずつ進めて軌道修正を繰り返すことが有効かもしれません。 書籍を読むことで、疑似体験を通して慣れることができるでしょう。
オンラインでPython機械学習を始めたいなら - PyQ機械学習カリキュラムの紹介
書籍で知識を仕入れた後、実際に手を動かすと身につきやすくなります。
PyQでも、基礎から機械学習を学ぶことができます。詳しくは、下記をご覧ください。
PyQブログ年末特集「2018年から2019年へ向けてのPython動向」
12/25(火)〜12/28(金)の間、PyQブログでは年末特集として 「2018年から2019年へ向けてのPython動向」をお題にスタッフそれぞれが書いた記事を連載しています。 本記事は3記事目となり、お勧め書籍のまとめ記事の最終回です。
公開スケジュール
- 12/25(火):2018年版、これを読みたいオススメPython書籍【入門者編:4選+1】
- 12/26(水):2018年版、これを読みたいオススメPython書籍発展編:厳選3選+プロが今読んでる書籍を紹介します!
- 12/27(木):2018年版、これを読みたいPython書籍 機械学習6選:機械学習の概念からPythonでの実装・データ分析関連知識まで、PyQ運営のコメント付きで紹介します。(本記事)
- 12/27(木):2019年のPythonデータ分析はどうなる? - Python3 エンジニア認定データ分析試験が始まります!
- 12/28(金):2018年のPython系カンファレンス、動画&発表資料まとめ - 2019年開催予定のイベントも紹介します。
どうぞこの後配信する記事もお楽しみに!