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

本文详细介绍了如何使用梯度上升算法来求解Logistic回归中的最优参数,并通过数学推导展示了整个过程。从Sigmoid函数出发,利用最大似然估计原理,最终形成了迭代更新参数的梯度上升公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

这里写图片描述

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

然后我们定义一个函数

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

然后,我们根据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))1yP(y|x:θ)=(hθ(x))y((1−hθ(x))1−y

符号表示:

xx是样本向量组,对应于机器学习实战里面是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(θ)=logL(θ)=∑i=1my(i)logh(x(i))+(1−y(i))log(1−h(x(i)))

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

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

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

我们的迭代公式为

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

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

。。待续,太困了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值