python 损失函数曲线wan完整版
时间: 2023-07-07 08:12:40 浏览: 51
以下是Python中绘制损失函数曲线的完整代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据作为样本
x = np.linspace(-5, 5, 100)
y = np.square(x) + np.random.randn(100)
# 绘制样本散点图
plt.scatter(x, y, s=10)
# 定义模型参数
w = np.random.randn()
b = np.random.randn()
# 定义学习率和迭代次数
learning_rate = 0.01
num_iterations = 100
# 定义损失函数
def loss_function(x, y, w, b):
y_pred = w * x + b
loss = np.mean(np.square(y_pred - y))
return loss
# 初始化损失列表
losses = []
# 迭代训练模型
for i in range(num_iterations):
# 计算模型预测值和损失
y_pred = w * x + b
loss = loss_function(x, y, w, b)
losses.append(loss)
# 计算梯度
dw = np.mean((y_pred - y) * x)
db = np.mean(y_pred - y)
# 更新模型参数
w -= learning_rate * dw
b -= learning_rate * db
# 绘制损失函数曲线
plt.plot(losses)
# 显示图像
plt.show()
```
在这个例子中,我们使用随机数据生成样本,并定义一个简单的线性模型来拟合样本。然后我们使用随机梯度下降算法来训练模型,并在每次迭代中计算损失函数的值。最后,我们将损失函数的值绘制成曲线,以观察模型的训练过程。