1.确定函数y=wx+b 2.形成样本,至少5条(可以通过jupter) 3.随机生成一个w,b,求cost
时间: 2024-09-29 11:10:37 浏览: 34
确定函数 y = wx + b 是一个线性模型,其中 w 是权重,b 是偏置。这个函数描述了输入 x 和输出 y 之间的线性关系。例如,如果 w 对应于斜率,b 则对应于 y 轴上的截距。
要在 Jupyter 中形成至少5条样本数据,你可以这样操作:
```python
import numpy as np
# 定义变量范围和步长
w_range = (-10, 10) # 假设我们想要生成 -10 到 10 的 w 值
b_range = (-5, 5) # 同样,-5 到 5 的 b 值
x_range = (0, 10) # 输入 x 可能的取值范围
# 设置随机种子以保证结果可复现
np.random.seed(42)
# 创建样本数据
num_samples = 5
X = np.random.uniform(x_range[0], x_range[1], size=(num_samples, 1))
y = X @ np.random.uniform(w_range[0], w_range[1], size=1) + np.random.uniform(b_range[0], b_range[1])
# 输出前几行样本数据
print("Sample data:")
print(X[:5])
print("对应的 y 值:")
print(y[:5])
```
为了计算 cost(损失函数),假设我们采用均方误差(Mean Squared Error, MSE)作为成本函数,对于单个样本 (x_i, y_i),它通常计算为:
\[ \text{Cost} = \frac{1}{2m} \sum_{i=1}^{m}(h_\theta(x_i) - y_i)^2 \]
其中 \( h_\theta(x) = wx + b \) 是预测值,\( m \) 是样本总数,\( w \) 和 \( b \) 是当前模型参数。
如果你已经有一个特定的 w 和 b 值,那么可以按下面的方式计算 cost:
```python
def compute_cost(X, y, w, b):
m = len(y)
predictions = X @ w + b
errors = predictions - y
cost = (1 / (2 * m)) * np.sum(errors**2)
return cost
# 使用上面生成的 w 和 b 计算 cost
w = ... # 随机生成的 w 值
b = ... # 随机生成的 b 值
cost = compute_cost(X, y, w, b)
print(f"Cost with weights {w} and bias {b}: {cost}")
```
请注意,上述代码中的 `...` 应替换为实际生成的 w 和 b 的值。
阅读全文