Machine Learning の概要
Amazon Redshift では、機械学習機能を活用して、データから貴重なインサイトを得ることができます。この機械学習 (ML) の概要では、ML モデルのトレーニングとデプロイのためにデータを調査、視覚化、準備する方法について説明します。以下のセクションでは、Amazon Redshift ML を使用し、機械学習を通じてデータの可能性を引き出すプロセスについて説明します。
Amazon Redshift ML を使用すると、SQL ステートメントを使用して機械学習モデルをトレーニングし、予測のために SQL クエリでそれらを呼び出すことができます。
Amazon Redshift ML の使用方法については、以下の動画をご覧ください。
Redshift クラスターまたは Serverless ワークグループをセットアップするための前提条件、アクセス許可、Amazon Redshift ML を使用するための所有権については、以下のセクションを参照してください。これらのセクションでは、Amazon Redshift ML での簡単なトレーニングと予測の仕組みについても説明します。
機械学習による問題解決のしくみ
機械学習モデルは、トレーニングデータでパターンを見つけ、これらのパターンを新しいデータに適用することで予測を生成します。機械学習では、データを最もよく説明するパターンを学習することで、これらのモデルをトレーニングします。その後、モデルを使用して新しいデータを予測します (推論とも呼ぶ)。機械学習は通常、パラメータを変更し、トレーニングデータを改善することによって予測の精度を継続的に向上させることができる反復的なプロセスです。データが変更されると、新しいデータセットを使用して新しいモデルを再トレーニングします。
さまざまなビジネス目標に対応するために、さまざまな基本的な機械学習アプローチがあります。
Amazon Redshift 機械学習での教師あり学習
Amazon Redshift は、高度なエンタープライズ分析への最も一般的なアプローチである教師あり学習をサポートしています。教師あり学習は、確立されたデータセットがあり、特定の入力データがさまざまなビジネス成果を予測する方法を理解している場合に、好ましい機械学習アプローチです。これらの結果は、ラベルと呼ばれることもあります。特に、データセットは、特徴 (入力) とターゲット (出力) で構成される属性を持つテーブルです。たとえば、過去と現在の顧客の年齢と郵便番号を記載したテーブルがあるとします。また、現在の顧客に対しては true、メンバーシップを停止した顧客に対しては false という「アクティブ」フィールドもあるとします。教師あり機械学習の目的は、ターゲットが「False」である顧客によって表される、カスタマーチャーンにつながる年齢と郵便番号のパターンを見つけることです。このモデルを使用して、メンバーシップの一時停止など、解約する可能性が高く、保持インセンティブを提供する可能性のある顧客を予測できます。
Amazon Redshift は、回帰、バイナリ分類、およびマルチクラス分類を含む教師あり学習をサポートします。回帰とは、顧客の総支出など、連続値を予測する問題を指します。バイナリ分類は、顧客が解約するかどうかを予測するなど、2 つの結果のうちの 1 つを予測する問題を指します。マルチクラス分類とは、顧客が関心を持つ可能性のある項目を予測するなど、多くの結果の 1 つを予測する問題を指します。データアナリストとデータサイエンティストは、これを使用して教師あり学習を実行し、予測、パーソナライゼーション、顧客解約の予測などの問題に取り組むことができます。また、締結しそうな売買の予測、収益予測、不正検出、顧客の生涯価値予測などの問題のためにも、教師あり学習を使用できます。
Amazon Redshift 機械学習での教師なし学習
教師なし学習では、機械学習アルゴリズムを使用して、ラベル付けされていないトレーニングデータの分析とグループ化を行います。このアルゴリズムでは、隠れたパターンやグループを検出します。教師なし学習の目標は、データの基礎となる構造や分布をモデル化して、データの詳細を明らかにすることです。
Amazon Redshift は、教師なし学習での問題に対応するために、K-Means によるクラスタリングアルゴリズムをサポートしています。このアルゴリズムは、データ内でグループを検出する際にクラスタリングで発生する問題を解決します。K-Means アルゴリズムは、データ内にある離散群の検出を試みます。未分類のデータについては、その類似点と相違点に基づいたグループ分けと分割が行われます。グループ化によって、K-Means アルゴリズムは最適な重心を反復的に決定し、各メンバーを最も近い重心に割り当てます。最も近い重心が同じである各メンバーは、同じグループに属します。1 つのグループには、可能な限り互いに類似した (かつ、他のグループのメンバーとは可能な限り相違する) メンバーが集められます。例えば、パンデミックの影響を受けた都市を分類したり、消費者製品の人気に基づいて都市を分類したりするために、K-Means クラスタリングアルゴリズムを使用できます。
K-Means アルゴリズムを使用する場合は、入力として k
を指定します。これにより、データ内で検索しようとするクラスターの数を指定します。このアルゴリズムは k 個の重心を出力します。各データポイントは、k 個のクラスターの内で最も近方の 1 つに属します。各クラスターは、その重心によって表現されます。1 つの重心は、クラスターの多次元平均と考えることができます。K-Means アルゴリズムは、クラスター間の距離を比較して、互いにどの程度異なっているかを評価します。一般に、距離が大きいほどクラスター間の相違が大きいことを意味します。
K-Means では、モデルの特徴が同じスケールにとどまることや、信頼性の高い結果が求められるため、データの前処理は重要です。Amazon Redshift では CREATE MODEL ステートメント用として、StandardScaler、MinMax、NumericPassthrough など、K-Means プリプロセッサをいくつかサポートしています。K-Means に前処理を適用しない場合は、トランスフォーマーとして明示的に NumericPassthrough を選択します。K-Means の詳細については、「K-MEANS パラメータによる CREATE MODEL」を参照してください。
K-Means クラスタリングを使用して教師なしトレーニングを実行する方法を学ぶには、以下の動画を視聴することができます。
Amazon Redshift 機械学習の用語と概念
以下の用語は、Amazon Redshift ML の概念の一部を説明するために使用されます。
-
Amazon Redshift の機械学習は、1 つの SQL コマンドでモデルをトレーニングします。Amazon Redshift ML と Amazon SageMaker AI は、データ変換、アクセス許可、リソース使用量、適切なモデルの検出をすべて管理します。
-
トレーニングは、Amazon Redshift が指定されたデータのサブセットをモデルに実行することにより、機械学習モデルを作成するフェーズです。Amazon Redshift は、Amazon SageMaker AI でトレーニングジョブを自動的に開始し、モデルを生成します。
-
予測 (推論とも言う) とは、Amazon Redshift SQL クエリでモデルを使用して結果を予測することです。推論時に、Amazon Redshift はより大きなクエリの一部としてモデルベースの予測関数を使用して予測を生成します。予測は Amazon Redshift クラスターでローカルに計算されるため、高いスループットと低レイテンシーを実現し、追加コストなしで利用できます。
-
Bring Your Own Model (BYOM) では、Amazon Redshift の外部で Amazon SageMaker AI を使用してトレーニングされたモデルを使用し、Amazon Redshift でローカルにデータベース内推論を実行できます。Amazon Redshift ML では、ローカル推論での BYOM の使用がサポートされています。
-
ローカル推論は、モデルが Amazon SageMaker AI で事前トレーニングされ、Amazon SageMaker AI Neo によってコンパイルされ、Amazon Redshift ML でローカライズされる場合に使用されます。ローカル推論でサポートされているモデルを Amazon Redshift にインポートするには、CREATE MODEL コマンドを使用します。Amazon Redshift は Amazon SageMaker AI Neo を呼び出して、事前にトレーニングされた SageMaker AI モデルをインポートします。そこでモデルをコンパイルし、コンパイルされたモデルを Amazon Redshift にインポートします。ローカル推論を使用して、高速化と低コストを実現します。
-
リモート推論は、SageMaker AI にデプロイされたモデルエンドポイントを Amazon Redshift が呼び出す場合に使用されます。リモート推論では、あらゆるタイプのカスタムモデルと深層学習モデル (Amazon SageMaker AI で構築およびデプロイした TensorFlow モデルなど) を柔軟に呼び出すことができます。
また、次の点も重要です。
-
Amazon SageMaker AI は、フルマネージド型の機械学習サービスです。Amazon SageMaker AI では、データサイエンティストとデベロッパーが簡単にモデルの構築とトレーニングを簡単に行い、本番稼働のホスト環境に直接デプロイできます。Amazon SageMaker AI の詳細については、「Amazon SageMaker AI デベロッパーガイド」の「What is Amazon SageMaker AI」を参照してください。
-
Amazon SageMaker AI Autopilot は、お手元のデータに基づいて、分類または回帰に最適な機械学習モデルを自動的にトレーニングおよびチューニングする機能セットです。ユーザーは、このための完全な制御性と可視性を維持します。Amazon SageMaker AI Autopilot は、表形式の入力データに対応しています。データのクリーニングと前処理を自動で行い、線形回帰、二項分類、多クラス分類に適したアルゴリズムを自動選定します。また、ハイパーパラメータの自動最適化 (HPO)、ディストリビューショントレーニング、自動インスタンス、クラスターサイズの選択もサポートしています。Amazon SageMaker AI Autopilot の詳細については、「Amazon SageMaker AI デベロッパーガイド」の「Automate model development with Amazon SageMaker AI Autopilot」を参照してください。
-
Amazon Bedrock は、AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazon などの主要な AI 企業から、生成 AI アプリケーションの構築に必要な幅広い機能とともに、高性能の基盤モデル (FM) を単一の API で提供するフルマネージドサービスです。