机器学习 单变量线性回归模型

背景与数据

这个实验用房屋面积预测房价,数据只有两个样本:

面积(1000 平方英尺) 价格(千美元)
1.0 300
2.0 500
  • 面积是特征 x ,价格是目标 y
  • 我们要拟合一条直线 fw,b(x)=wx+b 来预测房价

1. 数据准备

复制代码
import numpy as np
import matplotlib.pyplot as plt

# 加载数据
x_train = np.array([1.0, 2.0])  # 面积,单位:1000平方英尺
y_train = np.array([300.0, 500.0])  # 价格,单位:千美元

# 样本数量
m = x_train.shape[0]  # 输出:2

2. 定义模型函数

复制代码
def compute_model_output(x, w, b):
    m = x.shape[0]
    f_wb = np.zeros(m)
    for i in range(m):
        f_wb[i] = w * x[i] + b
    return f_wb

3. 初始模型(w=100, b=100)

用初始参数计算预测值:

  • 对 x(0)=1.0:fwb(1.0)=100∗1.0+100=200(真实值 300)
  • 对 x(1)=2.0:fwb(2.0)=100∗2.0+100=300(真实值 500)可以看到这条线完全偏离了数据点。

找到正确的 w 和 b

我们可以直接用两个点解出完美拟合的参数:把两个点代入 y=wx+b:

  1. 300=w∗1.0+b
  2. 500=w∗2.0+b

用第二个方程减第一个方程:500−300=(2w+b)−(w+b)200=w

把 w=200 代入第一个方程:300=200∗1.0+b→b=100

正确参数是 w=200,b=100,这和提示里给的建议一致。

验证一下:

  • x=1.0: 200∗1+100=300
  • x=2.0: 200∗2+100=500

效果:

  1. 单变量线性回归模型:fw,b(x)=wx+b,本质是用直线拟合数据。
  2. 训练数据 :这里的 x_trainy_train 是模型学习的基础,我们通过调整参数让直线尽可能贴近这些点。
  3. 参数含义
    • w:斜率,代表每增加 1 单位面积(1000 平方英尺),房价增加多少千美元(这里是 200 千美元,即 20 万美元)。
    • b:截距,代表面积为 0 时的理论房价(这里是 100 千美元,即 10 万美元)。
相关推荐
手写码匠4 分钟前
注意力机制全家桶:从 Multi-Head 到 GQA 再到 Flash Attention 的手写实现
人工智能·深度学习·算法·aigc
nuoxin1144 分钟前
HR4988替代A4988-富利威
网络·人工智能·嵌入式硬件·fpga开发·dsp开发
TMT星球6 分钟前
2026中国互联网大会医疗AI分论坛举办,轻松健康发布“证音”并落地多个战略合作
人工智能·搜索引擎·百度
达达尼昂7 分钟前
编码智能体中的模型选择与执行深度
人工智能·后端·程序员
得一录8 分钟前
如何讲解 Agent的架构
人工智能
东方佑13 分钟前
FRSMASH v3.7:当门控机制成为长上下文的枷锁——一个极简修复背后的架构洞见
人工智能·架构
志凌海纳SmartX18 分钟前
构建 Agent Ready 的企业云基础设施(白皮书下载)
人工智能·ai·agent·smartx·企业云·榫卯企业云
AI科技星24 分钟前
乖乖数学全域超复数统一场论:未来可能形成的历史地位
人工智能·机器学习·金融·乖乖数学·全域数学
惢雨25 分钟前
AI 开发技巧(实战技巧)
人工智能·ai编程
霸道流氓气质41 分钟前
Java 工程师 AI 智能体学习路线 · 阶段 1:AI / LLM 基础认知 详解
java·人工智能·学习