损失函数(误差函数)
概念:损失函数是再单个训练样本中定义的,该样本中可以有多个特征参数。
作用:可以用来衡量算法的运行情况,通过定义损失函数L来衡量预测值的输出 y ^ ~\hat{y}~ y^ 和真实值 y ~y~ y 之间的接近程度,其值越小越好。
线性回归损失函数
L ( θ ) = m ⋅ log ⋅ 1 2 π σ − 1 σ 2 ⋅ 1 2 ( y − θ x ) 2 L(\theta)=m\cdot\log\cdot \frac{1}{\sqrt{2\pi}\sigma}~-~\frac{1}{\sigma^2}\cdot\frac{1}{2} (y-\theta x)^2 L(θ)=m⋅log⋅2πσ1 − σ21⋅21(y−θx)2
由于 m ⋅ log ⋅ 1 2 π σ ~m\cdot\log\cdot \frac{1}{\sqrt{2\pi}\sigma}~ m⋅log⋅2πσ1 恒大于0,因此损失函数化简为:
L ( θ ) = 1 2 ( θ x − y ) 2 L(\theta)=\frac{1}{2}(\theta x-y)^2 L(θ)=21(θx−y)2
逻辑回归损失函数
L ( h θ ( x ) , y ) = − ( y log h θ ( x ) + ( 1 − y ) log ( 1 − h θ ( x ) ) ) L(h_\theta(x),y)=-(y\log h_\theta(x)+(1-y)\log (1-h_\theta(x))) L(hθ(x),y)=−(yloghθ(x)+(1−y)log(1−hθ(x)))
成本函数
概念:成本函数是在全体训练样本上定义的,是基于参数 ( θ , b ) (\theta,b) (θ,b)的总成本,可以理解为是所有损失函数总和的平均值,其值越小越好,它可以找出最合适的参数 θ 和 b ~\theta和b~ θ和b 。
线性回归成本函数
J ( θ ) = 1 2 M ∑ i = 1 n ( θ T x i − y i ) 2 J(\theta)=\frac{1}{2M}\sum_{i=1}^n (\theta^Tx^i-y^i)^2 J(θ)=2M1i=1∑n(θTxi−yi)2
逻辑回归成本函数
J ( θ ) = − 1 M ∑ i = 1 n ( y i log h θ ( x i ) + ( 1 − y i ) log ( 1 − h θ ( x i ) ) ) J(\theta)=-\frac{1}{M}\sum_{i=1}^n (y^i\log h_\theta(x^i)+(1-y^i)\log (1-h_\theta(x^i))) J(θ)=−M1i=1∑n(yiloghθ(xi)+(1−yi)log(1−hθ(xi)))
损失函数和成本函数之间的关系
一组样本可以得到一个
L
(
θ
)
L(\theta)
L(θ)损失函数,全体样本可以得到
J
(
θ
)
J(\theta)
J(θ)成本函数,由此可知所有的
L
(
θ
)
L(\theta)
L(θ)累加后的平均值就是
J
(
θ
)
J(\theta)
J(θ),即
J
(
θ
)
=
1
M
∑
i
=
1
n
⋅
L
(
θ
)
J(\theta)=\frac{1}{M}\sum_{i=1}^n\cdot L(\theta)
J(θ)=M1i=1∑n⋅L(θ)
也可得到求偏导公式:
δ
δ
θ
J
(
θ
)
=
1
M
∑
i
=
1
n
δ
δ
θ
L
(
θ
)
\frac{\delta}{\delta\theta}J(\theta)=\frac{1}{M}\sum_{i=1}^n \frac{\delta}{\delta\theta} L(\theta)
δθδJ(θ)=M1i=1∑nδθδL(θ)