본문 바로가기

코딩/텐서플로우

(14)
비전공자의 코딩 독학 - 파이썬&텐서플로우(14) <오토인코더> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 오토인코더(Autoencoder)입니다. 1. 오토인코더란? 과거에 설명드렸듯이 2019/12/27 - [코딩/텐서플로우] - 비전공자의 코딩 독학 - 파이썬&텐서플로우(1) 비전공자의 코딩 독학 - 파이썬&텐서플로우(1) 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 텐서플로우입니다. 1. 텐서플로우(tensor flow)란? 구글에서 공개한 오픈소스 머신러닝 라이브러리로써 C++, JAVA, R등 다양한 언어를 지원하지만 파이썬에 가장 최적.. bebutae.tistory.com 머신러닝의 방법에는 크게 세가지 종류가 있습니다. 그 중에서도 아무런 설명이나 라벨 없이 단지 대량의 데이터만 입력시켜 컴퓨터가 스스로 데이터를 정의하도록 하는 것을 비지도학습이라고..
비전공자의 코딩 독학 - 파이썬&텐서플로우(13) <CNN> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 CNN(Convolutional Neural Network)입니다. 1. CNN이란? CNN은 합성곱(Convolution) 신경망을 의미합니다. 합성곱 신경망은 이미지의 특징을 추출하는 단계와 이미지를 분류하는 단계를 반복하며 학습을 진행하게 됩니다. 2. 파라미터의 종류 (1) Convolution Filter의 개수 각 레이어에서의 연산시간과 양을 일정하게 유지하기 위해 개수를 증가시켜줍니다. (2) Filter 사이즈 작은 필터를 여러개 중첩하면 원하는 특징을 더 돋보이게 하면서 연산량을 줄일 수 있습니다. (3) Padding 여부 Convolution전에 입력데이터 주변을 특정 픽셀값으로 채워 늘려줍니다. 입력 이미지의 크기를 줄이지 않고 학습할 수..
비전공자의 코딩 독학 - 파이썬&텐서플로우(12) <Matplotlib> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 Matplotlib 입니다. 1. Matplotlib란? 파이썬에서 데이터를 시각화하도록 도와주는 패키지입니다. 그래프를 그려주고, 차트를 만들어주는 등 다양한 기능을 제공하여 다양한 방면으로 사용되고 있습니다. 2. 필요한 라이브러리 이번 예제를 다루기 위해서는 두가지 라이브러리가 추가로 필요합니다. 다음 명령어를 이용하여 라이브러리를 다운받아주세요. pip install matplotlib pip install numpy 3. 전체 소스코드 import tensorflow as tf import matplotlib.pyplot as plt import numpy as np from tensorflow.examples.tutorials.mnist import..
비전공자의 코딩 독학 - 파이썬&텐서플로우(11) <과적합> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 과적합(Overfitting)입니다. 1. 과적합이란? 학습데이터를 과도하게 학습하여 학습데이터에 대해서는 정확도가 높지만 실제데이터나 테스트데이터에 대해서는 정확도가 낮은 현상을 의미합니다. 이를 해결하기 위해서는 (1) 데이터의 양을 늘리는 방법 (2) 가중치 규제(Regularization)를 적용하는 방법 (3) 드롭아웃(Dropout)을 사용하는 방법 이 있습니다. 하나씩 알아보도록 하겠습니다. 2. 데이터의 양을 늘리는 방법 과적합은 간단히 말해서 머신러닝 모델이 테스트데이터에 너무 맞춰지는 현상 이므로 테스트데이터가 실제데이터와 비슷해질수록 모델이 실제데이터를 더 잘 예측하게 되므로 자연스레 과적합 현상이 해결됩니다. 3. 가중치 규제를 적용하는 ..
비전공자의 코딩 독학 - 파이썬&텐서플로우(10) <MNIST> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 MNIST 입니다. MNIST는 손으로 쓴 숫자들의 이미지를 모아놓은 데이터셋으로써 0부터 9까지의 숫자를 28*28 픽셀 크기로 구성해놓은 이미지 집합입니다. MNIST는 머신러닝에서 상당히 유명한 예제 중 하나로써 전처리도 잘 되어있어서 번거로운 작업없이 바로 머신러닝을 진행할 수 있습니다. 1. 텐서플로우 외에 필요한 라이브러리 tensorflow.examples.tutorials.mnist.input_data : MNIST 예제가 들어있는 라이브러리입니다. 2. 전체 소스코드 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat..
비전공자의 코딩 독학 - 파이썬&텐서플로우(9) <시그모이드 예제> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 시그모이드 예제 풀이 입니다. 심층 신경망 예제까지 풀이한 시점에서 시그모이드 예제에 대한 풀이를 하는 것은 순서가 조금 안 맞지만 시그모이드 함수 역시 중요한 활성화 함수이므로 한번 예제풀이에 도전해보겠습니다. 1. 텐서플로우 외에 필요한 라이브러리 numpy : 표 형식으로 이루어진 데이터를 효과적으로 이용할 수 있게 만든 라이브러리입니다. 2. 전체 소스코드 import tensorflow as tf import numpy as np x_data = np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=np.float32) y_data = np.array([[0], [0], [0], [1]], dtype=np.float3..
비전공자의 코딩 독학 - 파이썬&텐서플로우(8) <텐서보드> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 텐서보드 입니다. 1. 텐서보드란? 텐서보드는 텐서플로우에서 제공하는 학습 추적 툴입니다. 학습과정에서 변화하는 손실값이나 정확도, 가중치, 편향등을 다양한 방식으로 시각화 해주어 머신러닝을 더욱 쉽게 분석할 수 있게 해줍니다. 2. 전체 소스코드 import tensorflow as tf import numpy as np #데이터 불러오기 data = np.loadtxt('./data.csv', delimiter=',', unpack=True, dtype='float32') #데이터 변환하기 x_data = np.transpose(data[0:2]) y_data = np.transpose(data[2:]) #학습 횟수 세어주는 변수 설정 global_step..
비전공자의 코딩 독학 - 파이썬&텐서플로우(7) <예제3 심층신경망> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 심층 신경망 예제 풀이 입니다. 앞서 단층 신경망 예제를 알아보았는데 정확도가 생각보다 많이 낮았던 것이 기억나시나요? 2020/01/06 - [코딩/파이썬] - 비전공자의 코딩 독학 - 파이썬[15] 텐서플로우(6) 비전공자의 코딩 독학 - 파이썬[15] 텐서플로우(6) 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 신경망 예제 풀이입니다. 1. 추가로 필요한 라이브러리 오늘은 텐서플로우 외에 추가로 numpy라는 라이브러리가 필요합니다. numpy는 행렬형태의 데이터를 조작, 연산.. bebutae.tistory.com 이번에는 레이어를 추가해 심층 신경망을 만들어 정확도를 올려보도록 하겠습니다. 1. 이론 앞서 공부한 신경망은 단층으로 구성되어 효과적인 학..