반응형
import numpy as np
import matplotlib.pyplot as plt
X = np.random.rand(100)
Y = 0.2 * X * 0.5
plt.figure(figsize=(8, 6))
plt.scatter(X, Y)
plt.show()

X는 무작위로 찍힌 점들, Y는 임의적으로 만들어진 함수입니다.
한번 위 식을 matplotlib을 통해 점을 찍어보면 위와 같이 찍히게 됩니다.
def plot_prediction(pred, y) :
plt.figure(figsize=(8, 6))
plt.scatter(X, y)
plt.scatter(X, pred)
plt.show()
w = np.random.uniform(-1, 1)
b = np.random.uniform(-1, 1)
learning_rate = 0.05
for epoch in range(100000) :
Y_pred = w * X + b
error = np.abs(Y_pred - Y).mean()
if error < 0.001 :
break
w_grad = learning_rate * ((Y_pred - Y) * Y).mean()
b_grad = learning_rate * (Y_pred - Y).mean()
w = w - w_grad
b = b - b_grad
if epoch % 20 == 0 :
Y_pred = w * X + b
plot_prediction(Y_pred, Y)
w는 'ax+b' 의 식에서 a와 같은 뜻입니다. 즉 '기울기'입니다. (기계학습에서는 a보다 w를 주로 쓴다고 합니다.)

처음 실행시킬 시, 위와 같은 그래프가 그려지게 되는데 보다시피 두 그래프 간의 오차가 많은 상황입니다.
하지만 경사하강법을 통해 100,000번 학습하게 되면 아래와 같은 그래프로 바뀌게 됩니다.

오차가 매우 줄어든 모습을 보실 수 있습니다.
반응형
'🧠 인공지능' 카테고리의 다른 글
패턴 인식, 자료 분석 - SVM (0) | 2022.10.24 |
---|---|
FinanceDataReader로 주식 예측하기 (0) | 2022.09.21 |
기계학습에도 트리 구조가 있다? 의사 결정 트리 (0) | 2022.09.19 |
KNN의 한계를 해결한 선형 회귀 (0) | 2022.09.07 |
Naive Bayes과 Iris (0) | 2022.09.04 |
반응형
import numpy as np
import matplotlib.pyplot as plt
X = np.random.rand(100)
Y = 0.2 * X * 0.5
plt.figure(figsize=(8, 6))
plt.scatter(X, Y)
plt.show()

X는 무작위로 찍힌 점들, Y는 임의적으로 만들어진 함수입니다.
한번 위 식을 matplotlib을 통해 점을 찍어보면 위와 같이 찍히게 됩니다.
def plot_prediction(pred, y) :
plt.figure(figsize=(8, 6))
plt.scatter(X, y)
plt.scatter(X, pred)
plt.show()
w = np.random.uniform(-1, 1)
b = np.random.uniform(-1, 1)
learning_rate = 0.05
for epoch in range(100000) :
Y_pred = w * X + b
error = np.abs(Y_pred - Y).mean()
if error < 0.001 :
break
w_grad = learning_rate * ((Y_pred - Y) * Y).mean()
b_grad = learning_rate * (Y_pred - Y).mean()
w = w - w_grad
b = b - b_grad
if epoch % 20 == 0 :
Y_pred = w * X + b
plot_prediction(Y_pred, Y)
w는 'ax+b' 의 식에서 a와 같은 뜻입니다. 즉 '기울기'입니다. (기계학습에서는 a보다 w를 주로 쓴다고 합니다.)

처음 실행시킬 시, 위와 같은 그래프가 그려지게 되는데 보다시피 두 그래프 간의 오차가 많은 상황입니다.
하지만 경사하강법을 통해 100,000번 학습하게 되면 아래와 같은 그래프로 바뀌게 됩니다.

오차가 매우 줄어든 모습을 보실 수 있습니다.
반응형
'🧠 인공지능' 카테고리의 다른 글
패턴 인식, 자료 분석 - SVM (0) | 2022.10.24 |
---|---|
FinanceDataReader로 주식 예측하기 (0) | 2022.09.21 |
기계학습에도 트리 구조가 있다? 의사 결정 트리 (0) | 2022.09.19 |
KNN의 한계를 해결한 선형 회귀 (0) | 2022.09.07 |
Naive Bayes과 Iris (0) | 2022.09.04 |