
機械学習を勉強してみたいけど
初心者すぎて何から始めたらいいかわからん。。。
という悩みを解決します。
私は独学で機械学習を勉強して、Kaggleで銀2枚を獲得しました。
もともと別の職種でしたが、今はデータサイエンス系の仕事をしています。
というわけで費用は本の代金くらいですが、時間はけっこうかかりました。
こんな私の目線から、もし自分が初心者だったらどんな感じで進めるかを書いていきます。
目標はテーブル、画像、文章の機械学習モデルを作れるレベルになることです。
コスパよく初心者が機械学習を始める方法
こんな感じで進めます。②は2パターンあります。挫折ポイントは②⑤です。
①Google Colaboratoryを使う
まず、そもそもPythonをPCに入れる必要がありますが、ガチ初心者はそんなこともできませんよね。
なので、すでに用意されている実行環境を利用するほうが早いし簡単です。
【関連記事】Google Colaboratoryの使い方
以上のサービスなら、アカウントを登録するだけでPythonの実行環境を手に入れることができます。
おすすめは上から2つです。
Googleアカウントがあれば、初期ページにある”ドライブ”からColaboratoryを起動できます。
KaggleはGoogleアカウントと連携して登録できます。
要するに、GoogleアカウントさえあればPython環境は秒で手に入ります。

Pythonを書く練習をしてみたいなら、
以下の記事が簡単なのでおすすめです。
②-1 基礎的な本を1冊買う(3,000円代)
マジのガチで初歩的な本を1冊買い、機械学習という概念自体に慣れましょう。
①で使えるようになったGoogle Colaboratoryでプログラムを書いて実行すればOKです。
私が読んだ本はこれですが、扱っているモデルはかなり古めです。
なので、本を読んだあとに以下の2記事を勉強してみると良いです。
最新の良さそうな本があったら更新しますね。。。
ここまで勉強できたら、テーブルデータの機械学習ができるようになります。
画像や文章での機械学習は、このレベルではできないと思ってください。

この段階で飽きて挫折する人は、
ぶっちゃけやる気がないので機械学習はやめときましょう。
後々、ディープラーニングとか、もっと勉強が必要なことが多いので。
②-2 安めのスクールで基礎だけ勉強する(1万円代)
本での勉強なら、ケチれば1万円以下で済みます。
とはいえ、ガチの初心者が本で勉強するには根気が必要です。
で、別の選択肢としてスクールでの勉強が考えられますが、費用が高いのは嫌ですよね。

どこまで身につくかわからんものに
いきなり10万以上をかけるのはナンセンス。
私が選ぶならキカガクで、まず本記事の執筆時では”Python&機械学習入門コース”が無料です。
もし買うとしても、1万円代の基礎講座にしてケチります。
基礎コースで講師に質問できるかが微妙なので、無料の説明会で聞いてみると良いでしょう。
というか、本で勉強して、上記の無料講座だけを受けておけば無難にコスパ良しです。
ちなみに、現在はテーブルデータよりも画像や自然言語の需要が高いです。
ですが、いきなり画像系や自然言語をやっても意味不明だと思うので、
まずはテーブルデータで勉強してみて、画像系もやりたくなったら専用コースを検討しましょう。
③Kaggleに登録し、コンペに慣れる
Kaggleに登録します。①でも書いたとおりGoogleアカウントがあれば秒で終わります。
②までではテーブルデータしか勉強できないので、画像や文章には手も足も出ません。
なので、テーブル系のコンペで機械学習の流れを学びましょう。
このシリーズは週1で開催され、メダルとかは出ませんが簡単な初心者向けコンペです。
勉強したXGBoostやLightGBMをどんどん試していけばOKです。
ここで、データの取り込み〜モデル学習と予測までの一連の流れを覚えることができます。
ただし、参加するのはせいぜい2回までにしてください。
④Kaggle関連の本を買う(画像, 文章)
おすすめは以下の2冊です。
コンペの進め方、データ分割、評価指標、モデル解説など、知っておきたいことが網羅されています。
ちょっと上記の本と被りますが、ディープラーニング(画像, 文章)についても触れています。
この2冊を勉強して、画像や文章にも手を広げてみましょう。
この段階で、テーブル, 画像, 文章のどれでも簡単なモデル学習と予測ができるくらいになります。
⑤銅メダル以上を目指す
Kaggleでメダルと賞金がでるガチコンペに参加し、銅メダル(上位10%)を目指しましょう。
テーブル, 画像, 文章のどれでもOKです。参加者が多いものを選びましょう。
個人的には銅メダル以上をとったら、初心者→経験者という認識の壁を超える印象です。
ガチコンペでは本などで用意されたキレイなデータは使えず、若干ごちゃごちゃしています。
さらに他の参加者から共有されるコードを勉強することで、応用力もつきます。
より実践的な勉強ができるので、試合に出る感覚でガンガン学びましょう。
番外編:勉強した後
Kaggleのデータは、一応コンペが成立するように意味のあるものを提供しています。
実社会のデータは、そもそも機械学習が使えるかどうかすら不明です。
スキルをビジネスに使いたいなら、やっぱり現実のデータを相手にしましょう。
もし学生なら、興味のある分野の研究室やインターンに行くことをおすすめします。
社会人なら、スキルを使える企業に転職するか部署異動することをおすすめします。
まとめ
今回は、ガチの初心者から機械学習を独学した私の目線で、勉強方法を解説しました。
②⑤が挫折ポイントですが、モチベーション次第で超えられます。
ハードルが高いということは、誰でも習得できるものではなく、それだけ価値も高いということです。
現状を変えたいなら、ある程度の苦痛は受け入れて頑張ってみましょう!
コメント