机器学习(八):逻辑回归的代价函数和梯度下降

一、逻辑回归的代价函数

逻辑回归:

f_{\vec{w},b}(\vec{x})=g(\vec{w}\cdot \vec{x}+b)

              =\frac{1}{1+e^{^{-(\vec{w}\cdot \vec{x}+b)}}}

如果使用平方误差代价函数来计算逻辑回归的损耗,代价函数如下图所示,有很多个局部最小值,很难得到全局最小值。

1、代价函数选取

逻辑回归的代价函数可以使用这种算法:

J(\vec{w},b)=\frac{1}{m}\sum_{i=1}^{m}L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})

其中,L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})是第i项的预测值\hat{y}和真实值y的损耗。

L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})采样这种算法:

2、代价函数为什么能生效?

-log(f)的曲线如下所示,f(即预测的\hat{y}值)一定是在0到1之间

选取0-1区间的曲线,当真实值y=1时,预测值越接近真实值,损失loss最小,预测值越远离真实值,损失越大。预测值为1时,损失是0,预测值是0时,损失loss是\infty。如下图所示。

-log(1-f)的曲线如下所示,f(即预测的\hat{y}值)一定是在0到1之间

选取0-1区间的曲线,当真实值y=0时,预测值越接近真实值,损失loss最小,预测值越远离真实值,损失越大。预测值为0时,损失是0,预测值是1时,损失loss是\infty,如下图所示。

二、逻辑回归的代价函数简化版

单项损失可以写成:

L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})=-y^{(i)}log(f_{\vec{w},b}(\vec{x}^{(i)}))-(1-y^{(i)})log(1-f_{\vec{w},b}(\vec{x}^{(i)}))

当y=1时,(1-y^{(i)})log(1-f_{\vec{w},b}(\vec{x}^{(i)}))这项为0,即:

L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})=-y^{(i)}log(f_{\vec{w},b}(\vec{x}^{(i)}))

当y=0时,-y^{(i)}log(f_{\vec{w},b}(\vec{x}^{(i)}))这项为0,即:

L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})=-(1-y^{(i)})log(1-f_{\vec{w},b}(\vec{x}^{(i)}))

因此,L(f_{\vec{w},b}(\vec{x}^{(i)}),y^{(i)})=-y^{(i)}log(f_{\vec{w},b}(\vec{x}^{(i)}))-(1-y^{(i)})log(1-f_{\vec{w},b}(\vec{x}^{(i)}))等同于:

逻辑回归的代价函数可简化成:

J(\vec{w},b)=-\frac{1}{m}\sum_{i=1}^{m}[y^{(i)}log(f_{\vec{w},b}(\vec{x}^{(i)}))+(1-y^{(i)})log(1-f_{\vec{w},b}(\vec{x}^{(i)}))]

三、代价函数的梯度下降

梯度下降依旧使用:

w_{j} = w_{j} - \alpha \frac{\partial }{\partial w_{j} }J(\vec{w},b)

b = b- \alpha \frac{\partial }{\partial b}J(\vec{w},b)

代入代价函数J求导得到:

w_{j}=w_{j}- \alpha *\frac{1}{m}\sum_{i=1}^{m}(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_{j}^{(i)}

b_{j}=b_{j}- \alpha *\frac{1}{m}\sum_{i=1}^{m}(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})

逻辑回归代价函数的梯度下降依旧可以:

1、使用学习曲线来观察梯度下降是否正常

2、向量化表达

3、特征缩放

学习来源:B站吴恩达的机器学习:P34-P36,8.1-9.1节

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值