機械学習は大きく分けて教師あり学習と教師なし学習の2つに分類されます。
ここではその教師あり学習と教師なし学習、さらにその中間の半教師あり学習について、それぞれアルゴリズムの例を挙げながら説明していきます。
教師あり学習
機械学習を実利用する際は、多くの場合この教師あり学習を用います。
教師あり学習では、人間があらかじめ付けた正解のラベルに基づき、機械が学習を行い、データセットに対する応答値の予測を行うモデルを構築します。
具体的な例を挙げると、たとえば上記のような手描き数字の画像に対し、あらかじめ人間などが0から9までのラベルを付け、機械が学習するのが、教師あり学習です。学習完了時点では、新しい入力画像に対して、どの数字が書かれているのかを正しく判断できるようになります。
教師あり学習と呼ばれる理由は、そのアルゴリズムがトレーニングデータから学習するプロセスが、先生が生徒に学習を指導しているように見えるからです。正解が用意されていて、アルゴリズムがトレーニングデータに対して予測をし、先生(正解)によってその予測結果が直される、といったような流れになっています。
学習はそのアルゴリズムが一定のパフォーマンスをあげるようになった段階でストップします。
教師あり学習の問題は、さらに分類と回帰という2つのグループに分けることができます。
分類 | 分類問題とは、出力がカテゴリであるものを言います。(”赤”や”青”あるいは”病気”や”病気でない”など)結果を離散出力で予測します。 | 例) 不動産データにて、見込み販売価格で家が売れるかどうかを出力 |
回帰 | 回帰問題とは、出力が実際の値であるものを言います。(”金額”や”重さ”など)連続出力内で結果を予測し、入力変数をいくつかの連続関数にマップします。 | 例) 不動産データにて、住宅規模データをもとに、販売価格を予測 |
実際には、分類や回帰にレコメンドや時系列予測が組み合わさっている場合もあります。
よく利用される教師あり学習アルゴリズムの例としては
- 線形回帰(回帰)
- ランダムフォレスト(分類、回帰)
- サポートベクトルマシン(分類)
が挙げられます。
教師なし学習
教師なし学習では、入力データのみがあり、ペアとなる正解のデータは存在しません。
ゴールは、データに対する理解を深めるためにデータの基本的な構造や分布をモデル化することです。
具体的な例を挙げると、ペアとなる正解ラベルの付いていない画像データだけが手元にあり、それを類似度や規則性に基いて分類するのが教師なし学習です。
教師なし学習と呼ばれる理由は、上記の教師なし学習と違ってそこには正解がない、つまり先生がいないためです。
アルゴリズムはデータ中の重要な構造を見つけ出す役割を持ちます。
教師なし学習の問題は、さらにクラスタリングとアソシエーション分析という、
2つのグループに分けることができます。
クラスタリング | クラスタリングは、データに内在するグループ分けを見つけ出します。 |
アソシエーション分析 | アソシエーション分析では、データの大部分を表すようなルールを見つけ出します。(Xを買う人はYも買う傾向にあるなど) |
クラスタリングについての詳しい解説は 【機械学習入門】クラスタリング をご覧ください。
よく利用される教師なし学習アルゴリズムの例としては
-
- K-means(クラスタリング)
- Aprioriアルゴリズム(アソシエーション分析)
が挙げられます。
半教師あり学習
半教師あり学習は、入力データが多く、一部のみ人間などの手でラベル付けされているものを言います。
これは教師あり学習と教師なし学習の間に位置します。
1つの良い例に写真のアーカイブがあります。数枚のみラベル付けがされてあって(犬、猫、人など)大部分がラベル付けされていない場合です。
多くの実世界の機械学習の問題はこれに当たります。なぜならデータのラベル付けにはその分野の専門家が必要な場合があり、費用が高くなってしまったり時間がかかってしまったりするからです。一方でラベル付けされていないデータは手に入れやすく保存も容易です。
Googleも、Expanderというフレームワークに半教師あり学習を用いて、Google Inboxのリマインダー・Google Allo・Google Photoの画像認識の向上などに活用しています。トレーニングデータが比較的少ない状況でもシステムを構築できる、効率的な手法です。
まとめ
ここまでで教師あり学習と教師なし学習の違い、そしてその間に位置する半教師あり学習について解説してきました。これらの分類は機械学習分野を体系的に理解する際にとても重要になってきます。
Avintonは、機械学習を学びたい方のために、機械学習入門者向けのブログコンテンツを公開しています。ぜひご覧ください。
また、アカデミーでも機械学習で画像識別プログラム体験や、ChainerRL(リンク)を用いたブロック崩しゲーム学習もできます。これらは出来立ての新しいアカデミーコンテンツです。Jupyter notebookをダウンロードして実際にコードを書きながらお試しください。
あなたも、Avintonでこのような最先端技術を習得し活用してみませんか?
社員の成長を導きながら、AIやビッグデータなどの最先端技術をプロジェクトに活用していくことが私たちのビジョンです。Avintonの充実した技術研修でスキルアップを図り、あなたのキャリア目標を一緒に達成しませんか?