この記事には広告が含まれます。
- 機械学習の勉強をしてみたいけど、本って難しそう、、
- 初心者にも読める本ってあるの?
こういった疑問を抱いている方も多いと思います。
そこで、この記事では、初心者にもオススメの機械学習本を紹介しようと思います!
完全初心者から機械学習を学んでいる筆者の経験から、「これはよかった!」という書籍を共有しようと思います。
ちなみに、最近kaggleで銀メダルを獲得することができたのですが、これらの本なしには獲得できなかったと思います!
現在は、大学の研究室で機械学習を利用した研究もしているのですが、そこでも本で学んだ経験が生きていると感じています。
書籍のレベルに応じて、段階別に分けて紹介しようと思います。
シンプルに順番に取り組んでいけば、挫折することはないと思います!
最初の1冊に
人工知能は人間を超えるか ディープラーニングの先にあるもの (松尾 豊 著)
ディープラーニング界隈で有名な東大の松尾教授の本です。
AI、機械学習、ディープラーニングってそもそも何?という方向けの書籍です。
非常にわかりやすい言葉で説明している本なので、機械学習のイメージをつける上で、はじめに手を取る本としてオススメの書籍です。
実際にやってみよう
概要がつかめたら、実際に実装してみるといいと思います。ただ、いきなり高度なものは挫折するので、簡単なものを紹介します。
加えて、pythonや統計学に関する基本的な知識がないと、機械学習以前の部分でつまるところが出てくると思います。なので、基本的なプログラミングや統計学の勉強を始めにするといいと思います。
ここで詳しく書くと内容が多すぎなので省略しますが、プログラミングに関してはUdemyとかで初心者向けの講座を取るといいと思います。
プログラミングに関しては以下の記事で書いています。
統計学については、統計検定を利用して体系的に学ぶといいと思います。
機械学習をする上では準1級レベルまであるといいと思いますが、最低でも2級レベルは欲しいです。以下の記事を参考にしてみてください!
pythonや統計学に関する基礎的な知識がついてきたら、以下の書籍もスムーズに読めると思います。
Pythonによるデータマイニングと機械学習 (藤野 巖 著)
pythonの基本から説明されており、非常にわかりやすい本です。
コードもしっかり載っていて、説明も豊富です。回帰分析、クラスタリング、単純ベイズ法、SVM(サポートベクターマシン)の実装例が掲載されています。
自然言語や画像についての処理も収録されており、入門書としては非常に内容が充実していると思います。
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
上記の本よりはレベルが上がりますが、機械学習について網羅的に説明されています。機械学習の全体像を掴む上では非常におすすめです。
matplotlibやnumpyといったライブラリについて説明がほとんど無いので、事前に学んでおくといいと思います。
また、数学的説明をしないため数学が苦手な人でも読める一方、もうちょっと踏み込んだ説明が欲しい人は別途学習する必要があります。
Kaggleで勝つデータ分析の技術
定番の本です。kaggleをしない人でも有用な情報が盛りだくさんなので、絶対読んでおいた方がいいと思います。
評価指標の最適化、特徴量エンジニアリングや、バリデーション戦略、アンサンブルなど、機械学習を実装する上で重要な知識をつけるのに非常に適していると思います。
ただ、読んでいるだけだと退屈してくると思うので、実際のデータで試してみるといいと思います。kaggleのコンペで試すのがいいと思いますが、いきなり開催中のコンペに参加するのはレベルが高くて挫折するかもしれません。
なので、初心者向けのコンペでいろいろ試してみるといいと思います。
また、勾配ブースティング木(xgboost、lightgbmなど)など、コンペ特有の手法も触れておくといいと思います。
ディープラーニングをやろう
古典的な機械学習をある程度理解できたら、今話題のディープラーニングを実装してみましょう。
機械学習について基本的なことが理解できていると、ディープラーニングの理解も早いと思います。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
ゼロつくと言われる、言わずと知れた名著です。ディープラーニングを学ぶ上で、絶対最初に取るべき本だと思います。
ディープラーニングの基本的な理論から、畳み込みニューラルネットワークまでカバーしていますし、numpyを使って1から実装することで理解が深まります。
ゼロから作るDeep Learning ❷ ―自然言語処理編
ゼロつくの続編です。現在主流になっている大規模言語モデルを理解する上では、まずRNNやLSTMなどのtransformerが出てくる以前の技術を知っておく必要があると思います。
これらの知識は時系列データで普遍的に使える技術ですので、しっかりやっておくべきだと思います。
こちらも非常にわかりやすく、1から実装していくことで理解が深まります。
ゼロから作るDeep Learning ❸ ―フレームワーク編
ゼロつくの第3シリーズです。
こちらも非常に良著です!
ディープラーニングを実装する上では、pytorchやtensorflowといったフレームワークを使いますが、この本をやってから使うと見え方が全く違います。
フレームワークの根底の考え方が理解できると、フレームワークを利用する上でのモヤモヤ感がなくなりクリアに理解できます。
物体・画像認識と時系列データ処理入門 [TensorFlow2/PyTorch対応第2版] NumPy/TensorFlow2(Keras)/PyTorchによる実装ディープラーニング
tensorflow、pytorchによる実装例がそれぞれの部分で書かれていて、非常に参考になります。
畳み込みニューラルネットワーク、リカレントニューラルネットワークや転移学習などの内容を幅広くかつ、わかりやすく、コードとともに解説されています。
実際のデータで、どのようにディープラーニングを実装するかが段階を踏んで理解できます。
詳解ディープラーニング 第2版 ~TensorFlow/Keras・PyTorchによる時系列データ処理~
こちらも有名な本です。
一個上の本では実装が無かった、attentionやtransformerの実装が載っていて非常に参考になりました。
数学的説明も豊富で、この内容を1冊にまとめられるんだとびっくりしました。数学的説明と実装例のコードを、両方しっかり載せている数少ない書籍の一つだと思います。
ディープラーニングをなんとなく理解したところから、一歩進む上で非常に適した書籍だと思います。
さいごに
ここまで、初心者にもオススメの機械学習本を9冊紹介してみました。
僕自身が読んでみてよかった本を共有することで、これから機械学習を学ぼうとする方々のお力になれれば幸いです。
一緒に勉強頑張っていきましょう!
コメント