Machine Learning 29

Tensorflow 자격증 대비 - CNN (SIGN LANGUAGE MNIST 손동작 구분)

1. 라이브러리 설치 import csv import string import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.keras.preprocessing.image import ImageDataGenerator, array_to_img 2. 데이터 다운로드 및 변수 설정 # sign_mnist_train.csv !gdown --id 1z0DkA9BytlLxO1C0BAWzknLyQmZAp0HR # sign_mnist_test.csv !gdown --id 1z1BIj4qmri59GWBG4ivMNFtpZ4AXIbzg TRAINING_FILE = './sign_mnist_train.csv' VALIDA..

Tensorflow 자격증 대비 - 셰익스피어 따라하기 자연어 처리 (NLP with LSTM)

Tensorflow 자격증 1. 관련 라이브러리 from tensorflow.keras.preprocessing.sequence import pad_sequences from tensorflow.keras.layers import Embedding, LSTM, Dense, Dropout, Bidirectional from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.models import Sequential from tensorflow.keras.optimizers import Adam ### YOUR CODE HERE from tensorflow.keras import regularizers # Figure ou..

Tensorflow 자격증 대비 - 시계열 데이터 분석 (태양의 흑점 조사)

다음은 Coursera의 텐서플로우 자격증 코스에서 나온 태양의 흑점 데이터 분석과 딥러닝을 통한 모델 생성 및 prediction입니다. 1. 데이터 받기 # tensorflow 버전 확인 import tensorflow as tf print(tf.__version__) # plot 함수 import numpy as np import matplotlib.pyplot as plt def plot_series(time, series, format="-", start=0, end=None): plt.plot(time[start:end], series[start:end], format) plt.xlabel("Time") plt.ylabel("Value") plt.grid(True) # csv 파일 받기 !wg..

Coursera Tensorflow Certificate 강의 후기

1주일 만에 끝냈습니다. https://coursera.org/share/d79eeaed17a40a9e71909ebc9af84b72 Completion Certificate for DeepLearning.AI TensorFlow Developer This certificate verifies my successful completion of DeepLearning.AI's "DeepLearning.AI TensorFlow Developer" on Coursera www.coursera.org 3.1절과 샌드위치 휴일, 그리고 주말에 쉬지도 못하면서 계속 들었습니다. 총 네 개의 코스로 되어있으며, 각각의 코스는 1. Introduction to TensorFlow for Artificial Intelli..

Adam Optimization에 대한 설명

Adam Optimization은 2014년에 발표된 논문에서 잘 설명되어 있습니다. https://arxiv.org/abs/1412.6980 저는 Yolov5를 이용하면서 학습을 하며, SGD보다 Adam이 더 효율적이라는 것을 확인하였고, Warmup Epoch과도 잘 맞는것을 확인하였습니다. Adam Optimization의 기본 pseudo code는 다음과 같습니다. 다음을 설명하기 위해서는, Momentum, exponentionally weighted averages, RMS Props 등을 알면 훨씬 더 쉽게 설명될 수 있을것 같습니다. 이 이외에도 NAG, Adagrad, AdaDelta, 많은 설명은 Coursera의 Deep Learning Specialization 의 세 번째 코스..

Machine Learning 2022.02.24

Gradient Descent(경사 하강)에 대해서 알아봅시다!

물론 잘 되어 있는 포스트가 많기 때문에, 간단하게 쓰겠습니다. Gradient Descent란, Machine Learning에서 궁극적으로 하려고 하는 목표, 즉, local minimum/maximum을 찾고자 할 때 사용하는 최적화 방법이라고 할 수 있겠습니다. 보통 이때, 로컬 미니멈/맥시멈을 찾는 주체는 loss function 또는 cost function이라고 할 수 있겠습니다. 이 Gradient Descent는, Linear Regression(선형 회귀)에서도 사용하고, CNN, RNN, 등 거의 모든 Machine Learning에서 사용하지만, Gradient Descent를 배울 때는 그 복잡도 때문에 항상 Linear Regression에서의 예를 찾는 편입니다. Linear ..

Machine Learning 2022.02.18

train test split 하는 커스텀 python 스크립트를 만들어봤습니다

한번 더 업그레이드 한 버전을 만들었습니다. 수정 된 버전은 좀 더 interactive 하게 만들었고, train/test/val 이외에 train/test, ratio도 shell script로 input할 수 있도록 만들었습니다. import os import random from shutil import copyfile # You should make train, test, val directory in target directory before executing this script # train test or train test val # also, images, labels directory should be made for all directories def main(): ldir = os..

Machine Learning 2021.12.23

Deep Learning이란? (인공 신경망)

Housing Price Prediction에서 보면, linear Regression의 형태로 이루어지는 걸 볼 수 있습니다. Deep Learning의 관점에서 보면, 하나의 Neuron을 여러 개로 연결하는 형태로 이루어져 있는 걸 볼 수 있습니다. 이 경우에는, 하나의 Neuron(신경)만 사용하면 될 거 같네요. 하나의 뉴런에는 인풋과 아웃풋이 있고, 그 인풋과 아웃풋을 연결하는 함수를 Activation function (활성화 함수) 라고 합니다. Activation function에는 여러가지가 있지만, 가장 많이 사용하는 것은 RELU(Rectified Linear Unit)입니다. Relu, Sigmoid, Step function등 여러가지가 있고, 나중에 정리를 하도록 하겠습니다. ..

Machine Learning 2021.10.02

Regularization과 Normalization

Machine Learning에서 Regularization과 normalization이라는 개념이 있는데, 둘다 정규화라고도 해석이 가능합니다. 네이버에 검색해보니, Regularization - 조직화, 규칙화 Normalization - 표준화, 정상화 라고 나오는군요. 하지만 많은 사람들이 Regularization과 normalization을 둘 다 정규화라고 사용하는 듯 합니다. Machine Learning에서 이 둘은 뜻이 완전히 다른데요, Normalization은 사실 Machine Learning뿐만 아니라 다른 개념에서도 사용되는 개념이기도 합니다. 수학에서도 사용하고, Database에서의 Normalization의 경우에는 테이블간의 서로 겹치는 정보를 배제한다는 의미로 사용하기..

Machine Learning 2021.09.03