PythonやAI学習に数学って必要なのでしょうか。
2019年の4月からセブのKredoさんで、PythonとAIを英語で学んでいます。
3月からPythonを本格的に勉強し、AIの分野まで少し足を突っ込み始めたので、知っている限りでシェアしたいと思います。
▼もくじ
PythonとAI学習は別物
まず誤解が多いのはこの点ですね。
Pythonはプログラミング言語のひとつです。
最近は人気のある言語ですね。
理解しやすいので、最近は海外の大学でも積極的に採用するところが増えてきているようです。
プログラミングの入門言語として、Pythonは割と好都合なようです。
機械学習やAI学習するなら数学は必要
PythonからAI学習に進むと数学をゴリゴリ使う分野もあるので、数学的素養があるのかを確認してから勉強を進めたほうが良いと感じます。自己の適性を考えて方向性を定めることも大切ですね。
— 野村勇介👨💻Python&AI勉強中 (@YSK_NMR) 2019年4月6日
一方、AI学習はプログラミングの段階でPythonを使うことがありますが、すべてをPythonだけで行うわけではありません。
- HTML
- CSS
- JavaScript
- flaskやDjangoなどのフレームワーク
- NumPy
- matplotlib
- データベースの知識
- アルゴリズム(←数学が必要)
などなど、上げればきりがありません。
簡単なものは私でも数学無しで使えるのですが、少しでも深く踏み込んだものを作ろうと思うと、例えば、ウェブアプリケーションなどですが、数学が必要になってきます。
特にアルゴリズムを理解する際に、ある程度の数学的素養は必須といえます。
フィボナッチ数列などはよくプログラミング学習時に出会うことは多いです。
具体的にAIを運用するには以下の数学が必要と言われています。
- 変数や関数
- 線形代数(行列やベクトル)
- 微分
- 確率・統計
もちろん、Pythonを使っている人の全員が数学ができるとは思いませんし、できなくても使えるという話は聞きます。
しかし、AI学習となると数学ができればできるほど活用の幅が広がるのは間違いがないと思います。
Python・AI・機械学習という名前に騙されないこと
転職を目指す場合、気を付けてほしいポイントは、
- Pythonという名前がカッコいい
- AIとか凄そう(笑)
という理由だけで、方向性を間違わないよう気を付けることです。
特に、ど文系の人が進むにはかなりの強い意志が必要な分野です。
プログラマーとしては良いかもしれませんが、データアナリストなどの勉強をしてはまらないよう注意が必要です。
もちろん、好きならガンガン勉強を進めればいいのですが、CS(コンピューターサイエンス)専攻の学生がライバルになるような職業を目指すのはかなりの冒険になる可能性があります。
データサイエンティストという職業の方の中には、一流校の院卒、例えば、東大・早慶・地方旧帝大出身で、さらにほぼ院卒みたいなバリバリの理系エリートが多いのも事実です。
その中に文系卒が割って入る余地はあまりないのではないでしょうか。
その点、要注意です。
データ分析には統計の知識も必要
Pythonを使ってデータ分析などをしたい人は、統計の知識が必要になってくる可能性もあります。
ウェブマーケターやコンサルなどになりたい人は、統計を勉強する必要はおそらくあるでしょう。
統計は厳密には数学とは違いますが、乱雑なデータ=主に数字を扱います。
数字を扱うという点では、数学が得意とか、数字を扱うことに慣れている人のほうが明らかに有利です。
AIを扱うには数学が必要ですし、データを収集し活用するには統計の知識が必要です。
ですので、AIを使いたい人は数学ができると明らかに有利でしょうし、数字に強くないと活用の幅は狭まるでしょう。
プログラマー登竜門としてPythonを活用!
では、プログラマーになるためにPythonがおすすめではないかというと、そんなことはありません。
Pythonは文系出身の私でもわかるくらい、とても理解しやすい言語後です。
HTML、CSSなどを深く学ばなくても、Pythonからでも十分に理解できます。
HTML&CSSとの違いは?
HTML&CSSの大きなメリットは、見た目でわかることです。
デザインの位置を動かしたり、色を変えたりするので、視覚的に理解ができるところがモチベーションにもつながると思います。
一方、Pythonなどのバックグラウンドで使うことの多い言語は、最初のうちはひたすらコードのみでの練習になります。
例えば、以下のような感じのコードをひたすら考えるわけです。
ちなみに、打つ時間よりも考える時間のほうが多いです(笑)
理解をしていないとコードは書けません。
なので、ひたすら頭を使います。
HTML&CSSだと、デザインを確認しながら、試行錯誤ができるのですが、Pythonだと、ひたすら数式と英字のみを立式する感じです。
この点は数学や物理に似ていると思います。
なので、『数学や物理が大嫌い!』という人はたぶん向いていないのではないかなぁと思います。
甘いこと言って時間を無駄にしても仕方ないですから、個人的な意見として、率直に伝えておきます。
でも、とりあえず、PythonだけならProgateくらいはやってみて向いているかいないかくらいは試してみるといいと思います。
参考になれば幸いです。
文系も数学的素養は大切
今の時代、何も予測ができないじゃないですか。
インターネット技術の発展で、昔みたいに一生懸命に働いていればどうにかなる時代ではありません。
どんな職業がいいのかとかまったくわかりません。
なので、文系の人も多少の数学的素養は身につけておいて損はないと感じます。
私は独学でTOEIC985点まで取り、そのあとアメリカにも渡って英語を磨きました。
それはそれで良い経験でしたが、もっと時間というリソースを英語以外、特にプログラミングや基本的な数学、統計やExcelなどに時間を注いておけばよかったと思っています。
後悔はしていませんが、かなり反省しています。
英語は英語講師とか、英語を使う職業の人からするとスキルですが、他の職業の場合スキルとは言えません。
英語単体では武器にならないことのほうが多いです。
英語×スキルのほうが重宝されます。
なので、英語だけに特化せずに、ぜひ好きな分野でスキルになることも勉強することをおすすめします。
[おすすめ本] Python/AI/プログラミングのための数学
では、どうやって数学を学び直せばよいかというと、ちょうどいい本が最近出ました。
Pythonで学び直す高校数学
2019年3月14日に出たので、この記事が書かれた3週間前です。
超ナイスタイミングなので即購入しました。
私はkindle版を購入。
Python学習に必要な数学を解説してくれているので、完璧に近いのではないでしょうか。
この本よりももっと基礎を確認したい人は、大学受験の坂田アキラのシリーズ
東大の先生と一緒に中学数学を復習できる本
東大の先生! 文系の私に超わかりやすく数学を教えてください!
本当にゼロだけど、分厚い本をやりたくない人にはいい本だと思います。
簡単でしたが、読んで『数学の楽しさ』がわかったので、個人的にはとても好きな本です。
買ってよかったです。
意外とこういう本のほうが本質的な気がします。
この本を読んでおけば、中学生の時に数学が嫌いにならないのではないでしょうか。
こちらもkindle版を購入しました。
結論
・プログラマーを目指す人はあまり気にせず、とりあえずPython頑張ろう!
・AIをいじりたい人やデータサイエンティストを目指すなら数学は避けて通れない!!
という感じです。
ご参考になれば幸いです。
Python/AIのまとめ記事はこちら
37歳がプログラミング×英語で転職できるか実験中です。
ぜひお立ち寄りください(^^)/
https://xn--4gr220a2sk1qvzyi.jp/programming-at-37/
セブのプログラミング・IT留学「Kredo」
私自身はKredoさんという、IT×英語留学の語学学校でAIを勉強しています。
Kredoで数学が必要かというと、
AIコースの1月目は数学は要りません!
しかし、2カ月目になるとバリバリ数学を使うらしいので、ど文系の人は予習が命になりますね。
セブのIT×英語留学『Kredo』のAIコースが知りたい方はこちら
私が在籍しているコースです(^^)/