概要・想定対象読者
以下のような人を 対象読者 としてKaggle初心者がコンペに参加するまでの学習方法とオススメの書籍を紹介
- 「Deep Learningを勉強してみたい」「Kaggleに参加に参加してみたい」けど何から手を付ければよいかわからない
- Kaggleを始めてみたけど、機械学習の全体像や次に何を勉強すればいいかが分からない
はじめに
2019年くらいにDeep Learningについてちょっと興味を持って「ゼロから作るDeep LearningーーPythonで学ぶディープラーニングの理論と実装」で初歩理論を理解したは良いけど、「実際どう使えばええんや?」ってなって学習進捗が滞ってました。
が、最近(2022年)本屋にいったら自分にぴったりのKaggleとDeep Learningの全体像がわかる本に出会い、めちゃめちゃ学習が捗りました!!
結論としては下記の2冊が超オススメの書籍で、特にKaggleスタートブックは自分にとってKaggleの全体像が分かる神書でした。初心者はこの2冊で十分だと思いますし、あまり手を広げすぎるとノイズになるかなと思います。
学習方法
Kaggleコンペ参加までの学習プロセス・媒体をまとめるとこんな感じかなと思います。
下部を見てわかる通り、とりあえず開催中のコンペに参加!というレベルであれば、書籍は「Kaggleスタートブック」と「Kaggleで勝つデータ分析の技術」だけでいったん大丈夫かなと思います。
①過去問を確認
まずはKaggleのTutorialにあるTitanic問題で、コンペの参加方法や各種データ(trainデータ等)のDL方法・submit方法などKaggleのお作法を一通り学べます。沈没するTitanicの船で誰が生存するかを予想する問題です。
Kaggleスタートブックでは、このTutorialを題材として、Kaggleのアカウント作成方法から分析結果のsubmit方法まで丁寧に解説してくれています。またとりあえずsubmitまでやってみようということで、すぐに動かせるSampleコードも用意してくれているので、写経してすぐにsubmitすることが可能です。
②学習計画
Kaggleスタートブックでは上記のすぐに動かせるSampleコードについて、Deep Learningの処理フロー毎に詳細に解説が載っています。
- データの読み込み
- 特徴量エンジニアリング
- データの前処理(Null埋め等)
- モデリング
- データ出力
- 精度向上の工夫(アンサンブル等)
そのため初心者でも1つの模範解答についてたやすく理解でき、現状足りていない、あるいは今後学習すべき知識が何かを把握しやすい仕組みとなっています。
さらにKaggleスタートブックでは、3章にて「Titanicの先に行く」と題して今後学習すべき方向性を示唆してくれていますので、Next Stepも非常にクリアです。
③学習・研鑽
上述の通りKaggleスタートブックでは、3章に「Titanicの先に行く」と題して今後学習すべき方向性を示唆してくれており、代表例として「Kaggleで勝つデータ分析の技術」を参考にすべき旨があります。
実際「Kaggleで勝つデータ分析の技術」を一通り理解できれば、モデルの精度を上げる方法(例: 勾配ブースティング)について実践で活用が可能となります(自分はまだ全てを理解しきれていませんが・・・)。
Kaggle本番への参加に向けては基本的には上記2冊で足りますが、必要に応じて別の学習媒体も参考にすればよいと思います。
- 例①: Titanic問題をやる中で、そもそもPythonのコードが読めない等の問題があれば必要に応じて無料学習サイト(CodePrep等)で学べば良い。
- 例②: 判定処理がLogisticRegressionのパッケージの中でブラックボックスになって気持ち悪いという人は、どういう理論(勾配法)で判定処理が行われているのかを「ゼロから作るDeep Learning」で学ぶ。
④本番
現在行われているコンペに参加!
最後に
Kaggleの勉強も大学受験の勉強と流れは同じですね。
- 過去問を答え丸写しでいいからとりあえず解く
- 何ができないか理解し、一個一個不明点を潰していく学習計画を立てる
- 計画に従って参考書をもとに勉強する
- 入試本番
時間を見つけて②学習計画~④本番までのサイクルを回していきたいと思います。
ここまで読んでいただきありがとうございました。