教師あり学習とは?【入門】機械学習

機械学習とは?

機械学習は、基本的に、データ例または過去の経験に基づいて大きな問題を解決するようにコンピュータに教えることです。

通常、データは、構造が未知でラベリングされていません。

あなたの力は、学習を進めるなかで、隠された構造を推測するということに繋がります。

技術用語を用いると、「教師なし学習」は後者を表しています。

一方で、過去の経験は明確なラベルとあなたが答えようとしている質問に対する答えを持つデータです。

過去の経験データは、設定されたラベルに基づいて未知の答えを予測することに使用することができます。

これが「教師あり学習」です。

教師あり学習

この機械学習を実行するために、データをデータセットとテストセットに分ける必要があります。

データセットがモデルのトレーニングに使用するデータを持つのに対して、テストセットはモデルのテスト及び評価に使用するデータとなります。

教師あり学習の実行ステップ

教師あり学習の実行ステップは、以下になります。

  1. 現実的な予測結果を得るための公正なデータサンプリング
  2. データの整理とクリーンアップ
  3. データセットとテストセットへのデータ分割
  4. データセットを用いたモデルトレーニング
  5. テストセットを用いたモデルテストと評価
  6. トレーニングされたモデルをWebサービスとしてデプロイ

機械学習と従来のプログラミングとの大きな違いは出力の性質です。

従来のプログラミングでは、生データとプログラミングのルールの両方が入力として機能し、出力は処理されたラベルデータです。

機械学習では、その逆で、生データとラベルデータが入力として機能し、出力がトレーニングされたモデル(プログラミング規則)となります。

教師あり学習の実験(レストランのリコメンド)

課題

顧客評価をベースとして、類似したレストランを見つけるモデルを設計する必要があります。この実験はCortana Intelligence Galleryにアップロードされています。

実験プラン

この実験は、Microsoft Azure ML Studio 上で行い、以下のようないくつかのサンプルデータを使用します。

  1. レストランの評価
  2. レストランの顧客データ
  3. レストランデータ

この実験では、私は主にレストランの評価データセットを使用しました。

そのデータセットは整理もクリーンアップも必要とせず、この実験で私が使用したマッチボックス推奨モジュールに必要なユーザーアイテム評価(user-item-rating)のトリプレット構造に既に従っていました。

実験を行うにあたっては以下のステップで進めました。

  1. レストランの評価データセットをデータセットとテストセットに分けた。
  2. マッチボックス推奨モジュールを使用して、このモジュールの下にあるオプションリストからRelated Itemオプションを選択した。
  3. レストラン評価データセットに併せてさらに2つのデータセット、レストランの顧客とレストランデータセットを使用し、モデルのトレーニングを行なった。モデルがユーザー(顧客)とアイテム(レストラン)の両方に10の特性を使用するように設定した。
  4. トレーニングされたマッチボックスモデルを採点した。
  5. 採点されたデータセットをレストランデータセットと結びつかせ、それをより読みやすくユーザーフレンドリーにするために、IDを読みやすい名前に置き換えるなどの作業を行った。

実行

以下の画像は実験の全体像を示しています

関連するレストラン

レストランの評価データセットはユーザーアイテム評価トリプレット(user-item-rating triplets)で構成されています。

以下の画像はこの実験で使用された3つ全てのデータセットを示しています。

レストラン評価のデータ
レストラン顧客のデータ
レストランデータ

この実験でのファーストステップはレストランの評価データセットを以下のようにデータセットとテストセットに分けることです。

評価データセットの分割

レストランの評価データセットは顧客及びレストランデータセットと共に、マッチボックス推奨モデルのトレーニングで使用されます。

次のステップはマッチボックス推奨モデルの採点を行うことと、レコメンド予測のとして関連アイテムを選択することです。

モデル評価、モデル精度のテスト、そして予測の信頼性をチェックします。

スコアリングされたデータセット

スコアデータセットは未だ読みにくい状態です。

次に、それをレストランデータセットと結合しIDをレストラン名に置き換えることによって、ユーザーは読みやすくなります。

最後にクリーンアップされたスコアリング・データは以下のようになります:

まとめ

トレーニングされたモデルとWebサービスとしてデプロイすることができ、レストランの予約Webサイトあるいはアプリで使用することができます。

ユーザーは、このおすすめに基づいて、おそらく気にいるであろうレストランの提案を得られるでしょう。

原文

https://chatbotslife.com/machine-learning-101-supervised-learning-57817cbe6189

チャットボットライフとの提携により、翻訳し掲載しています。
チャットボットライフとは、最新のボット、AI、NLP、ツール等を扱うメディアです。