안녕하세요

딥러닝 EXPRESS 05장 연습문제 본문

Study_exam/딥러닝 EXPRESS 연습문제

딥러닝 EXPRESS 05장 연습문제

godxxy1229 2024. 4. 28. 23:11

01. 본문의 퍼셉트론 프로그램을 수행하면서 각 학습 단계마다 가중치와 출력을 자세히 출력해보자.

 

 


02. 신경망에서는 다양한 활성화 함수가 사용된다. 퍼셉트론에서 사용한 활성화 함수는 무엇인가?

 

 


03. 다음 중에서 퍼셉트론이 분리하지 못하는 입력은 무엇인가?

 


04. 아래의 퍼셉트론에서 입력이 (0, 0)일 때, 출력은 무엇인가? 손으로 직접 계산해보자. 바이어스를 -0.5로 변경하면 어떻게 되는가?

 

 

05. (a) 다음 표와 같이 입력 데이터를 분류하는 퍼셉트론을 손으로 만들어보자. 가중치들과 바이어스 값을 수동으로 찾아보자. 퍼셉트론은 아래의 샘플을 올바르게 분류할 수 있을까? 그 이유는 무엇인가?

훈련 샘플 x1 x2 출력
A 0 1 0
B 1 0 0
C 1 2 1
D 2 1 1

 

(b) 위의 샘플을 이용하여서 퍼셉트론 학습 알고리즘이 어떻게 진행되는지를 보여라. 학습률은 1.0으로 하고 가중치와 바이어스의 초기값은 w=0, w₂=0, b=-1.0이다. 각 단계에서 가 중치와 바이어스 값을 표시하여야 한다.

 

 


06. 퍼셉트론은 XOR 입력에 대해서는 올바른 값을 출력할 수 없다. 하지만 은닉층을 추가하면 XOR도 처 리할 수 있다. XOR를 처리할 수 있는, 은닉층을 가지는 신경망을 하나만 손으로 만들어보자. 어떤 가중 치와 바이어스 값을 가지면 되는가?

 

 


07. m개의 입력을 가지는 OR 함수도 퍼셉트론으로 구현할 수 있을까? 그 이유를 말하라.

 

 


08. 다음과 같은 2차원 데이터를 두 개의 클래스로 분류하는 문제를 하나의 퍼셉트론으로 구현할 수 있을 까? 본문의 퍼셉트론 코드를 이용하여 실험해보자.

 

 

 

09 우리는 앞장에서 아이리스 데이터를 분류해 본 바 있다. 퍼셉트론으로 이것을 시도해보자. 다음의 코드 를 참조한다.

import numpy as np
from sklearn.datasets import load_iris
from sklearn.linear_model import Perceptron

iris load_iris()
X = iris.data[:, (0, 1)]
y = (iris.target == 0).astype(np.int)

percep = Perceptron(random_state=32)
percep.fit(X, y)
percep.score(X, y)