티스토리 뷰

 

 

[인공지능] Numpy 기본 사용 + 딥러닝 express 연습문제 2장

아래 글에 이어 작성된 글입니다. [인공지능] 딥러닝과 Python 라이브러리 본격적으로 인공지능을 실습하기 전 Python의 여러 라이브러리를 소개합니다. Python(파이썬)은 머신러닝 프로젝트의 언어

munak.tistory.com

 

 

 Numpy만을 이용해 경사하강법을 구현합니다.

 


 

import numpy as np
import matplotlib.pyplot as plt

X = np.array([0.0, 1.0, 2.0])
y = np.array([3.0, 3.5, 5.5])

W = 0  # 기울기
b = 0  # 절편

lrate = 0.01  # 학습률
epochs = 1000  # 반복 횟수

n = float(len(X))  # 입력 데이터의 개수

# 경사 하강법 실행
for i in range(epochs):
    y_pred = W * X + b  # 예측값
    dW = (2 / n) * sum(X * (y_pred - y))
    db = (2 / n) * sum(y_pred - y)
    W = W - lrate * dW  # 기울기 수정
    b = b - lrate * db  # 절편 수정

# 기울기와 절편을 출력한다. 
print(W, b)

# 예측값을 만든다.
y_pred = W * X + b

# 입력 데이터를 그래프 상에 찍는다. 
plt.scatter(X, y)

# 예측값은 선그래프로 그린다. 
plt.plot([min(X), max(X)], [min(y_pred), max(y_pred)], color='red')
plt.show()

 

 

 

1.2532418085611319 2.745502230882486

 

 

감사합니다.

 

 

 


 

공부한 내용을 복습/기록하기 위해 작성한 글이므로 내용에 오류가 있을 수 있습니다.

댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday