Amazon Machine Learning: 主な用語と関連リソースについて

2015.05.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon Machine Learning(以下:Amazon ML)を始めるにあたっては機械学習や分析周りの用語に触れておく事がポイントかと思いますが、先日投稿したエントリの他にもその辺りの理解を深めるのに適した情報がありましたので併せて読んでみたいと思います。

目次

まずはじめに、Amazon MLは以下の様な概念・要素によって構成されています。以降トピックに基いて用語の解説を。

  • データソース:Amazon MLへのデータ入力に関連するメタデータを含みます。
  • 機械学習モデル:入力データから抽出されたパターンを用いて予測を生成。
  • 評価:機械学習モデルの品質を測定。
  • バッチ予測:非同期で生成、複数入力データの観測に対する予測。
  • リアルタイム予測:同期生成、個々のデータ観測に対する予測。

用語:データソース

データソースは、入力データに関するメタデータを含むオブジェクトです。

Amazon MLはデータを読み込み、その属性の記述統計(descriptive statistics)を計算し、データソースオブジェクトの一部として、スキーマ及びその他の情報と共に統計情報を格納します。次に、Amazon MLはデータソースを使って機械学習モデルを訓練・評価し、バッチ予測を作成します。

以下はデータソースに関連する用語の定義です。

用語 意味・定義
属性 (Attribute) 観測データ内で一意となる、名前付きのプロパティ。 スプレッドシートの様なタブ区切りファイル(TSV)やカンマ区切り(CSV)ファイルでは、 列ヘッダーが属性を表し、行には各属性の値が含まれています。 【類義語】変数、変数名、フィールド、列
データソース名 (Datasource Name) (オプション)データソースを人が識別するために付けられた名前。 これらの名前はAmazon MLコンソール内で検索・管理する事が出来ます。
入力データ (Input Data) データソースによって参照されているすべての観測データの総称。
場所 (Location) 入力データの場所。 現時点では、Amazon MLは以下のLocationを使用する事が出来ます。 ・Amazon S3バケット ・Amazon Redshiftデータベース ・RDS MySQLデータベース
観測/観測データ (Observation) 単一の入力データ単位。 例えば、不正取引を検出するために機械学習モデルを作成している場合、 入力データはそれぞれが個々のトランザクションを表す多くの観測で構成されます。 【類義語】 レコード、サンプル、インスタンス、行
行ID (Row ID) (オプション)指定した場合、入力データ内の属性を識別するフラグが予測出力結果に含まれます。 この属性を付ける事で、観測データと対応する予測を関連付ける事が容易に行えるようになります。 【類義語】行識別子
スキーマ (Schema) 入力データを解釈する為に必要となる情報。 属性名とそれらに割り当てられたデータ型や名前等が含まれます。
統計 (Statistics) 入力データの各属性の統計情報サマリーを表わします。これらの統計は、2つの目的を果たします。 ・AmazonMLコンソールで、統計情報の内容をグラフ表示します。 ユーザーがデータをひと目で把握し、凹凸やエラーを特定出来ます。 ・AmazonMLは、機械学習モデルの品質を向上させるために、統計情報を訓練プロセス中に使用します。
ステータス (Status) 現在のデータソースの状態を表します。 (In Progress/Completed/Failed)
ターゲット属性 (Target Attribute) 機械学習モデルを訓練する文脈においては、ターゲット属性(Target Attribute)は、 "正しい"回答を含む入力データ内の属性名を識別します。 Amazon MLは、入力データにパターンを見つけ、機械学習モデルを生成するために このターゲット属性を使います。予測の評価および生成の文脈では、 ターゲット属性は訓練された機械学習モデルによって値が予測される属性となります。

用語:機械学習モデル

機械学習モデルは、データのパターンを見つける事によって予測を生成する数学的モデルです。

Amazon MLは二項(バイナリ)分類、多項分類、回帰の3種類の機械学習モデルをサポートしています。

機械学習モデルに関連する用語の定義は以下の通りです。

用語 意味・定義
二項 (Binary) 二値機械学習モデルを訓練させる目的は、 "0"または"1"である値を予測する事です。
多項 (Multiclass) 多項機械学習モデルを訓練させる目的は、許容値が制限された 事前に定義されたセットに属している値を予測する事です。
回帰 (Regression) 回帰機械学習モデルを訓練させる目的は、数値を予測する事です。
モデルサイズ (Model Size) 機械学習モデルはパターンを捕捉し、保存します。 機械学習モデルのパターンが増えると、サイズも大きくなります。 機械学習モデルのサイズはメガバイト表記で記載されています。
パス数 (Number of Passes) 機械学習モデルを訓練する時はデータソースのデータを使用します。 学習過程における各データ レコードを複数回使用に有益なことがあります。 AmazonMLが同じデータレコードを使わせるようにする回数は" パスの数(number of passes)"と呼ばれます。
正則化 (Regularization) 正則化は高品質のモデルを得る為に使う事が出来る、機械学習のテクニックです。 AmazonMLは殆どのケースで適切に効果を発揮するデフォルト設定を提供しています。

用語:評価

評価(Evaluation)は機械学習モデルの品質を測定し、パフォーマンス良く実行しているかどうかを決定します。以下の用語は『評価』に関連したものとなります。

用語 意味・定義
モデルの洞察力 (?Model Insights) Amazon MLはあなたにmetricとinsightを提供。 この情報により、機械学習モデルの予測パフォーマンスを評価出来るようになります。
AUC Area Under the Curveの略。 ROC曲線の曲線よりしたの面積。分類器の精度評価に使う。
マクロ平均F1スコア (Macro-averaged F1-score) 多項分類機械学習モデルの予測パフォーマンス評価するために用いられます。
二乗平均平方根 (RMSE) 二乗平均平方根(root mean square error)の略称。 回帰の機械学習モデルの予測パフォーマンスを評価するために用いられる指標です。
カットオフ (Cut Off) 機械学習モデルは数値予測スコアを生成する事によって動作します。 カットオフ値と適用する事により、システムはこれらのスコアを0と1のラベルに変換します。 ・参考:カットオフ値 ・参考:用語解説 : カットオフ値とは?
正解率(Accuracy) 正しい予測の割合を測定します。 予測結果全体と、答えがどれぐらい一致しているかを判断する指標。計算式は下記を参照。 ・参考:そろそろ本気で機械学習の評価方法について学習するよ - Web就活日記
適合率 (Precision) 予測を正と判断した中で、答えも正のもの。
再現率 (Recall) 答えが正の中で、予測が正とされたもの。 ・参考:検索における適合率 (Precision) と再現率 (Recall)

用語:バッチ予測

バッチ予測は、全てを一度に実行する事が出来る観測のセットです。リアルタイムの要件を持っていない予測分析に適しています。以下の項目はバッチ予測に関連した用語です。

用語 意味・定義
出力場所 (Output Location) バッチ予測結果はS3バケットの出力場所に格納されます。
マニフェストファイル (Manifest File) 各入力データファイルとバッチ予測結果をこのファイルで関連付けします。 このファイルはS3バケットの出力場所に格納されます。

用語:リアルタイム予測

リアルタイム予測は、全てを一度に実行する事が出来る観測のセットです。リアルタイムの要件を持っていない予測分析に適しています。以下の項目はリアルタイム予測に関連した用語となります。

用語 意味・定義
リアルタイム予測API (Real-time Prediction API) 要求ペイロード内の単一の入力観測データを受け入れ、予測結果を返します。
リアルタイム予測エンドポイント (Real-time Prediction Endpoint) リアルタイム予測APIと機械学習モデルを併せて使用するには、 リアルタイム予測エンドポイントを作成する必要があります。 作成後は、エンドポイントにリアルタイム予測をリクエスト出来る様になるURLが含みます。

Amazon Machine Learningにアクセスする

Amazon Machine Leaningには、以下の方法でアクセスする事が出来ます。

Amazon Machine Learning関連リソース

AWSで公開されているAmazon ML関連の情報・リソースには以下の様なものがあります。

まとめ

機械学習というと踏み込むには少々勉強が必要なジャンルではありますが、このような形で解説をしてくれるドキュメントがあるのは機械学習初心者には嬉しいところですね。これらと併せて実践を積み重ねて行く事でより一層の理解を深めたいと思います。こちらからは以上です。