Data Science
-
최대우도법(Maximum Likelihood Estimation, MLE)Data Science/데이터마이닝 2022. 11. 3. 23:42
어떠한 예측 모델을 만들때 생성된 모델이 얼마나 Train data set을 잘 설명하는지를 측정할 필요가 있으며, 이를 좋은 방향으로 개선해나아감으로 모델을 학습할 수 있다. Train data set에 대한 설명력을 측정하는 가장 대표적인 방법으로는 손실함수(Loss function)가 있다. 다른 방법으로는 이번 포스팅에서 설명할 Likelihood가 있다. 1. Likelihood란? X라는 데이터는 자연에서의 True Distribution에서 발생하였다. 이때, 우리는 모집단을 알수 없기 때문에 샘플링 된 데이터를 통해서 True Distribution을 추정해야한다. 따라서 True Distribution일 가능성(Probability)을 Likelihood라고 할 때 가장 높은 가능성을 가..
-
Tensorflow Max Pooling 개념 및 예시 코드(tensorflow.keras.layers.MaxPool2D)Data Science/Tensorflow 2022. 11. 1. 23:42
1. Max Pooling이란 데이터에 필터를 씌워서 필터 내부에 가장 큰 값으로 기존의 값을 대체하는 기법 아래 그림에서는 숫자 7을 중심으로 3*3 필터를 사용하여서 가장 큰 값 9로 대체한다. 2. Tensorflow에서 maxpooling 사용 및 수행과정 확인 Tensorflow에서는 tensorflow.keras.layers.MaxPool2D 라이브러를 활용하여 maxpooling을 구현할수 있다. 이때, stride와 padding에 따라서 maxpooling이 어떻게 동작하는지 case별로 확인해본다. 2.1 실험준비 및 임의의 데이터 생성 import tensorflow as tf from tensorflow.keras.layers import MaxPool2D input_image = ..
-
Tensorflow Variational AutoEncoder 개념 및 코드 예시(VAE, MNIST Dataset)Data Science/Tensorflow 2022. 11. 1. 10:38
1. VAE 개념 VAE는 일반 AutoEncoding과는 다르게 입력데이터(X)를 Lantent Representation(Z)로 압축하고 이를 사용하여 기존과 유사하나 새로운 데이터를 생성하는 것을 목표로 합니다. (기존 AutoEncoder는 입력데이터(X)를 유사하게 복구하는 것이 목표이다.) 이때 Latent Representation은 생성하고자하는 결과의 평균 및 분산을 담고있다고 가정한다.
: latent vector(Z)의 확률밀도함수, 가우시안분포를 따름 : Z로부터 어떠한 X가 나올 조건부.. -
Tensorflow Generative Adversarial Network 예시 코드(GAN, MNIST Data Set)Data Science/Tensorflow 2022. 11. 1. 01:19
1. 기본 세팅 1.1 라이브러리 import os import numpy as np import tensorflow as tf import matplotlib.pyplot as plt import tensorflow_datasets as tfds from tensorflow.keras import Model, layers 1.2 GPU 세팅 os.environ["CUDA_VISIBLE_DEVICES"]="0" gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: tf.config.experimental.set_memory_growth(gpus[0], True) except RuntimeError as e: print(e) # ..
-
Tensorflow LSTM 예시 코드(LSTM, RNN, ecg.csv)Data Science/Tensorflow 2022. 11. 1. 00:07
1. 기본세팅 1.1. 라이브러리 import numpy as np import pandas as pd import tensorflow as tf import matplotlib.pyplot as plt from sklearn.preprocessing import MinMaxScaler from tensorflow.keras import layers from tensorflow.keras.models import Model from sklearn.metrics import accuracy_score, precision_score, recall_score from sklearn.model_selection import train_test_split import os 1.2 GPU 세팅 os.environ[..
-
강화학습Data Science/ML&DL 모델 2022. 10. 31. 17:12
2. Sequential Process 어떠한 랜덤베리에이블들의 시퀀스 2.1 Markov chain 2.1.1 Markov property : 현재의 사건은 먼 과거와는 별로 상관이 없고 최근에 일어난 일과 상관이 있다. (q2를 알고싶을 때 q0은 이미 q1에 담겨있기 때문에 q1을 알면 q2를 알수 있다.) (실제로 q0과 q2는 연관이 있지만, q1이라는 노드가 고정되면 q0와 q2는 상관이 없다.) 현재 상태가 모든 정보를 담고 있다면 과거 정보는 필요없다. 2.1.2 Transition Matrix 2.2 Markov Reward Process ( MarkovChain + reward ) markov 가정에 의해 Memoryless한 Random process이다. passive stochas..
-
AutoEncoder 개념 및 종류Data Science/ML&DL 모델 2022. 10. 31. 00:12
1. AutoEncoder(오토인코더) 개념 AutoEncoder는 입력된 데이터를 압축시킨 후 다시 원본과 유사하게 복구하는 모델이다. 크게 Encoder, Decoder, Latent Representation으로 이루어져있다. Encoder는 입력된 데이터를 Latent Representation으로 압축시킨다. 이때 Latent Representation의 dimension(차원)은 입력데이터보다 작다. Decoder는 Latent Representation으로 압축된 데이터를 다시 원본 데이터 사이즈로 복구한다. 이때 우리의 목적은 Dimensionality Reduction이다. 아래 그림을 통해서 더 자세히 설명한다. 28*28 이미지를 Flatten하여 784 길이의 벡터로 만들어 입력값으..
-
Transformer Model 개념 및 모델 구조Data Science/ML&DL 모델 2022. 10. 28. 00:20
1. 개요 1.1 기존 Sequence to Sequence Model의 한계 context vector에 입력 문장의 정보를 압축하여 병목현상 발생 및 성능하락이 야기됨. (하나의 context vector가 입력 문장의 모든 정보를 가지고 있어야함.) (Context Vector는 고정된 길이의 벡터) Decoder에서 매번 히든스테이트를 갱신해야함. sos : start of sentence eos : end of sentence 1.2 Attenstion 개념이 추가된 Sequence to Sequence Model RNN에서 매 입력에따라 나오는 히든스테이트 전체를 예측의 입력으로 넣어주기위한 Attention Vector 등장. (아직 Transformer가 아닙니다.) Attention Ve..