안녕하세요

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

Study_exam/딥러닝 EXPRESS 연습문제

딥러닝 EXPRESS 07장 연습문제

godxxy1229 2024. 4. 28. 23:33

01. 풀 배치와 온라인 학습을 비교해보자. 각 방법의 장점은 무엇인가?

 

 


02. 우리가 다루는 데이터의 크기가 아주 크다고 하자. 이 데이터를 사용하여 경사 하강법을 수행할 때는 배치 크기를 어떻게 하는 것이 좋을까?

 

 


03. 미니 배치에서 배치 크기가 3이라고 하자. 2개의 입력을 가지고 있고, 은닉층의 유닛이 4개이고, 출력층의 유닛이 2개인 신경망을 행렬 표기법으로 나타내보자. 행렬 표기법에서는 미니 배치가 어떤 식으로 표시되는가?

 

 

 

04. 신경망에서 하이퍼 매개변수란 무엇이고, 어떤 값들이 하이퍼 매개변수인가?

 

 


05. 신경망에서 최적의 하이퍼 매개변수를 찾는 방법을 설명해보자.

 

 


06. 학습률이 작으면 어떤 단점이 있는가? 반대로 큰 학습률의 문제점은 무엇인가? 학습률은 어떻게 결정하는 것이 좋을까?

 

 


07. 구글의 플레이그라운드를 이용하여 높은 학습률이 모델에 어떠한 영향을 주는지 살펴보자

 

 

 

08. 케라스를 이용하여, 우리가 5장에서 학습한 초기 신경망인 퍼셉트론을 구현할 수 있을까?

 

 


09. 케라스를 이용하여 은닉층이 2개인 MLP를 생성해보자. 은닉층이 2개인 MLP를 이용하여, MNST 숫자들을 처리해본다. 은닉층이 하나일 때와 차이가 있는가?

 

 


10. 본문에는 MNIST 데이터 세트를 분류하는 소스가 포함되어 있다. 이 소스에서 최적화 방법을 "Adam", "RMSprop":"Adadella", "Adagrad"으로 변경하면서 성능을 측정하여 보자. MNIST 데이터 세트의 경우, 어떤 방법이 가장 좋은 성능을 보이는가?

 

 

 

11. 케라스에서 유닛의 활성화 함수를 "linear"로 설정하면 선형 회귀도 구현할 수 있다. 기울기가 3인 직선을 만들고 여기에 노이즈를 추가하여 입력 데이터를 만들고 케라스 모델로 선형 회귀를 실행해보자.

X = np.linespace(0, 10, 100)
y = 3.0*X+np.random.randn(X.shape)*0.3

 

 

 

12. 주택 특징값을 받아서 주택 가격을 예측하는 모델을 구축해보자. 미국 보스톤 지역의 집값 데이터를 저 장한 "Boston Housing" 데이터 세트를 사용해보자(예전 자료이다). 이 데이터 세트는 케라스에 포함되 어 있다. 이 데이터 세트는 비교적 크기가 작으며 506개의 샘플을 가지고 있다. 이 데이터 세트에서는 14가지 특징을 사용한다. 유닛의 활성화 함수를 "ReLU"로 하여도 회귀가 가능하다.

from keras.datasets import boston_housing
(X_train, y_train), (X_test, y_test) = boston_housing.load_data()

 

 

 

13. Kaggle 사이트에 가보면 "pima-indians-diabetes.csv" 데이터 파일을 찾을 수 있다. 이 데이터 세트 에는 Pima 인디언의 의료 기록과 각 환자가 5년 이내에 당뇨병 발병 여부가 저장되어 있다. 처음부터 8개의 특성만을 입력으로 하고, 인덱스 8에 저장된 값((1: 당뇨병 양성, 0: 당뇨병 음성)을 레이블로 한다. 이 데이터를 가지고 케라스의 MLP를 이용하여 학습시켜 보자.

dataset = loadtxt('pima-indians-diabetes.csv', delimiter=',')
X = dataset[:,0:8]
y = dataset[:,8]

 

 

 

14. 사이킷런에서 기본으로 제공하는 데이터 중에 붓꽃 데이터 세트가 있다. 이 데이터 세트은 세 가지 붓 꽃 종류(Iris setosa, Iris virginica, Iris versicolor)의 150개 샘플로 구성된다. 각 샘플에서 꽃받침 길이와 너비, 꽃잎의 길이와 너비의 4가지 특징이 측정되었다. 이 4가지 특징의 조합을 기반으로 로날드 피셔 는 종을 서로 구별하는 선형 판별 모델을 개발했다. 우리는 알려진 붓꽃들을 대상으로 학습을 시킨 후 에, 미지의 붓꽃에 대한 꽃받침 크기와 꽃잎 크기를 입력하여서 이것이 어떤 붓꽃인지를 예측할 것이 다. 케라스로 구현된 MLP로 이것을 시도해보자. 다음의 코드를 참조한다

iris load_iris()
X = iris.data[:, (0, 1)]		#꽃의 너비와 높이만을 입력으로 한다.
y = (iris.target == 0).astype(np.int)	#출력은 "Iris Setosa인가 아닌가" 이다.