ゼロから始める機械学習 〜悩めるシステムエンジニアの方に向け連載開始〜
長年IT業界に身を置くシステムエンジニアにとっても機械学習って結構ハードルが高いです。
「入門書を手に取ったけど数ページ進んで数式が出てきたところでギブアップ」
という方も多いのではないでしょうか?
「学生時代に理系専攻で数学をバリバリやってた」という人なら話は別ですが「学生時代文科系だったけどIT業界に入ってシステムエンジニアやってます」という方にとっては巷に出ている「機械学習入門書」はかなりハードルが高いと思います。
でも勘違いしないでください、あなたが理解できないのはあなたの頭が悪いからではありません、あなたが理解するための前提知識を身につけていないだけなんです。
連続ドラマに例えると、5話目からから観るとストーリーわかりませんよね、それは1〜4話のストーリーを知らないからですよね。
機械学習も同じこと、巷の「機械学習入門」はある程度の数学の知識(線形代数、微分積分、統計など)を前提にして書かれているものがほとんどです。この前提知識を身につければ機械学習のハードルはぐっと下がります。
「でも前提知識って数学なんでしょ?学生時代数学苦手だったから私には無理かも」と思っているあなた、安心してください、絶対大丈夫です。
数学の知識といっても決して難しいものではありません。少なくともシステムエンジニアとして仕事をしているあなたなら、慣れてしまえば「なんだ、こんな簡単なことなのか」と思える日が必ず来ます。
機械学習に必要な前提知識を身につけるのに、重要なポイントが二つあります
- 何の役に立つのかを理解する
- 数式に慣れる
何の役に立つのかを理解する
機械学習に必要な数学の前提知識(線形代数、微分積分、統計など)のわかりやすい入門書は沢山あります。機械学習に必要だからという理由でこれらの入門書で勉強を始めた人が挫折する大きな理由として「機械学習にどう役立つか分からんのでやる気が出ない」というのがあると思います。目的がわからないまま基礎練習ばっかりやらされてる感じが、時間の無い多忙なシステムエンジニアには厳しいですよね。
まず「機械学習でこう言う風に使われるから必要なんだ」と理解してから勉強すると、目標が見えるのでやる気が出ますし、実践的な理解が可能になります。
数式に慣れる
「数式を一つ追加すると本の売り上げが半分に落ちる」という話がまことしやかに囁かれるほど、数学に馴染みのない人にとって数式はハードルが高いようです。
しかしシステムエンジニアのあなたはこれまでの仕事でプログラムを書いたり読んだり、システム設定のパラメーターを調整したりしたことがあると思います。
数式も一つのプログラム言語のようなものです、慣れるまでは何を言いたいのか読み解くのに時間がかかりますが、慣れてしまえば「確かに、文書で書くよりシンプルでわかりやすい」と思えるようになります。
プログラム言語を習得した時のことを思い出しましょう。システムエンジニアなら必ず数式を楽に読み解けるようになります。
ゼロから始める機械学習
筆者はAIのコミュニティーを立ち上げ活動を行っており、その活動の一つとして機械学習入門をコミュニティーメンバーと実施しています。
この活動をする中で「数学の前提知識を持たないシステムエンジニアの方は多い、そんな方たちが機械学習の知識をスムーズに身につける手助けができれば」との思いを持ち、連載を開始することを思い立ちました。
「前提知識ゼロの方にも理解できるわかりやすい内容にすること」「分かりやすさのために正確性を犠牲にしないこと」を目標に、コミュニティー活動を通じて得たフィードバックを織り交ぜながら進めていきます。
記事はQiitaに投稿していきます、こちらに投稿したリンクを添付していきますので、よろしくお願いいたします。