목록AI 공부/Machine Learning (22)
머신러닝/딥러닝 공부
필요한 모듈을 import해준 뒤에 이전 포스팅에서 구현했던 다층 퍼셉트론 모델을 가져오겠습니다. https://yhyun225.tistory.com/23 분류 (6) - 다층 퍼셉트론 코드 (파이썬 구현) 이번 포스팅에서는 파이썬으로 2개의 층을 가진 다층 퍼셉트론을 구현해보도록 하겠습니다. 또한 다음 포스팅에서는 이 코드를 이용하여 MNIST 숫자 손글씨 데이터 세트를 학습시켜 보고 단층 퍼 yhyun225.tistory.com - import import numpy as np import matplotlib.pyplot as plt from tensorflow import keras import math from sklearn.utils import shuffle - 다층 퍼셉트론 코드 class ..
이번 포스팅에서는 파이썬으로 2개의 층을 가진 다층 퍼셉트론을 구현해보도록 하겠습니다. 또한 다음 포스팅에서는 이 코드를 이용하여 MNIST 숫자 손글씨 데이터 세트를 학습시켜 보고 단층 퍼셉트론과 어떤 차이가 있는지 살펴볼 생각입니다. 코드만 보고 싶으신 분은 밑의 '코드 보기'를 클릭해주세요. 더보기 class MultiLayer: def __init__(self,learning_rate=0.01,batch_size=32,hidden_node=10): self.w1=None #은닉층 가중치 행렬 self.b1=None #은닉층 바이어스 배열 self.w2=None #출력층 가중치 행렬 self.b2=None #출력층 바이어스 배열 self.lr=learning_rate #학습률 self.batch_s..
다층 퍼셉트론 같은 깊은 신경망이 등장한 후 선형으로 분류가 가능하지 않은 데이터들을 분류하는 것이 가능해졌습니다. 하지만 모델의 깊이(depth)가 깊어질수록, 즉 모델의 층이 많아질수록 모델의 가중치의 수는 기하급수적으로 많이 늘어납니다. 기존의 경사하강법은 기울기를 이용하여 가중치를 업데이트하는 방법을 사용하긴 하지만, 여러 층에 존재하는 가중치들을 모두 하나하나 업데이트하는 것은 매우 많은 연산량과 메모리를 요구합니다. 이를 해결하고자 고안된 알고리즘이 바로 역전파 알고리즘(backpropagation algorithm)입니다. 제가 여태까지 정리했던 신경망은 모두 연산이 입력층에서 출력층으로 방향(앞)으로 이동하였습니다. 이러한 신경망을 순방향 신경망(Feed Forward Neural Netw..
1) 다층 퍼셉트론 (multi layer perceptron) 단층 퍼셉트론(single layer perceptron)에 관한 내용은 아래의 포스팅에서 볼 수 있습니다. https://yhyun225.tistory.com/20 신경망 (1) - 단층 퍼셉트론 (Single Layer Perceptron) 퍼셉트론(perceptron)에 대해서는 이미 앞의 포스팅에서 다루었습니다. 한 가지 짚고 넘어갈 점은 퍼셉트론은 선형 방정식을 통해 값을 계산하는 알고리즘이라는 것입니다. https://yhyun225.tistory.com/12 yhyun225.tistory.com 다층 퍼셉트론(multi layer perceptron)은 층이 2개 이상 존재하는 신경망입니다. 입력층(input layer)과 출력..
퍼셉트론(perceptron)에 대해서는 이미 앞의 포스팅에서 다루었습니다. 한 가지 짚고 넘어갈 점은 퍼셉트론은 선형 방정식을 통해 값을 계산하는 순전파 인공신경망(feed-forward artificial neural network)이라는 것입니다. https://yhyun225.tistory.com/12 분류 (1) - 이진 분류(Binary Classification)와 로지스틱 회귀(Logistic Regression) 분류 모델은 데이터를 분류하는 방법을 학습합니다. 분류 모델은 크게 이진 분류(Binary Classification)와 다중 분류(Multi Classification)로 나뉩니다. - 이진 분류(Binary Classification)는 입력값에 따라 모.. yhyun225...