분류 전체보기
-
Embedding OutLinedeep learning 2024. 2. 29. 13:15
Embedding (or Embedding Vector) : 텍스트 데이터를 고정된 크기의 밀집 벡터로 변환하는 기술로, 텍스트 데이터의 의미적, 문맥적 정보를 벡터 공간에 표현하는 것으로, embedding들 간의 거리 계산을 통해 이들 간의 의미적 관계를 파악할 수 있다. : Embedding의 종류는 다음과 같다. Vectorization에 신경망을 사용하지 않을 경우 단어에 대한 벡터 표현 : One-Hot Encoding 문서에 대한 벡터 표현 : Document Term Matrix, TF-IDF Vectorization에 신경망을 사용하는 경우 (Learned Embedding) 단어에 대한 벡터 표현 방법 : 워드 임베딩 (Word2Vec, GloVe, FastText, Embedding ..
-
Sparse Representation _vs_ Dense Representationdeep learning 2024. 2. 28. 21:22
Sparse Representation 데이터에서 대부분의 element들이 유효하지 않은 경우에 적합한 표현 방법으로, 비교적 적은 수의 위치나 요소만을 저장하여 데이터를 효율적으로 표현하는 방법 장점 메모리 효율적 : 무의미한 값들은 표현하지 않는 방식 높은 가독성 : 데이터의 중요한 특성만을 표현하여 해당 데이터의 구조와 내용을 이해하기 쉽다는 장점 빠른 처리속도 : 불필요한 연산을 줄일 수 있다는 점에서 빠른 처리가 가능 단점 정보 손실 : 불필요한 정보를 표현하지 않음으로서 일부 정보가 손실되는 문제 발생 복잡성 : 알고리즘 구현에 있어 복잡하여 처리가 어렵다는 단점 (스케일링 등) Dense Representation 데이터를 밀집된 형태로 표현하는 방법으로, 대부분의 element들이 유효한..
-
Word2vecdeep learning/natural language process 2024. 2. 28. 21:01
WordeVec CBOW (Continuous Bag of Words) 주변에 있는 단어(x)들을 입력으로 중간에 있는 단어(y)들을 예측하는 방식으로, sliding window 방식을 활용한다 중심 단어가 예측되는 과정 초기 토큰은 원 핫 인코딩으로 표현된다. 원 핫 인코딩으로 표현된 각각의 초기 토큰은 projection layer에 전달되며, 이 때 전달되는 값은 원 핫 인코딩으로 표현된 토큰에 가중치 W를 곱한 값들의 평균이다. (이 평균은 window에 의해 select된 단어들의 맥락 정보를 담고 있다.) 이 평균 값에 가중치 행렬을 곱한 값에 softmax 함수를 적용한 값은 score vector가 된다. 정리 주변 단어들의 embedding vector 값을 바탕으로 중심 단어를 예측하..
-
가상 데이터의 활용machine learning 2024. 2. 25. 16:32
가상 데이터를 생성하는 이유 테스트 이전에 모델의 정상 작동 여부를 확인하기 위함 알고리즘의 특성을 이해하거나 성능의 평가를 위함 1. make_blob을 사용한 가상 데이터 생성 make_blob을 통해 생성되는 데이터는 정규 분포를 따르는 가상의 데이터로, 여러 개의 클러스터가 존재하는 형태로 데이터가 생성되어, 다중 분류를 위한 클러스터 데이터 생성이 가능 from sklearn.datasets import make_blobs x, y = make_blobs(n_samples=100, centers=3, n_features=2, random_state=1234) print(x.shape, y.shape) # n_samples : 생성할 데이터 샘플의 수 # centers : 생성할 클러스터의 수 #..
-
-
데이터 변환_인코딩machine learning 2024. 2. 25. 16:18
인코딩(Encoding)은 범주형 데이터를 수치형 데이터로 변환하는 과정이다. 이는 텍스트나 범주형 데이터를 모델이 이해할 수 있는 형태로 변환하는 것으로, 데이터에 포함된 정보를 모델이 해석하기 쉬운 형태로 변환하는 것이다. 다양한 인코딩 방식을 사용한다면 데이터의 의미를 수치적으로 표현할 수 있다. 원 핫 인코딩의 경우, 범주 간의 명확한 구분을 제공하는 인코딩 방식인 반면, 차원의 갯수가 늘어나 차원의 저주가 발생할 수 있는 반면, 레이블 인코딩의 경우 범주 간의 순서나 등급 정보를 제공하여 표현할 수있다. 대표적인 인코딩 방식에 대한 설명과 사용 목적, 의의와 한계를 한번 살펴보자. 1. One Hot Encoding 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 ..
-
데이터 변환_스케일링machine learning 2024. 2. 25. 16:17
데이터 스케일링(data scaling)은 데이터 전처리 과정의 핵심 단계 중 하나로, dataset의 features를 특정 범위로 조정하거나, 데이터의 분포를 표준화하는 과정으로, 주요 목적은 다음과 같다. 1. 특성 간의 균형 조정 (★★★) 데이터 feature를 특정 범위 값으로 조절하여 feature 크기에 따른 불균형을 조정할 수 있다. 이를 통해 특성의 중요도를 공정하게 해석하여 overfitting을 극복할 수 있다. 이는 특히 거리 기반의 알고리즘(KNN, K-Means Clustering 등)에 있어 특성 간 거리 측정이 더 공정하게 이루어지도록 하여 알고리즘의 정확도와 성능을 향상시킨다. 2. 모델의 수렴 속도 향상 scale을 일치시킴으로서 최적화 알고리즘이 수렴하는 속도를 일정하..
-
데이터 정제machine learning 2024. 2. 25. 16:16
- 결측치 확인 - 결측치 제거, 결측치 대체 - 이상치 탐지 및 처리 - 중복 데이터 탐지 및 제거 from sklearn.impute import SimpleImputer params = {"strategy" : ["mean", "median", "most_frequent", "constant"], "fill_value" : ,#strategy == constant 인 경우에만 사용 (대체할 값) "missing_value" : np.nan(default),# 결측치를 식별하는데 사용할 값 "add_indicator" : [True or False],# True일 때 대체된 결측치의 위치를 나타내는 지표열 생성 "copy" : [True or False],# inplace와 같음 (default = ..