【机器学习笔记Ⅰ】3 代价函数

代价函数(Cost Function)

代价函数 (也称为损失函数,Loss Function )是机器学习中用于量化模型预测误差的函数。它衡量模型预测值(( \hat{y} ))与真实值(( y ))之间的差异,并通过优化算法(如梯度下降)调整模型参数(如权重 ( w ) 和偏置 ( b )),以最小化这种差异。


核心作用

  1. 评估模型性能:代价函数的值越小,说明模型预测越准确。
  2. 指导参数优化:为梯度下降等算法提供方向(如何调整参数以降低误差)。

常见代价函数

1. 均方误差(Mean Squared Error, MSE)
  • 用于回归问题(预测连续值,如房价、温度)。

  • 公式:

    • ( N ):样本数量。
    • ( y^{(i)} ):第 ( i ) 个样本的真实值。
    • ( \hat{y}^{(i)} ):第 ( i ) 个样本的预测值。
  • 特点

    • 对异常值敏感(平方放大大误差)。
    • 可导,适合梯度下降。

示例

  • 真实值 ( y = 2, 4, 6 ),预测值 ( \hat{y} = 1, 5, 6 )。
2. 交叉熵损失(Cross-Entropy Loss)
  • 用于分类问题(如二分类、多分类)。

  • 公式(二分类):

    • ( \hat{y}^{(i)} ) 是模型预测的概率(如逻辑回归输出)。
  • 特点

    • 惩罚预测概率与真实标签的偏差。
    • 与Softmax激活函数配合用于多分类。
3. 平均绝对误差(Mean Absolute Error, MAE)
  • 公式:

  • 特点

    • 对异常值鲁棒(误差线性增长)。
    • 不可导(优化时需特殊处理)。

为什么需要代价函数?

  • 参数学习的指南针

    例如,在线性回归中,通过最小化MSE找到最佳拟合直线。

  • 模型对比:不同模型可通过同一代价函数评估优劣。


代价函数 vs 损失函数

  • 损失函数(Loss Function):计算单个样本的误差。
  • 代价函数(Cost Function) :通常是所有样本损失的平均值(如MSE)。
    (实际使用时两者常混用。)

代码示例(MSE实现)

python 复制代码
import numpy as np

def mean_squared_error(y_true, y_pred):
    return np.mean((y_true - y_pred) ** 2)

# 示例
y_true = np.array([3, 5, 7])
y_pred = np.array([2.5, 5.1, 7.8])
print("MSE:", mean_squared_error(y_true, y_pred))  # 输出: 0.23

如何选择代价函数?

问题类型 代价函数 原因
回归(连续值预测) 均方误差(MSE) 对误差敏感,易优化。
分类(概率输出) 交叉熵损失(Cross-Entropy) 匹配概率分布,梯度稳定。
鲁棒性需求高 平均绝对误差(MAE) 减少异常值影响。

关键点总结

  1. 代价函数是模型优化的核心目标。
  2. 不同任务需选择不同代价函数(如回归用MSE,分类用交叉熵)。
  3. 梯度下降等算法通过计算代价函数的梯度来更新参数。
相关推荐
kTR2hD1qb13 分钟前
近期使用Claude Code + Opus4.7设计开发了一个开源项目:Qianyuan AI Agentic Framework
人工智能·开源
老兵发新帖14 分钟前
ECC开源项目分析
人工智能
寻道码路15 分钟前
LangChain4j Java AI 应用开发实战(十):Embedding 模型与文本分类 - 语义向量化
java·人工智能·ai·embedding
春生野草18 分钟前
大模型--mcp、skill和工作流
人工智能
John_ToDebug22 分钟前
Skills 系统深度解析:概念、定位与加载时机
人工智能·经验分享·ai
weixin_4684668527 分钟前
图像滤波算法新手实战指南
图像处理·人工智能·算法·计算机视觉·ai·机器视觉·滤波
程序大视界29 分钟前
AI重塑教育:2026年教育行业AI应用全景报告与技术解析
人工智能·教育
麦哲思科技任甲林32 分钟前
白话skills之三:Skills与程序的区别
人工智能·编排·skills
Elastic 中国社区官方博客37 分钟前
Kibana 仪表板即代码:在 Elastic 9.4 中用于 Kibana 仪表板的 GitOps、漂移检测与 Terraform
大数据·人工智能·elasticsearch·搜索引擎·云原生·kibana·terraform
zhangfeng113338 分钟前
部署/推理大模型的程序架构(推理引擎/框架)及其开源协议
人工智能·语言模型·自然语言处理·架构·开源协议