일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- KONLPY
- 순환 신경망
- 합성곱 신경망
- 완전연결층
- 합성곱층
- 망각 게이트
- 딥러닝
- 이미지 분류
- 임베딩
- NLTK
- COLAB
- 과적합
- cnn
- 카운트 벡터
- 코딩테스트
- 전이학습
- 클러스터링
- 생성모델
- 텍스트 마이닝
- 자연어 전처리
- 코랩
- 입력층
- 출력층
- RNN
- 성능 최적화
- 양방향 RNN
- 원-핫 인코딩
- 시계열 분석
- 풀링층
- 프로그래머스
Archives
- Today
- Total
Colab으로 하루에 하나씩 딥러닝
자연어 전처리_3.임베딩_1) 희소 표현 기반 임베딩(원-핫 인코딩) 본문
728x90
임베딩(Embedding)
- 사람이 사용하는 언어(자연어)를 컴퓨터가 이해할 수 있는 언어(숫자) 형태인 벡터(vector)로 변환한 결과 혹은 일련의 과정
- 단어 및 문장 간 관련성 계산
- 의미적 혹은 문법적 정보의 함축
- 임베딩 방법에 따라 희소 표현 기반 임베딩, 횟수 기반 임베딩, 예측 기반 임베딩, 횟수/예측 기반 임베딩이 존재
희소 표현 기반 임베딩(sparse representation embedding)
- 대부분의 값이 0으로 채워져 있음
- 대표적으로 원-핫 인코딩이 있음
원-핫 인코딩(one - hot encoding)
- 주어진 단어 N개를 각각 N차원의 벡터로 표현하는 방식
- 단어가 포함되어 있는 위치에 1을 넣고 나머지에는 0 값을 채움
- 딕셔너리에 [apple, banana, cherry]의 값이 있으면 apple을 표현하는 벡터는 [1, 0, 0]
- 단점
- 원-핫 벡터들은 하나의 요소만 1 값을 갖고 나머지는 모두 0인 희소 백터를 갖습니다. 이로 인하여, 단어끼리 관계성(유의어, 반의어) 없이 서로 독립적인 관계가 됨
- 하나의 단어를 표현하는데 말뭉치에 있는 수만큼 차원이 존재하기 때문에 '차원의 저주(curse of dimmensionality)' 문제가 발생함
더보기
<데이터 셋 가져오기>
아래의 코드 중 class2.txt는 출처의 유방 조영술 관련 데이터셋을 수정하여 사용하였습니다.
### 원-핫 인코딩 적용
import pandas as pd
class2 = pd.read_table('/content/drive/MyDrive/class2.txt', sep=' ', names=['id','tissue','class','class2','x','y','r']) # 데이터셋을 메모리로 로딩
from sklearn import preprocessing
label_encoder = preprocessing.LabelEncoder() # 데이터를 인코딩하는 데 사용하며, OneHotEncoder와 함께 사용
onehot_encoder = preprocessing.OneHotEncoder() # 데이터를 숫자 형식으로 표현
train_x = label_encoder.fit_transform(class2['class2'])
train_x

출처: 서지영, 『딥러닝 텐서플로 교과서』, 길벗(2022)
'딥러닝_개념' 카테고리의 다른 글
자연어 전처리_3.임베딩_3) 예측 기반 임베딩 (1) | 2022.12.14 |
---|---|
자연어 전처리_3.임베딩_2) 횟수 기반 임베딩 (0) | 2022.12.13 |
자연어 전처리_2.전처리_4) 정규화 (1) | 2022.12.10 |
자연어 전처리_2.전처리_3) 어간 추출 / 표제어 추출 (0) | 2022.12.09 |
자연어 전처리_2.전처리_2) 불용어 제거 (0) | 2022.12.09 |