부본 생성 대 판별 기계 학습 모델 - Unite.AI
Rescale 미팅 예약

AI 101

생성 대 판별 기계 학습 모델

mm
업데이트 on

일부 기계 학습 모델은 "생성" 또는 "차별" 모델 범주에 속합니다. 그래도 뭐야 차이 이 두 가지 범주의 모델? 모델이 차별적이거나 생성적이라는 것은 무엇을 의미합니까?

짧은 대답은 생성 모델이 주어진 예에 대한 확률을 반환하는 데이터 세트의 분포를 포함하는 모델이라는 것입니다. 생성 모델은 종종 시퀀스에서 다음에 발생할 일을 예측하는 데 사용됩니다. 한편, 판별 모델은 분류 또는 회귀에 사용되며 예측을 반환합니다. 조건부 개연성. 두 가지 유형의 모델을 구분하는 요소와 각 유형을 사용해야 하는 경우를 진정으로 이해할 수 있도록 생성 모델과 판별 모델의 차이점을 자세히 살펴보겠습니다.

생성 대 차별적 모델

기계 학습 모델을 분류하는 방법에는 여러 가지가 있습니다. 모델은 생성 모델, 판별 모델, 파라메트릭 모델, 비모수적 모델, 트리 기반 모델, 비트리 기반 모델과 같은 다양한 범주에 속하는 것으로 분류할 수 있습니다.

이 기사에서는 생성 모델과 판별 모델의 차이점에 중점을 둘 것입니다. 생성 모델과 판별 모델을 모두 정의한 다음 각 유형의 모델에 대한 몇 가지 예를 살펴보겠습니다.

생성 모델

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

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

"이 클래스 또는 다른 클래스가 이 데이터 포인트/인스턴스를 생성했을 가능성은 얼마나 됩니까?"

생성 기계 학습 모델의 예로는 LDA(Linear Discriminant Analysis), 숨겨진 Markov 모델 및 Naive Bayes와 같은 베이지안 네트워크가 있습니다.

차별적 모델

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

차별적 모델은 다음 질문에 답하기 위해 시작되었습니다.

"이 인스턴스는 결정 경계의 어느 쪽에서 발견됩니까?"

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

생성과 차별의 차이점

다음은 생성 모델과 차별 모델 간의 주요 차이점에 대한 간략한 설명입니다.

생성 모델:

  • 생성 모델은 데이터 세트에서 클래스의 실제 분포를 캡처하는 것을 목표로 합니다.
  • 생성 모델은 베이즈 정리를 활용하여 결합 확률 분포(p(x,y))를 예측합니다.
  • 생성 모델은 판별 모델에 비해 계산 비용이 많이 듭니다.
  • 생성 모델은 감독되지 않은 기계 학습 작업에 유용합니다.
  • 생성 모델은 판별 모델보다 이상치의 존재에 의해 영향을 받습니다.

차별적 모델:

  • 판별 모델은 데이터 세트 클래스에 대한 결정 경계를 모델링합니다.
  • 판별 모델은 조건부 확률 p(y|x)를 학습합니다.
  • 판별 모델은 생성 모델에 비해 계산 비용이 저렴합니다.
  • 판별 모델은 감독 기계 학습 작업에 유용합니다.
  • 판별 모델은 생성 모델과 달리 이상치에 대해 더 강력하다는 장점이 있습니다.
  • 판별 모델은 생성 모델에 비해 이상값에 더 강력합니다.

이제 생성 및 차별 기계 학습 모델의 몇 가지 다른 예를 간략하게 살펴보겠습니다.

생성 모델의 예

선형 판별 분석 (LDA)

LDA 모델 데이터 세트의 각 클래스에 대한 데이터의 분산과 평균을 추정하여 기능합니다. 모든 클래스에 대한 평균과 분산이 계산된 후 주어진 입력 집합이 주어진 클래스에 속할 확률을 추정하여 예측할 수 있습니다.

은닉 마르코프 모델

마르코프 체인 체인의 한 지점인 "상태"에서 다른 상태로 이동할 가능성을 나타내는 확률이 있는 그래프로 생각할 수 있습니다. Markov 체인은 p(i,j)로 표시될 수 있는 상태 j에서 상태 i로 이동할 확률을 결정하는 데 사용됩니다. 이것은 위에서 언급한 공동 확률일 뿐입니다. 숨겨진 마르코프 모델은 보이지 않고 관찰할 수 없는 마르코프 체인이 사용되는 곳입니다. 데이터 입력은 모델에 제공되며 현재 상태 및 직전 상태에 대한 확률은 가장 가능성 있는 결과를 계산하는 데 사용됩니다.

베이지안 네트워크

베이지안 네트워크 일종의 확률 그래픽 모델입니다. Directed Acyclic Graph로 표시되는 변수 간의 조건부 종속성을 나타냅니다. 베이지안 네트워크에서 그래프의 각 가장자리는 조건부 종속성을 나타내며 각 노드는 고유한 변수에 해당합니다. 그래프의 고유한 관계에 대한 조건부 독립성을 사용하여 변수의 결합 분포를 결정하고 결합 확률을 계산할 수 있습니다. 즉, 베이지안 네트워크는 특정 결합 확률 분포에서 독립 관계의 하위 집합을 캡처합니다.

임의 변수, 조건부 관계 및 알려진 확률 분포를 사용하여 베이지안 네트워크가 생성되고 적절하게 정의되면 이벤트 또는 결과의 확률을 추정하는 데 사용할 수 있습니다.

가장 일반적으로 사용되는 베이지안 네트워크 유형 중 하나는 Naive Bayes 모델입니다. Naive Bayes 모델은 모든 기능을 서로 독립적인 것으로 취급하여 많은 매개변수/변수가 있는 데이터 세트의 확률을 계산하는 문제를 처리합니다.

차별적 모델의 예

벡터 머신 지원

서포트 벡터 머신 데이터 포인트 사이에 결정 경계를 그리는 방식으로 작동하여 데이터 세트의 서로 다른 클래스를 가장 잘 구분하는 결정 경계를 찾습니다. SVM 알고리즘은 각각 2차원 공간과 3D 공간에 대해 점을 구분하는 선 또는 초평면을 그립니다. SVM은 마진 또는 선/초평면과 가장 가까운 점 사이의 거리를 최대화하여 클래스를 가장 잘 구분하는 선/초평면을 찾으려고 노력합니다. SVM 모델은 비선형 결정 경계를 식별하기 위해 "커널 트릭"을 사용하여 선형으로 분리할 수 없는 데이터 세트에서도 사용할 수 있습니다.

로지스틱 회귀

로지스틱 회귀 입력이 두 가지 상태 중 하나에 있을 확률을 결정하기 위해 로짓(log-odds) 함수를 사용하는 알고리즘입니다. 시그모이드 함수는 확률을 0 또는 1, 참 또는 거짓으로 "압축"하는 데 사용됩니다. 0.50보다 큰 확률은 클래스 1로 가정하고 0.49 이하의 확률은 0으로 가정합니다. 이러한 이유로 로지스틱 회귀는 일반적으로 이진 분류 문제에 사용됩니다. 그러나 로지스틱 회귀는 일대일 접근 방식을 사용하여 각 클래스에 대한 이진 분류 모델을 만들고 예제가 대상 클래스이거나 데이터 세트의 다른 클래스일 확률을 결정함으로써 다중 클래스 문제에 적용할 수 있습니다.

의사 결정 트리

A 의사 결정 트리 모델은 데이터 세트를 점점 더 작은 부분으로 분할하여 작동하며 하위 집합을 더 이상 분할할 수 없으면 결과는 노드와 리프가 있는 트리입니다. 의사 결정 트리의 노드는 다양한 필터링 기준을 사용하여 데이터 포인트에 대한 결정을 내리는 곳입니다. 의사결정 트리의 리프는 분류된 데이터 포인트입니다. 의사결정 트리 알고리즘은 숫자 데이터와 범주 데이터를 모두 처리할 수 있으며 트리의 분할은 특정 변수/기능을 기반으로 합니다.

랜덤 포레스트

A 랜덤 포레스트 모델 기본적으로 개별 트리의 예측을 평균하여 최종 결정을 내리는 결정 트리 모음입니다. 랜덤 포레스트 알고리즘은 관측치와 기능을 무작위로 선택하여 이러한 선택을 기반으로 개별 트리를 구축합니다.

이 자습서 기사에서는 Matplotlib에서 상자 그림을 만드는 방법을 살펴봅니다. 박스 플롯은 데이터의 범위 및 분포와 같은 분포 속성을 표시하여 데이터 세트의 요약 통계를 시각화하는 데 사용됩니다.

전문 분야의 블로거 및 프로그래머 기계 학습 깊은 학습 주제. 다니엘은 다른 사람들이 사회적 이익을 위해 AI의 힘을 사용하도록 돕기를 희망합니다.