|
|
# 機械学習への導入
|
|
|
|
|
|
[![ML, AI, deep learning - 違いは何か?](https://img.youtube.com/vi/lTd9RSxS9ZE/0.jpg)](https://youtu.be/lTd9RSxS9ZE "ML, AI, deep learning - 違いは何か?")
|
|
|
|
|
|
> 🎥 上の画像をクリックすると、機械学習、AI、深層学習の違いについて説明した動画が表示されます。
|
|
|
|
|
|
## [Pre-lecture quiz](https://white-water-09ec41f0f.azurestaticapps.net/quiz/1?loc=ja)
|
|
|
|
|
|
### イントロダクション
|
|
|
|
|
|
初心者のための古典的な機械学習のコースへようこそ! このテーマに全く触れたことのない方も、この分野をブラッシュアップしたい経験豊富な方も、ぜひご参加ください。私たちは、あなたのMLの学習についての親しみやすいスタート地点を作りたいと考えています。あなたの[フィードバック](https://github.com/microsoft/ML-For-Beginners/discussions)を評価し、対応し、取り入れることができれば幸いです。
|
|
|
[![機械学習への導入](https://img.youtube.com/vi/h0e2HAPTGF4/0.jpg)](https://youtu.be/h0e2HAPTGF4 "機械学習への導入")
|
|
|
|
|
|
> 🎥 上の画像をクリックすると、MITのJohn Guttagが機械学習を紹介する動画が表示されます。
|
|
|
### 機械学習を始めるにあたって
|
|
|
|
|
|
このカリキュラムを始める前に、コンピュータを設定し、ノートブックをローカルで実行できるようにする必要があります。
|
|
|
|
|
|
- **こちらのビデオでマシンの設定を行ってください。** マシンの設定方法については、[これらのビデオ](https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6)をご覧ください。
|
|
|
- **Pythonを学習する。** 本講座で使用する、データサイエンティストに有用なプログラミング言語である[Python](https://docs.microsoft.com/learn/paths/python-language/?WT.mc_id=academic-15963-cxa)の基本的な理解があることが望ましいです。
|
|
|
- **Node.jsとJavaScriptを学習する。** このコースではウェブアプリを構築する際にJavaScriptも何度か使用しますので、[node](https://nodejs.org)と[npm](https://www.npmjs.com/)がインストールされていること、PythonとJavaScriptの両方の開発に必要な[Visual Studio Code](https://code.visualstudio.com/)が利用可能であることが必要です。
|
|
|
- **GitHubのアカウントを作成する。** [GitHub](https://github.com)で私たちを見つけたのですから、すでにアカウントをお持ちかもしれませんが、もしお持ちでなければ、アカウントを作成して、このカリキュラムをフォークしてご自分でお使いください。(スターをつけることもお忘れなく😊)
|
|
|
- **Scikit-learnを探索する。** このレッスンで参照するMLライブラリのセットである[Scikit-learn]([https://scikit-learn.org/stable/user_guide.html)に慣れ親しんでください。
|
|
|
|
|
|
### 機械学習とは何か?
|
|
|
|
|
|
"機械学習(Machine Learning)"という言葉は、現在最も人気があり、頻繁に使用されている言葉の一つです。どんな分野の技術者であっても、多少なりとも技術に精通していれば、一度はこの言葉を耳にしたことがある可能性は少なくありません。しかし、機械学習の仕組みは、ほとんどの人にとって謎に包まれており、機械学習の初心者にとって、このテーマは時に圧倒されるように感じられます。そのため、機械学習とは何かを実際に理解し、実践的な例を通して段階的に学んでいくことが重要です。
|
|
|
|
|
|
![機械学習の人気を示すグラフ](../images/hype.png)
|
|
|
|
|
|
> Google Trendsによる、「機械学習」という言葉の最近の盛り上がりを示すグラフ。
|
|
|
|
|
|
私たちは、魅力的な謎に満ちた宇宙に住んでいます。ホーキング博士やアインシュタイン博士をはじめとする偉大な科学者たちは、私たちを取り巻く世界の謎を解き明かす意味のある情報を探すことに人生を捧げてきました。人間の子供は、大人になるまでの間に、年々新しいことを学び、自分の世界の構造を明らかにしていきます。
|
|
|
|
|
|
子供の脳と感覚は、周囲の事実を認識し、徐々に人生の隠れたパターンを学び、学習したパターンを識別するための論理的なルールを作るのに役立ちます。こういった学習プロセスは、人間をこの世で最も洗練された生物にしています。隠れたパターンを発見することで継続的に学習し、そのパターンに基づいて革新を行うことで、私たちは生涯を通じて自分自身をより良くしていくことができます。この学習能力と進化能力は、[「脳の可塑性」](https://www.simplypsychology.org/brain-plasticity.html)と呼ばれる概念に関連しています。表面的には、人間の脳の学習プロセスと機械学習のコンセプトには、モチベーションの面でいくつかの共通点があります。
|
|
|
|
|
|
[人間の脳](https://www.livescience.com/29365-human-brain.html)は、現実世界の物事を知覚し、知覚した情報を処理し、合理的な判断を下し、状況に応じてある行動をします。これは知的行動と呼ばれます。この知的行動のプロセスを機械にプログラムすることを人工知能(AI)といいます。
|
|
|
|
|
|
この言葉は混同されることがありますが、機械学習(ML)は人工知能の重要なサブセットです。**MLは、特殊なアルゴリズムを使用して、意味のある情報を発見し、知覚されたデータから隠れたパターンを見つけて、合理的な意思決定プロセスを裏付けることに関係しています。**
|
|
|
|
|
|
![AI, ML, ディープラーニング、データサイエンス](../images/ai-ml-ds.png)
|
|
|
|
|
|
|
|
|
>[このグラフ](https://softwareengineering.stackexchange.com/questions/366996/distinction-between-ai-ml-neural-networks-deep-learning-and-data-mining)に触発された[Jen Looper](https://twitter.com/jenlooper)氏によるインフォグラフィック
|
|
|
|
|
|
## このコースで学ぶこと
|
|
|
|
|
|
このカリキュラムでは、初心者が知っておかなければならない機械学習のコアな概念のみを取り上げます。私たちが「古典的な機械学習」と呼ぶものを、多くの学生が基礎を学ぶために使用する優れたライブラリであるScikit-learnを主に使ってカバーします。人工知能や深層学習などのより広い概念を理解するためには、機械学習の強力な基礎知識が不可欠ですので、ここで提供します。
|
|
|
|
|
|
- 機械学習の核となるコンセプト
|
|
|
- MLの歴史
|
|
|
- MLと公平性
|
|
|
- MLによる回帰の手法
|
|
|
- MLによる分類技術
|
|
|
- MLによるクラスタリング
|
|
|
- MLによる自然言語処理の技術
|
|
|
- MLによる時系列予測の技術
|
|
|
- 強化学習
|
|
|
- MLの現実世界への応用
|
|
|
## このコースで扱わないこと
|
|
|
|
|
|
- ディープラーニング
|
|
|
- ニューラルネットワーク
|
|
|
- AI
|
|
|
|
|
|
ニューラルネットワークやディープラーニング(ニューラルネットワークを用いた多層的なモデル構築)、AIなどの複雑な分野は、より良い学習環境を提供するために避けていますが、これらは別のカリキュラムで取り上げます。また、それらの大きな分野の中でも特にデータサイエンスに焦点を当てたカリキュラムを提供する予定です。
|
|
|
## なぜ機械学習を学ぶのか
|
|
|
|
|
|
機械学習とは、システムの観点から、データから隠れたパターンを学習し、知的な意思決定を支援する自動化されたシステムを構築することと定義されます。
|
|
|
|
|
|
この動機は、人間の脳が外界から認識したデータに基づいて特定の事柄を学習する仕組みに、ゆるやかにインスパイアされています。
|
|
|
|
|
|
✅ なぜビジネスでは、ハードコードされたルールベースのエンジンを作るのではなく、機械学習戦略を使ってみようと思うのか、ちょっと考えてみてください。
|
|
|
|
|
|
|
|
|
### 機械学習の応用
|
|
|
|
|
|
機械学習のアプリケーションは、今やほとんどどこにでもあり、スマートフォンやコネクテッドデバイス、その他のシステムから生成され、私たちの社会に流れているデータと同様にありふれたものとなっています。最先端の機械学習アルゴリズムの計り知れない可能性を考慮して、研究者たちは、多次元的・多分野的な現実の問題を解決するためにその能力を探求し、非常に良い結果を得ています。
|
|
|
|
|
|
**機械学習は様々な形で利用できます**:
|
|
|
|
|
|
- 患者の病歴や報告書から病気の可能性を予測する。
|
|
|
- 気象データを活用して気象現象を予測する。
|
|
|
- 文章の感情を理解する。
|
|
|
- プロパガンダの拡散を防ぐためにフェイクニュースを検出する。
|
|
|
|
|
|
金融、経済、地球科学、宇宙開発、生物医学工学、認知科学、さらには文科系の分野でも、それぞれの分野のデータ処理に伴う困難な問題を解決するために、機械学習が採用されています。
|
|
|
|
|
|
機械学習は、実世界のデータや生成されたデータから意味のある洞察を見出し、パターンを発見するプロセスを自動化します。機械学習は、ビジネス、健康、金融などの分野で非常に有用であることが証明されています。
|
|
|
|
|
|
近い将来、機械学習の基礎を理解することは、機械学習の普及に伴い、あらゆる分野の人々にとって必須のものとなるでしょう。
|
|
|
|
|
|
---
|
|
|
## 🚀 Challenge
|
|
|
AI、ML、深層学習、データサイエンスの違いについて理解していることを、紙や[Excalidraw](https://excalidraw.com/)などのオンラインアプリを使ってスケッチしてください。また、それぞれの技術が得意とする問題のアイデアを加えてみてください。
|
|
|
|
|
|
## [Post-lecture quiz](https://white-water-09ec41f0f.azurestaticapps.net/quiz/2?loc=ja)
|
|
|
|
|
|
## 振り返りと自習
|
|
|
|
|
|
クラウド上でMLアルゴリズムをどのように扱うことができるかについては、この[ラーニングパス](https://docs.microsoft.com/learn/paths/create-no-code-predictive-models-azure-machine-learning/?WT.mc_id=academic-15963-cxa)に従ってください。
|
|
|
|
|
|
## 課題
|
|
|
|
|
|
[稼働させる](assignment.ja.md)
|