

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 潜在的ディリクレ配分 (LDA) アルゴリズム
<a name="lda"></a>

Amazon SageMaker AI 潜在的ディリクレ配分 (LDA) アルゴリズムは、一連の観測値を異なるカテゴリの混合として記述しようとする教師なし学習アルゴリズムです。LDA は、テキストコーパス内のドキュメントによって共有されるトピックの、ユーザー指定数を検出するために最もよく使用されます。ここで、各観測はドキュメントであり、特徴は各単語の存在 (または出現回数) であり、カテゴリはトピックです。このメソッドは管理されていないので、トピックは前もって指定されておらず、人間が自然にドキュメントを分類する方法とは必ずしも合致しません。トピックは、各ドキュメント内に出現する単語に対する確率分布として学習されます。各ドキュメントは、順次、トピックの混在として示されます。

類似したトピックが混在する 2 つの異なるドキュメントの正確な内容は同じではありません。しかし全体的にみると、これらのドキュメントでは、異なるトピックが混在するドキュメントと比較した場合よりも頻繁に単語の共有サブセットを使用されることが予期されます。これにより、LDA はこれらの単語グループを検出し、トピックを形成することができます。非常に単純な例として、食べる、寝る、遊ぶ、ニャー、吠えるという単語のみが出現するドキュメントのセットの場合、LDA によって生成される可能性のあるトピックは、次のようになります。**********


| **トピック** | *食べる* | *寝る*  | *play* | *ニャー* | *吠える* | 
| --- | --- | --- | --- | --- | --- | 
| トピック 1  | 0.1  | 0.3  | 0.2  | 0.4  | 0.0  | 
| トピック 2  | 0.2  | 0.1 | 0.4  | 0.0  | 0.3  | 

トピック 1 に分類される可能性が高いドキュメントは猫 (*ニャー*と*寝る*) に関するもの、トピック 2 に分類されるドキュメントは犬 (*遊ぶ*と*吠える*) に関するものであると推測できます。これらのトピックは、犬と猫という言葉がいずれのテキストに全く出現しない場合でも見つかることがあります。

**Topics**
+ [潜在的ディリクレ配分 (LDA) とニューラルトピックモデル (NTM) のいずれかを選択する](#lda-or-ntm)
+ [LDA アルゴリズムの入出力インターフェイス](#lda-inputoutput)
+ [LDA アルゴリズムの EC2 インスタンスに関する推奨事項](#lda-instances)
+ [LDA サンプルノートブック](#LDA-sample-notebooks)
+ [LDA の仕組み](lda-how-it-works.md)
+ [LDA ハイパーパラメータ](lda_hyperparameters.md)
+ [LDA モデルを調整する](lda-tuning.md)

## 潜在的ディリクレ配分 (LDA) とニューラルトピックモデル (NTM) のいずれかを選択する
<a name="lda-or-ntm"></a>

トピックモデルは、一般的に (1) 意味論的意味を一貫してカプセル化し、(2) ドキュメントを効果的に説明するコーパスからトピックを生成するために使用されます。そのため、トピックモデルは Perplexity を最小限に抑え、トピックコヒーレンスを最大化することを目的としています。

Perplexity は、テストデータ内で単語ごとの幾何平均の尤度の逆数を測定する固有言語モデリング評価メトリクスです。Perplexity スコアが低いほど、一般化パフォーマンスが向上します。研究により、単語ごとに計算される尤度は人間による判断と一致しないことが多く、完全に相関しない可能性があるため、トピックコヒーレンスが導入されています。モデルから推測される各トピックは単語で構成され、トピックコヒーレンスはモデルからその特定のトピックの上位 N 語に対して計算されます。これは多くの場合、そのトピック内の単語のペアワイズ単語の類似性スコア (点相互情報 (PMI) など) の平均値または中央値として定義されます。有望なモデルは、解釈しやすいトピック (トピックコヒーレンススコアが高いトピック) を生成します。

目的は、Perplexity を最小化してトピックコヒーレンスを最大化するトピックモデルをトレーニングすることですが、多くの場合、LDA と NTM 両方にトレードオフがあります。最近の研究 (Amazon, Dinget et al., 2018) により、NTM は高いトピックコヒーレンスの達成に対して有望ですが、崩れたギブスサンプリングでトレーニングされた LDA の Perplexity はより良好であることが示されています。Perplexity とトピックコヒーレンスの間にはトレードオフがあります。ハードウェアと計算能力に関する実用性の観点から、NTM は CPU と GPU 上で動作し、複数の GPU インスタンス間で並列化できるのに対して、LDA は単一インスタンスの CPU トレーニングのみをサポートしているため、SageMaker NTM ハードウェアは LDA よりも柔軟性があり、拡張性に優れています。

**Topics**
+ [潜在的ディリクレ配分 (LDA) とニューラルトピックモデル (NTM) のいずれかを選択する](#lda-or-ntm)
+ [LDA アルゴリズムの入出力インターフェイス](#lda-inputoutput)
+ [LDA アルゴリズムの EC2 インスタンスに関する推奨事項](#lda-instances)
+ [LDA サンプルノートブック](#LDA-sample-notebooks)
+ [LDA の仕組み](lda-how-it-works.md)
+ [LDA ハイパーパラメータ](lda_hyperparameters.md)
+ [LDA モデルを調整する](lda-tuning.md)

## LDA アルゴリズムの入出力インターフェイス
<a name="lda-inputoutput"></a>

LDA はトレーニングチャネルにデータが提供されることを期待しており、最終的なモデルで採点されたテストチャネルをオプションでサポートしています。LDA は、`recordIO-wrapped-protobuf` (密および疎) および `CSV` ファイル形式の両方をサポートしています。`CSV` の場合、データは密で、その次元は*レコードの次元数 \$1 語彙のサイズ*と等しくなければなりません。recordIO でラップされた protobuf を使用する場合、LDA はファイルモードまたはパイプモードでトレーニングできますが、`CSV` 形式のファイルモードでのみトレーニングできます。

`text/csv`、`application/json`、および `application/x-recordio-protobuf` コンテンツタイプが、推論のためにサポートされています。`application/json` および `application/x-recordio-protobuf` に疎データを渡すこともできます。LDA の推論は、`application/json` または `application/x-recordio-protobuf` *予測*を返し、これには、各観測の `topic_mixture` ベクトルが含まれます。

トレーニングと推論形式の詳細については、[LDA サンプルノートブック](#LDA-sample-notebooks)を参照してください。

## LDA アルゴリズムの EC2 インスタンスに関する推奨事項
<a name="lda-instances"></a>

LDA は現在、単一インスタンスの CPU トレーニングのみをサポートしています。ホスティング/推論には CPU インスタンスをお勧めします。

## LDA サンプルノートブック
<a name="LDA-sample-notebooks"></a>

SageMaker AI 潜在的ディリクレ配分アルゴリズムをデータセットでトレーニングし、トレーニングされたモデルをデプロイして入力ドキュメント内のトピックの混在についての推論を実行する方法を示すサンプルノートブックについては、「[An Introduction to SageMaker AI LDA](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/lda_topic_modeling/LDA-Introduction.html)」を参照してください。SageMaker AI でサンプルを実行するために使用できる Jupyter ノートブックインスタンスを作成してアクセスする方法の詳細については、「[Amazon SageMaker ノートブックインスタンス](nbi.md)」を参照してください。ノートブックインスタンスを作成して開いたら、**[SageMaker AI サンプル]** タブを選択して、すべての SageMaker AI サンプルのリストを表示します。NTM アルゴリズムを使用したトピックモデリングのサンプルノートブックは、[**Introduction to Amazon algorithm (Amazon アルゴリズムの概要)**] セクションにあります。ノートブックを開くには、その [**Use (使用)**] タブをクリックして [**Create copy (コピーを作成)**] を選択します。