【実体験】プログラマーが機械学習を挫折する理由(数学・継続性)

機械学習

機械学習を学ぼうとしている人に向けた内容です。
もっと対象を絞ると、機械学習を学ぼうとしているプログラマーですね。

また、挫折して再び機械学習を学ぼうとしている人も対象です。
私自身も何度も挫折しています。

本記事の内容

  • プログラマーが機械学習を挫折する理由
  • 機械学習に挫折した人間が学んできた教材
  • プログラマーが機械学習を挫折しない方法
  • 「Pythonではじめる機械学習」でリベンジする

それでは、上記に沿って解説を行っていきます。

プログラマーが機械学習を挫折する理由

結論から言います。
数学です。

数学こそが、機械学習を挫折する最大の理由です。
断言します。

私は、今までに機械学習を2度挫折しています。
では、我が挫折を振り返りましょう。

1度目の挫折

2016年頃に、最初の機械学習の勉強を始めました。
AlphaGoに衝撃を受けて、AIに興味を持ったことがキッカケです。

Courseraの機械学習コース(下記で記載)から始めました。
モチベーションが最高潮だったので、なんとか続けることができたと思います。

そのため、数学で挫折もしなかったのでしょう。
しかし、それ以降は何をどうしていいのかわかりませんでした。
まだこの頃は、今ほど情報がありませんでしたので。

それに加えて、機械学習の情報はプロが発信するモノばかりという状況でした。
彼らの情報は、数学ありきです。

そこにトドメを刺したのは、「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」(下記で記載)でした。
わかりやすくて良書だと思います。

でも、文系出身のプログラマーには厳しいです。
文系と言っても、数学がセンター・2次試験で必要だったぐらいのレベルです。

何度読んでもダメでした。
数式のせいで機械学習が嫌いになりました。

これが、最初の挫折です。

ちょうどそのときに、副業で仕事が舞い込み出したというのも重なりました。
平均して月に30万以上を副業で稼げるチャンスがやってきたのです。
目の前のお金を稼ぎに行ったということですね。

2度目の挫折

2018年頃、機械学習に再チャレンジしました。
Udemyの機械学習コース(下記で記載)でリハビリです。

リハビリは順調に進みました。
やはり、1度概念を掴むと理解するのは容易なのですよね。

ただ、このときは数学とは別の理由で挫折しました。
機械学習の勉強を継続できなかったのです。

私の意志が弱いというのもあったと思います。
でも、継続するための仕組みがなかったことが最大の敗因です。

仕事はプログラマーです。
だから、仕事で機械学習に触れる機会はありません。

このような状況なら、機械学習に触れることができる環境を自分自身で作るべきなのです。
それができなかったのが、2回目の挫折の理由となります。

機械学習に挫折した人間が学んできた教材

機械学習を学ぼうとする人がやることは、大体やってきました。

初心者が学ぶべきとされている教材

  • Courseraの機械学習コース
  • ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
  • Udemyの機械学習コース

Courseraの機械学習コース

https://www.coursera.org/learn/machine-learning

スタンフォード大学提供の動画による講座です。
人工知能の第一人者Andrew Ngによる授業となります。

最高峰の授業を無料で受けられるのは、本当にスゴイことです。
先ほど確認したら、私は4年前に講座を修了していました。

修了証は、有償だったので取得していません。
ただ、成績はいまだに見ることができました。

機械学習の初心者ながら、よく頑張っていたのですね~
基本的には、このコースは11週間かけて学びます。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

これは、他とは違って書籍になります、ディープラーニングの世界では、かなり有名なモノです。
大学で数学を学ばなかった文系の人間にも、わかりやすい内容だったと思います。
でも、理解できたかというと・・・

だから、これはいらないと思います。
正直、私はこの本を読んで機械学習を学ぶ意欲がなくなりました。
簡単でわかりやすいと絶賛されている書籍ですら理解が進まず、余計にやる気がなくなったのです。

Udemyの機械学習コース

プログラミングなどを学ぼうと思ったら、ここのサービスは使えますね。
IT以外のコースもたくさん用意されているようです。

私が実際に利用したの以下のコースです。

【キカガク流】人工知能・機械学習 脱ブラックボックス講座 – 初級編 –
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 – 中級編 –
【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

すべて、わかりやすかったです。
2年前ほどに利用した実績がありますね。

プログラマーが機械学習を挫折しない考え方

機械学習の挫折の理由はわかりました。
以下の2つです。

  • 数学
  • 継続性

おそらく、大抵の人は上記で機械学習を挫折すると思います。
継続性なんて、すべての挫折の理由になりそうですよね。

挫折してしまう理由がわかったので、これをクリアしていきましょう。
そうすれば、機械学習を習得できるようになるはず。

数学

正直、ビジネスレベルで機械学習をやるだけなら、数学なんて不要です。
というか、数学が不要なポジションの機械学習エンジニアを目指すべきです。

特に、すでにプログラマーとして活躍している人は。
プログラマーにはプログラミングスキルがあります。

機械学習は、あくまで付加価値をつけるだけなんだと割り切るのです。
「付加」という言葉に注目してください。
あくまで、プログラミングというメインスキルに加えるだけですから。

こうやって、開き直りましょう。
数学が必要なポジションの機械学習エンジニアはあきらめることです。
公的な機関が発表するスキルリストにも、数学が不要なモノも存在しています。

数学が必要だったとしても、それらはライブラリ・フレームワークに任せましょう。
月日の経過とともに、ライブラリ・フレームワークは賢くなる一方です。
だから、ライブラリ・フレームワークを使いこなすことに注力していきます。

継続性

継続するという意識は重要です。
意識に関して、以下のような記事を書いています。

でも、精神論だけでは物事は上手くいきません。

そのため、仕組みでカバーします。
機械学習の勉強を継続できる仕組みを構築することが、何よりも第一です。

現在(2020年8月1日時点)、私はブログを113日間毎日更新しています。
社会人になって、ここまで物事を継続したことが記憶にありません。。。

だから、私はブログに機械学習の勉強結果をアウトプットすることにします。
すでにある継続の仕組みの上に載せようという考えです。

ブログをやっていない人でも、なにかしら継続していることがあるはずです。
習慣とも言えますね。
そこに載せることが継続する肝だと思います。

例えば、電車通勤しているなら、電車に乗っている最中に必ず勉強するなど。
他には、会社の昼休み(昼休みは普通はありますよね)に勉強するなどでしょうか。

「Pythonではじめる機械学習」でリベンジする

プログラマーが機械学習を挫折する理由は、以下の2点でした。

  • 数学
  • 継続性

そして、これらをクリアするために次の方法を考えてきました。

  • 数学は無視する
  • 習慣に組み入れる

じゃあ、何を教材にすべきかということになります。
私は、「Pythonではじめる機械学習」を教材にします。

この本を選んだ理由は、いろいろあります。
しかし、最大の理由は以下。

機械学習や人工知能に関する本は多い。しかし、その大半は計算機科学の修士課程、博士課程の学生を対象としており、難しい数学で一杯だ。しかし実際には、研究やビジネスにおいて、機械学習は日常的なツールとして使われている。今日、機械学習を使うだけなら博士号は必要ないのだ。しかし、難しい数学の授業を受けていない人にもわかるように、機械学習アルゴリズムを実装する際に重要なさまざまな側面を解説した本はほとんどない。本書が、微分積分や線形代数や確率論を何年も学ぶことなく機械学習を使いたい、と思う人たちの助けとなることを願っている。

この本の著者が、書いている「本を書いた理由」です。
これを読んで、「そうだ、そうだ」とうなずきました。

この著者の心意気に感謝して、機械学習をモノにしてやろうと思います。
一緒に機械学習を学ぼうと思う方は、今後もこのブログを見てください。
継続して、学習の結果を残していきます。

タイトルとURLをコピーしました