What you'll learn:
- 機械学習を学ぶ上で大切となる【機械学習の考え方】を身につけることができます。
- 手書きの数字を推測するアルゴリズムをPythonを使って一から実装することができるようになります。
- 3つのアルゴリズムを関連付けながら学習をすることで、機械学習の基本的な考え方が理解できるようになります。
- Pythonを使って、一からアルゴリズムを実装することができるようになります。
- 機械学習で使うデータの特徴や性質を、統計学の知識をもとに学ぶことができます。
- 尤度の考え方を用いたアルゴリズムの実装方法について学ぶことができます。
- 微分と機械学習との関係について理解することができます。
- 確率・統計の基本的な知識を身につけることができるようになります。
「機械学習はやっぱり難しい。。」
最近、こんな声をよく聞きます。
本やインターネットで調べてみても、書かれているのは見たことも無いような数式ばかり。
どこを見ても難しい解説ばかりで、本やサイトを閉じてしまった方も少なくないのではないでしょうか?
たしかに、機械学習は数時間で身につけることができるようなものではありません。
ただ、教える側が分かるように教えていない。
ということも、機械学習を苦手に感じてしまう人が多い原因の一つではないかと考えています。
例えば、弁護士が専門用語を使って依頼者に説明したところで、依頼者は何を言われているのか分からないですよね。
機械学習もそれと同じです。
これから機械学習を学ぶ方からすると、必要な知識・用語について何も分からないのは当たり前。
だからこそ、教える側は専門的な言葉を使ってはいけない(または、しっかりと一つ一つの言葉について説明をしなければいけない)のです。
機械学習はこれからも伸びていくことが予想される分野です。そして、何よりも機械学習のアルゴリズムを実装できると達成感を感じることができますし、何よりも楽しいです。
ただ、面白いだけでも意味がありません。
ですので、この講義は順番に学習を進めていく中で【機械学習の考え方がしっかりと身につく】ように意識をしてカリキュラムを組んでいます。
これから機械学習エンジニアとして活躍したい方も、機械学習に何となく興味がある方も、是非この講義を聞いて学びを深めて頂ければと思います。
--この講座の5つの特徴--
1. 難しい数式は極力使いません。
機械学習のテキストなどを見ると、見たこともないような数式が沢山出てくると思いますが、そういった数式を使わなくとも学習することは可能です。
むしろ、難しい数式を使うことで、大切な基礎が見えなくなってしまうと考えています。
ですので、この講義では極力難しい数式は使わず、シンプルに説明することを心掛けています。
必要に応じて難しい数式を使う場面もありますが、その場合はしっかりと基礎から説明しておりますのでご安心下さい。
(難しいと感じた場合はQ&Aなどでご連絡頂ければ幸いです。)
2. 定義だけを読むといった講義は行いません。
この講義では、可能な限り一つ一つの用語に対して具体的な例を用いて説明することを心掛けています。
なぜなら、言葉の説明だけを聞いても理解することは難しいのが普通だからです。
例えば、「確率とは、偶然起こる現象の現象全てに対する割合」と説明されても全く頭に入らないですよね。
そうではなく、サイコロの例を使って説明すれば理解が深まることはイメージできるのではないかと思います。
(偶然起こる現象をサイコロで1の目が出る確率、現象全てを1~6の目が出る確率、とすればイメージが湧きやすいですよね。)
他方、説明をお聴きになる中で少し冗長に思われることもあるかもしれませんので、そういった場合は、適宜講義をスキップして頂きながら、学びを深めて頂ければと思います。
3. 機械学習に関する複数の学習分野を、関連付けて説明しています。
機械学習を理解することを難しくしている理由の一つとして、「複数の学習分野にまたがっている」ことが挙げられます。
例えば、統計学と機械学習は何がどう関連しているか、イメージできるでしょうか?
機械学習の基本的な考え方として、統計学における「推測統計」が使われているのですが、そういった繋がりを知ることで、機械学習に対する理解をぐっと深めることができるようになります。
個別の分野を有機的につなげることによって、加速度的に機械学習への理解を深めて頂ければと思います。
4. pythonを使った実装では、ライブラリは使いません。
この講義では、機械学習のライブラリを使わず、pythonを使って一から実装を進めていきます。
ライブラリを使えば簡単に実装をすることができますが、それでは機械学習の本質的な部分は全く分からず、出てきた結果の妥当性の検証をすることもできません。
逆に、一から実装することができるようになれば、ライブラリは簡単に使いこなせるようになります。
一つ一つのアルゴリズムを理解していても、実装するとなると別問題。実際に実装することで、多くの学びを得ることができます。
ですので、この講義ではライブラリを使わず、一から実装を進めていきます。
5. 具体的な成果物が作れるようになります。
最後は手書きの数字を認識するアルゴリズムを作ります。実際に動くアルゴリズムを一から作ることで、機械学習の知識が深まったことを実感できるようになります。
また、自分で書いた数字を機械が認識していることを確認することで、機械学習を少し身近に感じることができるようになると思います。
是非とも最後まで講義を聞き、成果物を作ることで達成感を感じて頂ければと思います。
(この講義でお伝えしないこと)
この講義では、最先端の機械学習アルゴリズムや、行列を使った数式の表現は含まれておりません。
機械学習の基本的な考え方を身につけるうえで、上記のような情報はかえって理解の妨げになると考えているからです。
ですので、上記の内容を学びたいかたはこの講義は最適ではない可能性があること、お含みおき頂きたく、よろしくお願い致します。
--この講義の対象者--
この講義は、機械学習について興味がある方であればどんな方でも対象になりますが、その中でも「機械学習の基礎をしっかりと身につけたい」という方に是非聞いて頂きたいと考えています。
最後に具体的な成果物を作成しますが、それでも講義の中心となるのは「機械学習の考え方」を身につけることです。ですので、どうしても説明が長くなってしまい、少し退屈してしまうことがあるかもしれません。
それでも、講義を終えた際には、「今まで何となく流し読みしていたサイトや本の内容が頭に入ってくる」感覚を持っていただけるのではないかと思います。
どれだけ難しい言葉を使って説明がされていたとしても、基礎をしっかりと身につけていけば理解することができるからです。
これから機械学習エンジニアとして成長していく上で、基礎や基本的な考え方を身につけるのは早いに越したことはありません。
この講義を活用し、機械学習に対する理解をどんどん深めて頂ければ幸いです。