机器学习之梯度下降法数学推导--分类

PS:本文中的log等同于我们国内的ln

sigmoid函数

    之前那一文中提到了一般的梯度上升的公式推导,但是在《机器学习实战》一书中,实现的是分类方法,因此,虽然最终的结果相似,但是其实本质有很大的不同。

    一般来讲我们把实物分成两类,因此我们需要将结果映射到两个结果(是或非),因为一般的阶跃函数在求导之类的问题上会变得相当复杂,因此我们用一个更加圆滑的sigmoid函数来映射,所有输入到这个函数的实数都会被转化到0-1之间,它的公式为 g(z)=11+ez

    同时它对应的图像如图所示:
sigmoid

    于是我们可以将得到的结果进行四舍五入,分类成0或1

Logistic 回归

    这里的意思是,将我们的分类边界线作模型,进行拟合,并以此来分类。

     我们假设经过sigmoid函数处理过的结果为 hΘ(x) ,因为是在0-1之间,因此可以看做是概率,另外,我们可以假设,分类到0或者1的概率。

P(y=1|x;θ)=hθ(x)P(y=0|x;θ)=1hθ(x)(1)

将以上两个概率公式整合一下成为一个概率公式,
p(y|x;θ)=(hθ(x))y(1hθ(x))1y(2)

梯度上升解决回归问题

1. 最大似然估计

     这里我们使用最大似然估计法,这个在大学的高等数学中应该都有学习过,就不在赘述。这里假设我们有m个训练集。

L(θ)=i=1mp(y(i)|x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)(3)

     为了求导方便,我们一般会将似然函数L加上log函数,因为log函数是递增函数,因此不影响似然函数求最值。
这里会用到一个log函数的性质 logab=bloga ,推导得:
l(θ)=logL(θ)=i=1my(i)logh(x(i))+(1y(i))log(1h(x(i)))(4)

     将l函数对 θ 求导
θjl(θ)=(y1hθ(x)(1y)11hθ(x))θjhθx(5)

2. sigmoid函数求导

h(x)=ddx11+ex=1(1+ex)2(ex)=1(1+ex)(11(1+ex))=h(x)(1h(x))(6)

3. 似然估计后续

     从上一篇文章,或者从《机器学习实战》chapter5 中可得sigmoid函数h(x)的输入函数是 w=θTx ,将其代入公式(4),得到

l(θ)=(y1h(θTx)(1y)11h(θTx))θjh(θTx)=(1h(θTx)(1y)11h(θTx))h(θTx)(1h(θTx)jθTx)=(y(1h(θTx))(1y)h(θTx))xj=(yhθ(x))xj(7)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值