인코딩 종류

코드짜는침팬지·2024년 10월 13일

인코딩 방식은 데이터를 컴퓨터가 처리할 수 있는 형식으로 변환하는 방법

1. One-Hot Encoding (원-핫 인코딩)

  • 개념: 주로 범주형 데이터를 숫자로 변환하는 데 사용됩니다. 각 범주를 이진 벡터로 변환하며, 범주의 개수가 벡터의 차원을 결정합니다. 한 범주에 대해 1을 할당하고 나머지는 0으로 채웁니다.

  • 특징:

    • 범주 사이에 순서나 크기의 의미가 없을 때 적합합니다.
    • 각 범주는 서로 독립적으로 인코딩됩니다.
  • 예시: "사과", "바나나", "오렌지"라는 세 개의 카테고리가 있으면, 각각을 다음과 같이 인코딩할 수 있습니다.

    • 사과: [1, 0, 0]
    • 바나나: [0, 1, 0]
    • 오렌지: [0, 0, 1]
  • 장점: 범주 간 상관관계가 없을 때 유용하며, 매우 간단한 방식.

  • 단점: 범주가 많아질수록 벡터의 차원이 커져 희소 벡터(sparse vector) 문제가 발생할 수 있음.

2. Label Encoding (레이블 인코딩)

  • 개념: 범주형 데이터를 정수로 변환합니다. 각 범주를 고유한 정수값으로 매핑합니다.

  • 특징:

    • 범주의 서열이 의미가 있을 때 적합합니다.
    • 범주의 값이 크기나 순서로 해석될 수 있는 경우에 사용됩니다.
  • 예시: "사과", "바나나", "오렌지"를 다음과 같이 레이블 인코딩할 수 있습니다.

    • 사과: 0
    • 바나나: 1
    • 오렌지: 2
  • 장점: 매우 간단한 방식으로, 범주의 수와 상관없이 차원이 낮음.

  • 단점: 범주 간에 순서가 없을 때 사용하면 잘못된 의미를 줄 수 있습니다. 즉, 모델이 숫자 간의 관계(0, 1, 2) 때문에 의미를 잘못 해석할 가능성이 있습니다.

3. Zero-Shot Learning (제로샷 러닝)

  • 개념: 학습된 데이터에 전혀 존재하지 않았던 범주나 클래스에 대해 새로운 예측을 수행할 수 있는 학습 방식입니다.
  • 특징:
    • 새로운 클래스에 대한 사전 정보를 알고 있는 경우, 이를 추론할 수 있습니다.
    • 학습 데이터에 없는 새로운 클래스가 등장했을 때, 그 클래스의 속성이나 특성을 바탕으로 해당 클래스에 대한 예측이 가능해집니다.
  • 예시: 개와 고양이를 분류하는 모델을 학습했지만, 호랑이라는 동물에 대해 학습하지 않았다면, 제로샷 러닝은 호랑이의 특성을 기반으로 해당 이미지를 호랑이로 예측할 수 있습니다.
  • 장점: 새로운 데이터에 대한 일반화 능력이 뛰어나며, 추가적인 학습 없이도 새로운 클래스에 대한 예측이 가능합니다.
  • 단점: 새로운 클래스에 대한 사전 정보가 충분해야 하며, 모델이 해당 정보를 잘 활용해야 합니다.

4. Few-Shot Learning (퓨샷 러닝)

  • 개념: 몇 개의 샘플만으로 새로운 클래스를 학습하여 그 클래스에 대한 예측을 수행하는 방식입니다. 보통 새로운 클래스를 몇 개의 예시만 보고도 예측할 수 있도록 하는 방식입니다.
  • 특징:
    • 소량의 학습 데이터로 새로운 클래스를 학습하고 예측할 수 있습니다.
    • 지원 집합(support set)을 기반으로, 최소한의 데이터를 사용해 모델이 해당 클래스를 일반화하도록 학습합니다.
  • 예시: 모델이 고양이와 개의 사진을 학습한 후, 두세 개의 새 사진만을 보고 새를 인식하고 분류할 수 있는 능력을 가집니다.
  • 장점: 학습 데이터가 많지 않은 상황에서도 모델이 빠르게 적응할 수 있습니다.
  • 단점: 소량의 데이터만으로 잘 학습할 수 있도록 고급 모델 설계가 필요하며, 학습된 모델의 일반화 성능이 중요합니다.

5. Word Embedding (워드 임베딩)

  • 개념: 단어를 고정된 차원의 벡터로 표현하는 방식으로, 단어 간의 의미적 유사성을 벡터 공간에서 반영합니다. 주로 NLP(자연어 처리)에서 사용됩니다.

  • 특징:

    • 단어들 사이의 유사성을 벡터 공간 상에서 나타낼 수 있습니다.
    • 같은 의미를 가진 단어들은 벡터 공간 상에서 서로 가까운 위치에 있게 됩니다.
  • 예시: 단어 "king"과 "queen"의 벡터 차이는 남성과 여성이라는 관계를 나타낼 수 있으며, 이러한 관계성을 벡터 공간에서 반영할 수 있습니다.

  • 장점: 단어 간의 관계를 반영하여 자연어 처리 성능을 크게 향상시킬 수 있습니다.

  • 단점: 대규모 데이터셋에서 학습이 필요하며, 모델의 크기나 복잡성이 증가할 수 있습니다.

6. Embedding (임베딩)

  • 개념: 범주형 데이터나 고차원의 데이터를 저차원의 실수 벡터 공간으로 변환하는 방식입니다. NLP뿐만 아니라 다양한 머신러닝 문제에서 사용됩니다.

  • 특징:

    • 범주형 데이터를 저차원의 벡터로 변환하면서 의미적 관계를 유지합니다.
    • 고차원 공간을 효율적으로 표현할 수 있습니다.
  • 예시: One-hot encoding이 10,000개의 단어를 10,000차원의 벡터로 표현한다면, 임베딩은 10,000개의 단어를 100차원 벡터로 변환할 수 있습니다.

  • 장점: 고차원 데이터를 효율적으로 표현하며, 유사한 데이터는 벡터 공간에서 가까운 위치에 있게 됩니다.

  • 단점: 모델이 의미 있는 임베딩을 학습하기 위해서는 대규모 데이터가 필요합니다.

7. Continuous Encoding (연속형 인코딩)

  • 개념: 연속형 데이터를 그대로 인코딩하는 방식입니다. 예를 들어, 나이, 온도, 가격 등 수치형 데이터를 그대로 모델에 입력합니다.
  • 특징:
    • 데이터를 원본 상태 그대로 유지하여 사용합니다.
    • 데이터를 그대로 사용하거나 스케일링(정규화)하여 사용하기도 합니다.
  • 장점: 자연스럽게 모델이 연속형 변수 간의 관계를 학습할 수 있습니다.
  • 단점: 수치형 데이터의 범위나 분포에 따라 모델이 학습하기 어려울 수 있어 스케일링이 필요할 수 있습니다.

요약

다양한 인코딩 방식은 데이터를 모델이 이해할 수 있는 형식으로 변환하는 과정에서 중요하게 사용됩니다. One-hot encoding은 범주형 데이터를 이진 벡터로 변환하는 방식이고, Zero-shotFew-shot learning은 AI 모델이 적거나 없는 데이터로 새로운 클래스를 처리하는 능력과 관련됩니다. Word embeddingembedding은 데이터나 단어 간의 의미적 관계를 벡터 공간에서 표현하는 데 중점을 둡니다. 상황에 맞는 인코딩 방식을 선택하는 것이 모델 성능 향상에 중요한 역할을 합니다.

profile
학과 꼴찌 공대 호소인

0개의 댓글