- 博客(18)
- 收藏
- 关注
原创 多变量函数极值-阻尼牛顿法
上一节中我们介绍了牛顿法在多维变量极值中的应用,牛顿法虽然收敛速度很快,但是当初始点离极小值点过远时,迭代可能不收敛,为了克服这个缺点,这节我们来介绍阻尼牛顿法。在牛顿法中迭代步长λk总是取1,而在阻尼牛顿法中,每一步的迭代步长通过一维搜索来确定,一维搜索方法已经介绍过很多,在此不在赘述。详细内容见上一节。xk1xk−λk▽2fxk−1▽fxk其中λk通过一维搜索方法得到,即采用一维搜索求解fxkλkskλ≥0min。
2024-05-20 19:15:02
899
1
原创 多变量函数极值-牛顿法
之前我们已经采用过牛顿法进行一维搜索,这次我们将牛顿法推广到多维。利用牛顿法来求解多变量极值问题。跟一维问题类似,在局部采用二次函数φx来近似替代目标函数fx,然后用φx的极小点作为fx的近似极小点。设xk为fx的一个近似极小点,将fx在xkfx≈φxfxk▽fxkTx−xk21x−xkT▽2fxkx−xk故fxxk1xk−▽fxk−1▽2fxk。
2024-05-17 14:12:17
760
原创 多变量函数极值-最速下降法
基本原理:假设fx∈C1,由于函数fx沿着负梯度方向−▽fx下降最快,因此选取它作为每次迭代的搜索方向,即sk−▽fxk。故梯度法的计算步骤是:给定一个初始点x0,计算s0−▽fx0,从x0出发沿着s0方向搜索得到fx的近似极小点x1x0λ0s0,在以x1。
2024-05-16 16:46:50
1807
原创 采用二次插值法进行不精确一维搜索
上次介绍了的概念和准则,以及采用直接法进行不精确一维搜索的实例,本次介绍采用二次插值法来进行不精确一维搜索的方法。φλfxkλsk,若已知点λ1φ1λ2φ2,则可由那节的内容可知,可采用抛物线方程gλaλ2bλcλλ121λ2−λ21λ2−λ2φ1′φ1−φ2c1∈01c2∈c11T0λ10λ21λ。
2024-05-15 20:06:08
579
原创 采用平分法进行一维搜索
平分法是一种简单有效的一维搜索方法,其优点是每一步的计算量都较小,程序实现简单,并且总能收敛于一个局部极小点,缺点是收敛的速度很慢。其基本思想是:若fx在区间ab内连续且可导,即fx∈C1ab,且f′a0和f′b0,则在a,b区间内必定存在一点x∗,使得f′x∗0。
2024-05-06 08:20:43
607
1
原创 Python绘制累积百分比柱状图
可以直观显示数据的累积情况:通过累积百分比柱状图,可以清晰地看到数据随着不同维度的累积分布情况,有助于理解数据的全貌。方便比较不同组别的数据比例:累积百分比柱状图可以将不同组别的数据直观地比较,帮助用户更好地理解数据之间的比例关系。使得数据变化趋势更为明显:通过观察累积百分比柱状图,可以更容易地看出数据的变化趋势,从而进行分析和决策。累积百分比柱状图是一种展示数据累积分布情况的图表形式。
2024-05-02 20:53:26
286
2
原创 python绘图,中文设置为宋体,英文设置为新罗马
在国内中文的核心期刊中的插图往往需要将英文设置为Times New Roman,将中文设置为宋体。但是matplotlib往往无法支持。本文提供一种个人常用的方法,在系统中安装这种字体后,即可完成设置,
2024-05-02 17:29:50
1271
3
原创 利用python获取核密度估计的累积概率分布
核密度估计是一种非参数的统计方法,用于估计随机变量的概率密度函数。它的基本思想是在数据点附近放置一些核函数(例如高斯核函数),然后对这些核函数进行加权求和,得到对概率密度函数的估计。核密度估计的优点在于它不需要假设数据的分布形式,能够更灵活地适应数据的特点。核密度估计的核心思想是考察每个数据点的附近区域内的数据点密度,从而得到整体的密度估计。通常使用窗宽参数来控制核函数的宽窄,影响估计的准确性和偏差。核密度估计在数据分布不规则或者多峰情况下表现较好,可以用于数据的可视化和分析。
2024-05-01 23:30:09
545
1
原创 Pyside6:例子(无明显意义,仅用于本人练手)
PySide6是一个用于创建图形用户界面(GUI)的Python库。它是Qt开发框架的Python绑定,可以帮助开发者快速、方便地创建跨平台的GUI应用程序。PySide6提供了丰富的工具和组件,可以用来构建各种类型的用户界面,包括按钮、文本框、列表框、菜单等。它还支持与Qt Designer集成,方便可视化设计界面。PySide6可以在Windows、MacOS、Linux等不同平台上使用,使开发者能够轻松地实现跨平台的GUI应用程序开发。
2024-04-29 20:21:17
427
原创 sce(python)
之前在研究一个叫sce的算法找寻全局最优解,想用python编辑实现。但是找了一圈基本都是基于fortranhuo和matlab编辑实现的。 但是自己编一个程序对于我这个只学了十几天编程的人有点困难,然后我就在GitHub上找了一个关于sce-ua算法的简单的例子,尝试按照他的步骤在python里面实现它。 该例子是一个十维问题,及在-10和10间随机生成10个未知数,并计算他们平方的和,求和的最小值。我发现matlab里是用的struct数组,它处理起这...
2021-09-10 07:55:19
838
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人