
数学が苦手だし機械学習やりたいけど自信ないなー、という人はこんな書籍もオススメです。
LINE Fukuoka株式会社の立石賢吾さんが著者の、
やさしく学ぶ 機械学習を理解するための数学のきほん アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで
という書籍。発売されたのは2017年の9月20日です。わりと最近の書籍です。
今回はこの書籍の紹介と、その後の学習の進め方について書いてみました。
この記事の内容は?
「機械学習を理解するための数学のきほん」はこんな人にオススメ
想定した対象者は表紙に書いてありますね。数学がネックで学習が進みにくくなっている方は書店でパラパラ客員してみてください。
- 機械学習にこれから取り組んでみたいエンジニア
- 機械学習に興味があるけれど数式がなかなか理解できない方
- プログラムを書いて動かすまでやってみたい方
ちなみにこんな目次
「機械学習を理解するための数学のきほん」は5章プラスアルファという構成です。
- Chapter1 ふたりの旅のはじまり
- Chapter2 回帰について学ぼう ~ 広告費からクリック数を予測する
- Chapter3 分類について学ぼう ~ 画像サイズに基づいて分類する
- Chapter4 評価してみよう ~ 作ったモデルを評価する
- Chapter5 実装してみよう ~ Pythonでプログラミングする
- Appendix


Amazonでもサンプル画像が見れます。
会話形式なので読みやすい

会話もですが、事例もイメージしやすいものが題材になっています。
- 広告にかける費用からクリック数を予測する
- 画像のサイズから縦長と横長に分類する

モデルの評価についての解説も
自分で作った予測や分類のモデルがどれくらい良いのか定量的に知ることが出来ます。
モデル作って「はい終わりー!」じゃ意味ないですよね。^^;
ちゃんとモデルの評価の仕方や評価指標についての解説があります。
最後はPythonでプログラミング

これまで学習してきたことを踏まえて実際にプログラミングしていきます。
どうやってプログラムに落とし込んでいくか?ということがわかります。
おまけのAppendixは多め

最初にここから読んでも良いかも。私が購入した電子書籍のKindle版だと211〜252ページまでとボリューム多め!なんと42ページ。
内容としては・・・
- 数式の説明/読み方
- Pythonの環境構築
- Pythonの基礎文法
- データ分析では欠かせないライブラリNumpyの基本
などの解説があります。
総和の記号・総積の記号/微分/編微分/合成関数/ベクトルと行列/幾何ベクトル/指数・対数/Python環境構築/Pythonの基本/NumPyの基本

読み終わったあとはどうすれば良いか?
すでに仕事などで課題がある人は、どんどん実践していけば良いと思います。
ただ、身の回りにそのような課題がなかったり、そもそも分析するべきデータが無かった利する場合も多いですよね。(←これって機械学習を学んだ人のあるあるかも。機械学習やりたいけどデータがないよ!と。)
機械学習コンペに参加してみることをオススメします
なんかもう、これが近道な気がしてます。とりあえずデータサイエンスのコンペに参加してみるのが良いかと。
色々ありますが、
海外だと、
- Kaggle(カグル)
国内だと、
- DeepAnalytics(ディープアナリティクス)
あたりから見ると良いと思います。国内のDeepAnalyticsのほうがとっつきやすいかも。

コンペと言っても最初は用意されている練習問題をやってみるのが良いです。
DeepAnalyticsの練習問題はこんな感じ

なんとなく雰囲気わかりますでしょうか。
データはサイトからダウンロードできます。分析するべきデータがない人にとってはありがたいですね。
まだイメージがつかめない方にはこの動画
Udemy上でDeepAnalyticsが出している動画ですが、これが結構分かりやすいです。最初はどうせDeepAnalyticsの宣伝動画だろうと穿った見方をしてしました。^^; ですが、この動画はわかりやすいです。手とり足取り見せて欲しいという方にはオススメです。
【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

▶ビジネスケースで学ぶPythonデータサイエンス入門を詳しく見る
↑※キャプチャ時は2018年新春セール中で価格が安くなっています。(普段はこんなに安くないです。^^;)
データ分析のフローが分かるのが一番良い点です。そして、DeepAnalyticsのコンペへの参加方法がわかるのも良いです。その後の学習が加速すると思います。

データをダウンロードして、分析して、結果を出力して、DeepAnalyticsのサイトへアップロード(結果を提出)という流れを何回も見せてくれるので、これを見ると間違いなくコンペ参加のイメージが付きます。
動画の中では提出した後も、もうちょっと精度が上がらないかと、何度もアルゴリズムを変えて再度トライしてコンペにアップロードし直したりしています。この辺は実際の業務でもやることですよね。
その後は、DeepAnalyticsで公開されている実際のコンペに参加するのもあり、Kaggleなどの別のサイトのコンペに飛び込んでみるのもあり、と選択肢が広がって行くと思います。
おわりに・・・
いかがでしたでしょうか。
今回は、「やさしく学ぶ 機械学習を理解するための数学のきほん アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで」の紹介と、その後の学習の提案(コンペへの参加)までさせていただきました。みなさんの参考になれば幸いです。
数式への苦手意識を減らし、そして、データ取得 → データ分析 → 評価 というフローの中で具体的にどんなことをしているかが分かるようになればどんどん学習が進むと思います。
