Pythonによる機械学習の入り口としてオススメの書籍を紹介します。
最近、今更ながら機械学習について勉強し始めました。
どこから始めてたらいいかわからず、まずはインターネットでPythonの機械学習ライブラリを各種調べて、scikit-learnというライブラリが入門に良さそうでしたので動かしてみました。
しかし、いまいち「機械学習とは?」といったことや「機械学習の考え方(機械学習ライブラリを使う上で押さえるべきポイント)」がわからず、もっと機械学習の基本的なことから学ぼうと思いました。
そこで、今回ご紹介する書籍を購入してみました。
『知識ゼロからの機械学習入門』
入門にちょうど良いボリューム
こちらの本は題名にもある通り、「知識ゼロから」機械学習に入門することがコンセプトの本です。タイトルには入っていませんが、Pythonでのプログラムで機械学習を学ぶ内容です。
208ページで入門にはちょうど良いボリュームだと思います。機械学習に入門する際には、いきなり分厚い本を買って最初から最後まで通し勉強すると息切れしてしまうことがあるので、まずはこれくらいのボリュームの1冊をひと通り最後まで駆け抜けるワンクッションを挟むと良いと思っています。
もちろん入門のための書籍なので、この本1冊で機械学習を極めることは無理だと思いますが、あくまで入門としてちょうど良いと思います。
各章の紹介と感想
本書の目次に従って、各章の内容を簡単にご紹介しながら感想も書きます。
第1章:はじめてのPythonプログラムを書いてみよう
この章ではPythonの環境の準備と基礎的な使い方について紹介しています。
Pythonの開発環境は「Google Colaboratory」です。Python自体の入門書籍ではインストーラー形式のPython環境を構築することから紹介しているものが多いと思いますが、こちらの書籍ではクラウドの開発環境を使うため開発環境の構築につまづかずに機械学習の勉強に注力できると思います。
第2章:Pythonの基本を学ぼう
この章ではPython自体の文法の基礎について紹介しています。
こういったPython自体の学習が主役ではない書籍(この書籍に限らずその他色々)において、Pythonの基礎的な文法を紹介する章が構成されていることは多々ありますが、この書籍にもあります。
本当に基礎的なPython文法を紹介しているにとどまっているため、「プログラミング」というものに全く触ったことがない方には(この書籍に限らず)この様なPythonの基礎を紹介する章の内容だけでは理解が難しいかもしれません。このため、Pythonを学ぶためには他のPython自体を解説する書籍を使ったほうが良いと思います。
この章では既にPythonに入門済みの段階で、Pythonの知識を復習することに役立つと思います。
第3章:機械学習の概要を理解しよう
この章では機械学習の全体像について学ぶことができます。
よく耳にする「AI」や「機械学習」、「ディープラーニング」のそれぞれの位置づけや、機械学習の種類など、また機械学習が内部でどんな動作をしてどんな結果を得られるのか、等について解説されています。
また、機械学習を行う際の手順についても簡単な説明があり参考になりました。データの収集や前処理を行って機械学習を行い最終的に運用する、という流れは自分の作業の計画を立てる際に何のために何をやるのかを明確にするために役立つと思います。
説明変数の用意の仕方について、データをそのまま使うのではなく比率や他のデータにするとより適切な機械学習を行える場合もある、という説明が参考になりました。データをとりあえず全部突っ込むのではなく、適宜調整することを意識したいと思いました。データを用意するための演算にPandas等のライブラリのありがたみが感じられると思います。
第4章:データの前処理にチャレンジしよう
この章からPythonを使ってプログラミングに取り組んでいきます。
前処理等の一連のデータ操作にPandas、データの可視化のためにseaborn(matplotlib)を使用するため、それぞれのライブラリを体験することに役立ちます。
Pandasは色々な機能があり、使いこなすとなるとそれなりに勉強する必要があると思いますが、この章を通して基本的な操作を学べて、今後実践的・応用的な機械学習を学んでいく際の足がかりに良いと思います。
第5章:機械学習にチャレンジしよう
いよいよ機械学習です。
scikit-learnを使って分類問題と回帰問題の機械学習を体験できます。
分類問題はアヤメの品種を分類し、回帰問題は株価の予測を行います。
機械学習を行う際にデータの分割する必要性とモデルの評価の方法について解説されているため、今後さらに機械学習を学ぶ際に意識することとして参考になると思います。
データの分割して評価を行う手法は「ホールドアウト」や「クロスバリデーション」の名前が紹介されています。この章だけで内容について詳しく解説されているわけではないため、紹介されている名前を参考に適宜自分で調べて学ぶことが必要だと思います。
回帰問題で取り上げている株価の予想というテーマはなんだかワクワクしますが、まぁそんなに簡単な話ではありません。機械学習でうまいことやらせるためには、データ(説明変数)を用意することが重要だと説明されています。このあたりは機械学習をうまく活用するためによくよく覚えておきたいと思いました。
まとめ
この書籍はタイトルの通り機械学習についてかなり基礎的な内容をひと通り学べると思います。
あくまで入門書ですので、これ1冊で機械学習のプログラムを自由自在に作れるレベルになることは流石に難しいと思いますが、機械学習の全体像を掴んで何を勉強していけば良いのかその指標を見つけるための参考として役に立つと思います。
ボリュームも入門にはちょうど良いと思いますので、知識ゼロの状態でいきなり分厚い専門書を買う前のワンクッションとして、まさに入門に良いと思います。
コメント