八股文——机器学习基础损失函数

本文详细介绍了常见的代价函数(如二次代价函数和交叉熵),以及损失函数(针对回归和分类的绝对值、平方、对数和交叉熵等)。强调了不同函数在梯度、收敛速度和鲁棒性方面的特性,并解释了为何在回归和分类问题中选择特定损失函数的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、常见的代价函数

1、二次代价函数

J=1/2nΣ||a(x)-y(x)||^2

对于一个样本而言,J=(y-a)/2

激活函数的梯度越大,权值w和b大小调整的越快,训练收敛的越快

假使激活函数是sigmoid函数,当使用二次代价函数时,很可能会出现梯度消失,使用sigmoid函数在饱和区即x过大或者过小时,梯度是接近于0

2.交叉熵代价函数

J=-1/nΣ[yln(a)+(1-y)ln(1-a)]

更适合搭配sigmoid激活函数

二、常见的损失函数

1.用于回归

绝对值损失函数和平方损失函数

绝对值损失函数MAE

平方损失函数MSE

 MSE比MAE可以更快的收敛,当使用梯度下降算法时,MSE梯度下降是变化的,MAE梯度损失是均匀不变的,梯度不发生改变不利于模型的训练(调节学习率)。

MAE鲁棒性更好,MAE与绝对损失之间是线性关系,MSE与误差是平方关系,当误差比较大时,MSE的误差更大。当数据中出现了一个非常大的离群点,MSE会产生非常大的损失,对模型的训练产生非常大的影响

2.用于分类

0-1损失函数

对数损失函数

指数损失函数

 交叉熵损失函数

三、代价函数、损失函数、目标函数

目标函数:需要优化的函数=代价函数+结构风险(cost function+正则化)

损失函数是定义在单个样本上的,代价函数是定义在整个训练集上的,是所有样本误差的总和的平均

为什么回归问题中使用平方损失函数而不用交叉熵损失函数?

因为交叉熵损失函数在回归问题上只看到了正确的类别,而没有看到错误的另外。MSE是计算了全部的损失

为什么分类问题中使用交叉熵损失函数而不用平方损失函数

使用平方损失函数时,梯度下降与激活函数的导数成正比,sigmoid激活函数有饱和区,在饱和区内激活函数的导数趋近于0,会容易产生梯度消失的问题

使用交叉熵损失函数时,梯度下降与(激活函数-真实值)成正比,差值较大,更新就快,差值较小,更新就慢

### 机器学习面试中的常见问题及解决方案 #### 1. 机器学习算法的类型 机器学习算法主要分为监督学习、无监督学习、半监督学习和强化学习四大类。其中,监督学习涉及有标签数据的学习过程,目标是预测未知样本的输出;而无监督学习则处理未标注的数据,主要用于聚类分析或降维等问题[^1]。 #### 2. 监督学习与无监督学习的区别 监督学习依赖于带标签的数据集进行训练,常见的算法包括线性回归和支持向量机等。相比之下,无监督学习不需标签信息即可运行,典型代表为K均值聚类(K-Means) 和主成分分析(PCA)[^2]。 #### 3. Logistic 回归的应用场景 Logistic 回归是一种广泛应用于二分类任务的经典方法。尽管名字中有“回归”,但它实际上用于解决分类问题。该技术通过构建逻辑函数(Sigmoid 函数),将连续变量映射到概率区间 (0,1),从而实现类别判断的目的[^3]。 以下是简单的 Python 实现代码: ```python import numpy as np def sigmoid(z): return 1 / (1 + np.exp(-z)) def logistic_regression(X, y, theta, alpha=0.01, iterations=1000): m = len(y) cost_history = [] for _ in range(iterations): predictions = sigmoid(np.dot(X, theta)) error = predictions - y gradient = (1/m) * np.dot(X.T, error) theta -= alpha * gradient # 记录每次迭代后的代价函数值 cost = (-1/m) * np.sum([y[i]*np.log(predictions[i]) + (1-y[i])*np.log(1-predictions[i]) for i in range(m)]) cost_history.append(cost) return theta, cost_history ``` #### 4. CART 算法的工作原理 CART 是一种决策树算法,在回归任务中采用平方误差最小化标准选取最佳分割特征;而在分类任务里,则利用基尼系数作为衡量指标来决定最优切分点[^4]。这种灵活性使得 CART 成为了许多实际应用中的首选工具之一。 #### 5. 集成学习的优势 集成学习通过组合多个基础估计器形成更强大的预测模型。这种方法不仅能够提升单个弱学习者的泛化能力,而且当各个子模型之间的错误相互独立时,整体效果往往优于任何一个单独组件的表现。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值