当前位置: 首页 > article >正文

【机器学习:三、常见的代价函数】

代价函数的选择与任务类型(回归、分类等)以及模型的具体目标密切相关。

回归任务中的代价函数

均方误差(Mean Squared Error, MSE)

  • 公式:
    J ( θ ) = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 J(\theta)=\frac{1}{m}\sum_{i=1}^m(y_i-\hat{y}_i)^2 J(θ)=m1i=1m(yiy^i)2
    其中, y i y_{i} yi是真实值, y ^ i \hat{y}_i y^i是预测值,m是样本数量。
  • 特点:
    • 对误差平方,放大了较大的误差,适用于预测准确度要求高的场景。
    • 对异常值较为敏感。

平均绝对误差(Mean Absolute Error, MAE)

  • 公式:
    J ( θ ) = 1 m ∑ i = 1 m ∣ y i − y ^ i ∣ J(\theta)=\frac{1}{m}\sum_{i=1}^m|y_i-\hat{y}_i| J(θ)=m1i=1myiy^i
  • 特点:
    • 对异常值不敏感。
    • 相比MSE,优化时导数在零点处不连续,可能导致收敛较慢。

Huber损失

  • 公式:
    L ( y , y ^ ) = { 1 2 ( y − y ^ ) 2 , i f ∣ y − y ^ ∣ ≤ δ δ ⋅ ∣ y − y ^ ∣ − δ 2 2 , i f ∣ y − y ^ ∣ > δ L(y,\hat{y})=\begin{cases}\frac{1}{2}(y-\hat{y})^2,&\mathrm{if}|y-\hat{y}|\leq\delta\\\delta\cdot|y-\hat{y}|-\frac{\delta^2}{2},&\mathrm{if}|y-\hat{y}|>\delta&\end{cases} L(y,y^)={21(yy^)2,δyy^2δ2,ifyy^δifyy^>δ
  • 特点:
    • 结合了 MSE 和 MAE 的优点。
    • 对异常值具有一定鲁棒性。

分类任务中的代价函数

对数损失(Log Loss, 或称交叉熵损失)

  • 公式(用于二分类):
    J ( θ ) = − 1 m ∑ i = 1 m [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m\left[y_i\log(\hat{y}_i)+(1-y_i)\log(1-\hat{y}_i)\right] J(θ)=m1i=1m[yilog(y^i)+(1yi)log(1y^i)]
  • 特点:
    • 用于分类任务中,衡量模型预测的概率与真实类别标签的吻合程度。
    • 对错误分类的惩罚较高。

平方误差损失

  • 尽管平方误差通常用于回归任务,但也可以用于分类问题(主要用于标签数值化的场景)。
  • 缺点:相对于交叉熵损失,对分类问题不敏感,收敛速度较慢。

Hinge 损失(用于支持向量机, SVM)

  • 公式
    J ( θ ) = 1 m ∑ i = 1 m max ⁡ ( 0 , 1 − y i y ^ i ) J(\theta)=\frac{1}{m}\sum_{i=1}^m\max(0,1-y_i\hat{y}_i) J(θ)=m1i=1mmax(0,1yiy^i)
    其中, y i ∈ { − 1 , 1 } y_i\in\{-1,1\} yi{1,1} 是真实标签, y ^ i \hat{y}_i y^i 是预测值。
  • 特点:
    • 用于支持向量机分类。
    • 通过最大化分类边界间隔,提高分类的鲁棒性。

非监督学习中的代价函数

K-Means 损失函数

  • 公式
    J = ∑ i = 1 k ∑ x ∈ C i ∥ x − μ i ∥ 2 J=\sum_{i=1}^k\sum_{x\in C_i}\|x-\mu_i\|^2 J=i=1kxCixμi2
    其中, C i C_{i} Ci是第i个聚类簇, μ i \mu_{i} μi是该簇的中心。
  • 特点:
    • 用于聚类任务,目标是最小化样本到其所属簇中心的平方距离。

自编码器的重建误差

  • 公式:
    J ( θ ) = 1 n ∑ i = 1 n ∥ x i − x ^ i ∥ 2 J(\theta)=\frac{1}{n}\sum_{i=1}^n\left\|x_i-\hat{x}_i\right\|^2 J(θ)=n1i=1nxix^i2
    其中, x i x_{i} xi是原始输入, x ^ i \hat{x}_i x^i是重建输出。
  • 特点:
    • 用于衡量模型重建输入数据的能力。

http://www.kler.cn/a/469234.html

相关文章:

  • Debian、Ubuntu 22.04和ubuntu 24.04国内镜像源(包括 docker 源)
  • LabVIEW瞬变电磁接收系统
  • 网络层协议之IP数据包层分片随笔
  • 基于GAN和RL的思想来训练对话生成
  • 【C++项目实战】类和对象入门实践:日期类实现万字详解
  • taro转H5端踩坑
  • JS实现SVG的TEXT标签自动换行功能
  • [CTF/网络安全] 攻防世界 view_source 解题详析
  • UE5失真材质
  • 3.6 高级树形数据结构(2-3-4树、B树、B+树、哈夫曼树等)
  • 【HF设计模式】05-单例模式
  • 深入Android架构(从线程到AIDL)_09 认识Android的主线程
  • MATLAB R2015b安装、激活记录少走弯路
  • 【Unity Shader】【图形渲染】Unity Shader操作基础5-Unity Shader调试技巧
  • 面向实习的Golang服务端技能分析
  • MATLAB语言的函数实现
  • [桌面运维]windows自动设置浅深色主题
  • 基于Springboot +Vue 实验课程预约管理系统
  • [CTF/网络安全] 攻防世界 simple_php 解题详析
  • 决策树和随机森林
  • 云手机 —— 手机矩阵的 “超级外挂
  • JAVA解析Excel复杂表头
  • HTML——66.单选框
  • Unity3D 搭建ILRuntime开发环境详解
  • security框架的安全登录
  • 【Cesium】九、Cesium点击地图获取点击位置的坐标,并在地图上添加图标