机器学习笔记-6.5逻辑回归的代价函数及其求导

0- 背景

定义逻辑回归的代价函数时,不能够像线性回归那样,否则代价函数变成一个非函数,难以收敛到全局最优。

1- 线性回归代价函数:

线性回归中的代价函数:

J(θ)=12mi=1m(yihθ(xi))2

线性回归代价函数的实际意义就是平方误差。而逻辑回归却不是,它的预测函数 hθ(x) 是非线性的。如果类比地使用线性回归的代价函数于逻辑回归,那 J(θ) 很有可能就是非凸函数,即存在很多局部最优解,但不一定是全局最优解。我们希望构造一个凸函数,也就是一个碗型函数做为逻辑回归的代价函数。

2- 逻辑回归代价函数:

按照求最大似然函数的方法,逻辑回归似然函数:

L(θ)=i=1mP(yi|xi;θ)=i=1m(hθ(xi))yi((1hθ(xi)))1yi

其中m表示样本数量,取对数:
l(θ)=logL(θ)=i=1m(yiloghθ(xi)+(1yi)log(1hθ(xi)))

我们的目标是求最大 l(θ) 时的θ,如上函数是一个上凸函数,可以使用梯度上升来求得最大似然函数值(最大值)。或者上式乘以-1,变成下凸函数,就可以使用梯度下降来求得最小负似然函数值(最小值):
J(θ)=1ml(θ)

我们把如上的 J(θ) 作为逻辑回归的损失函数。

求最大似然函数参数时,对参数θ求偏导=0,然后求解方程组。考虑到参数数量的不确定,即参数数量很大,此时直接求解方程组的解变的很困难,或者根本就求不出精确的参数。于是,一般都是采用随机梯度下降法,来求解方程组的参数值。
推导过程:
1)梯度下降 θ 的更新过程,走梯度方向的反方向:

θj:=θjαδδθjJ(θ)

其中偏导项的推导如下:
δδθjJ(θ)=1mi=1m(yi1hθ(xi)δδθjhθ(xi)(1yi)11hθ(xi)δδθjhθ(xi))=1mi=1m(yi1g(θTxi)(1yi)11g(θTxi))δδθjg(θTxi)=1mi=1m(yi1g(θTxi)(1yi)11g(θTxi))g(θTxi)(1g(θTxi))δδθjθTxi=1mi=1m(yi(1g(θTxi))(1yi)g(θTxi))xji=1mi=1m(yig(θTxi))xji=1mi=1m(hθ(xi)yi))xji

注意下上面推导的第二部分:

(f(x)g(x))=g(x)f(x)f(x)g(x)g2(x)(ex)=ex

那么上述公式中的 δδθjg(θTxi) 推导如下:

δδθjg(θTxi)=eθTxi(1+eθTxi)2δδθj(1)θTxi=g(θTxi)(1g(θTxi))δθjθTxi

因此更新过程可以写成:

θj:=θjα1mi=1m(hθ(xi)yi))xji

你可能感兴趣的:(机器学习)