numpy
- 1、今天早上对numpy进行了一系列的探索,下面总结一下numpy的一些特性:
numpy数组
批量处理
通用函数
广播机制 - 2、今天晚上使用numpy进行了一个简单的机器学习预测
代码如下:
import numpy as np
from matplotlib import pyplot as plt
np.random.seed(100)
x = np.linspace(-1, 1, 100).reshape(100, 1)
y = 3 * np.power(x, 2) + 2 + 0.2 * np.random.rand(x.size).reshape(100, 1)
plt.scatter(x, y)
plt.show()
w1 = np.random.rand(1, 1)
b1 = np.random.rand(1, 1)
lr = 0.001
for i in range(800):
y_pred = np.power(x, 2) * w1 + b1
loss = 0.5 * (y_pred - y) ** 2
loss = loss.sum()
grad_w = np.sum((y_pred - y) * np.power(x, 2))
grad_b = np.sum((y_pred - y))
w1 -= lr * grad_w
b1 -= lr * grad_b
plt.plot(x, y_pred, 'r-', label = 'predict')
plt.scatter(x, y, color = 'blue', marker = 'o', label = 'true')
plt.xlim(-1, 1)
plt.ylim(2, 6)
plt.legend()
plt.show()
print(w1, b1)