데이터 분석 및 프로젝트/딥러닝 7

딥러닝 -신경망 용어

Neuron(뉴런): 신경계 구성하는 세표, 퍼셉트론(인공뉴런)은 다수입력 신호를 받아 하나의 신호를 출력한다 Input Layer(입력층): 데이터셋으로 입력받는 층이며, 계산 수행은 하지 않고 값만 전달한다. 입력변수와 입력 노드의 수 동일 Hidden Layer(은닉층): 계산결과를 사용자가 못 본다. 입력된 신호가 가중치, 편향과 연산되는 층이다, 입력 데이터셋의 특성수와 상관없이 노드 수 구성 가능하다 Output Layer(출력층): 예측하고자 하는 클래스 출력, 활성함수 존재 Activation Function(활성함수): 신경망회로에서 한 노드에 입력 값 받아 다음 노드에 보낼 지 말지 결정하는 함수 (step, sigmoid, relu, softmax) Back Propagation(역전..

딥러닝 3일차 - 학습률

더 나은 신경망 학습 위해 - 학습률 - 가중치 초기화 - 정규화 1. 학습률 감소/ 계획법 학습률 (lr) - 얼마나 이동할 지 조정하는 하이퍼 파라미터 가중치에 대해 구해진 기울기 값을 얼마나 경사에 적용할 지 결정하는 하이퍼파라미터 학습률니 너무 낮으면 : 최적점에 이르기까지 너무 오래 걸림/ 주어진 Iteration내에서 최적점에 도달하는데 실패 학습률이 너무 높으면 : 경사하강과정에서 발산하면서 모델이 최적값을 찾을 수 없게 되어버림 1. 학습률 감소 .compile내에 있는 optimizer= 에 adam 등 옵티마이저 적용 후 내부 하이퍼파라미터 변경해 학습률 감소 # optimizer 내 lr 인자 통해 학습률 설정 # beta_1 : 학습률 감소율 설정 , adam 내 수식의 변수를 그대..

딥러닝 2일차 - tensorflow 신경망 예제

fashion mnist 예제 import numpy as np import pandas as pd import tensorflow as tf # 학습, 시험 나누고 정규화 from tensorflow.keras.datasets import fashion_mnist (X_train, y_train), (X_test, y_test) = fashion_mnist.load_data() print(X_train.shape, X_test.shape) # 이미지 정규화 X_trian, X_test = X_train/255, X_test/255 #데이터 살피기 import matplotlib.pyplot as plt for i in range(9): plt.subplot(3,3, i+1) plt.imshow(X_tr..

딥러닝 2일차 - 신경망 학습

input layer-> hidden layer -> output layer -> loss function -> claculate loss loss weight 신경망 과정 1. 데이터 입력- 신경망 각 층에서 가중치 및 활성화 함수 연산 반복 수행 2. 1의 과정을 모든 층에서 반복, 출력층에서 계산된 값 출력 3. 손실 함수사용 예측값과 실제값 차이 계산 4. 경사하강법과 역전파 통해 가중치 갱신 5. 반복 1~4 과정 = lteration 매 이터레인션마다 가중치가 갱신된다 lteration은 순전파(1,2), 손실계산 3, 역전파4 로 나뉜다 순전파(예측하기) -> 조건에 맞는 숫차 예측 손실함수(실제값과의 차이 계산)-> 정답의 근접한지 위 아래인지 알려주기 역전파(가중치 수정)-> 알려준 정보..

딥러닝 1일차

퍼셉트론 신경망을 이루는 가장 기본 단뒤 다수의 신호를 입력 받아 하나의 신호 출력하는 구조 1. 가중치 - 편향 연산 = 가중합 여러 신호를 입력받고, 입력된 신호의 각각의 가중치와 곱하고 결과 더하기 import numpy as np input = np.array([1,2,3]) # 입력신호 weight = np.array([0.2, 0.3, -0.1]) #가중치 np.dot(input, weight) 계산 (1*0.2) + (2*0.3) +(3*-0.1) = 0.5 2. 활성화 함수 계산된 가중합을 얼만큼의 신호로 출력할지 결정 종류 step/ sigmoid / ReLU/ Softmax - 1. step function 계단함수 입력값이 0 넘기면 1, 그렇지 않으면 0 출력 - 2. sigmoid..

딥러닝 2일 차 - 손글씨 MNIST 예제

손글씨 예제 - 이미지 분류 예제 사람이 0-9까지 쓴 손글씨 숫자 이미지를 각 클래스로 분류 import pandas as pd import tensorflow as tf # 학습, 시험 데이터셋으로 나누고 픽셀값 정규화 mnist = tf.keras.datasets.mnist # .load_data()통해 각 형태에 맞게 데이터 불러오기 (x_train, y_train), (x_test, y_test) = mnist.load_data() # 이미지 정규화 # 이미지 데이터는 색의 명암을 0-255 사이으이 숫자로 표현 # 데이터가 0-255사이의 숫자로 구성되어있으니, 0-1 사이의 숫자로 정규화 해준다 x_train, x_test =x_train/255.0 ,x_test/255.0 # 데이터 레이블..