您的位置:首页 > 其它

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

2016-08-24 23:33 337 查看

1. 引言

回到线性回归模型中,训练集和代价函数如下图



如果我们还用J(θ)函数做为逻辑回归模型的代价函数,用H(x) = g(θ^T * x),曲线如下图所示发现J(θ)的曲线图是"非凸函数",存在多个局部最小值,不利于我们求解全局最小值

因此,上述的
代价函数
对于逻辑回归是不可行的,我们需要其他形式的
代价函数
来保证逻辑回归的
代价函数
是凸函数。

2. 代价函数

这里我们先对线性回归模型中的代价函数J(θ)进行简单的改写

用Cost(h(x), y) = 1/2(h(x) - y)^2 代替

在这里我们选择
对数似然损失函数
做为逻辑回归模型的
代价函数
,Cost函数可以表示如下

分析下这个代价函数(1). 当y=1的时候,Cost(h(x), y) = -log(h(x))。h(x)的值域0~1,-log(h(x))的曲线图,如下

从图中可以看出h(x)的值趋近于1的时候,代价函数的值越小趋近于0,也就是说预测的值h(x)和训练集结果y=1越接近,预测错误的代价越来越接近于0,分类结果为1的概率为1
当h(x)的值趋近于0的时候,代价函数的值无穷大,也就说预测的值h(x)和训练集结果y=1越相反,预测错误的代价越来越趋于无穷大,分类结果为1的概率为0
(2). 当y=0的时候, Cost(h(x), y) = -log(1-h(x))。h(x)的值域0~1,-log(1-h(x))的曲线图,如下

从图中可以看出h(x)的值趋近于1的时候,代价函数的值趋于无穷大,也就是说预测的值h(x)和训练集结果y=0越相反,预测错误的代价越来越趋于无穷大,分类结果为0的概率为1-h(x)等于0
当h(x)的值趋近于0的时候,代价函数的值越小趋近于0,也就说预测的值h(x)和训练集结果y=0越接近,预测错误的代价越来越接近于0,分类结果为0的概率为1-h(x)等于1
为了统一表示,可以把Cost(h(x), y)表达成统一的式子,根据前面J(θ)的定义,J(θ)等于

特别说明: 1. 当y=1的时候,第二项(1-y)log(1-h(x))等于0 2. 当y=0的时候,ylog(h(x))等于0从上面2点可以看出,J(θ)表达式符合前面定义根据线性回归求代价函数的方法,可以用
梯度下降算法
求解参数θ



从上图可以看出,θj更新和线性回归中梯度下降算法的θj更新一致,差别的是假设函数h(x)不同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: