
こう思う人も多いのではないでしょうか。
実際、Twitterでもたまに「数学は必須or不要論」が話題になっています。

本記事の目次は以下の通りです。
1.数学の必要性
結論から書くのですが、
コーディングして、結果だけ出せればいい
場合は、数学はあえて勉強しなくていいと思います。
たとえば趣味でプログラミングをしている場合や、依頼を受けてその内容通りのやり方で結果を出す、といった場合です。

ポイント
1.モデルの背景を知らずにただコーディングするのが気持ち悪かったから
2.仕事でお客さんに機械学習モデルを提案するときに、数学を理解していないと自分の言葉で説明できないから
1つずつ説明していきます。
1.モデルの背景を知らずにただコーディングするのが気持ち悪かったから
私が数学を勉強するきっかけになった話です。
これは転職前の話ですが、機械学習に興味を持った私はKaggle(データサイエンスのコンペ)に参加していくつかのモデルのコーディングに挑戦していました。
このとき、

と思っていました。
たとえば決定木モデルはサイトで調べたりして直感的にわかりやすかったですが、「サポートベクトルマシン」「ロジスティック回帰」とかは何をしているモデルなのかまったくわからずになんとなくサイトで見つけたコードをコピペして動かしていたので、正直、

と思っていました。なので、少し詳しく調べようと思って本やサイトを見てみましたが、調べれば調べるほど、

と感じました。
当たり前といえば当たり前なのですが、機械学習は基本的にはなんらかの数式を作っているので数学がわからないと理解できっこないんです。

2.仕事でお客さんに機械学習モデルを提案するときに、数学を理解していないと自分の言葉で説明できないから
こちらは転職してから感じた数学の必要性です。

と思っていましたが、転職して7か月がたち、数学の重要性をひしひしと感じ始めているところです。
私はビジネス寄りのデータサイエンティスト(AIコンサルタント)で、弊社にお問い合わせを頂いたお客様に提案活動を行うこともあり、最近私もこの活動の一端を担わせていただけるようになりました。
お客様の課題をヒアリングして、

と考えます。ただこのときに、「その機械学習モデルを十分理解していないと」提案はできません。
当然といえば当然ですよね。
皆さんも、たとえばTVを買いに家電屋さんに行ったときに、販売員の人から

とか言われても絶対買わないですよね。
人に説明するときやおすすめするときは、当然自分がその商品について詳しくないと見向きもされません。もちろんお客さんに数学の説明をすることはないですが、
機械学習モデルについてしっかりと裏打ちされた理解があって初めて、自分の言葉でわかりやすくお客様に説明できる
と自分の経験を経て感じています。
まとめ
ここまで、私が数学を必要だと感じたきっかけと、具体的に数学が必要だと思う理由を紹介してきました。
次から、

について紹介していきます!
2.数学のどの範囲を知っておくべきなのか?
これについてはもちろん正解があるわけではありませんし、人によって意見が分かれるところだと思います。
世間一般的に言われているところと私自身の考えも含め、以下を必須で勉強しておくべきだと思います。
ポイント
・線形代数
・微分(偏微分)
これらがどういうときに必要だと感じるか、具体例を出していきます。
線形代数
線形代数はここに生きる!とピンポイントでは言えないくらい重要なのですが、たとえばPythonのライブラリにNumpyがあります。
Numpyは機械学習の計算をより速く、効率的に行うためのライブラリで、Numpyの理解に線形代数が必須です。

command
array([[2, 2]])
array([2, 2])
2の外に「[ ]」が2つあるか1つあるかの違いですが、これは行列をわかっていないと理解することができません。

シンプルなコーディングの時はここまで理解している必要は必ずしもないですが、レベルが上がっていくとこのあたりの話は必須でわからないといけないなと感じています。
微分(偏微分)

機械学習のモデルは、「とある関数の値が最も小さくなる点を見つける」ように動いているパターンがかなり多いのですが、
この、「値が最も小さくなる点」を見つけるために必須なのが微分の考え方です。

補足
今回は項目に入れてないのですが、「基礎的な確率」も本当は重要です。
ただ、確率は私がまだ実務で「必要だ」と思う場面に遭遇できていないので、自分の言葉で皆さんに紹介することができないため今回は割愛しました。
※確率(、統計)への理解が重要なのは間違いないです。
3.わたしのおすすめ勉強法3選
それではここから、わたしの数学おすすめ勉強法3つを紹介していきます!
結論として、
3つ目の本「やさしく学ぶ 機械学習を理解するための数学のきほん」で機械学習に必要な数学の全体像を掴み、
自分が理解できていない数学の内容を1つ目のヨビノリさんの動画や、2つ目のスタディサプリで勉強していく
このやり方がベストだと、私は思います。
動画学習1:ヨビノリさんのYoutube動画
予備校のノリで学ぶ「大学の数学・物理」は、非常に有名なYoutubeチャンネルですね。
これだけのハイクオリティな動画を無料で見れることに驚きを隠せません。
基本的にこのチャンネルで微分や線形代数、確率を学ぶことができます。
私も今年の春ごろ、ヨビノリさんの動画を観てノートに数式を書きながら勉強しました。
説明もわかりやすいですし、冒頭にあるショートコントとかも地味におもしろいです(笑)
ある程度の基礎的な数学力がある方は、このYoutubeチャンネルで勉強をすることをおすすめします!
動画学習2:スタディサプリ

と思われた方が多いのではないでしょうか。
実は私、スタディサプリユーザなんです。
※春~夏にめちゃくちゃがっつり勉強したので最近は一旦休会しています。


と思われるかもしれないですが、
実際に大人が「学びなおし」としてスタディサプリを使っているケースはかなり多く、池上彰さんと佐藤優さんによる対論のなかでも、スタディサプリがおすすめされています。
ビジネスパーソンが短期的に基礎知識を強化しようと思ったら、
リクルートが2012年に「受験サプリ」としてスタートさせた「スタディサプリ」はすごくいいですよ。
受験生向けのオンライン予備校ですが、ビジネスパーソンの「やり直し勉強法」としても最適です。
引用:「僕らが毎日やっている最強の読み方」
私も実際にこの記事を読み、春にスタディサプリに入会しました。
高校生用向けなので基本的な数学の基礎から体系的に学べるため、

という場合は、このスタディサプリで基礎から学んでみるのがおすすめです!
私は最初にヨビノリさんの動画から見始めて、

と思ったら都度スタディサプリに立ちかえって勉強するというやり方をしていました。
問題演習や教材も体系的にまとまっているため、
数学はまじで自信ない・・
という方は、スタディサプリから始めてみるのがいいと思います!
講師も一流の方ばかりなのですごくわかりやすくて、しっかり積み上げて数学の勉強ができると、実際に受講して感じました。
月額も1,980円と非常に安価に勉強ができるので、興味がある方は是非チェックしてみてください。
※時期にもよりますが、最初の2週間は無料キャンペーンをやっていたりします。
補足

何科目見ても月額1,980円なので、非常にコスパのいいサービスだと思っています。
本での学習:やさしく学ぶ 機械学習を理解するための数学のきほん
この本はご存じの方も多いのではないでしょうか。
先ほど紹介した2つの勉強法は「The 数学」の勉強ですが、この本は「機械学習のために必要な数学」の観点で解説がされています。
ですので、自分が勉強する数学が、実際にどの部分で役に立つのかイメージを付けるのに最適な本だと思います。

もちろん他の専門書に比べればすごくわかりやすいんですが、この本だけで必要な数学を学べるかと言うと、ちょっと微妙かなと私は思っています。
なので、おすすめとしては最初にこの本で機械学習に必要な数学の全体像をざっと掴み、その後に必要な部分をヨビノリさんの動画やスタディサプリで補強していくというやり方がベストだと思います。
やさしく学ぶ 機械学習を理解するための数学のきほんを見てみる
4.まとめ
いかがでしたでしょうか。
数学の必要性、特に学ぶべき範囲、おすすめの勉強法を紹介してきました。
ある程度のレベルより上を目指す場合は数学は必須だと思うので、是非この秋・冬に腰を据えて勉強してみることをおすすめします!
私ももっと数学を勉強したり実務経験を積んで、今後もアップデートして発信していこうと思います。
最後までお読みいただきありがとうございました。
以下の記事ではデータサイエンス全般のおすすめudemy講座をまとめているので是非チェックしてみてください。