これから機械学習を学ぶ人のための有用学習教材まとめ
はじめに
はじめまして。地方でデータサイエンティストとして働いているミヤと言います。
今回は、データサイエンティストとして、機械学習領域を学ぶための書籍を紹介していきます。
前提
ここでは、初学者向けに機械学習の中でも主要なモデルやアルゴリズムをざっくり学べる教材に焦点を絞り紹介していきたいと思います。
モデリングにおける前処理については特段扱わず。あくまで機械学習モデルを学習するための教材を中心としてご紹介します。
前処理やデータ操作については別途まとめる予定です。
研究分野向けに統計的学習モデルの深い理解を促すためのものではなく、これから機械学習を学ぶ初学者の最初のとっかかりとして有用と思われる教材を紹介していきたいと思います。
私自身、多くの学習教材を使用して学んできた身ではありますが、当然全ての教材を見てきたわけではありません。
あくまで、私が見てきた教材の中で有用と感じたものの紹介になることはご了承いただければと思います。
他にもおすすめの学習教材などあればシェアいただくと助かります。
学習教材
ここからが本題です。書籍、動画教材をもとに紹介していきたいと思います。
書籍
本質を捉えたデータ分析のための分析モデル入門
1.
まず最初の一冊目としてお薦めするのが、ソシム社から出版されている分析モデルに関する書籍です。
著者の杉山聡さんはデータサイエンス系のVtuberでお馴染み「アイシア=ソリッド」の中の人です。
さまざまな機械学習モデルに関して、図解を多用し網羅的かつ易しく書かれているので、初心者にとって初めの一冊にぴったりかと思われます。
コーディングによる記述はないので、読む人は選ぶかもしれませんが、機械学習モデルについて浅く広く理解したい人にとってよい書籍と言えます。
実装系の書籍で機械学習モデルの学習実装をコーディングを学び、機械学習モデルの全体感を本書で学べば実装内容と理論をざっくり理解しルル進めることができるのではないでしょうか?
ちなみに、この書籍はシリーズ化されており、シリーズを通してデータサイエンスについて図解を多用してわかりやすく説明されていますので他シリーズもお薦めです。
私は全て購入済みです
Pythonではじめる機械学習
2.
こちらの書籍はPythonによる機械学習の実装を学ぶ上で、一冊目としてお薦めします。割と古い本なので入れるか迷いましたが、sklearn
ライブラリの実装方法はそこまで変わっていることはないため紹介しました。
増刷の度に内容修正されているみたいです
この書籍は、必要最低限の機械学習アルゴリズムに焦点を絞って説明しており、とりあえず機械学習モデルを実装する流れを掴むことを目的に書かれている解説書です、
理解しづらいような複雑な機械学習アルゴリズムやモデル学習の手法については触れておらず、機械学習を学ぶ上での最初の一冊としてお勧めします。
scikit-learn、Keras、TensorFlowによる実践機械学習
3.
辞書的なリファレンス目的で使用できる書籍として、こちらをご紹介します。
sklearnの機械学習モデルをまとめた書籍はいくつかありますが、個人的に本書が1番詳しくコードもすっきりまとめている印象を受けます。
ただし、深層学習領域が
tensor-flow
となっていますので、宗教上の理由で受け入れられない方には注意は必要です。
リファレンスに使えるような分厚い本は手元にあると何かと便利なので、本書でなくても一冊は購入しておくことをお勧めします。
ブログ
機械学習帳
1.東京工業大学の講義内容をまとめた有名なサイトをご紹介します。
notebook形式のサンプルコードが用意されており、手軽に理論と実装を学びつつ機械学習モデルについて学んでいくことができます。
説明も事例や数式を用いて丁寧に説明されており、初学者、中級者どちらも満足のいく内容となっています。
無料のクオリティとは思えない教材を公開していただいている東京工業大学には頭が上がりませんね。
分析の基礎(モデリング)
2.ブレインパッド社が公開しているモデリングに関する基礎知識がまとめられているスライドです。
こちらはコーディングによる実装内容は含まれていません。
そもそも機械学習って何をやっているのかという概念的なところから、一般化線形モデル、決定木、ニューラルネットワーク、評価、特徴量エンジニアリング、パラメータチューニング、教師なし学習など、図解を用いつつ説明されています。
直感的に理解しやすく、スラスラ進めることができるので初学者の方は一読してみてはいかがでしょうか。
ごちきか
3.NTTコミュニケーションズ株式会社のイノベーションセンターに所属する先端AI数理PJチームが作成されている学習教材です。
データの前処理からEDAなども含み、モデリングまでの流れを掴みつつ学習していくことができます。
データセットも用意されているので、分析プロジェクトの流れを手を動かして実装できる点は、とても参考になります。
機械学習を学ぶ上でまず初めに扱うデータセットはTitanicやMNIST、Irisのような、実装を学ぶ上で少し物足りないものも多く、実務イメージがつきづらいものが多いですが、この教材に使用されるデータはボリュームもありそこそこ崩れたデータを使用して進めていくので実践的な感覚を養いつつ学習することができます。
動画
【前編】米国データサイエンティストがやさしく教える機械学習超入門
1.Udemyのデータサイエンス系人気講師、かめれおんさんの機械学習講座です。シリーズ化されており、機械学習で3講座、深層学習で3講座作成されてます。
どの講座もしっかりと理論を説明したのち、学習アルゴリズムをフルスクラッチで実装して学んでいく構成となっています。
1講座で何十時間も使っていくので全てこなすまでに時間がかかりますが、説明は丁寧でわかりやすく実践的なTipsもふんだんに練り込んだ内容となっているのでお勧めします。
Udemyの割引対象外となっており、かなり高価な教材にはなりますが、価格が強気なだけあって、かなりわかりやすいです。そのため購入する価値は十分あると思います。
私はこの講師のコースは全て購入しゴールしました。機械学習三部作は特におすすめです。
Able Programming
2.Youtubeに公開されている機械学習のモデル実装を説明されているチャンネルです。
notebook形式で機械学習モデルの学習をスクラッチ実装しています。環境はJupyterNotebookで実装していますが、手軽に試したい方はColabで同様の実装ができると思われます。
お金をかけずに動画で学びたい方におすすめです。
実は私は流し見程度で手を動かして学んでいません。
Machine Learning
3.Stanford大学とDeeplearning.AI社が共同で作成された機械学習コースとなります。
データサイエンス教育界の巨頭がコラボレーションして作成された教材だけに、内容も充実しつつ理解しやすい構成となっています。
前半から中盤にかけては基本的な機械学習アルゴリズムを紹介し、後半では推薦システムや異常検知など実践よりな手法を説明しています。
海外の教材で動画ベースで進んでいきますが、日本語字幕を付けることもできるので問題なく理解できると思われます。
コースの合計時間は累計100時間近くとなっていますが、ほとんどコース上の課題の時間となっており、実際はそこまで時間はかからず50時間程度で完了することが可能です。
知識証明のために有料でコースを受講することをお勧めします。当時の私は無料で受講し、証明書を発行されなかったため後悔しました。
おまけ
ここからはより硬派かつレベルの高い学習教材をご紹介します。
私も所持はしていますが、ほぼ積読状態となっています。
パターン認識と機械学習
1.
通称、「PRML」と呼ばれる書籍です。ベイズ理論に基づく視点から、機械学習とパターン認識の様々な手法について解説した書籍となっています。
特に、数学的な理論とその応用について詳しく説明されており、研究者や高度なデータサイエンティストにとって人気の書籍となっています。
教科書的な位置づけというところもあり、各章には演習問題が用意されています。
機械学習理論を学ぶ上で良書的な位置づけと思われますが、実際の機械学習エンジニアはこの内容をしっかり理解できる人は少ないと聞きますので、機械学習理論を極めたい方にお勧めの一冊です。
統計的学習の基礎
2.
通称、「カステラ本」と呼ばれる書籍です本書は回帰や分類などの教師あり学習の入門的な話題から、ニューラルネットワーク、サポートベクトルマシンなどのより洗練された学習器、ブースティングやアンサンブル学習などの学習手法の高度化技術、さらにはグラフィカルモデルや高次元学習問題に対するスパース学習法などの最新の話題までを幅広く網羅して理論説明がなされています。
個人的に「PRML」よりはこちらの方が理解しやすく、純粋に機械学習アルゴリズムの理論を学ぶ際に辞書的な形で活用できます。
900ページ近いページ数となっており、膨大なページ数から理論を説明されているおかげで行間も空きすぎず数式が記載されていますので、ある程度統計的知識がある方にとっては良書となりえます。
機械学習を学び始めた当初、あるブログ記事でこの書籍が紹介されていたので購入したところ、当時は統計的な知見も乏しくほとんど理解できないまま本棚に眠ることになりました。
どちらの書籍もとにかく高価です。研究者を目指す方でない限り、機械学習領域を学ぶ上で必ずしも購入する必要はないと思っています。
おわりに
今回は、機械学習領域における機械学習モデルを学ぶための教材に着目しご紹介させていただきました。
実際に実務で機械学習を実装する場合は、モデルの学習を実装できるだけでは十分ではなく、他にも学ぶべきことが多くあります。
たとえば、機械学習を学習するための環境構築であったり、環境にデータを読み込み、場合によってはビッグデータを操作するために分散処理の実装方法を習得する必要もあります。
また、データの前処理や、特徴量エンジニアリング、パラメータチューニングを覚え、モデルを学習させたのち評価を行う。
必要であれば、作成した学習モデルをプロダクトにデプロイするなど、このほかにも機械学習プロジェクトには様々な技術要素が含まれています。
データサイエンスにおいて機械学習を実装する業務は花形と言っても過言ではありませんが、高い技術力が問われる領域でもあります。
私もまだまだ学ぶべき点が多々ありますので、一歩一歩技術を研鑽していきたいと思います。
これからもデータサイエンス領域における有用な教材を取り上げた記事を書いていこうと思います。
今回の記事が誰かのお役に立てれば幸いです。
Discussion