42、数值优化与假新闻检测:理论与实践探索

数值优化与假新闻检测:理论与实践探索

1. 梯度下降算法与Huber损失最小化

梯度下降算法是一种用于寻找函数最小值的迭代优化算法。在使用Huber损失函数时,我们可以通过该算法找到最小化的常数模型。以下是使用Python代码实现的示例:

%%time
theta_hat = minimize(huber_loss, grad_huber_loss, delays['minutes_late'])
print(f'Minimizing theta: {theta_hat:.3f}')

运行上述代码后,得到最小化的 theta 值为0.701,CPU时间为97.3ms,实际耗时为140ms。Huber损失的优化常数接近最小化绝对损失的值,这得益于Huber损失函数的形状,它在尾部是线性的,因此不受异常值的影响,这与绝对损失类似,但与平方损失不同。

在实际应用中,我们通常使用经过良好测试且数值稳定的优化算法实现,例如 scipy 包中的 minimize 方法,它可以帮助我们找到平均损失的最小值,而且无需计算梯度,速度通常比我们自己编写的算法更快。

梯度下降算法通常在 θ(t) 在迭代之间变化不大时停止。在我们的函数中,当 θ(t + 1) - θ(t) 小于0.001时停止。此外,在经过大量步骤(如1000步)后停止搜索也是常见的做法。如果算法在1000次迭代后仍未达到最小值,可能是因为学习率过大导致算法发散,或者最

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值