机器学习(2) 线性回归和代价函数

一、线性回归(Linear Regression)

1. 基本概念(Basic Concept)

线性回归(Linear Regression) 是一种典型的 监督学习(Supervised Learning) 方法。

它通过给定带有正确答案(标签)的训练数据,学习输入特征与输出目标之间的线性关系。

目标(Goal):

学习一个函数 f(x),使得模型预测值 y^​=f(x) 尽可能接近真实值 y。

2. 监督学习的基本流程(Supervised Learning Workflow)

(1)输入特征和输出目标(Input Features & Targets)

  • 给模型一组训练数据(training set)

    (x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))

    例如:

    • x(2):第二个样本的输入(如房屋面积)

    • y(2):第二个样本的输出(如房价)

(2)输入学习算法(Feed Data into Learning Algorithm)

算法通过训练数据学习输入与输出的映射关系。

(3)得到模型函数 fff(Learn a Model Function)

学习得到函数 f,它能根据输入 x 输出预测值 y^​:

3. 线性回归的数学形式(Mathematical Form)

(1)单变量线性回归(Univariate Linear Regression)

当输入特征只有一个时(例如房屋面积 → 房价),模型为:

其中:

符号 含义
x 输入特征(feature)
y 真实输出(target/label)
y^​ 预测输出(predicted value)
w 权重(weight),控制直线的斜率
b 偏置(bias/intercept),控制直线的位置

模型是一条直线(linear function),形状简单、易于计算。

之后可以扩展到更复杂的 非线性模型(nonlinear models)

(2)多变量线性回归(Multivariate Linear Regression)

当输入有多个特征时(例如房屋面积、卧室数量、距离市中心等),模型变为:

或向量形式:

4. 模型的目标与损失函数(Objective & Loss Function)

目标:

找到最优的 w 和 b,使预测值 y^​ 尽可能接近真实值 y。

误差(Error)

损失函数(Loss Function) --- 常用为 均方误差(Mean Squared Error, MSE)

目标是最小化损失函数:

5. 参数学习方法(Parameter Learning Methods)

  • (1)解析解(Analytical Solution)

    对小规模数据可直接求出最优解:

    适合特征数量不多时使用。

  • (2)梯度下降(Gradient Descent)

    对大规模数据更常用的优化方法:

    其中 α 为学习率(Learning Rate),控制每次更新的步长。

6. 应用实例(Applications)

应用场景 说明
房价预测(House Price Prediction) 输入房屋特征,输出预测价格
销售预测(Sales Forecasting) 输入广告投入、季节等特征
学生成绩预测(Student Score Prediction) 输入学习时间,输出考试成绩
工业测量(Industrial Measurement) 根据传感器数据预测产量或能耗

7. 模型优缺点(Advantages & Disadvantages)

优点(Advantages) 缺点(Disadvantages)
模型简单、计算高效 只能捕捉线性关系
可解释性强(每个参数含义明确) 对异常值敏感(outliers)
可作为其他算法的基础(如逻辑回归) 对特征尺度敏感(需标准化)

8. 小结(Summary)

项目 内容
模型形式
学习类型 监督学习(Supervised Learning)
目标 最小化预测误差(Minimize Prediction Error)
损失函数 均方误差(MSE)
训练方法 梯度下降 / 解析解
典型应用 房价预测、成绩预测

二、代价函数 J(Cost Function)

(1) 定义(Definition)

在监督学习中,特别是线性回归(Linear Regression)里,我们需要一种方式来衡量模型预测值与真实值之间的差距。这个衡量误差的函数就是代价函数(Cost Function)

符号表示:
J(w,b)

或简写为 J(w)(当只考虑 w ,b为0时)

含义:

它表示当模型参数为 w,bw, bw,b 时,所有训练样本预测误差的平均程度。我们希望通过训练,使 J(w,b)J(w,b)J(w,b) 尽可能小。

(2) 数学表达式(Mathematical Expression)

线性回归模型中:

代价函数(Cost Function)使用均方误差(Mean Squared Error, MSE)形式:

或写作:

其中:

符号 含义
m 训练样本数量
x(i) 第 i 个输入样本
y(i) 第 i 个真实输出
y^​(i) 模型预测值
w,b 模型参数
J(w,b) 代价函数,衡量整体误差的平均值

说明:

前面的「1/2」系数不是必须的,只是为了后续求导时公式更简洁。

(3) 使用目的(Purpose)

在线性回归中,我们的训练目标(training objective)就是:

最小化代价函数:

即寻找最优的 w,b,使模型的预测误差最小。

  • 当 J(w,b) 越小 → 模型预测越准确

  • 当 J(w,b) 过大 → 模型预测与实际偏差较大

这种思想称为:

最小二乘法(Least Squares Method)

(4) 如何利用代价函数找到最优参数(Finding Optimal w and b)

我们可以通过优化算法(Optimization Algorithm)不断调整参数 w 和 b,

使 J(w,b) 逐步减小。

最常见的方法是:

梯度下降(Gradient Descent)

基本思想:

  1. 计算当前参数下的代价函数值 J(w,b);

  2. 计算 JJJ 对参数的偏导(梯度);

  3. 按负梯度方向更新参数;

  4. 不断重复,直到 J(w,b) 收敛到最小值。

更新公式:

其中:

  • α:学习率(Learning Rate)

  • :梯度(gradients)


(5) 三维可视化代价函数(3D Visualization of J)

在线性回归中,若参数只有两个(w 和 b),

我们可以将代价函数 J(w,b) 看作一个三维曲面(3D surface)

  • 横轴:参数 w

  • 纵轴:参数 b

  • 高度:代价函数值 J(w,b)

可视化结果:

  • 曲面形状通常是一个凸碗(convex bowl)

  • 曲面最低点对应 J(w,b) 的最小值。

  • 在该点上,模型参数 (w∗,b∗) 是最优参数(optimal parameters)

理解:

梯度下降算法的过程就像一个小球沿着碗壁不断滚动,最终停在碗底的最低点(最优解)。


(6) 等高线图可视化(Contour Plot Visualization)

等高线图(Contour Plot) 是三维代价函数在二维平面上的投影,可以更直观地理解参数更新的过程。

  • 每一条曲线代表代价函数 J(w,b) 的一个固定值。

  • 曲线越靠近中心,表示 J(w,b) 越小。

  • 梯度下降的更新轨迹会在图中呈现为一条向圆心收敛的路径。

示意:

css 复制代码
        等高线图(Contour Plot)
        
        高 J(w,b)
          ▲
          │
     ○ ○ ○ ○ ○
     ○ ○ ○ ○ ○
     ○ ○ ○ ○ ○   ← 梯度下降的路径从外向内收敛
          ●
          ▼
        最小 J(w,b)

(7) 小结(Summary)

项目 内容
名称 代价函数(Cost Function)
作用 衡量模型预测与真实值之间的整体误差
常见形式 均方误差 MSE
表达式
目标 最小化 J(w,b)
优化方法 梯度下降(Gradient Descent)
可视化 三维曲面图 + 等高线图
相关推荐
Akamai中国5 小时前
运维逆袭志·第4期 | 安全风暴的绝地反击 :从告警地狱到智能防护
运维·人工智能·云计算·云服务·云存储
ygwelcome5 小时前
如何使用最简单的get请求融合众多AI API,包括ChatGPT、Grok等
人工智能
努力也学不会java5 小时前
【Spring】Spring事务和事务传播机制
java·开发语言·人工智能·spring boot·后端·spring
机器学习之心5 小时前
198种组合算法+优化RF随机森林+SHAP分析+新数据预测!机器学习可解释分析,强烈安利,粉丝必备!
算法·随机森林·机器学习·shap分析·198种组合算法
技术闲聊DD6 小时前
深度学习(13)-PyTorch 数据转换
人工智能·pytorch·深度学习
少林and叔叔6 小时前
人工智能Pytorch开发环境的搭建
人工智能·pytorch·python·pycharm·conda
电棍2336 小时前
工程实践心得记录-pytorch要安装在哪里
人工智能·pytorch·python
星期天要睡觉6 小时前
深度学习——基于 PyTorch 的蔬菜图像分类
人工智能·pytorch·python·深度学习·分类