机器学习——逻辑回归代价函数

逻辑回归的代价函数


如上图,对于二分类逻辑回归,即有m个样本,每个样本的特征X有n+1个(Xo=1),分类变量Y属于0或1,然后使用这些数据集来确定假设函数的参数θ。
之前所说的线性回归的代价函数如下所示:



如下图,当我们用Cost(hθ(X),Y)来表示平方和之后,



逻辑回归的代价函数就成了:

因为逻辑回归的假设函数为Sigmoid函数:

使得J(θ)不再像像线性回归中是凸函数(下图右),而是成了非凸函数(下图左),会有许多个局部最小值,从而使得使用梯度下降法寻找全局最小值来确定参数θ较为困难。



因此,我们定义逻辑回归中要付的惩罚或代价为:

Cost(hθ(X),Y)与hθ(X)的关系如下图所示:

当数据集中实际Y=1时,倘若hθ(X)的值也为1,则Cost代价为0,但Y=1而hθ(X)不为1时,Cost代价随hθ(X)的减小而逐渐增大。当数据集中实际Y=0时,倘若hθ(X)的值也为0,则Cost代价为0,但Y=0而hθ(X)不为0时,Cost代价随hθ(X)的增大而逐渐增大。
构建的Cost(hθ(X),Y)简化如下:

将其带入到代价函数J(θ)得到:

然后拟合确定参数θ:

如上图所示,对于新的样本x进行预测,得到的hθ(X)是y=1的概率。
使用梯度下降法来最小化代价函数。代价函数为:



梯度下降的算法为:

对于每一个样本同时更新所有的θ(用它自己减去学习率乘以后面的微分项),求导后得到:

当使用梯度下降法来实现逻辑回归时,对于所有的θ进行更新,提倡使用向量化的实现,而不是编写for循环。
此外,如果特征范围差距很大,同样需要进行特征缩放,这样可以让梯度下降更快收敛。

微信公众号:BioLearner

定期更新,欢迎关注

你可能感兴趣的:(机器学习——逻辑回归代价函数)