【機械学習】教師あり学習、教師なし学習について簡単に解説!それぞれのアルゴリズムを紹介

こんにちは!

皆さんは、教師あり学習、教師なし学習という言葉をご存知ですか?

Python初心者
教師って学校みたいだね!

教師あり学習、教師なし学習というのは、機械学習の学習手法の一種で、機械学習では当たり前の知識です。

2つの言葉は、その名の通り、教師となるデータがあるかどうかが違います。

その違いについてしっかりと見ていきましょう。

今回の記事では、以下の内容について紹介します。

  • 教師あり学習について
  • 教師なし学習について

教師あり学習

教師あり学習は、データに正解を与えて学習させる学習方法です。

そのため、学習させるデータには、説明変数と目的変数が含まれます。

説明変数:特徴を表すデータ
目的変数:正解のラベル

説明変数・目的変数に関しては、以下の記事でより詳しく紹介しています。

特徴量と説明変数・目的変数の違いについて簡単に解説!

Python初心者
機械学習の基本の方法だね!

例えば、説明変数に身長と体重があり、目的変数に性別があった場合を考えます。身長と体重から性別を予測したい場合ということです。

学習させるデータには、身長、体重、性別を含ませ、このデータにより機械学習の予測モデルを作成します。

その後、身長と体重を含んだ新しいデータを予測モデルに与えることで、性別を予測できるようになります。

この一連の流れが教師あり学習の方法になります。

また、教師あり学習には、大きく分けて「分類」と「回帰」という種類があります。

分類

分類というのは、カテゴリを予測することです。

先程の身長、体重から性別を予測するような問題では、性別というのは男性、女性の2つのみです。(LGBTの問題は置いておきます)

そのため、予測は男性か女性のどちらかを予想します。

このように、連続した数値ではなく、カテゴリを予測するのが分類です。

男性か女性かという2つの分類だけではなく、複数に分ける分類も存在します。

回帰

分類とは異なり、連続した値を予測するのが回帰です。

例えば、過去の天気のデータから、明日の降水確率を予測するのが回帰です。

Python初心者
確率は0から1の連続した値だね!

このように回帰では、基本的に数字の大小に意味があります。

教師あり学習の代表的なアルゴリズム

教師あり学習のアルゴリズムには以下のようなものがあります。

分類と回帰は似ているため多くのアルゴリズムが両方行うことができます。

教師なし学習

教師なし学習は、教師あり学習とは逆に、正解を与えずに学習させる学習方法です。

正解を与えずに何を学習して何を予測するのかと疑問に思う方もいるかもしれません。

Python初心者
正解がないのに学習してどうなるんだろ・・・

実は、教師なし学習の真の目的は予測にあるのではなく、学習するデータの特徴を掴むことです。

教師なし学習を行うことで、データを似たデータの集まりに分けたり、データを変換して別の学習しやすいデータに変形することができるようになります。

教師なし学習の代表的なものには、「クラスタリング」「次元削減」があります。

クラスタリング

クラスタリングとは、データをいくつかのグループに分ける手法です。

このクラスタリングによって分けたグループは、クラスタと呼ばれます。

クラスタリングを行うことで、似た性質を持つデータを見つけることができ、新たな知見を得ることができるようになります。

次元削減

次元削減とは、学習に使用するデータの特徴量の数を減らす手法の一つです。

次元削減を行い、特徴量の数を減らすことで、過学習を抑えるという効果があります。

過学習については、後ほど別の記事で解説します。

教師なし学習の代表的なアルゴリズム

教師なし学習のアルゴリズムには以下のようなものがあります。

  • クラスタリング
     ・k-means
     ・k-means++
  • 次元削減
     ・主成分分析
     ・線形判別分析

まとめ

今回の記事では、以下の内容について紹介しました。

  • 教師あり学習について
    →正解ラベルをつけて学習
  • 教師なし学習について
    →正解ラベルをつけずに学習
Python初心者
違いは簡単だけど、目的は全然違ったね!

機械学習を勉強する際には、まずは教師あり学習のアルゴリズムから勉強してみましょう!

広告