0. 단어 임베딩(Word Embedding)이란? - 단어의 의미를 고려하여 좀 더 조밀한 차원에서 단어를 벡터로 표현하는 것 1. 단어 수준 임베딩 2. 문장 수준 임베딩 2.1 ELMO - ELMo(Embeddings from Language Model) - 미국 연구기관 앨런 에이아이와 미국 워싱턴 대학교 공동 연구팀이 발표한 문장 임베딩 기법 - 전이학습(Transfer learning)을 자연어 처리에 접목 (전이학습? 이미 학습된 모델을 다른 딥러닝 모델의 입력값 또는 부분으로 재사용하는 기법) * ELMo는 크게 3가지 요소로 구성되어 있다. 1. Convolutional Neural Network - 각 단어 내 문자들 사이의 의미적, 문법적 관계를 도출한다. 2. LSTM 레이어 - B..
0. 특징 추출 모듈 자연어 처리에서 특징 추출이란? 텍스트 데이터에서 단어나 문장들을 어떤 특징 값으로 바꿔주는 것을 의미 기존에 문자로 구성되어 있던 데이터를 모델에 적용할 수 있도록 특징을 뽑아 어떤값으로 바꿔서 수치화 CountVectorizer - 단순히 각 테스트에서 횟수를 기준으로 특징 추출 TfidVectorizer - TF-IDF라는 값을 사용해 텍스트에서 특징 추출 HashingVectorizer - CounterVectorizer와 동일하지만 해시 함수를 사용, 텍스트의 크기가 클수록 HashingVectorizer 사용하는게 효율적 1. CountVectorizer 텍스트 데이터에서 횟수를 기준으로 특징을 추출하는 방법 어떤 단위의 횟수를 선택하는지는 선택사항 횟수를 사용해서 벡터를..
0. 설명하기 전에 RNN, LSTM, GRU 지식정보 필요 [링크] 1. 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq) 번역기에서 대표적으로 사용하는 모델 LSTM, GRU 등 RNN을 길고 깊게 쌓아서 복잡하고 방대한 시퀀스 데이터 처리 seq2seq는 크게 두 개로 구성된 아키텍처로 구성 -> 인코더, 디코더 seq2seq에서 사용되는 모든 단어들은 워드 임베딩을 통해 임베딩 벡터로서 표현된 임베딩 벡터 (Sutskever, et al. 2014). 인코더(Encoder)란? 입력 문장의 모든 단어들을 순차적으로 입력받은 뒤에 마지막에 이 모든 단어 정보들을 압축해 하나의 벡터로 만듦 디코더(Decoder)란? 이 컨텍스트 벡터를 통해서 출력 시퀀스를 만들어냄 2. 어텐션..
1. 순환 신경망(Recurrent Neural Network, RNN) CNN? 컴퓨터 비전 문제에 주로 사용되는 인공신경망 구조 Try to find local features from a sequence RNN? 시계열 데이터 등의 맥락을 고려해 학습할 수 있으므로 음성 같은 파형 데이터나 자연어 등의 학습에 이용 순환신경망의 학습은 확률적 경사 하강법을 이용하여 실시간 순환 학습(Real-Time Recurrent Learning, RTRL)이나 시간 기반 오차 역전파(BackPropagation Through Time,BPIT)로 가중치를 업데이트 RNN은 시계열 데이터를 다루기에 최적화된 인공 신경망 시계열 데이터란 시간 축을 중심으로 현재 시간의 데이터가 앞, 뒤 시간의 데이터와 연관 관계를..
1. Generative adversarial network(GAN) 비지도학습 GAN은 원 데이터가 가지고 있는 확률 분포를 추정하도록 하고, 인공신경망이 그 분포를 만들어낼 수 있도록 한다는 점에서 단순한 군집화 기반의 비지도 학습과 차이가 있음 GAN에서 다루고자 하는 모든 데이터? 확률 분포를 가지고 있는 랜덤변수(Random Variable) GAN과 같이 비지도학습이 가능한 머신러닝 알고리즘으로 데이터에 대한 확률분포를 모델링할 수 있게 되면, 원 데이터와 확률분포를 정확히 공유하는 무한히 많은 새로운 데이터를 새로 생성할 수 있음 2. Generator(생성자)와 Discriminator(구분자) Generator(생성자) : Discriminator을 속이기 위한 이미지 생성 학습 Disc..
0. Generative model 중요한것 1. PixcelRNN/CNN 2. Variational Autoencoder 3. GAN Generative model? 주어진 트레이닝 데이터의 특징을 학습하여 트레이닝 데이터와 유사한 새로운 데이터를 생성하는데 목적이 있음 입력변수(latent variable) z로부터 결과물(image)를 만들어내는 모델 maximum likelihood(ML)를 바탕으로 학습을 하는 것 Maximum Likelihood method? 가장 큰 우도(likelihood)을 찾는 문제, 주어진 추정 계수로 관측값이 발생할 확률 Implicit density - model에 대해 틀을 명확히 정의하는 대신 확률 분포를 알기 위해 sample을 뽑는 방법 >>Markov C..
* 합성곱 계층(Convolutional Layer, Conv Layer) - MLNN(Multi-Layer Neural Network )의 문제를 해결하고자 만들어진 것이 합성곱 계층 - 필기체나 MNIST 데이터 같은 이미지 데이터는 일반적으로 채널, 세로, 가로 이렇게 3차원으로 구성된 데이터 - Affine 계층에서는 이 3차원 데이터를 1차원 데이터(784=28*28)로 바꿔 입력했지만 합성곱에서는 3차원 데이터(1, 28, 28)를 입력하고 3차원의 데이터로 출력하므로 형상을 유지 - CNN에서는 이러한 입출력 데이터를 특징맵(Feautre Map) (1) 합성곱 계층 – 연산 (2) 합성곱 계층 - 패딩(Padding) - 패딩(Padding)은 합성곱 연산을 수행하기 전, 입력데이터 주변을..
1. Pima Indians Diabetes Database 2. logistic 회귀 이용 코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import tr..
0. 분류의 성능 평가 지표 정확도(Accuracy) 오차행렬(Confusion Matrix) 정밀도(Precision) 재현율(Recall) F1 스코어 ROC AUC 1. 오차행렬(confusion matrix) describe the performance of a classification model 학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고 있는지 함께 보여주는 지표 이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함께 나타내는 지표 TN : 예측값을 Negative 값으로 0으로 예측했고 실제값 역시 Negative 값 0 FP : 예측값을 Positivie 값 1로 예측했는데 실제값은 Negative 값 0 FN : 예측값을 Negative 값..
1. 웨이블렛(wavelet) 국부적으로 존재하는 어떤 하나의 작은 파(wavelet)를 패턴으로 하여 이것을 천이시키거나 확대, 축소의 스케일(scale)을 통하여 임의의 파형으로 표현 기본 함수로 sine, cosine 함수 이외에 웨이블릿 모함수 사용 웨이블릿은 0을 중심으로 증가와 감소를 반복하는 진폭을 수반한 파도와 같은 진동 합성곱(convolution) 기술을 통해 알고 있는 신호와 결합하여, 알려지지 않은 신호로부터 정보를 추출하는데에 사용될 수 있음 대표적인 wavelet 변환 기법: Orthonormal Wavelet, Biorthonormal Wavelet, Packet Wavelet, Chirplet Wavelet 등의 변환 고주파수 영역에서는 시간축의 창폭을 조밀하게 하여 시간 영..