LDA の仕組み - Amazon SageMaker

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

LDA の仕組み

Amazon SageMaker LDA は、一連の観察結果をさまざまなカテゴリの組み合わせとして記述しようとする教師なしの学習アルゴリズムです。これらのカテゴリは、それ自体が特徴に対する確率分布です。LDA はジェネレーティブ確率モデルです。つまり、潜在変数に基づく出力と入力の分布のモデルを提供しようとします。これは、入力が出力にマップされる方法を学習しようとする判別モデルとは対照的です。

LDA を使用すると、製品購入に基づく顧客のクラスタリングから音楽の自動調和解析まで、さまざまなタスクを実行できます。ただし、最も関連しているのは、テキストコーパスのトピックモデリングです。観測はドキュメントと呼ばれます。この特徴セットは語彙と呼ばれます。特徴は単語と呼ばれます。また、結果のカテゴリはトピックと呼ばれます。

注記

レンマ化によりアルゴリズムの性能と精度が大幅に向上します。入力テキストデータの前処理を検討してください。詳細については、「Stemming and lemmatization」を参照してください。

LDA モデルは、2 つのパラメータで定義されます。

  • α — トピックの確率についての事前の推定 (つまり、特定のドキュメント内の各トピックが発生する平均頻度)。

  • β — 各トピックに、「トピック語分布」とも呼ばれるドキュメントコーパスで使用される語彙に対する確率分布が与えられる k 個のトピックの集合。

LDA は「bag-of-words」モデルです。つまり、単語の順序は関係ありません。LDA は、トピックの混合(「ディリクレ(α)」) word-by-word を選択することで各文書が生成される生成モデルです。

ドキュメント内の各単語の場合。

  • トピック z ∼ 多項式 (θ) を選択します。

  • 対応するトピック語分布 β_z を選択します。

  • 単語 w 〜 多項式 (β_z) を描きます。

モデルを訓練するときの目標は、モデルによってテキストコーパスが生成される確率を最大化するパラメータ α および β を見つけることです。

LDA モデルを推定する最も一般的な方法では、ギブスサンプリング法または期待値最大化法 (EM) を使用します。Amazon SageMaker LDA はテンソルスペクトル分解を使用します。これにはいくつかの利点があります。

  • 結果に対する理論上の保証。標準的な EM 法は、しばしば品質が悪い局所最適解にのみ収束することが保証されています。

  • 大量の並列化が可能。作業は、トレーニングと推論の両方で、入力ドキュメントに普通に分割することができます。EM メソッドとギブスサンプリングメソッドを並列化することはできますが、容易ではありません。

  • 高速。EM メソッドは反復コストは低いものの、収束率が低下する傾向があります。ギブスサンプリングもまた、収束率が低く、多数のサンプルを必要とします。

テンソル分解方法は、高レベルでこのプロセスに従います。

  1. 目標は、コーパス内のドキュメントのモーメントを要約する V x V x V テンソルのスペクトル分解を計算することです。V は語彙サイズ (つまり、すべてのドキュメントの個別の単語数) です。このテンソルのスペクトルコンポーネントは、ドキュメントコーパスの全体的な可能性を最大にする LDA パラメータ α および β です。ただし、語彙サイズが大きくなる傾向があるので、この V x V x V テンソルは、メモリに格納するのが非常に困難です。

  2. 代わりに、ステップ 1 のテンソルの 2 次元アナログである V x V モーメントマトリックスを使用して、V x k 次元の白色化マトリックスを見つけることができます。このマトリックスは、V x V モーメントマトリックスを k x k 単位行列に変換するために使用できます。k はモデル内のトピック数です。

  3. この同じ白色化マトリックスを使用して、より小さい k x k x k テンソルを見つけることができます。スペクトル分解されるとき、このテンソルには、V x V x V テンソルのコンポーネントと単純な関係のあるコンポーネントがあります。

  4. 交互最小二乗法は、より小さい k x k x k テンソルを分解するために使用されます。これにより、メモリ消費量と速度を大幅に改善されます。パラメータ α および β は、スペクトル分解のこれらの出力を「非白色化」することによって見つかります。

LDA モデルのパラメータが見つかったら、各ドキュメントのトピックの混在を見つけることができます。確率的勾配降下を使用して、これらのデータに対応する指定されたトピックの混在を観測する尤度関数を最大化します。

トピックの品質を向上させるには、トレーニングで探すトピックの数を増やし、品質の低いものを除外します。実際、これは SageMaker LDA では自動的に行われます。つまり、計算されるトピックの数が 25% 増え、関連するディリクレ事前分布が最も大きいトピックだけが返されます。トピックのフィルタリングと分析をさらに実行するには、トピック数を増やして、結果の LDA モデルを次のように変更します。

> import mxnet as mx > alpha, beta = mx.ndarray.load(‘model.tar.gz’) > # modify alpha and beta > mx.nd.save(‘new_model.tar.gz’, [new_alpha, new_beta]) > # upload to S3 and create new SageMaker model using the console

LDA のアルゴリズムと実装について詳しくは SageMaker 、以下を参照してください。

  • Animashree Anandkumar、Rong Ge、Daniel Hsu、Sham M Kakade、および Matus Telgarsky。Tensor Decompositions for Learning Latent Variable Models、Journal of Machine Learning Research、15:2773–2832、2014 年。

  • David M Blei、Andrew Y Ng、および Michael I Jordan。潜在的ディリクレ配分。Journal of Machine Learning Research、3(Jan):993–1022、2003 年。

  • Thomas L Griffiths および Mark Steyvers。Finding Scientific Topics。Proceedings of the National Academy of Sciences、101(suppl 1):5228–5235、2004 年。

  • Tamara G Kolda および Brett W Bader。Tensor Decompositions and Applications。SIAM Review、51(3):455–500、2009 年。