機械学習を仕事で使えるようになるまでに読んだ本
現在、業務で機械学習モデルの構築やデータ分析を行っています。 その中で自分も機械学習をやってみたいけど何をどこまですればいいのかわからないという声を耳にすることが多いです。 なので、機械学習を仕事で使えるようになるまでに読んだ書籍を紹介します。
機械学習は数学や統計なんかがでてきて、敷居が高いというイメージもあるかと思いますが、ぼくは最初から完璧を目指さずに、使いながら学んでいけばいいと思っています。なので、紹介する本は比較的軽い本が多いです。
ほぼ、ぼくが学んだ時系列順になっていますが、どこから読んでも問題ないと思います。 ただ、機械学習の概要については先に読むことをオススメします。
機械学習の概要
機械学習って何?というモチベーションでこちらの本を読みました。 個別のアルゴリズムには深入りせずに機械学習の仕組みが解説されています。 回帰モデル・分類モデルが何者か、学習って具体的に何をするのか、あたりがわかりやすいです。数式もでてきますが、事前知識がなくてもわかるようになっています。 また、pythonのコードものっています。ぼくは概念だけ知りたかった(当時は仕事にする気がなかった)ので、コードは読み飛ばしましたが。
やさしく学ぶ 機械学習を理解するための数学のきほん アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで
- 作者: 立石賢吾(LINE Fukuoka株式会社)
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/09/20
- メディア: Kindle版
- この商品を含むブログを見る
【理論】機械学習アルゴリズム
様々な機械学習アルゴリズムの具体的な仕組みが以下の書籍で学べます。ほぼ数式で説明されているので。こちらは数学にある程度慣れている方向けになっています。 ぼくは数学が好きなので(読んだ当時は大学院で理論物理をやっていた)この本を読んで機械学習がとてもおもしろいものだと感じるようになりました。
数式に苦手意識がある方は【実践】から始めても何の問題もないと思います。
- 作者: 中井悦司
- 出版社/メーカー: 技術評論社
- 発売日: 2015/10/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
【実践】機械学習(ディープラーニングは除く)
機械学習でよく用いられるsckit-learnについて、開発プロセスに沿って使い方が書かれています。sckit-learnの知識が得られるだけでなく、開発プロセス全体の理解や機械学習アルゴリズムの特徴が学べる良書です。量が多いので無理に通読せず、辞書的な(困ったら調べる)読み方でもいいと思います。
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
- 作者: Andreas C. Muller,Sarah Guido,中田秀基
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/05/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
【理論】ディープラーニング
ディープラーニングについては定番ですが、以下が無難だと思います。 実践的なコードの書き方については次の【実践】で学ぶことをオススメします。あくまでも本書のコードは内容の理解を助けるためのものであるというスタンスをとるべきだと思います。生のpythonでディープラーニングのコードを書くことは現実的ではないです。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
ゼロから作るDeep Learning ? ―自然言語処理編
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/07/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
【実践】ディープラーニング
ディープラーニングの実践では、モデルを記述するためのフレームワークの知識が必要です。有名なフレームワークは、tensorflow(keras)、pytorch、chainerがあります。仕事で使うならtensorflow(keras)が無難だと思います。最近特に研究開発の領域ではpytorchの勢いがあります。どのフレームワークを学ぶ必要があるのかは事前に調べておくべきだと思います。
ぼくは、最初にkerasを学んだので、keras関連の書籍だけ紹介します。
以下の書籍はすごく実践的ですぐに使えるコードがのっています。使えるだけでなく、ディープラーニングのおもしろさが体感できる内容が多いのでオススメです。
直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
- 作者: Antonio Gulli,Sujit Pal,大串正矢,久保隆宏,中山光樹
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/08/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
以下は辞書的な書籍になります。kerasの作者の一人が書いているので信頼感があります。こちらの本の内容だけあればkerasで大抵のことはできるようなります。また、ディープラーニングの基礎知識がない人向けに概要が簡潔にまとめられているので、こちらの本でディープラーニングに入門することも可能だと思います。
- 作者: Francois Chollet,巣籠悠輔,株式会社クイープ
- 出版社/メーカー: マイナビ出版
- 発売日: 2018/05/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
開発の進め方
上記の書籍で「前処理、モデルの構築、学習、評価」などの開発に必要な知識は十分身につきます。しかし、一方で、業務が想像できないかと思います。 実際の業務の進め方については以下の2冊を参考にしました。 データ分析のプロの心構えや開発プロセスが学べます。
- 作者: 河村真一,日置孝一,野寺綾,西腋清行,山本華世
- 出版社/メーカー: 日経BP
- 発売日: 2016/07/05
- メディア: Kindle版
- この商品を含むブログを見る
アクセンチュアのプロフェッショナルが教える データ・アナリティクス実践講座
- 作者: アクセンチュアアナリティクス,工藤卓哉,保科学世
- 出版社/メーカー: 翔泳社
- 発売日: 2016/05/31
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
類似の記事に比べると必要としている書籍数や難度は優しいと思います。業務を始めるにはこれらの知識で十分だと考えています。以上の内容を学んだ後で、自らのアイデアで何かをつくってみる(ポートフォリオ作成)ことで職を得て、とにかく実践に励みながら都度知識を深掘りしていくのが効率的だと個人的には感じています。
少しでも敷居が下がって、たくさんの人が機械学習の恩恵を受けられるようになればいいなと思います!