技术文摘
十种常用损失函数的阐释与 Python 代码实现
十种常用损失函数的阐释与 Python 代码实现
在机器学习和深度学习中,损失函数用于衡量模型预测值与真实值之间的差异。选择合适的损失函数对于模型的训练和性能至关重要。以下将介绍十种常用的损失函数及其 Python 代码实现。
均方误差(Mean Squared Error,MSE) MSE 是最常见的损失函数之一,用于回归问题。它计算预测值与真实值之差的平方的平均值。 Python 代码:
def mse(y_true, y_pred): return np.mean((y_true - y_pred) ** 2)平均绝对误差(Mean Absolute Error,MAE) MAE 计算预测值与真实值之差的绝对值的平均值。 Python 代码:
def mae(y_true, y_pred): return np.mean(np.abs(y_true - y_pred))交叉熵损失(Cross Entropy Loss) 常用于分类问题,特别是二分类和多分类。 Python 代码(二分类):
def binary_cross_entropy(y_true, y_pred): return -np.mean(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred))铰链损失(Hinge Loss) 常用于支持向量机(SVM)。 Python 代码:
def hinge_loss(y_true, y_pred): return np.mean(np.maximum(0, 1 - y_true * y_pred))对数损失(Log Loss) 与交叉熵损失类似,常用于概率估计的问题。 Python 代码:
def log_loss(y_true, y_pred): return -np.mean(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred))Kullback-Leibler 散度(Kullback-Leibler Divergence,KLD) 用于衡量两个概率分布之间的差异。 Python 代码:
def kld(y_true, y_pred): return np.sum(y_true * np.log(y_true / y_pred))指数损失(Exponential Loss) Python 代码:
def exponential_loss(y_true, y_pred): return np.mean(np.exp(-y_true * y_pred))Huber 损失 结合了 MSE 和 MAE 的优点,对异常值具有一定的鲁棒性。 Python 代码:
def huber_loss(y_true, y_pred, delta=1.0): error = y_true - y_pred abs_error = np.abs(error) quadratic = 0.5 * (error ** 2) linear = delta * (abs_error - 0.5 * delta) return np.where(abs_error <= delta, quadratic, linear)感知损失(Perceptual Loss) 常用于图像和音频处理等领域。 Python 代码(略,较为复杂,取决于具体应用)
结构相似性指数损失(Structural Similarity Index Measure Loss) 用于评估图像或信号的相似性。 Python 代码(略,通常需要调用相关库)
通过对这些常用损失函数的理解和应用,可以根据具体问题选择合适的损失函数来优化模型的性能。不同的损失函数适用于不同的场景,需要根据数据特点和任务需求进行选择和调整。
TAGS: Python 代码实现 数据分析工具 损失函数阐释 常用损失函数
- Vue3 中 Vue Img Cutter 图片裁剪插件的使用方法
- JS 跳出循环的五种方法汇总(return、break、continue、throw 等)
- JavaScript 实现阿拉伯数字转中文大写
- JS 实现简易且全面的 AES 加密解密功能
- Three.js 构建 VR 全景图功能实例(Vue)
- 深入剖析 JavaScript 中的值传递与引用传递
- Vue 与 ElementUI 达成点击左右箭头切换按钮的功能实现
- Thinkphp5 中 Redis 数据缓存的基本实现步骤
- JavaScript 借助事件循环完成数据预加载
- PHP 实现敏感文字内容替换为星号的操作之道
- 使用.NET8 创建基于 MySQL 数据库的 WebAPI 项目的方法
- ThinkPHP8 助力实现 Excel 数据表格导出功能
- Vue el-table 复选框全选与勾选回显功能的实现
- PHP 与 OpenCV 读取视频内容的详细方法
- PHP 借助 FFmpeg 获取远程视频时长与截图