作成にあたっては、『人工知能プログラミングのための数学がわかる本』、「Chainer Tutorial」、「【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -」を参考にさせて頂きました。
機械学習の実践的な利用・導入に数学は必須か?
「単に機械学習を利用する」という観点からは、数学は必須ではないと思います。
例えば、画像投稿SNSにおいて、機械学習による有害な画像検出を考えます(良くある利用ケースです)。
今はGoogle Cloud Vision API等を利用すれば簡単に画像フィルタリング機能(画像検出機能)は組み込めます。モデルも訓練済みのモノをそのまま利用すれば良いので、実装にあたってはAPIを組み込むだけでOKです。
機械学習エンジニアに数学は必須か?
単に機械学習を利用するだけでなく、「機械学習エンジニア」を名乗るならば数学は必須だと思います。
良くあるAIプログラミングスクールの「数学不要です!」は、耳触りの良いキャッチコピーに過ぎません。
「数学が苦手だけだとAIエンジニアになりたい」というニーズに対して、望む答えを与えているだけです。
機械学習・深層学習はプログラミング的にはそれほど高度な技術は求められないが、むしろ数学的な素養で差がつく世界だと思います(React Native・Redux・TypeScript等の方が余程難解なコードでは?)。
数学者や物理学者が機械学習の分野に転身して活躍することが多いのも、その証左かなと。
機械学習のための数学一覧
大まかに分けて、**「微分」「線形代数」「確率統計」が必要です。
そしてそれらを理解するためには、前提知識として数列や三角関数のような「数学基礎」**が必要です。
まとめると、「数学基礎※」「微分」「線形代数」「確率統計」およそ4つの項目が必要ということになります。
※まとめて「数学基礎」としてしまいましたが、「指数関数」「数列」「三角関数」等々、それぞれ骨太なテーマです。自信がない方は後述のマセマ等を利用してきちんと勉強し直さないと厳しいと思います。
数学基礎
- 変数・定数
- 式の次数
- 関数の概念
- 平方根
- 累乗と累乗根
- 指数関数・対数関数(log)
- 自然対数(e/ln/exp)
- シグモイド関数
- 三角関数(sin/cos/tan)
- 絶対値・ユークリッド距離
- 数列
- 要素と集合
微分
- 極限(lim)
- 微分基礎
- 常微分・偏微分
- グラフの描写
- グラフの最大値と最小値
- 初等関数・合成関数の微分法・積の微分法
- 特殊な関数の微分
線形代数
- ベクトルとは
- ベクトルの加算・減算・スカラー倍
- 有向線分
- 内積
- 直行条件
- 法線ベクトル
- ベクトルのノルム
- コサイン類似度
- 行列の加算・減算
- 行列の乗算
- 逆行列
- 線形変換
- 固有値と固有ベクトル
確率統計
- 確率とは
- 確率変数と確率分布
- 結合確率と条件付き確率
- 期待値
- 平均・分散・共分散
- 相関係数
- 最尤推定
おすすめの書籍
『人工知能プログラミングのための数学がわかる本』 (石川 聡彦)
「Aidemyの石川社長自ら執筆」「松尾豊教授推薦」ここら辺は単なるキャッチコピーなので参考にしないでください。
中身をみていきましょう。
本書では人工知能のために最低限必要な数学を端的にまとめてくれています。
評価すべき点は過不足のないカバー範囲ですが、一方でマイナスなのは、一つ一つの項目についての解説が薄いことです。
ある程度数学の素養がある人、具体的には「大学受験の数学に苦手意識がなかった」「大学でも数学の科目を履修していた」レベルの方には効率良く人工知能のための数学を復習できる良書です。
しかし逆に、そうではない人、具体的には「大学受験で数学を使用しなかった」「高校数学に苦手意識があった」レベルの方だと本書だけだと理解が難しいでしょう。
焦らずに、まず高校数学の基礎からおさらいしましょう。
マセマの参考書やスタディサプリをお勧めします。
マセマ『初めから始める数学』シリーズ
「東大生が最も使用している数学の参考書」というキャッチコピーでお馴染みの、高校数学の名著です(余談ですが、マセマの大学数学の参考書は東大生協書店で良く見るので、信憑性は高いと思います)。
易しい口語体で、数学の本質を丁寧に理解させてくれます。
高校数学を理解するには中学数学が前提知識として必要ですが、マセマは中学数学の内容までまで振り返って解説してくれます。
高校数学全体をきちんと復習するのが、回り道に見えて結局最も近道であると思います。
余談ですが、『初めから始める数学』は基本的な概念を解説しているだけなので、仮に大学受験するなら『元気が出る数学』『元気に伸びる数学』、あるいは『チャート式』等で問題をやり込む必要があります。
今回はあくまで機械学習を理解するために必要な数学を身に付けるだけなので、基本的な概念をきちんと理解しておけばOKなわけです。
そう考えるとずいぶんラクに思えませんか?
『初めから始める数学I 改訂8』 (馬場 敬之)
『初めから始める数学A 改訂8』 (馬場 敬之)
『初めから始める数学II 改訂8』 (馬場 敬之)
『初めから始める数学B 改訂8』 (馬場 敬之)
『初めから始める数学III Part1 改訂7』 (馬場 敬之)
『初めから始める数学III Part2 改訂7』 (馬場 敬之)
マセマ大学数学『キャンパスゼミ』シリーズ
マセマの大学数学シリーズ。余裕があれば大学数学も勉強しておければ理想です。
データサイエンスはプログラミングスキルよりむしろ数学的な素養が重要という所感です。例えばパラメータのチューニングは無駄に時間を溶かしがちですが、数学的センスがあるとスムーズに行ったりします。
余談ですが、UTEC創始者の郷地さん(東大文一⇨通産省を経て、東大工学博士へ入学)も研究系の院に入学し直すにあたって、マセマで数学を復習したそうです。
「一昨年の10月に受験を決心して、仕事の後や休日に数学を一生懸命やりました。
大学で数学やってないですから、微積と微分方程式と線形代数と……マセマの参考書、あれ良いですよね(笑)土日や夏休みも家族サービス全然出来ませんでした。運良く入れました」
『線形代数キャンパス・ゼミ 改訂8』 (馬場 敬之)
『微分積分キャンパス・ゼミ 改訂6』 (馬場 敬之)
『確率統計キャンパス・ゼミ 改訂6』 (馬場 敬之)
お勧めの動画形式の教材
動画、特にYoutubeの活用もお勧めです。
書籍だと理解しづらかった方も、動画だとすんなり理解できることは多いです。
余談ですが、数学検定1級に最年少(小学4年生)で合格したの男の子もYoutubeで数学を勉強したそうです。
大卒レベルの数検1級、9歳が最年少合格 動画を教材に
予備校のノリで学ぶ「大学の数学・物理」
東大院生・元予備校講師のヨビノリさんのYoutubeです。
Aidemyからも推薦を受けているほど、ハイレベルな数学を分かりやすく解説してくれます。
まさにデキる予備校の講義という感じで、とても楽しいです。
Stardy -河野玄斗の神授業
現役東大医学部生によるYoutubeです。こちらは受験攻略寄りですが、「数学が得意な人」の思考回路をトレースできるので、見ていて参考になります。
Study Plus(スタディサプリ)
リクルート発の教育アプリです。ネトフリの勉強版ですね。
トップクラスの予備校講師による動画が、月1000円程度で受け放題です。
特に数学の評判が良いです。
どうしても書籍の自学だと頭に入らない人は、スタサプも良い選択肢です(実際に、社会人のユーザーも多いそうです)。
終わりに
数学の基礎力がきちんと身に付けば、特に特別なことは必要ないと思います。
特にマセマで大学数学のレベルまできちんと学ぶことができれば、機械学習・深層学習の書籍や論文の中の数式も読みこなせるでしょう。
また、アウトプットの場を設けることは有効な学習テクニックなので、数検や統計検定を受験するのも良いと思います。
参考資料
『人工知能プログラミングのための数学がわかる本』
Chainer Tutorial
【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
『初めから始める数学I 改訂8』 (馬場 敬之)
『初めから始める数学A 改訂8』 (馬場 敬之)
『初めから始める数学II 改訂8』 (馬場 敬之)
『初めから始める数学B 改訂8』 (馬場 敬之)
『初めから始める数学III Part1 改訂7』 (馬場 敬之)
『初めから始める数学III Part2 改訂7』 (馬場 敬之)
『線形代数キャンパス・ゼミ 改訂8』 (馬場 敬之)
『微分積分キャンパス・ゼミ 改訂6』 (馬場 敬之)
『確率統計キャンパス・ゼミ 改訂6』 (馬場 敬之)