メモ帳

python, juliaで機械学習をやっていく

機械学習を仕事で使えるようになるまでに読んだ本

現在、業務で機械学習モデルの構築やデータ分析を行っています。 その中で自分も機械学習をやってみたいけど何をどこまですればいいのかわからないという声を耳にすることが多いです。 なので、機械学習を仕事で使えるようになるまでに読んだ書籍を紹介します。

機械学習は数学や統計なんかがでてきて、敷居が高いというイメージもあるかと思いますが、ぼくは最初から完璧を目指さずに、使いながら学んでいけばいいと思っています。なので、紹介する本は比較的軽い本が多いです。

ほぼ、ぼくが学んだ時系列順になっていますが、どこから読んでも問題ないと思います。 ただ、機械学習の概要については先に読むことをオススメします。

機械学習の概要

機械学習って何?というモチベーションでこちらの本を読みました。 個別のアルゴリズムには深入りせずに機械学習の仕組みが解説されています。 回帰モデル・分類モデルが何者か、学習って具体的に何をするのか、あたりがわかりやすいです。数式もでてきますが、事前知識がなくてもわかるようになっています。 また、pythonのコードものっています。ぼくは概念だけ知りたかった(当時は仕事にする気がなかった)ので、コードは読み飛ばしましたが。

【理論】機械学習アルゴリズム

様々な機械学習アルゴリズムの具体的な仕組みが以下の書籍で学べます。ほぼ数式で説明されているので。こちらは数学にある程度慣れている方向けになっています。 ぼくは数学が好きなので(読んだ当時は大学院で理論物理をやっていた)この本を読んで機械学習がとてもおもしろいものだと感じるようになりました。

数式に苦手意識がある方は【実践】から始めても何の問題もないと思います。

ITエンジニアのための機械学習理論入門

ITエンジニアのための機械学習理論入門

【実践】機械学習ディープラーニングは除く)

機械学習でよく用いられるsckit-learnについて、開発プロセスに沿って使い方が書かれています。sckit-learnの知識が得られるだけでなく、開発プロセス全体の理解や機械学習アルゴリズムの特徴が学べる良書です。量が多いので無理に通読せず、辞書的な(困ったら調べる)読み方でもいいと思います。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

【理論】ディープラーニング

ディープラーニングについては定番ですが、以下が無難だと思います。 実践的なコードの書き方については次の【実践】で学ぶことをオススメします。あくまでも本書のコードは内容の理解を助けるためのものであるというスタンスをとるべきだと思います。生のpythonディープラーニングのコードを書くことは現実的ではないです。

ゼロから作るDeep Learning ? ―自然言語処理編

ゼロから作るDeep Learning ? ―自然言語処理編

【実践】ディープラーニング

ディープラーニングの実践では、モデルを記述するためのフレームワークの知識が必要です。有名なフレームワークは、tensorflow(keras)、pytorch、chainerがあります。仕事で使うならtensorflow(keras)が無難だと思います。最近特に研究開発の領域ではpytorchの勢いがあります。どのフレームワークを学ぶ必要があるのかは事前に調べておくべきだと思います。

ぼくは、最初にkerasを学んだので、keras関連の書籍だけ紹介します。

以下の書籍はすごく実践的ですぐに使えるコードがのっています。使えるだけでなく、ディープラーニングのおもしろさが体感できる内容が多いのでオススメです。

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ

以下は辞書的な書籍になります。kerasの作者の一人が書いているので信頼感があります。こちらの本の内容だけあればkerasで大抵のことはできるようなります。また、ディープラーニングの基礎知識がない人向けに概要が簡潔にまとめられているので、こちらの本でディープラーニングに入門することも可能だと思います。

PythonとKerasによるディープラーニング

PythonとKerasによるディープラーニング

開発の進め方

上記の書籍で「前処理、モデルの構築、学習、評価」などの開発に必要な知識は十分身につきます。しかし、一方で、業務が想像できないかと思います。 実際の業務の進め方については以下の2冊を参考にしました。 データ分析のプロの心構えや開発プロセスが学べます。

本物のデータ分析力が身に付く本

本物のデータ分析力が身に付く本

アクセンチュアのプロフェッショナルが教える データ・アナリティクス実践講座

アクセンチュアのプロフェッショナルが教える データ・アナリティクス実践講座

類似の記事に比べると必要としている書籍数や難度は優しいと思います。業務を始めるにはこれらの知識で十分だと考えています。以上の内容を学んだ後で、自らのアイデアで何かをつくってみる(ポートフォリオ作成)ことで職を得て、とにかく実践に励みながら都度知識を深掘りしていくのが効率的だと個人的には感じています。

少しでも敷居が下がって、たくさんの人が機械学習の恩恵を受けられるようになればいいなと思います!