23-4. 프로젝트 7
[ 프로젝트 7 ] 2 레이어 인공신경망 구현하기 (1)
1. 목표
v 어파인 변환 연산과 시그모이드 활성화 함수 만들기
2. 프로젝트
코드 구현: 어파인 변환 연산과 시그모이드 활성화 함수 만들기
# 모델 세팅
import numpy as np # numpy import
X = np.array([0, 0, 1, 1, 0, 1, 0, 1]).reshape(2,4) # 입력
Y = np.array([0, 1, 1, 0]).reshape(1,4) # 정답
print(X)
print(Y)
# 파라미터 세팅
# 가중치 초기화 함수
def init_parameters(num_hidden_units = 2):
W1 = np.random.randn(2, num_hidden_units) # 첫번째 레이어 가중치
B1 = np.zeros((num_hidden_units,1)) # 첫번째 레이어 바이어스
W2 = np.random.randn(num_hidden_units, 1) # 두번째 레이어 가중치
B2 = np.zeros((1, 1)) # 두번째 레이어의 바이어스
return W1, B1, W2, B2 # 가중치 파라미터 리턴
# 포워딩 연산 : 어파인 변환 연산과 시그모이드 함수
## 코드시작 ##
# 미션 코드 작성 : Affine transform을 구현하세요.
def affine(W, X, B):
return ... # '...'에 코드를 채워주세요.
# 미션 코드 작성 : sigmoid function을 구현하세요.
def sigmoid(z):
return ... # '...'에 코드를 채워주세요.
## 코드종료 ##
# 임의로 w, b, x를 만들고 affine 함수를 테스트 해봅니다
w = np.arange(4).reshape(2,2)
b = [[1],[2]]
x = [[1],[1]]
print(affine(w, x, b)) # affine test -> [[3],[6]]
print(sigmoid(0.1)) # sigmoide test -> 0.524979
더보기
정답
# 포워딩 연산 : 어파인 변환 연산과 시그모이드 함수
## 코드시작 ##
# 미션 코드 작성 : Affine transform을 구현하세요.
def affine(W, X, B):
return W.T@X+B # '...'에 코드를 채워주세요.
# 미션 코드 작성 : sigmoid function을 구현하세요.
def sigmoid(z):
return 1/(1+np.exp(-z)) # '...'에 코드를 채워주세요.
## 코드종료 ##
# 임의로 w, b, x를 만들고 affine 함수를 테스트 해봅니다
w = np.arange(4).reshape(2,2)
b = [[1],[2]]
x = [[1],[1]]
print(affine(w, x, b)) # affine test -> [[3],[6]]
print(sigmoid(0.1)) # sigmoide test -> 0.524979
© NAVER Connect Foundation. All Rights Reserved
'취업준비 > 인공지능' 카테고리의 다른 글
[AI Tech] 6주차 25-1차시 CNN - Convolution은 무엇인가? (0) | 2024.02.19 |
---|---|
[AI Tech] 5주차 24차시 프로젝트 8 (2) | 2024.02.17 |
[AI Tech] 5주차 23-3차시 Quiz 9 (0) | 2024.02.16 |
[AI Tech] 5주차 23-2차시 딥러닝 연습 (0) | 2024.02.16 |
[AI Tech] 5주차 23-1차시 Regularization (0) | 2024.02.16 |