机器学习——逻辑回归代价函数
2020-05-19 本文已影响0人
BioLearner
逻辑回归的代价函数
如上图,对于二分类逻辑回归,即有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
定期更新,欢迎关注