Data Science 47

1. 가장 단순한 신경망을 통한 작동원리 - Shallow Neural Network 수식적 이해

1) 뉴런의 수학적 표현 이를 수식으로 나타내면, y = a(∑ wi xi +b) 입니다. '∑ wi xi'는 벡터의 내적과 동일해서, y = a(wTx + b) 로 다시 쓸 수 있습니다. 즉, 뉴런은 수학적으로 두 벡터의 내적으로 쉽게 표현할 수 있습니다. 2) Fully connected layer의 수학적 표현 위에서는 y가 하나인 경우, 즉 뉴런의 수학적 표현을 알아보았는데, y가 여러개가 모인(전부 연결된) 계측을 수식적으로 표현하는 것은 y0 = a(wTx0 + b0) y1 = a(wTx1 + b1) y2 = a(wTx2 + b2) y3 = a(wTx3 + b3) y4 = a(wTx4 + b4) ... 이 모두 모인 것입니다. 따라서 벡터가 여러개 모여 Matrix를 형성하여 Matrix의 형..

1. 가장 단순한 신경망을 통한 작동원리 - Shallow Neural Network

1) Artificial Neural Network (인공 신경망) : 뉴런이 모여 서로 연결된 형태를 인공신경망 이라고 합니다. 딥러닝 네트워크는 인공신경망을 기반으로 합니다. 더보기 인공 신경망의 또 다른 부흥의 근거 1. 신경망을 훈련시키기 위한 데이터가 방대하다. 인공 신경망은 규모가 크고 복잡한 문제에서 다른 머신러닝 기법보다 좋은 성능을 나타낸다. 2. 수백만 개의 강력한 GPU카드를 생산해 내는 게임 사업과 무어의 법칙 등 1990년대 이후 크게 발전된 컴퓨터 하드웨어의 성능 3. 훈련 알고리즘의 향상 4. 인공 신경망의 투자 와 진보 선순환 등이 있습니다. 출처: 329p 2) Fully-connected layer ; Dense layer (전결합 계층) 뉴런이 모인 한 단위인 layer..

10. Tensorflow2.0 Evaluating & Predicting

이전까지 (Beginner방식으로 보면) Training까지 할 수 있었습니다. #Training num_epochs = 10 batch_size = 64 hist = model.fit(X_train, y_train, batch_size = batch_size, epochs = num_epochs, shuffle = True) his.history 모델을 학습시켰으니 모델에서 evaluating합니다. 1. Evaluating model.evaluate(X_test, y_test, batch_size = batch_size) 2. Predicting 및 결과 확인 1) input으로 들어갈 이미지 데이터 표현(시각화) import matplotlib.pyplot as plt import numpy as ..

8. Tensorflow2.0 Optimization & Training (Expert)

여기에서는 공식 홈페이지에서 expert 버젼으로 소개하고 있는 Optimization, Training방식을 배워보도록 하겠습니다. https://www.tensorflow.org/tutorials/quickstart/advanced?hl=en 텐서플로 2.0 시작하기: 전문가용 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수 있습니다. 이 번역에 개선할 부분이 있다면 tensorflow/docs 깃헙 저장소로 풀 리퀘스트를 보내주시기 바랍니다. 문서 번역이나 리뷰에 참여하려면 docs-ko@tensorflow.org로 메일을 보내..

7. Tensorflow2.0 Optimization & Training (Keras)

이전 시간에는 keras에서 제공하는 방식으로 optimization과 Training을 beginner 수준으로 쉽게 해 보았습니다. 여기에서는 공식 홈페이지에서 expert 버젼으로 소개하고 있는 Optimization, Training방식을 배워보도록 하겠습니다. 그 전에, keras를 이용하여 ptimization과 Training을 표현하는 다른 방법을 먼저 알아보고 다음 페이지에서 본격적으로 expert 방법을 살펴보도록 하겠습니다. https://www.tensorflow.org/tutorials/quickstart/advanced?hl=en 텐서플로 2.0 시작하기: 전문가용 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성..

6. Tensorflow2.0 Optimization & Training (Beginner)

지금까지 데이터를 불러오고-> layer을 쌓고(합치고) -> 그걸 model 에 넣는 작업까지 학습했습니다. 이번에는 model을 학습시키는 것을 배워 보겠습니다. 학습과정은,  데이터가 모델에 들어가서 -> 모델이 예측을 하고 -> 그 예측값과 정답을 비교한 뒤 -> loss function으로 얼마나 틀렸는지를 계산합니다. -> 그를 바탕으로 Optimization을 하고, -> 그걸 model에 업로드 합니다. -> 이렇게 model이 업데이트 되었으면, 다시 데이터가 들어가고를 반복합니다. 1. Optimization 1) 모델을 optimization하기 전 설정해야 할 것들 1. Loss function #1-1. binary classification일 때 tf.keras.losses.b..

5. Tensorflow2.0 Build Model

keras의 layer같은 경우는 쌓는 방법이 여러가지가 있습니다. 이는 공식 홈페이지를 들어가보면 여러가지가 있는데, 그 중 한 가지를 학습하였습니다. (강의마다 이 부분이 너무 달라 저에게 맞는 방식을 찾느라 정말 많이 헤맸습니다. 1. input shape 알기(지정해주기) 먼저 model에 input이미지를 넣기 위해서는 input shape와 전체 class 개수를 지정해주는 것 부터가 시작입니다. from tensorflow.keras import layers #1. input shape와 전체 class 개수를 지정해주는 것 부터가 시작! input_shape = (28, 28, 1) num_classes = 10 2. layer 쌓기 첫 layer에 input을 넣어주고, 그 이후부터 계속..

4. Tensorflow2.0 Layer Explaination

이번에는 Tensorflow modeling을 하기 전에 layer을 각 층마다 보면서 어떻게 작동하는지를 tensorflow를 사용해서 볼 것입니다. 즉, 1. layer에 어떻게 data가 input되고, 2. 결과는 어떻게 output되는지 시각화를 진행해 보고 3. 어떻게 layer을 쌓는지 를 알아보도록 합니다. import numpy as np import tensorflow as tf import matplotlib.pyplot as plt %matplotlib inline ########여기는 이전에 했던 진행했던 코드들 입니다. ######### #데이터 불러오기 from tensorflow.keras import datasets (X_train, y_train), (X_test, y_t..

3. Tensorflow2.0 (y_train) Data Preprocess (using MNIST)

1. y_train 데이터 들여다보기 지금까지 X_train데이터를 들여다 보았으니 y__train데이터를 보고자 합니다. y_train데이터를 본다는 것은 Label하나를 열어서 Image와 비교하여 제대로 들어갔는지, 어떤 식으로 저장 되어있는지를 확인하는 것입니다. #1. label 하나만 뽑아보기 label = y_train[0] #2. label 시각화 #label을 시각화한다는건, 숫자를 시각화할 순 없으니까 train_x[0]의 title로 달아준다는 것을 말합니다. plt.title(y_train[0]) plt.imshow(X_train[0], 'gray') plt.show() 2. OneHot Encoding 컴퓨터가 이해할 수 있는 형태로 변환해서 Label을 주도록 함 예를들어, 개와..

2. Tensorflow2.0 (X_train) Data Preprocess (using MNIST)

import numpy as np import tensorflow as tf import matplotlib.pyplot as plt #시각화를 위한 모듈 1. 데이터 불러오기 Tensorflow의 keras에서 제공하는 MNIST 데이터셋을 불러옵니다. 데이터셋.load__data() 이용 import tensorflow.keras imprt datasets mnist = datasets.mnist (X_train, y_train), (X_test, y_test) = mnist.load_data() 2. X__train 데이터 들여다보기 (shape 확인, 시각화 해서 어떤 데이터인지 눈으로 확인해보기) 불러온 데이터에서 이미지 데이터 하나만 뽑아서 시각화까지 확인해봅니다. .shape 사용 image..