机器学习基础理论 - 目标函数,损失函数,代价函数
目标函数,损失函数,代价函数
文章目录
- 目标函数,损失函数,代价函数
- 1. 经验风险与结构风险
- 2. 损失函数,代价函数,目标函数
- 3. 常用的损失函数
- 1 . 0-1 损失函数
- 2. **绝对值损失函数**
- 3. **平方损失函数**
- 4. **对数损失函数**
- 5. **指数损失函数**
- 6. **Hinge损失函数**
- 4. 常用的代价函数
- 1. 二次代价函数
- 2. 交叉熵代价函数
- 3. 对数似然函数代价函数
- QA
- 1. Sigmoid 为何与交叉熵搭配二不用二次方代价函数
- 2. sigmoid 为何要与交叉熵搭配
- 1. Logistic 回归为何要使用对数损失函数?
- 4.为什么交叉熵损失相比均方误差损失能提高以 sigmoid 和 softmax 作为激活函数的层的性能?
- 5. 损失函数有哪些? 怎么用?
- Reference
- 5. 损失函数有哪些? 怎么用?
- Reference
1. 经验风险与结构风险
- 经验风险指的是模型对数据的拟合程度,拟合程度越高,经验风险越小。(其实对应的就是代价函数)
- 结构风险指的是对模型复杂度的评估,模型越复杂,结构风险越大。(其实对应的就是目标函数)
只考虑将经验风险最小化,会出现过拟合现象。
2. 损失函数,代价函数,目标函数
其实在很多论文和博客中都用的很随意,其实三者之间是有着细微的区别的:
-
损失函数(Loss Function):一般针对单个样本的描述。其用来衡量模型预测值与真实值不一致的程度,是一个非负实值函数,通常使用 L ( Y , f ( x ) ) L(Y, f(x)) L(Y,f(x)) 表示。 损失函数越小,模型的鲁棒性就越好。
-
代价函数(Cost Function):一般是针对总体。我们需要通过训练代价函数来获得最优参数,最常见的如平方差代价函数:
J ( θ ) = 1 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) 2 J(\theta) = \frac{1}{m}\sum_{i=1}^m(h(x^{(i)})-y^{(i)})^2 J(θ)=m1i=1∑m(h(x(i))−y(i))2 -
目标函数(Object Function):等价于 代价函数 + 正则化项, 其往往也是我们模型中要优化求解的函数 – 目标函数。
3. 常用的损失函数
1 . 0-1 损失函数
L ( Y , f ( x ) ) = { 1 , Y ≠ f ( x ) 0 , Y = f ( x ) L(Y, f(x)) = \begin{cases} 1,& Y\ne f(x)\\ 0,& Y = f(x) \end{cases} L(Y,f(x))={1,0,Y=f(x)Y=f(x)
相等为 0 , 不相等为1。一般的在实际使用中,相等的条件过于严格,可适当放宽条件:
L ( Y , f ( x ) ) = { 1 , ∣ Y − f ( x ) ∣ ⩾ T 0 , ∣ Y − f ( x ) ∣ < T L(Y, f(x)) = \begin{cases} 1,& |Y-f(x)|\geqslant T\\ 0,& |Y-f(x)|< T \end{cases} L(Y,f(x))={1,0,∣Y−f(x)∣⩾T∣Y−f(x)∣<T
2. 绝对值损失函数
L ( Y , f ( x ) ) = ∣ Y − f ( x ) ∣ L(Y, f(x)) = |Y-f(x)| L(Y,f(x))=∣Y−f(x)∣
3. 平方损失函数
L ( Y ∣ f ( x ) ) = ∑ N ( Y − f ( x ) ) 2 L(Y|f(x)) = \sum_N {(Y-f(x))}^2 L(Y∣f(x))=N∑(Y−f(x))2
4. 对数损失函数
L ( Y , P ( Y ∣ X ) ) = − log P ( Y ∣ X ) L(Y, P(Y|X)) = -\log{P(Y|X)} L(Y,P(Y∣X))=−log<