딥러닝

· 딥러닝
# 순환 신경망(Recurrent Neural Network, RNN) 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델 다양한 길이의 입력 시퀀스를 처리할 수 있는 인공 신경망 시퀀스 모델 시퀀스 모델 = 시퀀스를 처리하기 위해 고안된 모델 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서 다시 은닉층 노드의 다음 계산의 입력으로 보내는 특징을 가짐 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드 = 셀(cell) 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행 메모리 셀, RNN 셀이라고도 함 각각의 시점(time step)에서 바로 이전 시점에서의 은닉층의 메모리 셀에서 나온 값을 자신의 입력으로 사용하는 재귀적 활동을 하고 있음 => 현재 시점 ..
· 딥러닝
# Word Embedding 각 단어를 좌표공간에 최적의 벡터로 표현(embedding)하는 기법 각 단어들을 특정한 차원으로 이루어진 공간 상의 한 점, 혹은 그 점의 좌표를 나타내는 벡터로 변환해주는 기법 워드 임베딩은 그 자체가 머신러닝 혹은 딥러닝 기술 text 데이터셋을 학습 데이터로 주고 좌표 공간의 차원 수를 사전에 정의한 후 입력으로 워드 임베딩 알고리즘을 주면 워드 임베딩 학습이 완료된 이후 해당하는 좌표 공간 상에서 학습 데이터에서 나타난 각각의 단어에 대한 최적의 좌표값 혹은 그에 해당하는 벡터 표현형을 출력함 비슷한 의미를 가지는 단어가 좌표 공간 상에 비슷한 위치의 점으로 매핑되도록 함으로써 단어들의 의미상 유사도를 잘 반영한 벡터 표현을 다양한 자연어 처리 알고리즘에게 제공 #..
· 딥러닝
# Bag-of-Words 딥러닝 기술이 적용되기 이전에 많이 활용되던 단어 및 문서를 숫자 형태로 나타내는 가장 간단한 기법 단어들의 순서는 고려하지 않고 단어들의 출현 빈도에만 집중하는 텍스트 데이터의 수치화 표현 방법 Step1. Constructing the vocabulary containing unique words 사전(vocabulary) 형태로 저장할 때 단어들의 중복 허용X "John really really loves this movie", " Jane really likes this song" => {"John", "really", "loves", "this", "movie", "Jane", "likes", "song"} Step2. Encoding unique words to on..
· 딥러닝
# 선형 회귀(Linear Regression) 알려진 다른 관련 데이터 값을 사용하여 알 수 없는 데이터의 값을 예측하는 데이터 분석 기법 단순 선형 회귀 분석 다중 선형 회귀 분석 실제값과 예측값에 대한 오차에 대한 식 목적 함수(Objective function) = 함수의 값을 최소화/최대화하는 목적을 가진 함수 비용 함수(Cost function) = 값을 최소화하려는 함수 = 손실 함수(Loss function) => 비용 함수는 단순히 실제값과 예측값에 대한 오차를 표현하면 되는 것이 아닌 예측값의 오차를 줄이는 일에 최적화된 식이어야 함 # 로지스틱 회귀(Logistic Regression) 둘 중 하나를 결정하는 문제인 이진 분류(Binary Classification)과 같은 문제를 풀..
· 딥러닝
# PyKoSpacing 띄어쓰기가 되어있지 않은 문장을 띄어쓰기를 ㅎ나 문장으로 변호나해주는 패키지 성능 괜찮음 # Py-Hanspell 네이버 한글 맞춤법 검사기를 바탕으로 만들어진 패키지 띄어쓰기 또한 보장 # SOYNLP 품사 태깅, 단어 토큰화 등을 지원하는 단어 토크나이저 비지도 학습으로 단어 토큰화 데이터에 자주 등장하는 단어들을 단어로 분석 텍스트 데이터에서 특정 문자 시퀀스가 함께 자주 등장하는 빈도가 높고 앞뒤로 조사 또는 완전히 다른 단어가 등장하는 것을 고려해서 해당 문자 시퀀스를 형태소라고 판단하는 단어 토크나이저 내부적으로 응집 확률과 브랜칭 엔트로피를 활용한 단어 점수 표로 동작 응집 확률(cohesion probability) 내부 문자열이 얼마나 응집하여 자주 등장하는지 판..
· 딥러닝
# 어간 추출(Stemming)과 표제어 추출(Lemmatization) 눈으로 봤을 때는 서로 다른 단어들이지만, 하나의 단어로 일반화시킬 수 있다면 하나의 단어로 일반화시켜서 문서 내의 단어 수를 줄이기 위한 작업들 BoW 표현을 사용하는 자연어 처리 문제에서 주로 사용 # 표제어 추출(Lemmatization) 표제어(Lemma) = 기본 사전형 단어 포제어 추출 = 단어들이 다른 형태를 가지더라도 그 뿌리 단어를 찾아가서 단어의 개수를 줄일 수 있는지 판단 표제어 추출을 하는 가장 섬세한 방법 = 형태학적 파싱을 먼저 진행하는 것 형태학(morphology) = 형태소로부터 단어들을 만들어가는 학문 형태소의 종류로는 어간(stem)과 접사(affix)가 존재 어간(stem) = 단어의 의미를 담고..
· 딥러닝
# 텍스트 전처리(Text preprocessing) 용도에 맞게 텍스트를 사전에 처리하는 작업 # 토큰화(Tokenization) 주어진 corpus에서 토큰(token) 단위로 나누는 작업 토큰의 단위는 상황에 따라 다르지만 보통 의미 있는 단위로 토큰을 정의함 토큰화 작업 전, 후에 텍스트 데이터를 용도에 맞게 정제 및 정규화하는 일을 함 # 정제(Cleaning) 갖고 있는 코퍼스로부터 노이즈 데이터를 제거 # 정규화(Normalization) 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어줌 # 단어 토큰화(Word Tokenization) 이때의 단어는 단어 단위 외에도 단어구, 의미를 갖는 문자열로 간주되기도 함 구두점이나 특수문자를 전부 제거하면 토큰이 의미를 잃어버리는 경우가 발..
· 딥러닝
# 문서 단어 행렬(Document-Term Matrix, DTM) 서로 다른 문서들의 BoW들을 결합한 표현 방법 => 서로 다른 문서들을 비교할 수 있게 됨 다수의 문서에서 등장하는 각 단어들의 빈도를 행렬로 표현 각 문서에 대한 BoW를 하나의 행렬로 만든 것 행과 열을 반대로 선택하면 TDM이라고도 함 문서 단어 행렬의 한계 희소 표현 DTM에서 각 문서 벡터의 차원은 전체 단어 집합의 크기를 가짐 만약 가지고 있는 전체 코퍼스가 방대한 데이터라면 문서 벡터의 차원은 수만 이상의 차원을 가질 수 있음 많은 문서 벡터가 대부분의 값을 0으로 가질 수도 있음 대부분의 값이 0인 표현 = 희소 벡터(sparse vector), 희소 행렬(sparse matrix) 많은 양의 저장 공간과 높은 계산 복잡..
· 딥러닝
# Bag of Words(BoW) 단어들의 순서는 전혀 고려하지 않고 단어들의 출현 빈도(frequency)에만 집중하는 텍스트 데이터의 수치화 표현 방법 각 단어가 등장한 횟수를 수치화하는 텍스트 표현 방법 어떤 단어가 얼마나 등장했는지를 기준으로 문서가 어떤 성격의 문서인지를 판단하는 작업에 쓰임 ex) '달리기', '체력'과 같은 단어가 자주 등장하면 해당 문서를 체육 관련 문서로 분류 가능 => 분류 문제나 여러 문서 간의 유사도를 구하는 문제에 주로 사용 국소 표현 방법(Local Representation = 이산 표현, Discrete Representation) 해당 단어 그 자체만을 보고 특정값을 매핑하여 단어를 표현하는 방법 단어의 의미, 뉘앙스 표현 불가능 분산 표현 방법(Distr..
하얀 돌덩이
'딥러닝' 카테고리의 글 목록