본문 바로가기

코딩/텐서플로우

(14)
비전공자의 코딩 독학 - 파이썬&텐서플로우(6) <예제2 신경망> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 신경망 예제 풀이입니다. 1. 추가로 필요한 라이브러리 오늘은 텐서플로우 외에 추가로 numpy라는 라이브러리가 필요합니다. numpy는 행렬형태의 데이터를 조작, 연산하는데 필수적으로 쓰이는 라이브러리입니다. 2. 전체 소스코드 import tensorflow as tf import numpy as np #자료형 설정 ex) [여성, 남성] x_data = np.array([ [1, 0], [0, 0], [1, 1], [0, 1], [1, 1], [0, 1]]) #자료형 설정 ex) [유아기, 청년기, 장년기] y_data = np.array([ [0, 0, 0], [0, 0, 1], [0, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1..
비전공자의 코딩 독학 - 파이썬&텐서플로우(5) <예제1 선형회귀함수> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 기다리고 기다리던 텐서플로우 예제 풀이입니다. 들어가기에 앞서 설치된 텐서플로우의 버전을 확인하도록 하겠습니다. 명령프롬프트를 열어서 아래와 같은 명령어를 입력하시면 텐서플로우의 버전을 확인하실 수 있습니다. pip freeze 또한 아래와 같은 명령어를 입력하시면 원하는 버전으로의 변경작업이 진행됩니다. tensorflow == 원하는 버전 형태로 입력하시면 됩니다. pip install tensorflow==1.14 1. 전체 소스코드 import tensorflow as tf x_data = [1,2,3] y_data = [1,2,3] W = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) b = tf.Variable(..
비전공자의 코딩 독학 - 파이썬&텐서플로우(4) <활성화 함수> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 활성화 함수(Activation Function) 입니다. 지난 포스팅에서 활성화 함수에 어떤 것들이 있는지만 알려드렸는데 오늘은 각 활성화 함수가 어떤 역할을 하는지까지 알아보려고 합니다. 1. 활성화 함수란? 인공신경망에서는 각 노드로 데이터가 들어오면 다음 레이어로 전달하기 전에 특정 함수를 거치도록 하는데 이때 데이터들이 거쳐가는 함수를 활성화 함수라고 합니다. 2. 활성화 함수의 종류 활성화 함수는 정말 많은 종류가 있지만 가장 흔히 접할 수 있는 6가지를 우선 정리해보고자 합니다. (1) 시그모이드(Sigmoid) 함수 로지스틱 함수(Logistic Function)라고도 불리며 0과 1사이의 연속적인 값을 가지는 비선형 함수입니다. *경사소실(Gr..
비전공자의 코딩 독학 - 파이썬&텐서플로우(3) <선형회귀> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 선형회귀입니다. 머신러닝을 공부하시다 보면 무조건 보게되는 단어가 바로 선형회귀입니다. 그렇다면 이 선형회귀는 무엇이고, 왜 머신러닝에 이리 많이 등장하는지에 대해 알아보도록 하겠습니다. 1. 선형회귀(linear regression)란? 가장 기본적인 머신러닝 모델 중 하나로써 오차들의 평균이 가장 작은 직선을 찾는 과정을 뜻합니다. 아래 그림에서 빨간색 점들이 실제 데이터이고 파란색 선과 실제 데이터들 사이의 거리가 오차이며 이 오차들의 평균값을 비용(Cost)이라고 부릅니다. 마지막으로 비용이 가장 작아지도록 그은 선이 그림의 파란색 선입니다. 수식은 아래와 같습니다. y = W * X + b 혹시 딥러닝 포스팅에서 설명드렸던 식[y = F (W * X ..
비전공자의 코딩 독학 - 파이썬&텐서플로우(2) <딥러닝> 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 딥러닝입니다. 1. 딥러닝이란? 인공신경망 구조를 이용한 머신러닝 방법입니다. 여기서 인공뉴런(artificial neuron)이란 신경망(neural network)라고도 부르는데, 인간의 신경세포를 닮은 알고리즘이라서 이런 이름이 붙었습니다. 조금더 간단히 설명드리기 위해 그림을 준비햇습니다. 아래 그림을 보시면 데이터가 입력층(input layer)으로 들어가 은닉층(hidden layer)을 거친 후 출력층(output layer)을 통해 출력되는걸 보실 수 있습니다. 여기서 각 층의 원을 노드(node)라고 부릅니다. 설명이 장황하지만 이러한 알고리즘을 아래와 같이 간단한 식으로 나타낼 수 있습니다. y = F (W * X + b) 위의 식에서 각 항..
비전공자의 코딩 독학 - 파이썬&텐서플로우(1) 안녕하세요. 오늘의 파이썬 코딩 독학 주제는 텐서플로우입니다. 1. 텐서플로우(tensor flow)란? 구글에서 공개한 오픈소스 머신러닝 라이브러리로써 C++, JAVA, R등 다양한 언어를 지원하지만 파이썬에 가장 최적화되어있어 파이썬에 관련된 자료가 가장 많습니다. 따라서 파이썬을 통한 텐서플로우 학습을 추천드립니다. 텐서플로우는 기본적으로 텐서보드라는 시각화도구를 지원하여 머신러닝 과정을 추적하기 용이합니다. 또한 CPU뿐만 아니라 GPU를 통한 연산도 지원하기때문에(NVIDIA의 그래픽카드만 지원) 훨씬 빠른 작업이 가능합니다. 여기서 텐서(tensor)란 데이터를 표현하는 방식입니다. 고등학교 수학과정에서 1차원은 점이고 2차원은 선, 3차원은 입체라고 배우셨듯이 데이터에도 차원이 있습니다. ..