機械学習とは!?
[2014 年 7 月 1 日]
「機械学習」という言葉が一般に浸透するようになってきましたが、「機械学習とは何ですか?」とよく聞かれることがあります。機械学習を使うシナリオは後述するようにいくつかありますが、機械学習に必ず使うのが「データセット」です。機械学習とは、データの集合である「データセット」から、それを特徴づける「モデル」と呼ばれるソフトウェアを作成し、このモデルにより新たなデータに関する予測を行う手法です。
機械学習では、アウトプットについて完全にプログラミングされていなくても、インプットされる「データセット」から反復的に学習して「モデル」を改善し、新たなデータに関する予測というアウトプットの品質を改善することができます。
機械学習はとても広い範囲で使われており、マイクロソフトが作成している様々なソフトウェアの中にも広く浸透しています。大まかに分類すると、以下の 3 つのシナリオで使われています。
- データマイニング: ビッグデータからインサイトを得たいときに利用します。
- 統計工学: 不確かなデータに対して決定を下すソフトウェアをデータから作成する際に利用します。
- 人工知能: 人間の心を疑似的に作り出し、視覚、聴覚、理解能力があるコンピュータを作り出します。
マイクロソフトで機械学習を使用しているシナリオとして、たとえば以下のようなものがあります。
不正検知
Microsoft Malware Protection Center では、Microsoft Research の協業してマルウェアを自動検出するソフトウェアの構築に機械学習を利用しています。マルウェアの開発に関するインサイトを得るための分析にも役立っています。
検索エンジンの構築
Microsoft Bing 検索エンジンの仕組みはとても複雑で、入力されたクエリを理解して、あらかじめスコアリングされた Web ページの中から役に立ちそうなページを返します。Bing は非常に大きなトラフィックを扱っており、自然言語の不確定さやあいまいさの判断は自動的に行われる必要があります。高い品質の検索エンジンを作成するには、様々なパーツの中で機械学習を使い、それを組み合わせることが必須です。Web ページのランキング作成は機械学習を使っている例です。
視覚/聴覚を持つコンピューターの構築
マイクロソフトではコンピューターによる画像認識と音声認識の両方を扱っています。人間のジェスチャーを理解する Kinect のソフトウェアは機械学習で作成されています。マイクロソフトの音声認識システムは深層学習を使って構築されています。深層学習とは、機械学習モデルの一種で、脳のネットワーク構造をまねて作られたモデルです。また、リアルタイムの音声機械翻訳にも機械学習が使われています。
この文章は以下の原文を要約したものです:
- 2017/7/1: What is Machine Learning? (Machine Learning Blog)