AI 기초

생성적 vs. 판별적 기계 학습 모델

mm
Unite.AI를 Google의 선호 소스에 추가

일부 기계 학습 모델은 “생성적” 또는 “판별적” 모델 범주에 속합니다. 그러나 이러한 두 모델 범주 사이의 차이는 무엇일까요? 모델이 판별적 또는 생성적이라는 것은 무엇을 의미할까요?

간단한答案은 생성적 모델이 데이터 세트의 분포를 포함하는 모델이라는 것입니다. 생성적 모델은 주어진 예제에 대한 확률을 반환합니다. 생성적 모델은 종종 시퀀스에서 다음에 발생할 내용을 예측하는 데 사용됩니다. 반면에, 판별적 모델은 분류 또는 회귀에 사용되며, 조건부 확률에 따라 예측을 반환합니다. 생성적 모델과 판별적 모델의 차이를 자세히 살펴보겠습니다.

생성적 vs. 판별적 모델

기계 학습 모델을 분류하는 방법은 여러 가지가 있습니다. 모델은 생성적 모델, 판별적 모델, 매개변수 모델, 비매개변수 모델, 트리 기반 모델, 비트리 기반 모델 등으로 분류될 수 있습니다.

이 기사에서는 생성적 모델과 판별적 모델의 차이를 중점적으로 다루겠습니다. 먼저 생성적 모델과 판별적 모델을 정의한 다음, 각 모델의 예를 살펴보겠습니다.

생성적 모델

생성적 모델은 데이터 세트 내의 클래스 분포를 중심으로 하는 모델입니다. 기계 학습 알고리즘은 일반적으로 데이터 포인트의 분포를 모델링합니다. 생성적 모델은 공동 확률을 찾는 데 의존합니다. 입력 특성과 원하는 출력/레이블이 동시에 존재하는 포인트를 생성합니다.

생성적 모델은 일반적으로 확률과 가능성을 추정하고, 이러한 확률에 따라 클래스를 구분하는 데 사용됩니다. 모델이 데이터 세트의 확률 분포를 학습하므로, 이 확률 분포를 참조하여 새로운 데이터 인스턴스를 생성할 수 있습니다. 생성적 모델은 종종 베이즈 정리를 사용하여 공동 확률을 찾습니다. 즉, p(x,y)를 찾는 것입니다. 본질적으로, 생성적 모델은 데이터가 생성되는 방법을 모델링하며, 다음 질문에 대한 답변을 제공합니다.

“이 클래스 또는 다른 클래스가 이 데이터 포인트/인스턴스를 생성할 가능성이 얼마나 될까요?”

생성적 기계 학습 모델의 예로는 선형 판별 분석(LDA), 은닉 마르코프 모델, 베이즈 네트워크 등이 있습니다.

판별적 모델

생성적 모델이 데이터 세트의 분포를 학습하는 반면, 판별적 모델은 데이터 세트 내의 클래스 사이의 경계를 학습합니다. 판별적 모델의 목표는 클래스 사이의 결정 경계를 식별하여 데이터 인스턴스에 신뢰할 수 있는 클래스 레이블을 할당하는 것입니다. 판별적 모델은 조건부 확률을 사용하여 클래스를 구분하며, 개별 데이터 포인트에 대해 가정하지 않습니다.

판별적 모델은 다음 질문에 대한 답변을 제공합니다.

“이 인스턴스는 결정 경계의 어느 쪽에 있나요?”

판별적 모델의 예로는 서포트 벡터 머신, 로지스틱 회귀, 의사 결정 트리, 랜덤 포레스트 등이 있습니다.

생성적과 판별적 모델의 차이

생성적 모델과 판별적 모델의 주요 차이를 간단히 요약하면 다음과 같습니다.

생성적 모델:

  • 생성적 모델은 데이터 세트 내의 클래스 분포를 캡처하는 것을 목표로 합니다.
  • 생성적 모델은 공동 확률 분포 – p(x,y) -를 베이즈 정리를 사용하여 예측합니다.
  • 생성적 모델은 판별적 모델보다 계산적으로 비싼 편입니다.
  • 생성적 모델은 비지도 기계 학습 작업에 유용합니다.
  • 생성적 모델은 이상치의 존재에 의해 더 많이 영향을 받습니다.

판별적 모델:

  • 판별적 모델은 데이터 세트 클래스의 결정 경계를 모델링합니다.
  • 판별적 모델은 조건부 확률 – p(y|x) -를 학습합니다.
  • 판별적 모델은 생성적 모델보다 계산적으로 저렴합니다.
  • 판별적 모델은 지도 기계 학습 작업에 유용합니다.
  • 판별적 모델은 이상치에 대해 더 강건합니다.
  • 판별적 모델은 이상치에 대해 생성적 모델보다 더 강건합니다.

이제 생성적 및 판별적 기계 학습 모델의 몇 가지 예를 간단히 살펴보겠습니다.

생성적 모델의 예

선형 판별 분석 (LDA)

LDA 모델은 각 클래스의 분산과 평균을 데이터 세트에서 추정하여 작동합니다. 각 클래스의 평균과 분산을 계산한 후, 입력 집합이 특정 클래스에 속할 확률을 추정하여 예측을 할 수 있습니다.

은닉 마르코프 모델

마르코프 체인은 상태 사이의 이동 확률을 나타내는 그래프로 생각할 수 있습니다. 마르코프 체인은 상태 j에서 상태 i로 이동할 확률, 즉 p(i,j)를 결정하는 데 사용됩니다. 이는 앞서 언급한 공동 확률입니다. 은닉 마르코프 모델은 관찰할 수 없는 마르코프 체인을 사용하는 것입니다. 데이터 입력을 모델에 제공하고, 현재 상태와 바로 이전 상태의 확률을 사용하여 가장 가능성 있는 결과를 계산합니다.

베이즈 네트워크

베이즈 네트워크는 확률 그래프 모델의 한 유형입니다. 변수 사이의 조건부 종속성을 나타내는 방향성 비순환 그래프(DAG)를 나타냅니다. 베이즈 네트워크에서 그래프의 각 간선은 조건부 종속성을 나타내며, 각 노드는 고유한 변수에 해당합니다. 그래프의 고유한 관계에 대한 조건부 독립성을 사용하여 변수의 공동 분포를 결정하고 공동 확률을 계산할 수 있습니다. 즉, 베이즈 네트워크는 특정 공동 확률 분포의 독립적 관계의 하위 집합을 캡처합니다.

베이즈 네트워크가 생성되고 정의되면, 랜덤 변수, 조건부 관계 및 확률 분포를 알 수 있습니다. 이를 사용하여 이벤트 또는 결과의 확률을 추정할 수 있습니다.

베이즈 네트워크 중 가장 일반적으로 사용되는 유형은 나이브 베이즈 모델입니다. 나이브 베이즈 모델은 많은 매개변수/변수가 있는 데이터 세트에 대한 확률 계산의 어려움을 해결하기 위해 모든 특징을 서로 독립적으로 취급합니다.

판별적 모델의 예

서포트 벡터 머신

서포트 벡터 머신은 데이터 포인트 사이의 결정 경계를 그려서 작동합니다. 서포트 벡터 머신 알고리즘은 2차원 공간에서는 선을, 3D 공간에서는 초평면을 긋습니다. 서포트 벡터 머신은 선/초평면을 긋고, 데이터 포인트를 가장 잘 분리하는 결정 경계를 찾습니다. 서포트 벡터 머신은 선/초평면과 가장 가까운 포인트 사이의 거리, 즉 여유를 최대화하려고 합니다. 서포트 벡터 머신 모델은 또한 “커널 트릭”을 사용하여 선형적으로 분리할 수 없는 데이터 세트에 대한 비선형 결정 경계를 찾을 수 있습니다.

로지스틱 회귀

로지스틱 회귀는 로짓(로그-오즈) 함수를 사용하여 입력이 두 가지 상태 중 하나에 속할 확률을 결정하는 알고리즘입니다. 시그모이드 함수를 사용하여 확률을 0 또는 1, 즉 참 또는 거짓으로 밀어냅니다. 0.50보다 큰 확률은 클래스 1으로 가정하고, 0.49 이하의 확률은 클래스 0으로 가정합니다. 따라서 로지스틱 회귀는 일반적으로 이진 분류 문제에서 사용됩니다. 그러나 로지스틱 회귀는 하나 대 일(one-vs-all) 접근 방식을 사용하여 다중 클래스 문제에 적용할 수 있습니다. 즉, 각 클래스에 대한 이진 분류 모델을 생성하고, 데이터 예제가 대상 클래스인지 또는 데이터 세트의 다른 클래스인지에 대한 확률을 결정합니다.

의사 결정 트리

의사 결정 트리 모델은 데이터 세트를 작고 작게 분할하여 작동합니다. 서브셋을 더 이상 분할할 수 없을 때, 결과는 노드와 리프가 있는 트리입니다. 의사 결정 트리의 노드는 데이터 포인트에 대한 결정이 다른 필터링 기준을 사용하여 이루어지는 곳입니다. 의사 결정 트리의 리프는 분류된 데이터 포인트입니다. 의사 결정 트리 알고리즘은 수치 및 범주형 데이터를 모두 다룰 수 있으며, 트리 분할은 특정 변수/특성에 따라 이루어집니다.

랜덤 포레스트

랜덤 포레스트 모델은 기본적으로 각 트리의 예측을 평균하여 최종 결정에 도달하는 의사 결정 트리의 모음입니다. 랜덤 포레스트 알고리즘은 관찰값과 특성을 임의로 선택하여 개별 트리를 이러한 선택에 따라 구축합니다.

이 튜토리얼 기사는 Matplotlib에서 박스 플롯을 생성하는 방법을 살펴보겠습니다. 박스 플롯은 데이터 세트의 요약 통계를 시각화하는 데 사용되며, 데이터의 범위 및 분포와 같은 분포의 속성을 표시합니다.

블로거이자 프로그래머로 Machine Learning Deep Learning 주제에 전문가입니다. 다니엘은 다른 사람들이 AI의 힘을 사회적善으로 사용하는 것을 돕기를 희망합니다.