LDA 작동 방식 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

LDA 작동 방식

Amazon SageMaker LDA는 관찰 집합을 여러 범주의 혼합으로 설명하려는 비지도 학습 알고리즘입니다. 이러한 범주는 특징에 대한 가능성 분포입니다. LDA는 발생적 가능성 모델로 잠재 변수를 기반으로 한 출력 및 입력의 분포에 대한 모델을 제공하려 함을 의미합니다. 이는 입력의 출력 매핑 방식을 학습하려 하는 차별적 모델과는 반대입니다.

제품 구매를 기반으로 한 고객 클러스터링부터 음악의 자동 화음 분석에 이르는 다양한 작업에 LDA를 사용할 수 있습니다. 하지만 일반적으로 텍스트 코퍼스의 주제 모델링과 관련이 있습니다. 관측치를 문서라고 합니다. 특징 세트를 어휘라고 합니다. 특징을 단어라고 합니다. 또한 결과 범주를 주제라고 합니다.

참고

표제어 추출은 알고리즘 성능과 정확도를 크게 증가시킵니다. 모든 입력 텍스트 데이터에 대한 사전 처리를 고려하세요. 자세한 내용은 어간 추출 및 표제어 추출을 참고하세요.

LDA 모델은 두 가지 파라미터로 정의됩니다.

  • α - 주제 가능성(해당 문서 내에 있는 각 주제가 발생하는 평균 빈도)의 이전 추정치.

  • β - 문서 코퍼스에서 사용되는 어휘에 대한 가능성 분포가 각 주제에 제공되는 k 주제의 컬렉션. "주제-단어 분포"라고도 합니다.

LDA는 “bag-of-words" 모델이므로 단어 순서는 중요하지 않습니다. LDA는 주제 혼합 β ~ Dirichlet (α) 을 word-by-word 선택하여 각 문서를 생성하는 생성 모델입니다.

문서의 각 단어:

  • 주제 z ∼ 다항(θ) 선택

  • 해당 주제-단어 분포 β_z 선택.

  • 단어 w ∼ 다항(β_z) 가져오기.

모델 훈련 시 목표는 파라미터 α 및 β를 찾는 것입니다. 이는 모델에 의해 텍스트 코퍼스가 생성되는 가능성을 최대화합니다.

LDA 모델 추정에 대한 가장 유명한 메서드는 Gibbs 샘플링 또는 기댓값 최대화(EM) 기법을 사용합니다. Amazon SageMaker LDA는 텐서 스펙트럼 분해를 사용합니다. 이는 여러 이점을 제공합니다.

  • 결과에 대한 이론적 보장. 표준 EM 메서드는 종종 품질이 좋지 않은 국부 최적값으로만 수렴하도록 보장합니다.

  • 쉬운 병렬 처리. 훈련 및 추론의 입력 문서에 대해 간편하게 분할될 수 있습니다. EM 메서드 및 Gibbs 샘플링 접근 방식은 병렬화가 가능하지만 쉽지 않습니다.

  • 빠름. EM 메서드의 반복 비용이 낮기는 하지만 수렴율이 느려지는 경향이 있습니다. Gibbs 샘플링은 또한 수렴율이 느리고 많은 수의 샘플을 필요로 합니다.

텐서 분해 알고리즘은 개괄적으로 이 프로세스를 따릅니다.

  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. Alternating Least Squares는 더욱 작은 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, and Matus Telgarsky. Tensor Decompositions for Learning Latent Variable Models, Journal of Machine Learning Research, 15:2773–2832, 2014.

  • David M Blei, Andrew Y Ng, and Michael I Jordan. Latent Dirichlet Allocation. Journal of Machine Learning Research, 3(Jan):993–1022, 2003.

  • Thomas L Griffiths and Mark Steyvers. Finding Scientific Topics. Proceedings of the National Academy of Sciences, 101(suppl 1):5228–5235, 2004.

  • Tamara G Kolda and Brett W Bader. Tensor Decompositions and Applications. SIAM Review, 51(3):455–500, 2009.