MachineLearning

教師あり学習と教師なし学習の違いとは?【使い道と例もセットで解説】

教師あり学習 教師なし学習 違い
機械学習を勉強中の人
機械学習を勉強中の人
機械学習の教師あり学習と教師なし学習ってなんだろう…。

違いがよく分からないな…。

この記事では、上記のような悩みを解決していきます。

 

この記事の想定読者

想定している読者は、次のとおりです。

  • 機械学習を勉強している人
  • 教師あり学習と教師なし学習の違いが分からない人
  • 2つをどうやって使い分けたら良いのか知りたい人

 

この記事では「教師あり学習と教師なし学習の違い」について紹介していきます。

教師あり学習と教師なし学習って言葉だけは分かるけど、いまいちピンときませんよね。

 

でも本記事を読み終えれば、教師あり学習と教師なし学習の違いが分かるだけでなく、どのように使うわけていけば良いのかまで分かるようになります。

この記事を書いている僕は、大学時代にディープラーニングを学んで、現在データサイエンティストとして働いています。

参考になる情報を提供できているはずなので、ぜひ最後まで読んでいただけたらと思います(`・ω・´)!

 

教師あり学習と教師なし学習の違いとは?

教師あり学習 教師なし学習 違い

教師あり学習と教師なし学習の違いは、ひとことで言うと「あらかじめ正解を教えるのか」だけです。

 

教師あり学習は、正解を当てる

 

教師あり学習の場合には、あらかじめ正解を教えてあげて、正解を予測するのが目的です。

 

具体的に言うと、以下のような画像に「ネコ」という正解をくっつけて機械学習したあとで、正しく「ネコ」だと予測することを目的にしています。

教師あり学習

ここでポイントになるのは、「ネコ」という正解を、機械学習するときに教えてあげることです。

見方を変えると、上のような画像に「イヌ」と教えてあげれば、機械学習した結果は「イヌ」だと予測するようになります。

 

なので、教師あり学習を使う場合には、ただ正解がセットになったデータを渡すだけではなく、「正しい正解」を教えてあげることも大事になってくるんですね。

 

教師あり学習の例

  • 花の種類を当てる
  • 株価を予測する
  • 天気を予測する

あげるとキリがないですが、たとえばこんな感じです。

 

正解を用意できるものであれば、基本的には何でも教師あり学習に挑戦することができます。

※挑戦できるだけであって、正しく予測できるわけではありません。株価の予測とかは、かなり難しいです。

教師なし学習は、グループ分けをする

 

教師あり学習に対して、教師なし学習の場合には、正解を当てるのではなくグループ分けをおこないます。

 

具体的にいうと、ネコやイヌの画像を1,000枚用意するんだけど、正解は用意しないで機械学習していきます。

教師なし学習

そうすると正解はないけど、鼻や耳の特徴から2つのグループに「分割だけ」します。

教師あり学習のときは、正解も用意してあげたので、学習で使っていない画像を渡したときに「これはネコです!」と予測できました。

 

でも、教師なし学習では「正解となる教師」がないので、ただグループ分けだけして終了なんですね。

こういった解説を聞くと、教師なし学習が微妙な方法だと思われるかもですが、正解が準備できないときに役立ちます。

 

たとえば、セブンイレブンで人気の商品はどれかを予測するとき、正解って用意するのが難しいですよね。

セブンイレブンで働いている人なら準備できるかもしれませんが、僕たちからは正解って準備できないです。

こういったときに、価格やTwitterの口コミなどのデータだけ用意してあげて、グループ分けしてあげると、「この商品が人気なのでは?」と知見を得られるわけです。

 

このように教師なし学習は、人間だと判断が難しい知見を得るために活用されますね。

なので、教師なし学習は注目を浴びにくいですが、大事な機械学習手法になってきます。

 

さらに : 教師あり学習と教師なし学習を機械学習手法とセットで解説

教師あり学習 教師なし学習 違い

教師あり学習と教師なし学習については以上の通りですが、具体的な機械学習手法とセットでおさえておきましょう。

 

機械学習手法は、4分割できます

 

この記事で紹介している教師あり学習と教師なし学習ですが、これらは予測対象によってさらに2分割できます。

 

具体的には、以下の表のようになります。

教師あり学習教師なし学習
予測値が数値回帰次元削除
予測値がカテゴリー分類クラスタリング

予測値が「数値」と呼んでいるのは、株価の予測だったり気温を予測するといった、数字を当てることです。

それに対して、予測値が「カテゴリー」というのは、犬か猫かだったり、手書き数字の0〜9を当てる場合を指します。

 

それぞれの用途は、たとえば以下の感じです。

  • 回帰 : アイスクリームの売り上げ予測
  • 分類 : アイスクリームの種類を当てる
  • 次元削除 : 数1Aと数2Bの点数を、数学の点数に変換する
  • クラスタリング : 数学の点数で偏差値ごとにグループ分けする

次元削除など、少し難しい言葉を使ってしまいましたが、具体例で考えてみると、そこまで難しくないかと思います。

 

機械学習手法は、2つの軸で考えよう

 

おそらく、この記事を読んでいる方は「結局どうやって機械学習手法を選んだら良いんだろう…。」といった疑問を持つかと思います。

 

その場合には、以下の2つの軸で機械学習手法を選んでいきましょう。

  • STEP① : 正解は用意できますか?
  • STEP② : 予測したいのは数値ですか?種別ですか?

 

たとえば、会社の売り上げを予測したいのであれば、以下のフローになります。

  • STEP① : 過去の売り上げデータがあるので、正解は準備できる → 教師あり学習
  • STEP② : 予測したいのは売り上げ → 予測値が数値

 

つまり、以下の方でいうと、回帰に当てはまりますよね。

教師あり学習教師なし学習
予測値が数値回帰次元削除
予測値がカテゴリー分類クラスタリング

 

このようにして、機械学習手法を選択していきます。

なお、具体的な機械学習手法については、別記事にて紹介していきます。多すぎて1つの記事では紹介できません(´⊙ω⊙`)

 

まとめ : 目的に合わせて教師あり学習と教師なし学習を使い分けよう!

 

というわけで、教師あり学習と教師なし学習について紹介してきました。

復習すると、教師あり学習と教師なし学習の違いは、「あらかじめ正解を教えるのか」だけでしたね。

つまり、正解を準備できるなら教師あり学習だし、正解を準備できないなら教師なし学習です。

 

どの手法を使えば良いか迷った場合

さらに、自分がどんな機械学習を使うべきか迷った場合には、以下の表を使えばOKです。

教師あり学習教師なし学習
予測値が数値回帰次元削除
予測値がカテゴリー分類クラスタリング

 

これを使えば、迷うことなく機械学習手法を選択できます。

分類って、どんな機械学習手法があるんだろう…。」とか「クラスタリングってなんだろう…。」と気になった方は、以下の本がオススメですよ。

Pythonの基礎から機械学習の実装まで、幅広く学んでいけます。

機械学習もライブラリに頼るのではなく、すべて手書きで書いていくので、コーディング力も上がるのが良いですね!

 

他にも、機械学習を深く学びたい場合には、以下の記事で紹介している本を使ってみると良いです。

データサイエンス 本 おすすめ
【2020年最新】データサイエンスでおすすめの本10冊【現役が紹介】 【2020年最新】データサイエンスでおすすめの本10冊【現役が紹介】 2020年最新版にて、データサイエン...

現役のデータサイエンティスト目線で選んだ本たちです。

 

機械学習は楽しいので、どんどん勉強していきましょう。

それでは、この辺で。

 

おすすめの記事