본문 바로가기

파이썬 프로그래밍59

15. 다층 퍼셉트론(MLP) 등장 - 1.XOR 문제 해결(실습) 이전시간에 XOR 문제를 해결하기 위해 다층 퍼셉트론이 제시되었고 이를 순방향 전파와 역방향 전파 도함수를 수학적으로 구한 것을 확인하였다. 이번 시간에는 수학적으로 표현한 내용을 코드로 구현해 보겠다. 1. 데이터 준비 import numpy as np np.random.seed(220132) inputs = np.array([[0., 0.], [1., 0.], [0., 1.], [1., 1.]], dtype = np.float32) targets = np.array([[0.], [1.], [1.], [0.]], dtype = np.float32) W1 = np.random.randn(2, 2) # [[-1.02877142 1.37536642] [-1.4391631 -0.1623922 ]] B1 = n.. 2022. 1. 19.
14. 다층 퍼셉트론(MLP) 등장 - 1.XOR 문제 해결(심화이론) 이번 시간에는 XOR 문제 해결을 위한 다층 퍼셉트론의 순방향 전파, 역전파를 이용한 도함수를 구할 것이다. 저번 시간에 순방향 전파를 아래와 같이 정의하였다. 입력데이터를 정의하고 순서대로 G1, S1, G2, S2 연산을 하는 순방향 전파를 수학적으로 표현해보자. 1. 순전파(forward) 1) 데이터 정의 입력 데이터 Input과 목표값 데이터 Target은 다음과 같다. 2) G1 연산 (1) G1 연산의 가중치는 아래와 같이 정의한다. (2) 입력값에 대해 G1 연산을 실시한다. (입력 X가 전치해서 들어감에 주의) 3) S1연산 (1) S1연산은 시그모이드(Sigmoid, σ) 함수이다. (2) G1의 출력값에 대해 S1 연산을 실시한다. 4) G2연산 (1) G2 연산의 가중치는 아래와 같.. 2022. 1. 19.
13. 다층 퍼셉트론(MPL) 등장 - 1.XOR 문제 해결(기초이론) 1986년 다층 퍼셉트론(Multi-Layer Perceptrons, MLP)의 등장으로 XOR문제를 해결할 수 있게 되었다. 선형 분류 판별기를 추가함으로써 XOR 문제를 해결할 수 있게 된 것이다. XOR 문제를 어떻게 해결할 수 있는지 알아보자. 1. 논리 게이트의 조합 우리는 아래와 같이 XOR 논리 게이트가 무엇인지 원한다. 단일 논리 게이트로 XOR을 풀 수 없다면 아래 그림처럼 논리 게이트를 조합하면 해결할 수 있다. 이전 시간에 입력했던 자료를 각각 OR게이트와 NAND 게이트에 입력하면 아래와 같은 출력을 각각 얻을 수 있는데 이를 AND 게이트의 입력으로 만드는 것이다. 2. 이전 시간에 구했던 논리 게이트 perceptron의 가중치로 시각화 해 보자. OR perceptron의 가중.. 2022. 1. 18.
12. 단층 퍼셉트론의 한계-2.선형 회귀식의 한계 저번 차시에서 단층 퍼셉트론으로는 XOR 문제를 해결할 수 없다는 것을 알았다. 이번엔 실제로 와 닫는 문제를 가져왔다. 이번 목표는 단층 퍼셉트론으로 몸무게에 따른 키를 예측하는 모델을 만들어 보자. 몸무게와 키는 대략적으로 비례하는 것을 다들 알고 있을 것이다. 아기를 키워보면 알게되는 사실이 있는데 몸무게와 키가 정비례하는 것처럼 쭉쭉 큰다는 것이다. 그러다가 성장기가 지나면 키는 성장이 멈추지만 몸무게는 몸이 허락하는 한 한계가 없다(...) 이런 관계를 단층 퍼셉트론으로 모델을 만들 수 있을까? 1. 데이터 준비 및 확인 위의 파일을 임포트 하고 입력값, 목표값 등을 나누고 그래프를 그려보자 import numpy as np import matplotlib.pyplot as plt from nu.. 2022. 1. 12.