Logistic Regression——逻辑回归算法推导

前言

之前学过用线性回归解决分类问题

使用如下的阶跃函数,实现分类功能,但是这样的分类很明显太过粗糙了

y =\left\{\begin{matrix} 0, z \leq 0;\\ 1, z>0;\\ \end{matrix}\right.    令z = h_{\theta }(x)

我们希望有一个理想的阶跃函数来帮我们实现z值到0/1值的转化。 

 而且是单调可微的凸函数->sigmoid function


定义

   输出Y=1的对数几率是由输入x的线性函数表示的模型,这就是 逻辑回归模型。是一种广义的线性模型。

  • 所以决策函数为

推导

  • 有了Sigmoid fuction之后,由于其取值在[0,1],我们就可以将其视为类1的后验概率估计p(y=1|x)。即ϕ(z)可以视为类1的后验估计,于是有

  • 写成一般的形式

  • 用极大似然估计根据给定的训练集估计出参数w


    极大似然估计:就是试图在w的所有可能的取值中,找到一个能使数据出现的可能性最大的值,不清楚的可以查看博主的另一篇介绍极大似然估计的文章
  • 为了防止结果下溢,用对数似然

  • 在l(w)前加负号,就变成了代价函数J(w)

  • 先来理解一下代价函数
    • 对于二分类问题,有

    • 从图中看出,当y=1的时候,φ(z)越接近1,代价就越小。当y=0时,φ(z)越接近0,误差越小,因此可以作为我们的代价函数
  • 梯度下降求参数
    • sigmoid function有一个很好的性质就是 

    • 对代价函数关于参数求导 -- 链式求导

    • 因此,更新权重的公式


      是不是与线性回归的权重更新式子极为相似
    • 样本量较大的时,采用随机梯度下降(或者mini batch SGD),去掉了求和,每次迭代式需要把样本打乱

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值