본문 바로가기
솔루션모음/파워 유저를 위한 파이썬 express 이론

[파워 유저를 위한 파이썬express] 16장 이론 연습문제 Exercise 솔루션 답지

by 이얏호이야호 2023. 1. 9.

1.
기계 학습은 명시적인 알고리즘을 만들기가 어려운 분야에 적합하다.
* 영상 인식
* 스팸 필터링
* 음성 인식

3. 인터넷을 참조하여 정리해본다. 



5. 특징은 데이터 중에서 우리가 학습에 사용하는 속성이다. 
7. 분류에서는 x는 실수이지만 y는 이산적인 값이 된다. 
9. 보상이나 처벌을 사용하여 모델을 학습한다. 


11. 신발의 종류를 추천한다면 분류이고, 신발의 크기를 추천한다면 회귀이다. 

13. 약 50분
##
# 선형 회귀 프로그램

import matplotlib.pylab as plt
from sklearn import linear_model

reg = linear_model.LinearRegression()

X = [[0], [30], [10], [15], [5], [25], [35], [40], [45]]
y = [4, 1, 3, 2, 3, 1, 0, 1, 1]
reg.fit(X, y) # 학습

# 학습 데이터와 y 값을 산포도로 그린다. 
plt.scatter(X, y, color='black')

# 학습 데이터를 입력으로 하여 예측값을 계산한다.
y_pred = reg.predict(X)

# 학습 데이터와 예측값으로 선그래프로 그린다. 
# 계산된 기울기와 y 절편을 가지는 직선이 그려진다. 
plt.plot(X, y_pred, color='blue', linewidth=3)
plt.show()



15. 은닉층은 입력의 숨겨진 특징을 학습한다고 말한다. 
17.
예를 들어서 f(x) = kx와 같은 선형 함수를 활성화 함수로 사용한다고 하자. 이 함수로 3층 신경망을 만들었다고 하면 y(x) = f(f(f(x)))가 될 것이다. f(x)는 kx이므로 이것을 대입하면 y(x) = k*k*k*x가 된다. 곱셈을 3번이나 계산하지만, 이것은 하나의 층으로도 가능하다. 즉 y(x) = mx에서 인 경우와 같다. 따라서 은닉층을 아무리 많이 두어도 활성화 함수로 선형 함수를 사용하면 성능이 전혀 향상되지 않는 것이다. 따라서 신경망의 성능을 개선하기 위해서는 반드시 비선형 함수를 사용하여야 한다. 

 

 

댓글