paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

機械学習をやるなら知っておきたい、初心者でもきちんと数学を学べる本5冊

f:id:paiza:20170908144414j:plain
Photo by David Joyce
こんにちは。谷口です。

最近「人工知能」や「機械学習」に関する話をよく耳にします。実際に機械学習の勉強をしている人や、機械学習に関連した研究開発の求人を探す人も増えてきたなーと感じます。弊社のITエンジニアにも機械学習を勉強中という人が結構います。

機械学習で難しいポイントの一つが、「ある程度の数学の知識が必要」ということだと思います。「数学についてもうほとんど忘れてしまった」「もともと数学が苦手で苦労している…」という声もよく聞きます。

というわけで今回は、弊社で機械学習を勉強中のエンジニアたちに聞いた、機械学習に必要な数学が学べる初心者向けの書籍をご紹介します。

■高校数学

◆長岡先生の授業が聞ける高校数学の教科書

長岡先生の授業が聞ける高校数学の教科書数学 (考える大人の学び直しシリーズ)

長岡先生の授業が聞ける高校数学の教科書数学 (考える大人の学び直しシリーズ)

数学から離れて久しいどころか高校入学早々に数学を捨ててしまったような人、基礎から体系的に学ばないとどうにもならないような人でも、長岡先生の授業ならわかりやすいかと思います。ちょっと高いんですけど、数学I~Ⅲ、数~Cがこの一冊(DVD-ROMつき)で学べると思えば安いです。

■大学数学

◆スバラシク実力がつくと評判シリーズ

マセマ出版のこのシリーズもすごくわかりやすいのですが、レベル感が大学生向けなので、高校数学が怪しい人は長岡先生の高校数学をやってからこちらのシリーズに進むのがよい気がします。

統計学線形代数微分積分など分野別

◆ゼロから学ぶ線形代数(ゼロから学ぶシリーズ)

ゼロから学ぶ線形代数 (KS自然科学書ピ-ス)

ゼロから学ぶ線形代数 (KS自然科学書ピ-ス)

◆完全独習 統計学入門(完全独習シリーズ)

完全独習 統計学入門

完全独習 統計学入門

こちらに限らず、小島寛之さんの数学入門書はすごく読みやすいですし、機械学習に必要な微分積分や統計などの書籍を多く出されています。

◆「超」入門 微分積分

「超」入門 微分積分 (ブルーバックス)

「超」入門 微分積分 (ブルーバックス)

高校の時に微分積分が理解できなくて苦手だった人、すっかり忘れてしまった人でも、これなら中学数学レベルの知識でも理解できる…と思うやさしい本です。逆に高校数学を学びきった後だとちょっと物足りないかもしれないですが。

■おまけが本編

・もりもり機械学習やってる人向け

↓MITのディープラーニングの教科書の和訳版が無料で公開されています。

Deep Learning

 

・数学入門以前の人向け

そもそも数学が苦手すぎて高校数学を学ぶことすらままならない、数学が嫌いすぎて気が重い…という拒否反応が出るレベルの人は、数学に少しでも興味や好意を持つために、この辺りの書籍を読むと数学に興味が出てきて勉強したくなる…と思います。

◆数学入門

数学入門〈上〉 (岩波新書)

数学入門〈上〉 (岩波新書)

数学ガールシリーズ

数学ガール (数学ガールシリーズ 1)

数学ガール (数学ガールシリーズ 1)

フェルマーの最終定理

フェルマーの最終定理 (新潮文庫)

フェルマーの最終定理 (新潮文庫)

博士の愛した数式

博士の愛した数式 (新潮文庫)

博士の愛した数式 (新潮文庫)

■まとめ

機械学習には数学の知識も必要ですが、「やってみたい!」と思ったら勉強を進めつつ、チュートリアル的に手を動かしてみると楽しいかと思います。

このブログでは、初心者でも機械学習でちょっと遊べそうな記事を過去にも書いているので、興味のある人は見てみてください。
paiza.hatenablog.com
paiza.hatenablog.com


また、プログラミングに関して「Pythonの書き方を基礎から学びたい!」という方に向けて、プログラミングが動画で学べる「paizaラーニングではPython入門編を公開中です。ぜひごらんください。

詳しくはこちら

Pythonの講座も公開中!プログラミングが動画で学べるレッスン


プログラミング未経験者・初心者向け学習サービス「paizaラーニング」では、今回記事の中で使用しているPythonの入門講座も好評公開中です。ぜひごらんください!

詳しくはこちら

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza