※この記事の1年後に文系エンジニアがCourseraの機械学習コースを1ヶ月で修了したので振り返ってみました。という記事もアップしました。
文系エンジニアが機械学習に入門しようと思うと、どうしても「数学の壁」にぶつかります。
一般的に、機械学習を理解するためには、大学レベルの「微分積分」「線形代数」「確率統計」の知識が必須とされていますが、私のような典型的文系エンジニアの場合、それを学習するための基本的知識自体が圧倒的に不足しているため、まずは高校までの数学を一からやり直してみました。
学習前の私の数学スペック
- 学生時代の数学の学習歴は高校2年生の2学期位まで。
- 大学で経済数学の授業があった気がするがほとんど出席していない。
- 仕事で使った数学知識は三角関数程度。(画像処理ソフトを開発した際に使用)
学習に要した時間
- 小学校の算数 5時間
- 中学数学 6時間
- 数I/数A 12時間
- 数II/数B 50時間
- 数III/数C 50時間
合計 約120時間
学習教材
小学校6年間の算数が6時間でわかる本
中学3年間の数学を8時間でやり直す本
高校1年の数学[数I・数A]が10時間でわかる本
スバラシク面白いと評判の初めから始める数学II・B (Part1)
スバラシク面白いと評判の初めから始める数学II・B (Part2)
スバラシク面白いと評判の初めから始める数学III・C (Part1)
スバラシク面白いと評判の初めから始める数学III・C (Part2)
- 数I・数Aに関しては「高校1年の数学[数I・数A]が10時間でわかる本」を使いましたが、内容がかなり薄いというか省略されているため、結局後で不足部分の学習を別に行う必要が発生してしまったので、数学II・Bおよび数学III・Cと同シリーズの「スバラシク面白いと評判の初めから始める数学I・A」のPart1とPart2を最初からやっといた方が良かったなという印象です。
- 「スバラシク面白いと評判の…」シリーズに関しては、改訂版ではなく、2005年前後に出版された旧カリキュラム用の版を購入しました。理由としては単に「中古本がかなり安かったから」ですが、後述するように2012年のカリキュラム変更(数Cの廃止)により、改訂版だと「行列」が科目から除外されてしまっているので、今振り返ってみると旧版を購入しておいて良かったなと。
補助教材
- 上記はかなりの良書でした。数学IIの微分積分をやる前に読んでおくと、勉強効率がかなり上がると思います。
- 後半はかなり読者置いてけぼり感がありますが、とりあえず読みやすいので入門としては良い本なのではないでしょうか。
- eを使うと何が便利なのかよく分からなかったので購入してみました。とりあえず読み物として結構面白いです。
注意点
2012年の高校数学のカリキュラム変更により、数Cが廃止されました。
そのため、2012年以降の新教科書に対応した参考書の場合、「行列」が科目として存在しないため、この場合は行列だけ別の参考書で学習する必要がありますのでご注意ください。
参考:数学C
2012年4月施行での取扱い
平面上の曲線が数学IIIに移行。
確率分布(条件付き確率を除く)と統計処理は数学Bに移行。条件付き確率は数学Aに移行。
行列は新科目「数学活用」で引用されるだけになり、普通科での履修科目から事実上消滅する。
まとめ
個人差は当然あると思いますが、私のように高校の途中までしか数学を学習していない&数学知識をほぼ全て忘却している文系エンジニアが、小学校の算数〜高校数学までを学習する場合、おおよそ100〜150時間程度は必要になると見積もっておいた方が良いと思われます。
また、高校数学の教材に関しては「同じシリーズで揃える」ようにしておいた方が無難だと思います。(高校数学の参考書としては、「スバラシク面白いと評判の〜」シリーズか、「やさしい高校数学シリーズ」辺りが、説明が丁寧なので良いのではないかと)
また、2012年以降の新カリキュラムに対応している参考書を購入する場合は、カリキュラムから削除された「行列」用の参考書を別に購入する必要がありますのでご注意ください。
おまけ
Youtubeの方で、Web系エンジニアやWeb系エンジニアに興味のある方たち向けの雑食系エンジニアTVというチャンネルをやっています。もしご興味ございましたらチャンネル登録してみて頂けると大変嬉しいです。
また、2019年から「雑食系エンジニアサロン」というオンラインサロンも始めました。
Twitterの方でも「Web系エンジニアのキャリア戦略」を中心に色々と情報を発信しておりますので、もし宜しければフォローしてみてください。@poly_soft