一、机器学习Machine Learning:cost 函数,loss函数,objective函数
The loss function computes the error for a single training example; the cost function is the average of the loss funcitons of the entire training set.
课堂PPT如下所示:
损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。
a
=
σ
(
ω
∗
χ
+
b
)
a=\sigma(\omega*\chi+b)
a=σ(ω∗χ+b)
L
(
a
,
y
)
=
−
[
y
∗
l
o
g
y
^
+
(
1
−
y
)
l
o
g
(
1
−
y
^
)
]
L(a,y)=-[y*log\hat{y}+(1-y)log(1-\hat{y})]
L(a,y)=−[y∗logy^+(1−y)log(1−y^)]
成本函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
J
(
ω
,
b
)
=
−
1
m
∗
∑
i
=
1
m
[
y
(
i
)
l
o
g
y
^
(
i
)
+
(
1
−
y
(
i
)
)
l
o
g
(
1
−
y
^
(
i
)
)
]
J(\omega,b)=-\frac{1}{m}*\sum_{i=1}^{m}[{y}^{(i)}log\hat{{y}}^{(i)}+(1-y^{(i)})log(1-\hat{{y}}^{(i)})]
J(ω,b)=−m1∗i=1∑m[y(i)logy^(i)+(1−y(i))log(1−y^(i))]
目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。
函数J(f),度量模型的复杂度,在机器学习中也叫正则化(regularization)。常用的有L1, L2范数。最终的优化函数是:
【【my thinking】】
经验风险:模型与训练集的契合度
结构风险:模型的复杂程度,防止过拟合
二、 代价函数详解
假设有训练样本(x, y),模型为h,参数为θ。h(θ) = θTx(θT表示θ的转置)。
(1)概况来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数
都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均
值,记做J(θ)。因此很容易就可以得出以下关于代价函数的性质:
1 、对于每种算法来说,代价函数不是唯一的;
2、代价函数是参数θ的函数;
3、总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
4、J(θ)是一个标量;
例如,J(θ) = 0,表示我们的模型完美的拟合了观察的数据,没有任何误差。
(3)在优化参数θ的过程中,最常用的方法是梯度下降,这里的梯度就是代价函数J(θ)对θ1, θ2, …, θn的偏导数。由于需要求偏导,我们可以得到另一个关于代价函数的性质:
选择代价函数时,最好挑选对参数θ可微的函数(全微分存在,偏导数一定存在)
代价函数的常见形式
一个好的代价函数需要满足两个最基本的要求:
能够评价模型的准确性,
对参数θ可微。
形式1
(1)在线性回归中,最常用的是均方误差(Mean squared error),
(2)在逻辑回归中,最常用的是代价函数是交叉熵(Cross Entropy)
(3)学习过神经网络后,发现逻辑回归其实是神经网络的一种特例(没有隐藏层的神经网络)。因此神经网络中的代价函数与逻辑回归中的代价函数非常相似:
参考链接:https://blog.csdn.net/lyl771857509/article/details/79428475