머신 러닝 및 신경망 - 페이지 62

 

나이브 베이즈 분류기: 친근한 접근 방식



나이브 베이즈 분류기: 친근한 접근 방식

안녕하세요, 저는 Luis Serrano입니다. 이 동영상에서는 Naive Bayes 분류기를 살펴보겠습니다. 귀하의 지식 기반은 확률적으로 매우 중요하며 기계 학습에 매우 유용합니다. 확률 비율을 포함하는 복잡한 공식으로 보기보다는 다른 이벤트에 대한 정보가 있는 경우 이벤트가 발생할 확률로 생각합시다. Naive Bayes는 여러 이벤트를 처리할 때 수학을 단순화하기 위해 순진한 가정을 만들어 이 개념을 확장합니다.

설명을 위해 스팸 탐지기를 구축해 보겠습니다. 25개는 스팸이고 75개는 스팸이 아닌 100개의 이메일 데이터 세트로 시작합니다. 우리의 목표는 스팸 이메일과 관련된 속성을 식별하는 것입니다. "구매"라는 단어에 초점을 맞추겠습니다. 스팸 메일 중 20개에는 "구매"가 포함되어 있고 스팸이 아닌 메일에는 5개가 포함되어 있습니다. 이를 바탕으로 이메일에 "구매"가 포함된 경우 스팸일 가능성이 80%라는 결론을 내릴 수 있습니다.

이제 "싸다"라는 다른 단어를 생각해 봅시다. 스팸 메일 중 15개가 "저렴한" 메일이고 스팸이 아닌 메일 중 10개가 "저렴한" 메일입니다. 이메일에 "저렴한"이 포함되어 있으면 스팸일 확률이 60%입니다.

하지만 "구매"와 "저렴"을 함께 분석하려면 어떻게 해야 할까요? 스팸 이메일 중 12개는 두 단어를 모두 포함하고 있으며 스팸이 아닌 이메일에는 이러한 조합의 인스턴스가 없습니다. 이메일에 "구매"와 "저렴"이 모두 포함되어 있으면 스팸일 가능성이 100%입니다. 그러나 100% 확실성은 분류기에 너무 강하고 비현실적으로 보입니다.

이 문제는 "구매"와 "저렴"이 모두 포함된 스팸이 아닌 이메일을 찾지 못했기 때문에 발생합니다. 이를 해결하기 위해 더 많은 데이터를 수집할 수 있지만 대체 솔루션을 살펴보겠습니다. 이러한 경우의 발생을 추정하기 위해 가정을 할 수 있습니다. 이메일의 0.5%에 "구매"와 "저렴"이 모두 포함되어 있다고 가정해 보겠습니다. 이 가정은 데이터 세트에서 "구매" 및 "저렴" 항목의 백분율을 기반으로 합니다.

이제 이러한 가정을 통해 "구매"와 "저렴"이 모두 포함된 이메일이 스팸일 확률을 계산할 수 있습니다. Bayes의 정리를 적용하면 확률이 약 94.737%라는 것을 알 수 있습니다.

Naive Bayes 분류기는 데이터로 테이블을 채우는 것과 관련됩니다. 그러나 데이터 세트에서 특정 이벤트가 너무 희박하면 이벤트가 독립적이라는 순진한 가정을 합니다. 이 가정은 실제로는 사실이 아닐지라도 계산을 단순화합니다. 이러한 가정을 통해 확률을 추정하고 스팸 분류기를 구축할 수 있습니다.

 

12분만에 베타배포!



12분만에 베타배포!

안녕하세요, 저는 Luis Serrano입니다. 이 비디오에서는 베타 배포에 대한 주제를 살펴보겠습니다. 베타 분포는 확률의 확률을 모델링하기 때문에 확률 및 통계의 필수 개념입니다. 이 매혹적인 주제에 대해 더 깊이 파고들어 봅시다.

베타 분포를 이해하기 위해 세 개의 코인(코인 1, 코인 2, 코인 3)과 관련된 예를 고려해 보겠습니다. 이 동전은 앞면이나 뒷면에 떨어질 수 있습니다. 그러나 세 개의 동전은 모두 조작되어 있습니다. 즉, 절반의 확률로 앞면이 나오지 않습니다.

동전 1이 확률 0.4의 앞면, 동전 2는 확률 0.6, 동전 3은 확률 0.8이라고 가정해 봅시다. 이제 우리가 어떤 동전인지 모른 채 이 동전 중 하나를 무작위로 선택한다고 상상해 보세요. 과제는 동전을 다섯 번 던져서 어떤 동전을 골랐는지 추측하는 것입니다.

순서대로 3개의 앞면과 2개의 뒷면을 얻었다고 가정합니다. 문제는 우리가 어떤 동전을 손에 넣었다고 생각하는가입니다. 직관적으로 우리는 5번 중 3번 앞면이 나올 것으로 예상되기 때문에 2번 동전에 기울어질 수 있습니다. 그러나 여전히 불확실성이 있습니다. 우리가 동전 1개 또는 동전 3개를 골랐을 가능성이 있으며 관찰된 앞면과 뒷면의 순서는 단지 우연의 일치였습니다.

각 동전을 선택할 확률을 결정하기 위해 베이즈 정리를 적용할 수 있습니다. 각 사례를 개별적으로 살펴보겠습니다.

동전 1의 경우 앞면이 세 번, 뒷면이 두 번 나올 확률은 다음과 같이 계산됩니다. (0.4 * 0.4 * 0.4) * (0.6 * 0.6) = 0.0230.

두 번째 동전의 확률은 (0.6 * 0.6 * 0.6) * (0.4 * 0.4) = 0.0346입니다.

세 번째 동전의 확률은 (0.8 * 0.8 * 0.8) * (0.2 * 0.2) = 0.0205입니다.

가능한 사건이 세 개뿐이므로 확률을 합하면 1이 되어야 합니다. 우리는 각 확률을 0.0230 + 0.0346 + 0.0205의 합계로 나누어 이러한 확률을 정규화합니다. 이렇게 하면 동전 1, 동전 2, 동전 3에 대해 각각 0.295, 0.443 및 0.262의 정규화된 확률이 산출됩니다.

보시다시피 동전 2가 확률이 가장 높지만 여전히 동전 1이나 동전 3을 골랐을 가능성이 있습니다. 이러한 확률은 확률 이론의 강력한 도구인 베이즈 정리를 사용하여 얻습니다. 그것에 대해 더 알고 싶다면 내 채널에 자세히 설명하는 비디오가 있습니다.

이제 동일한 예를 고려하되 코인 수가 더 많다고 가정해 보겠습니다. 동전을 던졌는데 앞면이 7번 나오고 뒷면이 3번 나왔다고 합시다. 이 동전은 앞면이 나올 확률이 0.0에서 0.9까지 다양하며 각 동전에 대해 0.1씩 증가하는 10개의 동전 중 하나일 수 있습니다.

이 경우 어떤 동전을 골랐다고 생각하십니까? 다시 말하지만, 가장 가능성이 높은 옵션은 동전 7에 해당하는 70%의 확률로 앞면이 나오는 동전입니다. 각 코인을 선택할 확률을 계산하기 위해 이전과 유사한 계산을 수행합니다.

각 동전에 대해 앞면이 7번, 뒷면이 3번 나올 확률을 계산합니다. 다음 공식을 사용합니다. (p^7) * ((1-p)^3) 여기서 p는 앞면이 나올 확률을 나타냅니다. 그런 다음 각 확률을 모든 확률의 합으로 나누어 이러한 확률을 정규화합니다.

동전의 수를 늘리면 계산이 더 복잡해집니다. 그러나 기본 원칙은 동일하게 유지됩니다. 관찰된 결과와 각 동전과 관련된 확률을 기반으로 각 동전의 확률을 계산합니다. 이러한 확률을 정규화함으로써 어떤 코인이 선택되었는지에 대한 불확실성을 나타내는 분포를 얻습니다.

이제 이 개념을 베타 분포로 일반화해 보겠습니다. 베타 분포는 구간 [0, 1]에서 정의되는 연속 확률 분포입니다. 그것은 종종 알파와 베타로 표시되는 두 가지 모양 매개변수로 특징지어집니다. 이 매개변수는 분포의 형태를 결정합니다.

베타 분포는 유연하고 알파 및 베타 값에 따라 다양한 모양을 취할 수 있기 때문에 확률을 모델링하는 데 특히 유용합니다. 이를 통해 균일한 분포에서 편향된 분포, 집중된 분포에서 분산된 분포까지 다양한 확률 분포를 캡처할 수 있습니다.

베타 분포의 확률 밀도 함수(PDF)는 f(x) = (x^(alpha-1)) * ((1-x)^(beta-1)) / B(alpha, 여기서 B(알파, 베타)는 간격 [0, 1]에서 분포가 1에 통합되도록 하는 베타 함수입니다.

베타 분포의 평균은 다음 공식으로 제공됩니다. E[X] = 알파 / (알파 + 베타), 분산은 Var[X] = (알파 * 베타) / ((알파 + 베타)^2 * ( 알파 + 베타 + 1)).

베타 분포는 베이지안 통계, 기계 학습 및 의사 결정 분석과 같은 다양한 분야에서 일반적으로 사용됩니다. 성공률, 비율 또는 확률과 같은 불확실한 수량을 모델링할 수 있으며 매개변수 추정, 가설 테스트 및 무작위 샘플 생성에 사용할 수 있습니다.

베타 분포는 특히 불확실한 확률을 다룰 때 확률 및 통계의 기본 개념입니다. 그들은 광범위한 확률 분포를 모델링하기 위한 유연한 프레임워크를 제공합니다. 베타 분포의 속성과 응용 프로그램을 이해함으로써 정보에 입각한 결정을 내리고 데이터를 보다 효과적으로 분석할 수 있습니다.

 

Thompson 샘플링, 한 명의 무장 산적, 베타 배포



Thompson 샘플링, 한 명의 무장 산적, 베타 배포

안녕하세요 루이 소라노입니다. 이번 영상에서는 원암 밴디트의 개념과 베타 배포에 대해 말씀드리겠습니다. 일렬로 늘어선 슬롯머신이 있는 카지노에 있다고 상상해 보십시오. 이 기계를 사용하면 두 가지 가능한 결과가 있습니다. 승리를 나타내는 동전이 나오거나 아무것도 나오지 않아 손실이 발생합니다. 목표는 승리를 극대화하기 위해 좋은 기계와 그렇지 않은 기계를 결정하는 것입니다.

행의 각 기계는 'p'로 표시된 동전을 생산할 확률이 다릅니다. 예를 들어 왼쪽에 있는 기계의 확률이 0.1(10%)인 경우 평균적으로 동전을 얻을 확률은 10%이고 90%는 잃을 확률이 높다는 의미입니다. 마찬가지로 오른쪽 기계의 확률은 0.7(70%)이며 이는 동전을 얻을 확률이 70%, 잃을 확률이 30%임을 나타냅니다.

문제는 각 머신에 대한 'p'의 실제 값을 모르기 때문에 머신을 플레이하여 추정해야 한다는 것입니다. 목표는 모든 기계를 플레이하고 승리 확률이 더 높은 기계를 식별하여 이에 집중하는 동시에 때때로 성능이 떨어지는 기계에 개선할 기회를 주는 것입니다.

고려해야 할 두 가지 전략이 있습니다. "탐색" 전략과 "이용" 전략입니다. 탐색 전략에는 데이터를 수집하고 승리 확률을 추정하기 위해 각 머신을 여러 번 플레이하는 것이 포함됩니다. 예를 들어, 첫 번째 기계를 15번 플레이하고 두 번 이기면 확률은 2/15로 추정됩니다. 각 머신에 대해 이 프로세스를 반복하여 예상 확률을 비교하고 승리 가능성이 가장 높은 머신을 식별할 수 있습니다.

반면 익스플로잇 전략에는 각 머신을 더 적게 플레이하고 사용 가능한 데이터를 기반으로 결정을 내리는 것이 포함됩니다. 기계를 몇 번만 플레이하면 당첨 확률을 정확하게 예측할 수 있는 정보가 충분하지 않을 수 있습니다. 이 접근 방식은 충분한 데이터를 수집하기에 충분한 공간을 탐색하지 않을 수 있으므로 잠재적 승자를 놓칠 위험이 있습니다.

최적의 전략을 찾으려면 탐색과 활용의 조합이 필요합니다. Thompson 샘플링으로 알려진 이 접근 방식에는 각 시스템에 대한 베타 배포를 유지 관리하는 작업이 포함됩니다. 베타 분포는 승패 수에 따른 승률을 나타냅니다. 플레이할 때마다 베타 분포를 업데이트하여 추정치를 세분화할 수 있습니다.

Thompson 샘플링은 약간의 무작위성이 있는 기계 간의 경쟁을 포함합니다. 베타 분포에서 임의의 포인트가 선택되고 해당 포인트에서 가장 높은 값을 가진 머신이 다음에 플레이하도록 선택됩니다. 이 기술을 사용하면 더 강력한 성능을 가진 기계를 선호하면서 모든 기계를 탐색할 수 있습니다.

베타 분포를 사용하는 Thompson 샘플링은 도박을 넘어 다양한 응용 분야를 가지고 있습니다. 웹 디자인 및 광고를 위한 A/B 테스트, 실험 약물의 효과를 결정하기 위한 의료 실험, 탐색 및 활용이 중요한 다양한 의사 결정 시나리오에 사용됩니다.

결론적으로 베타 분포를 사용한 Thompson 샘플링은 탐색과 활용을 결합하여 최적의 결정을 내리는 강력한 기술입니다. 다른 가능성을 탐색하면서 승률이 더 높은 기계에 집중함으로써 이익을 극대화할 수 있습니다. Thompson 샘플링은 다양한 분야에서 응용 프로그램을 찾고 불확실성 하에서 의사 결정에 대한 실용적인 접근 방식을 제공합니다.

시청해주셔서 감사하고, 이 영상이 도움이 되셨다면 구독, 좋아요, 공유 부탁드립니다. 지도 머신 러닝에 대해 접근 가능하고 매력적인 방식으로 설명하는 제 책 "Rocking Machine Learning"도 확인해 보시기 바랍니다. 아래 댓글 섹션에서 책과 기타 리소스를 찾을 수 있습니다. 향후 주제에 대한 의견과 제안을 자유롭게 남기고 Twitter에서 저를 팔로우하는 것을 잊지 마세요.
 

이항 및 포아송 분포



이항 및 포아송 분포

Serrano의 비디오는 이항 및 포아송 분포에 중점을 둡니다. 그는 문제 시나리오를 제시하는 것으로 시작합니다. 상점을 운영하고 시간이 지남에 따라 들어오는 사람들의 수를 관찰한다고 상상해 보십시오. 실제 숫자는 변동이 있지만 평균적으로 1시간에 3명이 매장에 입장합니다. Serrano는 들어오는 고객의 발생이 하루 종일 특정한 패턴 없이 무작위로 나타난다고 강조합니다.

비디오에서 다루는 주요 질문은 다음과 같습니다. 이 정보가 주어지면 다음 시간에 5명이 매장에 들어올 확률은 얼마입니까? Serrano는 대답이 0.1008임을 밝혔지만, Poisson 분포를 사용하여 이 확률을 계산하는 방법을 설명합니다.

푸아송 분포를 자세히 살펴보기 전에 Serrano는 이항 분포로 알려진 더 간단한 확률 분포를 소개합니다. 이 개념을 설명하기 위해 그는 편향된 동전을 여러 번 던지는 비유를 사용합니다. 동전의 앞면이 나올 확률은 30%, 뒷면이 나올 확률은 70%라고 가정하고 세라노는 동전을 10번 던지는 실험을 한다. 그는 획득한 평균 앞면 수가 기대값으로 수렴한다는 것을 보여줍니다. 이는 앞면 확률과 뒤집기 횟수의 곱(0.3 * 10 = 3)입니다.

다음으로 Serrano는 동전을 10번 던질 때 서로 다른 수의 앞면이 나올 확률을 탐색합니다. 그는 앞면이 0개, 앞면이 1개, 앞면이 2개 등 최대 10개까지 11개의 가능한 결과가 있다고 설명합니다. 그런 다음 Serrano는 각 결과에 대한 확률을 계산하여 3개의 앞면이 나올 때 가장 높은 확률이 발생한다고 강조합니다. 그는 수평축에 헤드의 수를, 수직축에 해당 확률을 사용하여 이항 분포를 나타내는 히스토그램을 구성합니다.

이러한 확률을 계산하기 위해 Serrano는 프로세스를 세분화합니다. 예를 들어, 앞면이 0이 될 확률을 결정하기 위해 그는 뒤집을 때마다 뒷면이 나올 확률이 0.7이라는 점에 주목합니다. 플립은 독립적인 사건이기 때문에 그는 이 확률 자체에 10배를 곱하여 0.02825의 확률을 얻습니다.

Serrano는 계속해서 하나의 앞면이 나올 확률에 대한 계산을 설명합니다. 그는 먼저 첫 번째 플립만 앞면이 나오고(0.3 확률) 나머지 플립은 뒷면이 나오는(각각 0.7 확률) 시나리오를 고려합니다. 이것은 0.321의 확률을 산출합니다. 그러나 이것은 하나의 가능성일 뿐이므로 Serrano는 한 번의 뒤집기가 앞면이 되고 나머지는 뒷면이 되는 10가지 방법을 식별합니다. 그는 이러한 이벤트가 상호 배타적이므로 해당 확률이 추가된다는 점에 주목합니다. 결과적으로 하나의 앞면이 나올 확률은 10 * 0.3 * 0.7^9 = 0.12106입니다.

Serrano는 앞면이 나올 확률(0.3^2 * 0.7^8 = 0.00519)을 계산하면서 두 개의 앞면에 대해 이 과정을 계속합니다. 그런 다음 그는 10번의 뒤집기 중에서 2개의 앞면을 얻는 방법이 45가지임을 확인합니다(10번은 2번 선택). 여기에 각 시나리오에 대해 두 개의 앞면이 나올 확률을 곱하여 두 개의 앞면이 나올 전체 확률인 45 * 0.3^2 * 0.7^8 = 0.12106을 얻습니다.

서로 다른 헤드 수에 대해 유사한 계산을 사용하여 Serrano는 각 결과에 대한 확률을 제공합니다. 히스토그램에 표시된 이러한 확률은 이항 분포를 형성합니다. 뒤집는 횟수가 무한대에 가까워질수록 이항분포는 중심극한정리로 인해 정규분포가 되는 경향이 있다고 설명한다. 그러나 그는 이 주제가 향후 비디오에서 탐구될 것이라고 언급합니다.

Poisson 분포로 전환하면서 Serrano는 고정된 시간 또는 공간 간격 내에서 발생하는 이벤트 수가 드물고 무작위인 상황에 대한 이항 분포의 대안으로 Poisson 분포의 개념을 도입합니다. 그는 포아송 분포가 평균 발생률을 알고 있지만 정확한 발생 횟수는 불확실할 때 특히 유용하다고 설명합니다.

푸아송 분포의 적용을 설명하기 위해 Serrano는 상점에 들어오는 사람들의 예를 다시 살펴봅니다. 그는 평균적으로 시간당 3명이 가게에 들어온다고 강조한다. 그러나 특정 시간에 입장하는 실제 사람 수는 매우 다양할 수 있습니다.

그런 다음 Serrano는 다음과 같은 질문을 던집니다. 시간당 평균 3명이 방문하는 경우 다음 시간에 정확히 5명이 매장에 들어올 확률은 얼마입니까? 푸아송 분포를 사용하여 이 확률을 계산하기 위해 그는 다음 공식을 사용합니다.

P(X = k) = (e^(-λ) * λ^k) / k!

여기서 P(X = k)는 정확히 k회 발생 확률을 나타내고, e는 자연 로그의 밑이며, λ는 평균 발생률, k는 원하는 발생 횟수입니다.

공식을 적용하여 Serrano는 λ = 3(시간당 3명의 평균 속도) 및 k = 5(원하는 발생 횟수)의 값을 연결합니다. 그는 e^(-3)이 0번 발생하는 확률(e^(-3) ≈ 0.0498)을 나타낸다고 설명합니다. 이것을 λ^k로 곱하고 k로 나누면! (5의 계승), 그는 정확히 5명이 다음 시간에 매장에 들어갈 확률 0.1008에 도달합니다.

Serrano는 Poisson 분포가 평균 발생률이 상대적으로 높고 원하는 발생 횟수가 상대적으로 드문 경우 더 정확한 근사치를 제공한다고 강조합니다. 평균 비율이 증가하거나 원하는 수가 더 일반화되면 포아송 분포의 정확도가 떨어지고 대체 분포가 더 적합할 수 있습니다.

요약하면 Serrano의 비디오는 이항 및 포아송 분포의 개념을 탐구합니다. 그는 먼저 편향된 동전을 여러 번 던지는 비유를 통해 이항 분포를 소개합니다. 그는 다른 수의 헤드를 얻을 확률을 계산하고 이항 분포를 나타내는 히스토그램을 구성합니다.

푸아송 분포로 전환하면서 Serrano는 상점에 들어오는 사람들과 같이 드물고 무작위로 발생하는 시나리오에서 응용 프로그램을 설명합니다. 푸아송 분포 공식을 사용하여 주어진 평균 비율에서 특정 횟수의 발생 확률을 계산합니다. 이 예에서 그는 시간당 평균 3명 비율로 정확히 5명이 매장에 들어올 확률을 결정합니다.

이러한 확률 분포와 그 계산을 설명함으로써 Serrano는 시청자에게 무작위 현상 및 관련 확률의 기본 원리에 대한 더 깊은 이해를 제공합니다.

 

가우시안 혼합 모델



가우시안 혼합 모델

안녕하세요, 저는 Luis Serrano입니다. 이 비디오에서는 가우시안 혼합 모델(GMM)과 클러스터링에서의 응용에 대해 논의할 것입니다. GMM은 데이터 클러스터링에 강력하고 널리 사용되는 모델입니다.

클러스터링은 GMM을 사용하여 노래의 악기와 같이 다양한 소리를 구분하거나 음성 비서와 상호 작용할 때 배경 소음에서 음성을 분리하는 데 사용할 수 있는 오디오 분류와 같은 다양한 애플리케이션의 일반적인 작업입니다. GMM은 문서 분류에도 유용하여 스포츠, 과학 및 정치와 같은 주제별로 문서를 분리할 수 있습니다. 또 다른 애플리케이션은 GMM이 자율 주행 자동차가 보는 이미지에서 보행자, 도로 표지판 및 기타 자동차를 분리하는 데 도움이 되는 이미지 분할입니다.

클러스터링에서 우리는 함께 클러스터된 것처럼 보이는 데이터 포인트를 그룹화하는 것을 목표로 합니다. 기존 클러스터링 알고리즘은 각 포인트를 단일 클러스터에 할당합니다. 그러나 GMM은 포인트가 동시에 여러 클러스터에 속할 수 있는 소프트 클러스터링 개념을 도입합니다. 이것은 포인트 확률 또는 각 클러스터에 속하는 백분율을 할당하여 달성됩니다.

GMM 알고리즘은 두 가지 주요 단계로 구성됩니다. 첫 번째 단계는 가우스 분포와의 연관성을 기반으로 점을 색칠하는 것입니다. 각 점에는 다른 가우시안에 대한 근접성을 기반으로 색상이 할당됩니다. 이 단계는 소프트 클러스터 할당을 결정합니다.

두 번째 단계는 포인트가 주어진 가우시안 파라미터의 추정입니다. 알고리즘은 할당된 포인트에 가장 잘 맞는 각 가우시안의 평균, 분산 및 공분산을 찾습니다. 이 단계에는 데이터 분포의 모양과 방향에 대한 정보를 제공하는 질량 중심, 분산 및 공분산을 계산하는 작업이 포함됩니다.

GMM 알고리즘은 수렴에 도달할 때까지 가우시안 매개변수와 소프트 클러스터 할당을 업데이트하면서 이 두 단계 사이를 반복합니다. 초기 가우시안은 무작위로 선택할 수 있으며 알고리즘은 할당 또는 매개변수에 거의 변화가 없을 때까지 계속됩니다.

GMM을 사용하면 교차 클러스터를 포함하거나 포인트가 여러 클러스터에 속하는 복잡한 데이터 세트를 효과적으로 클러스터링할 수 있습니다. GMM은 클러스터링에 대한 유연하고 확률적인 접근 방식을 제공하므로 다양한 분야에서 유용한 도구가 됩니다.

GMM에 대한 더 자세한 설명과 예를 보려면 알고리즘의 수학 및 구현을 탐구하는 내 채널에서 내 비디오를 확인할 수 있습니다. 동영상 링크는 댓글 섹션에서 찾을 수 있습니다.

알고리즘은 변경 사항이 무시할 수 있는 수렴 지점에 도달할 때까지 1단계와 2단계 사이를 계속 반복합니다. 각 반복에서 포인트의 색상은 현재 가우시안 분포 세트를 기반으로 업데이트되고 새로운 가우시안은 컬러 포인트를 기반으로 생성됩니다.

알고리즘이 진행됨에 따라 가우시안 분포는 점차적으로 데이터에 적응하여 기본 클러스터를 캡처합니다. 가우시안은 특정 클러스터에 속하는 데이터 포인트의 확률 분포를 나타냅니다. 알고리즘은 주어진 가우시안 혼합 모델에서 관찰된 데이터의 우도를 최대화하려고 합니다.

가우시안 혼합 모델 알고리즘의 최종 결과는 데이터의 클러스터를 나타내는 가우스 집합입니다. 각 가우시안은 특정 클러스터와 연결되어 평균, 분산 및 공분산에 대한 정보를 제공합니다. 가우시안의 매개변수를 분석하여 데이터에 있는 클러스터의 구조와 특성에 대한 통찰력을 얻을 수 있습니다.

가우시안 혼합 모델 알고리즘은 데이터 포인트가 동시에 여러 클러스터에 속할 수 있는 소프트 클러스터링을 위한 강력한 도구입니다. 클러스터가 겹치거나 비선형적으로 분리 가능한 패턴이 있는 복잡한 데이터 세트를 처리할 수 있습니다. 이를 통해 이미지 분할, 문서 분류 및 오디오 분류와 같은 다양한 도메인에 적용할 수 있습니다.

가우시안 혼합 모델 알고리즘은 현재 가우시안을 기준으로 포인트를 색칠하는 것과 컬러 포인트를 기준으로 가우시안을 업데이트하는 것을 번갈아 반복하는 프로세스입니다. 가우시안이 데이터의 기본 클러스터를 정확하게 나타내는 솔루션으로 수렴되어 효과적인 클러스터링 및 분석이 가능합니다.

 

클러스터링: K-평균 및 계층



클러스터링: K-평균 및 계층

안녕하세요, 저는 Luis Serrano입니다. 이 비디오에서는 k-평균 클러스터링과 계층적 클러스터링이라는 두 가지 중요한 클러스터링 알고리즘에 대해 알아봅니다. 클러스터링은 유사성을 기반으로 데이터를 그룹화하는 비지도 학습 기술입니다. 우리는 이러한 알고리즘을 마케팅 애플리케이션, 특히 고객 세분화에 적용할 것입니다.

우리의 목표는 고객 기반을 세 가지 그룹으로 나누는 것입니다. 고객의 나이와 특정 페이지에 대한 참여도에 대한 데이터가 있습니다. 이 데이터를 플로팅하면 세 개의 클러스터 또는 그룹을 시각적으로 식별할 수 있습니다. 첫 번째 그룹은 참여도가 낮은(주당 2~4일) 20대로 구성됩니다. 두 번째 그룹은 참여도가 높은 30대 후반과 40대 초반의 개인으로 구성됩니다. 세 번째 그룹에는 참여도가 매우 낮은 50대가 포함됩니다.

이제 k-평균 클러스터링 알고리즘을 자세히 살펴보겠습니다. 우리가 한 도시에 있는 세 개의 피자 가게에 대한 최적의 위치를 결정하려고 노력하는 피자 가게 주인이라고 상상해 보십시오. 우리는 고객에게 효율적으로 서비스를 제공하고자 합니다. 세 곳을 무작위로 선택하고 각 지점에 피자 가게를 배치하는 것으로 시작합니다. 고객의 위치에 따라 가장 가까운 피자 가게를 배정합니다.

다음으로 각 피자 가게를 제공하는 집의 중심으로 이동합니다. 이 단계는 위치가 주변 고객에게 서비스를 제공하기에 최적인지 확인합니다. 알고리즘이 수렴되고 클러스터가 안정화될 때까지 고객을 가장 가까운 피자 가게에 할당하고 가게를 중앙으로 옮기는 과정을 반복합니다.

클러스터 수를 결정하는 것은 어려울 수 있습니다. 이를 해결하기 위해 팔꿈치 방법을 사용할 수 있습니다. 동일한 색상의 두 점 사이의 가장 큰 거리를 나타내는 각 클러스터링의 직경을 계산합니다. 직경에 대한 클러스터 수를 플로팅하면 개선이 덜 중요해지는 "팔꿈치" 지점을 식별할 수 있습니다. 이 엘보 포인트는 최적의 군집 수를 나타내며 이 경우에는 3개입니다.

이제 계층적 클러스터링으로 이동하겠습니다. 다시 말하지만, 우리는 데이터 세트에서 클러스터를 찾는 것을 목표로 합니다. 가장 가까운 두 점을 고려하고 함께 그룹화하는 것으로 시작합니다. 그런 다음 거리 임계값에 따라 중지하기로 결정할 때까지 다음으로 가장 가까운 쌍을 반복적으로 병합합니다. 이 방법을 사용하면 클러스터를 나타내는 나무와 같은 구조인 덴드로그램이 생성됩니다.

거리 임계값 또는 클러스터 수를 결정하는 것은 주관적일 수 있습니다. 그러나 대체 접근 방식은 "추가 및 삭제" 방법입니다. 덴드로그램에서 점 쌍 사이의 거리를 플로팅하고 곡선의 높이를 검사합니다. 높이를 분석하여 거리 임계값 또는 클러스터 수에 대해 교육적인 결정을 내릴 수 있습니다.

K-평균 클러스터링 및 계층적 클러스터링은 유사성을 기반으로 데이터를 그룹화하는 데 유용한 알고리즘입니다. K-평균 클러스터링은 클러스터 할당을 최적화하기 위해 중심을 반복적으로 이동하는 것과 관련되며, 계층적 클러스터링은 클러스터를 나타내는 덴드로그램을 작성합니다. 엘보우 방법과 추가 및 삭제 방법을 사용하여 최적의 클러스터 수 또는 거리 임계값을 결정할 수 있습니다.

 

주성분 분석(PCA)



주성분 분석(PCA)

이번 영상에서는 차원축소 기법인 PCA(Principal Component Analysis)에 대해 알아봅니다. PCA는 가능한 한 많은 정보를 유지하면서 대규모 데이터 세트의 열 수를 줄이는 데 사용됩니다. 데이터를 저차원 공간에 투영하면 데이터 세트를 단순화할 수 있습니다. 이 비디오에서는 모드 프로젝션, 분산-공분산 행렬, 고유값 및 고유벡터, 그리고 마지막으로 PCA와 같은 여러 단계를 다룹니다.

개념을 이해하기 위해 친구 그룹의 사진을 찍는 문제를 생각해 봅시다. 사진을 찍기 위한 최상의 각도를 결정해야 합니다. 마찬가지로 차원 축소에서는 차원 수를 줄이면서 데이터의 본질을 포착하려고 합니다. 점의 확산을 최대화하는 이상적인 선에 데이터를 투영하여 이를 달성할 수 있습니다. 서로 다른 투영을 비교하고 어느 것이 점 사이를 더 잘 분리하는지 결정합니다.

차원 축소는 처리하기 어려운 열이 많은 대규모 데이터 세트가 있는 시나리오에서 중요합니다. 예를 들어 주택 데이터 세트에는 크기, 방 수, 욕실, 학교와의 근접성 및 범죄율과 같은 여러 기능이 있을 수 있습니다. 차원을 줄임으로써 크기, 방 수, 욕실을 크기 기능으로 결합하는 것과 같이 관련 기능을 단일 기능으로 결합할 수 있습니다. 이는 데이터 세트를 단순화하고 필수 정보를 캡처합니다.

두 개의 열(방 수 및 크기)에서 하나의 열로 이동하는 예에 초점을 맞추겠습니다. 단일 기능에서 데이터의 변화를 캡처하려고 합니다. 점의 분포를 가장 잘 나타내는 선에 데이터를 투영하면 데이터 세트를 2차원에서 1차원으로 단순화할 수 있습니다. 이 프로세스는 크기를 5개에서 2개로 축소하여 더 작은 공간에 필수 정보를 캡처하도록 확장할 수 있습니다.

평균 및 분산과 같은 주요 개념을 이해하기 위해 가중치 균형을 고려해 봅시다. 평균은 가중치가 균형을 이루는 지점이고 분산은 평균에서 가중치의 퍼짐을 측정합니다. 2차원 데이터 세트에서 x 및 y 방향의 분산을 계산하여 데이터의 확산을 측정합니다. 그러나 분산만으로는 데이터 세트 간의 차이를 포착하지 못할 수 있습니다. 두 변수 사이의 확산과 상관관계를 측정하는 공분산을 도입합니다. 공분산을 계산하여 유사한 분산을 가진 데이터 세트를 구별할 수 있습니다.

이제 이러한 개념을 PCA에 적용해 보겠습니다. 데이터 세트를 원점에 중심에 놓고 데이터 세트의 분산 및 공분산에서 공분산 행렬을 생성하는 것으로 시작합니다. 일반적으로 시그마로 표시되는 이 행렬은 변수 간의 스프레드와 상관 관계를 캡처합니다. 다음 단계에는 데이터의 주요 구성 요소에 대한 통찰력을 제공하는 고유값 및 고유벡터가 포함됩니다. 마지막으로 PCA를 적용하여 데이터를 주성분에 투영하여 차원을 줄이고 데이터 세트를 단순화합니다.

PCA는 차원 축소를 위한 강력한 기술입니다. 차원 수를 줄이면서 데이터 세트의 필수 정보를 캡처하는 데 도움이 됩니다. 데이터를 이상적인 선이나 공간에 투영함으로써 복잡한 데이터 세트를 단순화하고 관리하기 쉽게 만들 수 있습니다.

 

Netflix는 어떻게 영화를 추천하나요? 행렬 분해



Netflix는 어떻게 영화를 추천하나요? 행렬 분해

추천 시스템은 YouTube 및 Netflix와 같은 플랫폼에서 광범위하게 사용되는 매우 매력적인 머신 러닝 애플리케이션입니다. 이러한 시스템은 사용자 데이터를 분석하고 다양한 알고리즘을 활용하여 사용자의 선호도에 맞는 영화와 비디오를 제안합니다. 이러한 시스템에서 널리 사용되는 한 가지 방법은 행렬 인수 분해라고 합니다.

행렬 분해가 작동하는 방식을 이해하기 위해 Netflix 세계의 가상 시나리오를 고려해 보겠습니다. Anna, Betty, Carlos, Dana의 4명의 사용자와 Movie 1, Movie 2, Movie 3, Movie 4, Movie 5의 5개 영화가 있습니다. 목표는 이러한 등급을 예측하는 것입니다.

행이 사용자를 나타내고 열이 영화를 나타내는 테이블을 만듭니다. 테이블의 각 항목은 특정 영화에 대한 사용자의 평가에 해당합니다. 예를 들어 Anna가 별 5개 중 4개로 영화 5를 평가하는 경우 Anna의 행과 영화 5의 열 아래 표에 이 등급을 기록합니다.

이제 영화 선호도 측면에서 인간이 어떻게 행동하는지에 대한 질문을 생각해 봅시다. 어느 것이 더 현실적인지 결정하기 위해 세 가지 다른 테이블을 조사합니다. 첫 번째 테이블은 모든 사용자가 모든 영화를 3점으로 평가한다고 가정합니다. 이는 모두가 동일한 선호도를 가지고 있다고 가정하기 때문에 현실적이지 않습니다. 세 번째 표는 무작위 등급으로 구성되어 있으며 이 역시 인간의 행동을 정확하게 반영하지 않습니다. 그러나 행과 열 간의 종속성을 나타내는 두 번째 테이블이 가장 현실적인 표현으로 보입니다.

두 번째 테이블을 분석하면 비슷한 선호도를 가진 사용자와 비슷한 등급의 영화와 같은 종속성을 관찰할 수 있습니다. 예를 들어 테이블의 첫 번째 행과 세 번째 행이 동일하여 Anna와 Carlos의 선호도가 매우 유사함을 나타냅니다. 이러한 유사성 덕분에 Netflix는 추천을 할 때 동일한 사람으로 취급할 수 있습니다. 또한 1열과 4열이 동일하다는 것을 알 수 있으며 이는 영화 1과 영화 4가 내용이나 호소력 측면에서 유사할 수 있음을 시사합니다. 또한 세 행 사이에서 종속성이 발견되어 두 번째 및 세 번째 행의 값을 추가하여 네 번째 행의 값을 얻을 수 있습니다. 이 종속성은 한 사용자의 기본 설정이 다른 사용자의 기본 설정에서 파생될 수 있음을 의미합니다. 이러한 종속성은 항상 명시적으로 설명할 수는 없지만 추천 시스템에서 활용할 수 있는 귀중한 통찰력을 제공합니다.

이러한 종속성을 활용하고 평가 예측을 하기 위해 행렬 분해가 작동합니다. 행렬 분해는 크고 복잡한 행렬을 두 개의 더 작은 행렬의 곱으로 분해하는 것과 관련됩니다. 이 경우 큰 행렬은 사용자 영화 등급 표를 나타내고 작은 행렬은 사용자 선호도 및 영화 기능을 나타냅니다.

이 두 개의 더 작은 행렬을 찾기 위해 영화용 코미디 및 액션과 같은 기능을 소개합니다. 각 영화는 코미디와 액션의 수준에 따라 등급이 매겨집니다. 마찬가지로 사용자는 이러한 기능에 대한 기본 설정과 연결됩니다. 그런 다음 내적은 특정 기능에 대한 사용자의 선호도와 영화의 기능 등급을 고려하여 등급을 예측하는 데 사용됩니다. 예를 들어 사용자가 코미디를 좋아하지만 액션을 싫어하고 영화의 코미디 등급이 높지만 액션 등급이 낮은 경우 내적 계산 결과는 사용자의 선호도에 맞는 등급이 됩니다.

이 내적 계산을 모든 사용자-영화 조합에 적용하여 예상 등급을 생성하고 등급 테이블에서 누락된 항목을 채울 수 있습니다. 이 프로세스를 통해 원본 행렬을 두 개의 더 작은 행렬의 곱으로 표현할 수 있으므로 행렬 분해가 가능합니다.

이전에 행과 열 사이에서 발견한 종속성이 인수분해된 행렬에 여전히 존재한다는 점은 주목할 가치가 있습니다. 예를 들어 Anna와 Carlos의 유사성은 사용자 기능 매트릭스에서 해당 행의 유사성에 반영됩니다. 유사하게 등급이 비슷한 영화는 영화 기능 매트릭스에서 기능 점수에서 유사성을 나타냅니다. 또한 특정 기능에 대한 공유 선호도를 통해 사용자와 영화 간의 관계와 같이 보다 복잡한 관계를 관찰할 수 있습니다.

사용자 선호도와 영화 기능을 나타내는 인수분해된 행렬을 얻은 후에는 이를 활용하여 개인화된 추천을 할 수 있습니다. 주어진 사용자에 대해 사용자 기능 매트릭스의 선호도를 영화 기능 매트릭스의 모든 영화의 기능 점수와 비교할 수 있습니다. 사용자의 선호도 벡터와 각 영화의 특징 벡터 간의 내적을 계산하여 해당 사용자-영화 쌍에 대한 예측 등급을 결정할 수 있습니다. 이러한 예측된 평점은 사용자에게 영화를 추천하는 기준이 됩니다.

이를 설명하기 위해 Anna를 대상 사용자로 가정해 보겠습니다. 사용자 기능 매트릭스에서 Anna의 선호도를 추출하고 영화 기능 매트릭스의 모든 영화의 기능 점수와 비교합니다. Anna의 선호도 벡터와 각 영화의 특징 벡터 간의 내적을 계산하여 Anna에 대한 예상 등급 목록을 얻습니다. 예상 등급이 높을수록 Anna가 특정 영화를 즐길 가능성이 높아집니다. 이러한 예상 등급을 기반으로 Anna에 대한 영화 추천 순위 목록을 생성할 수 있습니다.

이러한 권장 사항의 정확도는 분해 및 기능 표현의 품질에 따라 달라집니다. 인수 분해 프로세스가 사용자 영화 등급의 기본 패턴과 종속성을 캡처하고 기능이 영화 및 사용자 선호도의 특성을 효과적으로 나타내는 경우 권장 사항이 사용자의 취향과 관련되고 일치할 가능성이 더 큽니다.

행렬 분해는 추천 시스템에서 사용되는 많은 기술 중 하나일 뿐이며 잠재 요인을 포착하고 개인화된 추천을 생성하는 데 효과적인 것으로 입증되었습니다. Netflix 및 YouTube와 같은 플랫폼은 이러한 기술을 활용하여 사용자가 이전 상호 작용 및 선호도를 기반으로 즐길 가능성이 있는 콘텐츠를 제안함으로써 사용자 경험을 향상시킵니다.

행렬 분해는 사용자 영화 등급 행렬을 사용자 선호도와 영화 기능을 나타내는 두 개의 더 작은 행렬로 분해하는 추천 시스템의 강력한 접근 방식입니다. 데이터에서 종속성과 패턴을 캡처하여 정확한 예측 및 개인화된 권장 사항을 생성할 수 있습니다.

 

잠재 디리클레 할당(1/2부)



잠재 디리클레 할당(1/2부)

안녕하세요, Luis Serrano입니다. LDA(Latent Dirichlet Allocation)에 대한 두 개의 동영상 중 첫 번째 동영상입니다. LDA는 문서를 주제별로 분류하는 데 사용되는 알고리즘입니다. 각 기사가 하나 이상의 주제와 연관되어 있는 뉴스 기사와 같은 문서 코퍼스를 고려해 봅시다. 그러나 우리는 주제를 미리 알지 못하고 기사의 텍스트만 알 수 있습니다. 목표는 이러한 문서를 주제로 분류할 수 있는 알고리즘을 개발하는 것입니다.

개념을 설명하기 위해 각각 5개의 단어가 포함된 4개의 문서가 있는 작은 예를 사용하겠습니다. 단순화를 위해 우리 언어에는 "ball", "planet"(또는 "galaxy"), "referendum"이라는 4개의 가능한 단어와 과학, 정치 및 스포츠의 3가지 가능한 주제만 있다고 가정해 보겠습니다.

문서의 단어를 기반으로 각 문서에 주제를 할당할 수 있습니다. 예를 들어, 첫 번째 문서에는 스포츠 주제를 암시하는 "ball" 및 "galaxy"라는 단어가 포함되어 있습니다. 두 번째 문서에는 정치 주제를 나타내는 "국민 투표"라는 단어가 포함되어 있습니다. 세 번째 문서에는 과학 주제를 나타내는 "행성"과 "은하"라는 단어가 있습니다. 네 번째 문서는 모호하지만 과학 주제를 암시하는 "행성"과 "은하"라는 단어가 포함되어 있습니다.

그러나 이러한 분류는 인간으로서의 단어에 대한 우리의 이해를 기반으로 합니다. 반면에 컴퓨터는 단어가 동일한지 다른지, 동일한 문서에 나타나는지 여부만 알 수 있습니다. 여기에서 Latent Dirichlet Allocation이 도움이 됩니다.

LDA는 문서를 주제로 분류하기 위해 기하학적 접근 방식을 취합니다. 주제(과학, 정치 및 스포츠)를 나타내는 모서리가 있는 삼각형을 상상해 보십시오. 목표는 해당 주제에 가까운 이 삼각형 안에 문서를 배치하는 것입니다. 일부 문서는 두 주제와 관련된 단어를 포함하는 경우 두 주제 사이의 가장자리에 있을 수 있습니다.

LDA는 문서를 생성하는 기계로 생각할 수 있습니다. 설정과 기어가 있습니다. 설정을 조정하여 기계의 출력을 제어할 수 있습니다. 기어는 기계의 내부 작동을 나타냅니다. 기계가 문서를 생성할 때 원본 문서가 아니라 임의의 단어 조합일 수 있습니다.

기계에 가장 적합한 설정을 찾기 위해 기계의 여러 인스턴스를 실행하고 생성된 문서를 원본과 비교합니다. 확률은 낮지만 원본에 가장 가까운 문서를 생성하는 설정이 가장 좋은 것으로 간주됩니다. 이러한 설정에서 주제를 추출할 수 있습니다.

문헌에 묘사된 기계의 청사진은 처음에는 복잡해 보일 수 있습니다. 그러나 세분화하면 Dirichlet 분포(설정)와 다항 분포(기어)로 구성됩니다. 이러한 분포는 문서에서 주제와 단어를 생성하는 데 도움이 됩니다.

디리클레 분포는 기하학적 모양 내부의 점 분포로 상상할 수 있습니다. 예를 들어 삼각형 모양에서 점은 문서 전체의 주제 분포를 나타냅니다. 분포는 점이 모서리(주제) 쪽으로 끌리는지 또는 중심 쪽으로 끌리는지를 제어하는 매개변수의 영향을 받습니다.

반면에 다항 분포는 각 주제 내의 단어 분포를 나타냅니다. 사면체와 같은 기하학적 모양 내부의 점은 특정 주제에 대한 단어 조합을 나타냅니다.

LDA는 이러한 분포를 결합하여 문서를 생성합니다. 문서가 나타날 확률은 기계의 설정 및 기어와 관련된 공식을 사용하여 계산됩니다.

LDA는 문서를 주제로 분류하는 데 도움이 되는 알고리즘입니다. 문서, 주제 및 단어 간의 관계를 나타내기 위해 기하학적 분포를 사용합니다. 기계의 설정을 조정하여 원본과 매우 유사한 문서를 생성할 수 있습니다. 이러한 설정에서 주제를 추출할 수 있습니다.

 

잠재 디리클레 할당 훈련: Gibbs 샘플링(2/2부)



잠재 디리클레 할당 훈련: Gibbs 샘플링(2/2부)

안녕하세요, 저는 Luis Serrano입니다. 이 동영상에서는 Gibbs 샘플링을 사용하여 LDA(Latent Dirichlet Allocation) 모델을 학습시키는 방법을 보여드리겠습니다. 이 비디오는 두 부분으로 구성된 시리즈의 두 번째 부분입니다. 첫 번째 비디오에서는 LDA가 무엇인지 논의하고 Dirichlet 분포를 더 자세히 살펴보았습니다. 그러나 이 동영상을 이해하는 데 첫 번째 동영상을 볼 필요는 없습니다.

해결하려는 문제를 간단히 요약해 보겠습니다. 우리는 뉴스 기사와 같은 문서 모음을 가지고 있으며 각 문서는 과학, 정치 또는 스포츠와 같은 하나 이상의 주제와 연관될 수 있습니다. 그러나 우리는 문서의 주제를 알지 못하고 그 안에 있는 텍스트만 알 수 있습니다. 우리의 목표는 LDA를 사용하여 텍스트만을 기반으로 주제별로 이러한 기사를 그룹화하는 것입니다.

이전 비디오에서 우리는 4개의 문서와 "공", "행성", "갤럭시" 및 "국민투표"라는 4개의 단어로 구성된 제한된 어휘가 있는 예를 살펴봤습니다. 우리는 각 단어에 색상(주제를 나타냄)을 할당했고 대부분의 기사가 주로 단일 주제와 관련되어 있음을 관찰했습니다. 우리는 또한 단어가 대부분 특정 주제와 연관되는 경향이 있음을 발견했습니다.

LDA를 사용하여 이 문제를 해결하려면 단어와 문서 모두에 주제를 할당해야 합니다. 각 단어에는 여러 주제가 지정될 수 있으며 각 문서에도 여러 주제가 있을 수 있습니다. 우리는 각 문서를 가능한 한 단색으로 만들고 각 단어를 대부분 단색으로 만드는 단어에 대한 주제 할당을 찾는 것을 목표로 합니다. 이렇게 하면 단어나 주제 정의에 의존하지 않고 기사를 효과적으로 그룹화할 수 있습니다.

이제 Gibbs 샘플링을 사용하여 이 문제를 해결하는 방법을 살펴보겠습니다. 사물의 일반적인 위치를 모른 채 지저분한 방을 정리한다고 상상해 보십시오. 개체를 서로 상대적으로 배치하는 방법에만 의존할 수 있습니다. 마찬가지로 다른 모든 할당이 정확하다고 가정하고 한 번에 하나씩 색상을 할당하여 단어를 구성합니다.

처음에는 단어에 색상을 무작위로 할당하는 것으로 시작합니다. 그런 다음 임의로 단어를 선택하고 다른 할당을 기반으로 색상을 다시 할당하여 할당을 반복적으로 개선합니다. 예를 들어, "공"이라는 단어를 선택하고 다른 모든 할당이 정확하다고 가정하면 문서에서의 보급률과 단어의 모든 모양 중 보급률을 고려하여 "공"에 가장 적합한 색상을 결정합니다. 각 색상과 관련된 확률을 곱하고 결과가 가장 높은 색상을 선택합니다.

각 단어에 대해 이 과정을 반복함으로써 단어에 대한 색상 할당을 점차 개선하여 기사를 더 단색으로 만들고 단어를 대부분 단색으로 만듭니다. 이 알고리즘이 완벽한 솔루션을 보장하지는 않지만 단어나 주제 정의에 의존하지 않고 문제를 효과적으로 해결합니다.

비디오의 나머지 부분에서는 Gibbs 샘플링을 사용하여 이 문제를 해결하는 방법에 대해 자세히 설명합니다. 방을 한 번에 하나씩 정리하면 지저분한 방을 깨끗한 방으로 바꿀 수 있습니다. 마찬가지로 단어에 하나씩 색상을 할당함으로써 Gibbs 샘플링을 사용하여 LDA 모델을 효과적으로 훈련할 수 있습니다.

Gibbs 샘플링 알고리즘을 계속 사용하겠습니다. 문서의 빨간색 단어 보급률과 모든 문서에서 "ball"이라는 단어의 빨간색 보급률을 기준으로 문서 1의 "ball"이라는 단어를 빨간색으로 지정했습니다. 이제 다음 단어로 넘어가서 과정을 반복해 봅시다.

다음 단어는 문서 1에서 "갤럭시"입니다. 다시 말하지만, 다른 모든 단어의 색상이 올바르게 지정되었다고 가정하면 파란색, 녹색 및 빨간색을 "갤럭시"라는 단어의 후보로 간주합니다. 이제 문서 1에 있는 파란색, 녹색 및 빨간색 단어의 수를 세어 봅시다. 파란색 단어 하나, 녹색 단어 하나, 빨간색 단어 하나가 있음을 알 수 있습니다. 세 가지 색상이 모두 동일하게 표현되기 때문에 문서 하나만 기준으로 명확한 승자가 없습니다.

다음으로 모든 문서에서 "갤럭시"라는 단어에만 초점을 맞추겠습니다. 발생 횟수를 세어 보면 파란색 단어 두 개, 녹색 단어 두 개, 빨간색 단어 두 개를 찾습니다. 다시 말하지만, 모든 문서에서 "갤럭시"라는 단어에 대한 명확한 대다수 색상이 없습니다.

이 경우 "galaxy"라는 단어에 임의로 색상을 지정하거나 기본 색상을 선택할 수 있습니다. 무작위로 파란색을 지정한다고 가정해 보겠습니다. 이제 문서 1에서 "galaxy"라는 단어의 색상을 파란색으로 업데이트했습니다.

모든 문서의 모든 단어에 대해 이 프로세스를 반복하고 로컬 및 글로벌 컨텍스트를 고려하고 각 문서의 색상 보급률과 모든 문서에서 각 단어의 색상 보급률을 기반으로 색상을 업데이트합니다. 모든 단어를 여러 번 살펴볼 때까지 단어를 계속 반복합니다.

여러 번 반복한 후 각 기사를 가능한 한 단색으로 만들고 각 단어를 가능한 한 단색으로 만드는 목표를 충족하는 색상으로 수렴합니다. 우리는 Gibbs 샘플링을 사용하여 잠재 Dirichlet 할당(LDA) 모델을 효과적으로 훈련했습니다.

Gibbs 샘플링은 단어 정의에 의존하지 않고 문서에 주제를 할당하는 문제를 해결할 수 있는 기술입니다. 여기에는 각 문서의 색상 보급률과 모든 문서에서 각 단어의 색상 보급률을 기반으로 단어의 색상을 반복적으로 업데이트하는 작업이 포함됩니다. 이 과정을 통해 단어의 의미를 모르더라도 문서의 주제를 나타내는 색상이 만들어집니다.

Gibbs 샘플링을 사용하여 주제나 단어의 의미에 대한 사전 지식 없이 텍스트 콘텐츠만을 기반으로 주제별로 기사를 그룹화하고 LDA 모델을 효과적으로 훈련할 수 있습니다. 이 접근 방식은 문서 모음 내에서 잠재된 주제 또는 테마를 발견하는 것이 목표인 자연어 처리 작업에서 특히 유용합니다.