2018.2.18 基于梯度上升的最优化算法

梯度上升算法求最优参数的数学公式推导

今天在学习《机器学习实战》这本书的时候,对于梯度上升算法求最Logistic回归的最优参数的那部分数学实现一直不明白,今天上午的时间,查阅了很多的资料,然后自己推导了一下数学公式。

首先,需要介绍的是Sigmoid函数,公式如下:

g(x)=11+ex g ( x ) = 1 1 + e − x
大致图像如下:

这里写图片描述

然后我们定义一组向量 z=[θ1,θ2,θ3...θn] z = [ θ 1 , θ 2 , θ 3 . . . θ n ] ,这一些参数就是最后要求的Logistic回归模型的最佳参数.

然后我们定义一个函数

hθ(x)=g(θTx)=11+eθTx h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x

然后,我们根据sigmoid函数的特性,我们可以得到对于样本的一个概率分布

P(y=1|x:θ)=hθ(x) P ( y = 1 | x : θ ) = h θ ( x ) ​

P(y=0|x:θ)=1hθ(x) P ( y = 0 | x : θ ) = 1 − h θ ( x ) ​

综合起来是

P(y|x:θ)=hθ(x))y((1hθ(x))1y P ( y | x : θ ) = ( h θ ( x ) ) y ( ( 1 − h θ ( x ) ) 1 − y

符号表示:

x x 是样本向量组,对应于机器学习实战里面是100*3的矩阵。

θT θ θ 向量的转置


接下来是见证奇迹的时刻,用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数的值。没错,就是最大似然估计。考研这么多天,第一次感觉数学一还是学的很有用的。

我们定义似然函数

L(θ)=P(Y|X;θ)=p(y(i)|x(i):θ)=(hθ(x(i)))y(i)(1hθ(x(i)))1y(i) L ( θ ) = P ( Y | X ; θ ) = ∏ p ( y ( i ) | x ( i ) : θ ) = ∏ ( h θ ( x ( i ) ) ) y ( i ) ( 1 − h θ ( x ( i ) ) ) 1 − y ( i )

先取对数

l(θ)=logL(θ)=i=1my(i)logh(x(i))+(1y(i))log(1h(x(i))) l ( θ ) = l o g L ( θ ) = ∑ i = 1 m y ( i ) l o g h ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h ( x ( i ) ) )

考研数学这个时候就可以去进行求导,算极值了。但是实际环境中,函数往往很复杂,就算求出了函数的导数,也很难精确计算出函数的极值。

此时我们就可以用迭代的方法来做,一点一点逼近极值。这个时候应该引入这一章的重点内容了–基础梯度上升的最优化方法

没错,又是考研数学的内容,梯度(gradient)

我们的迭代公式为

θ=θ+αL(θ) θ = θ + α ∇ L ( θ )

为什么要使用梯度,因为梯度是函数变化最快的方向,具体定义我也不记得了。

。。待续,太困了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值