更高效的随机梯度下降(Incremental gradient descent)法的尝试

梯度下降法被用于求解局部最小值的基本方法,有几种形式:BGD(Batch gradient descent),SGD(Stochastic gradientdescent),MBGD(Mini-batch gradient descent)。另外还有一种更高效的方法牛顿法。牛顿法在提高效率上的代价,是在每一次迭代计算中要计算Cost Function的Heissian矩阵的逆矩,这对于数据量较大的情况,简直是噩梦。

       牛顿法下,每一步的迭代: 

        Heissian矩阵,在这里就是h()的二次导 

相比梯度下降法的计算难度较低,但是迭代的次数较大。另外还有一种弊端,就是在越逼近局部极小值的时候,迭代步值就越小,从而导致收敛的速度越来越慢。

为了提高收敛的速度而引入了一种方法叫Feature scaling,具体的思想是将输入的特征变量进行归一化,降低特征变量在尺度上的差异。说到这里,让我们从头来捋一下线性回归:

假设有n组数据(Xn,Yn),其中X=[1,x1,x2,x3,…,xn]。则拟合函数为:

其中

则只要求得θ使得Cost Function的值最小,此时的拟合函数就是局部最佳拟合。

Cost Function:

令每一次迭代:

在这里,我认为α值是影响迭代效率的关键值,即使是将输入特征归一化,在临近局部最小值时,也会速率大大减慢。常规下,α的值是常数,但如果在开始|∇J(θ)|较大时,我们使α足够小,使递减的步子不至于过大,在|∇J(θ)|较小时,使α足够大,能快速的逼近局部最小值。那么就可以提高递减的速率。

由于α是随∇J(θ)变化,我们可以假设:

这里我让G(∇J(θ))~,让μ=0。

  a为常量,用于伸缩α的幅度。

 

经过测试,这种方式可以很好的提高拟合的速度。这里就不贴上代码。

以上为个人看法,有雷同,只是巧合。

 

引用:

梯度下降:https://blog.csdn.net/kwame211/article/details/80364079

Featrue Scaling:https://www.cnblogs.com/ooon/p/4947347.html

在风力发电系统中,最大化功率捕获是提高发电效率的关键,而MPPT算是实现这一目标的重要技术。在Matlab中实现MPPT算,主要通过构建风电机组模型,模拟风速变化,以及实施适当的控制策略来完成。以下是两种常用MPPT算的具体实现步骤: 参考资源链接:[Matlab实现风电机组MPPT控制算分析](https://wenku.csdn.net/doc/5ezqhdei9n?spm=1055.2569.3001.10343) 1. 梯度下降Gradient Descent Method): - 首先,我们需要建立风电机组的输出功率模型,这通常依赖于风速和发电机参数。 - 使用Matlab编写模拟风速的函数,并计算在不同风速下风电机组的功率输出。 - 通过Matlab的仿真功能,设置梯度下降的参数,如学习率和迭代步数。 - 通过循环迭代,根据功率和电压的梯度信息,实时调整控制参数以新工作点。 - 持续监控功率输出,并在达到最大功率点时稳定输出。 2. 增量电导Incremental Conductance Method): - 类似于梯度下降,首先建立风电机组的输出功率模型。 - 利用Matlab进行风速模拟,计算不同风速下的功率输出。 - 应用增量电导,编写程序监测功率与电压的增量比值。 - 通过比较dP/dV与dI/dV的值,动态调整风电机组的控制参数,以达到最大功率点。 - 在达到平衡点后,算将保持输出稳定,确保能量捕获最大化。 在Matlab中运行这两种算,不仅可以观察到功率输出的变化,还能通过图形化界面直观地展示算的有效性。梯度下降以其简单易实现著称,但其性能依赖于学习率的选择,容易出现振荡。相比之下,增量电导能够快地响应风速的变化,并在达到最大功率点后有良好的稳定性,但算相对复杂,计算量大。 综上所述,Matlab为风电机组MPPT算的实现提供了强大的支持,无论是梯度下降还是增量电导,都能在Matlab中得到有效的模拟和实现。通过分析这些算在实际应用中的表现,可以好地理解它们在风电机组能量优化中的应用,并选择适合特定风电机组特性的控制策略。 参考资源链接:[Matlab实现风电机组MPPT控制算分析](https://wenku.csdn.net/doc/5ezqhdei9n?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值