不等式约束条件下求极值1| 学习笔记

简介: 快速学习不等式约束条件下求极值1。

开发者学堂课程【机器学习算法 :不等式约束条件下求极值1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7264


不等式约束条件下求极值1

 

内容介绍

一、补充数学知识

二、无约束条件求极值

三、等式约束条件求极值

 

一、补充数学知识

1.求极值常见的几种情况:

(1)没有任何约束条件

图片12.png

其中 x1、x2、x3、x4 取值范围不受任何限制求极值。是最常见最简单的方式

(2)约束条件为等式

图片13.png

需要满足  x1、x2、x3、x4相加和为1,在此条件下求极值

(3)约束条件为不等式

图片14.png

较为复杂的一种求极值的方式。这不仅要求四者和为1,同时还要求 x4≤C

我们所求的表达式均为凸函数,所谓的凸函数是函数图形上任意两个点的连线都在图形内。

举例以下图形:

图片15.png

六边形任意两点连线都在图形内,那么这个六边形就可以理解为凸函数。

右侧不规则图形,其中黑色线条两点连线在图形内,但红色线两点连线不全在图形内,所以此图形不为凸函数。

以下为典型图形例子:

图片16.png

第一个是抛物线可以来求极值,但第二个不可以求,有一部分在图形内,一部分在图形外。

 

二、无约束条件求极值

在没有约束条件的情况下求极值,通常都是对变量求导,导数等于0的点即为极值点(注意检查最大值和最小值)

求极值的目标函数为: f(x),则对该函数求x的偏导,并令其等于0,求解即可。

图片17.png

分别让 f(x)对 x1 求偏导,带入后得到 2x1=0,因为 x2、x3、x4 和 x1 没有关系,所以三项导数为0.同理 2x2=0、2x3=0、2x4=0,则可求出 x1=x2=x3=x4=0。因为 x 为非负,并且没有约束条件,则四者相加=0.

因为有多个分量,取 x1 和 x2,x1的平方则为 x1-0 的平方加 x2-0 的平方,中心点都在圆点(0,0),然后依次话等高线,最低点则为圆点,所以取 x1,x2 都为0是最小的

 

三、等式约束条件求极值

可以联立方程组代入消元,也可以使用拉格朗日乘子法,将约束条件加入到极值方程中来。

求极值的目标函数为:f(x),约束条件为:h(x)=0,h(x)=x1+x2+x3+x4-1=0,则得到新的目标函L(x,image.png)=f(x)+image.pngh(x)=0,对x和image.png求导数,同样在导数为0的地方为极值。

回到本例:

图片18.png

图片19.png

对 x1 求偏导就是2x1+image.png=0,依次类推。

还需要对image.png求偏导就是 h(x)约束

最后解得出结果即可。

图片20.png

通过图形来解决问题。四个分量,随便选择俩个分量,同样画等高线,若没有任何约束条件就画中间圆点,但有约束条件后,x1 和 x4 在一条直线上,一定和其中一条等高线相切,相切点就是我们需要求的极值点。约束条件的几度和目标函数的几度方向相反。等式约束条件求极值和原来没有约束条件求极值结果不一样,除非原来等式条件符合约束条件。

相关文章
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
290 4
如何让Python爬虫在遇到异常时继续运行
|
机器学习/深度学习 人工智能 算法
【机器学习】深度神经网络(DNN):原理、应用与代码实践
【机器学习】深度神经网络(DNN):原理、应用与代码实践
2666 1
|
存储 监控 安全
|
算法 计算机视觉
【MATLAB】史上最全的9种数据拟合算法全家桶
【MATLAB】史上最全的9种数据拟合算法全家桶
423 0
|
机器学习/深度学习 搜索推荐 Python
L2范数(L2 norm)
L2范数(L2 norm),也称为欧几里德范数(Euclidean norm)或2-范数,是向量元素的平方和的平方根。它在数学和机器学习中经常被用作一种正则化项、距离度量或误差度量。
10241 76
|
机器学习/深度学习 算法 开发者
不等式约束条件下求极值2| 学习笔记
快速学习不等式约束条件下求极值2。
不等式约束条件下求极值2| 学习笔记
|
程序员 Linux C#
C#开源项目:私有化部署LLama推理大模型
C#开源项目:私有化部署LLama推理大模型
510 0
|
并行计算 异构计算
如何将cuda上的变量转到cpu上面?
在这个示例中,我们首先将x张量对象创建在GPU上。然后,我们使用.cpu()方法将其移动到CPU上,并将其分配给一个新的变量x_cpu。现在,我们可以在CPU上使用x_cpu变量并打印它。 请注意,将张量移动到不同的设备(如从GPU到CPU)可能会涉及到数据的复制,因此需要确保不会频繁地在不同的设备之间移动数据以避免性能下降。
2019 0
|
存储 缓存 Unix