优化方法的应用(optimtool.example)

news2024/11/19 3:23:45
import optimtool as oo
from optimtool.base import np, sp, plt
pip install optimtool>=2.4.2

优化方法的应用(optimtool.example)

import optimtool.example as oe

Lasso问题(Lasso)

oe.Lasso.[函数名]([矩阵A], [矩阵b], [因子mu], [参数表], [初始迭代点])

min ⁡ 1 2 ∣ ∣ A x − b ∣ ∣ 2 + μ ∣ ∣ x ∣ ∣ 1 \min \frac{1}{2} ||Ax-b||^2+\mu ||x||_1 min21∣∣Axb2+μ∣∣x1

给定 A m × n A_{m \times n} Am×n x n × 1 x_{n \times 1} xn×1 b m × 1 b_{m \times 1} bm×1,正则化常数 μ \mu μ。解决该无约束最优化问题,该问题目标函数一阶不可导。

方法头解释
gradient(A: NDArray, b: NDArray, mu: float, args: ArgArray, x_0: PointArray, verbose: bool=False, draw: bool=True, output_f: bool=False, delta: float=10, alp: float=1e-3, epsilon: float=1e-2, k: int=0) -> OutputType光滑化Lasso函数法
subgradient(A: NDArray, b: NDArray, mu: float, args: ArgArray, x_0: PointArray, verbose: bool=False, draw: bool=True, output_f: bool=False, alphak: float=2e-2, epsilon: float=1e-3, k: int=0) -> OutputType次梯度法Lasso避免一阶不可导
approximate_point(A: NDArray, b: NDArray, mu: float, args: ArgArray, x_0: PointArray, verbose: bool=False, draw: bool=True, output_f: bool=False, epsilon: float=1e-4, k: int=0) -> OutputType邻近算子更新
import scipy.sparse as ss
x = sp.symbols('x1:9')
m, n = 4, 8
u = (ss.rand(n, 1, 0.1)).toarray()
Mu = 1e-3
A = np.random.randn(m, n)
b = np.random.randn(m, n).dot(u)
x_0 = tuple([1 for _ in range(8)])
oe.Lasso.subgradient(A, b, Mu, x, x_0, verbose=False)

在这里插入图片描述

(array([ 0.31938837, -0.01063285,  0.64248879,  0.39738588, -0.59341723, -0.20835098,  0.65554228,  0.44903602]), 216)

曲线相切问题(WanYuan)

oe.WanYuan.[函数名]([直线的斜率], [直线的截距], [二次项系数], [一次项系数], [常数项], [圆心横坐标], [圆心纵坐标], [初始迭代点])

问题描述:

给定直线的斜率和截距,给定一个抛物线函数的二次项系数,一次项系数与常数项。 要求解一个给定圆心的圆,该圆同时与抛物线、直线相切,若存在可行方案,请给出切点的坐标。
方法头解释
solution(m: float, n: float, a: float, b: float, c: float, x3: float, y3: float, x_0: tuple, verbose: bool=False, draw: bool=False, eps: float=1e-10) -> str使用高斯-牛顿方法求解构造的7个残差函数
oe.WanYuan.solution(1, 2, 0.2, -1.4, 2.2, 3, -2.5, (4, 4, -4, -2, -2, 4), True)
(4, 4, -4, -2, -2, 4)	61612.182500000024	0
[ 3.29133755  0.06740836 -2.5150997   0.28351846  1.0655889  -0.94429557]	13380.08160556542	1
[-1.11968963 -3.58590014 -2.69274677 -1.37736125 -0.26164182 -0.77291041]	1198.7999458909264	2
[-0.30266852 -2.89871252 -2.59053473 -0.61494902  1.62333363 -0.18803779]	1.5198302153861234	3
[-0.09044295 -2.47519749 -2.22330715 -0.34428703  1.67765088  0.02982181]	0.3269218137297747	4
[-0.04674173 -2.3650673  -2.16182829 -0.25144656  1.69657453  0.11211081]	0.23257960438227657	5
[ 0.00834682 -2.21605565 -2.09213868 -0.11631022  1.72502288  0.23298958]	0.1283472579162907	6
[ 0.04441602 -2.1008148  -2.06090762  0.00449731  1.7522343   0.34204307]	0.010358309290037107	7
[ 0.03898432 -2.11262103 -2.07069068 -0.00294621  1.75120302  0.33509119]	0.002797404047207694	8
[ 0.03915084 -2.11208603 -2.07046856 -0.00246663  1.75127154  0.33557915]	0.002796695858338408	9
[ 0.03914121 -2.11211464 -2.07048258 -0.00249084  1.75126809  0.33555454]	0.0027966954396675928	10
[ 0.03914172 -2.11211313 -2.07048185 -0.00248957  1.75126827  0.33555584]	0.0027966954385178202	11
[ 0.03914169 -2.11211321 -2.07048189 -0.00248963  1.75126826  0.33555577]	0.0027966954385146964	12
[ 0.03914169 -2.11211321 -2.07048189 -0.00248963  1.75126826  0.33555577]	0.0027966954385146483	13
[ 0.03914169 -2.11211321 -2.07048189 -0.00248963  1.75126826  0.33555577]	0.002796695438514672	14
[ 0.03914169 -2.11211321 -2.07048189 -0.00248963  1.75126826  0.33555577]	0.0027966954385146175	15

在这里插入图片描述

'(x0, y0)=(0.04, -2.11), (x1, y1)=(-2.07, -0.0), (x2, y2)=(1.75, 0.34)'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1062666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux删除空目录/非空目录和文件

一、删除目录 删除名为mydir的空目录: rmdir mydir 删除名为mydir的非空目录(非空目录是指该目录包含了其他文件或子目录,而不是空的或没有任何内容的目录) rm -r mydir 删除mydir1下的空目录mydir2 rmdir mydir1/mydir2 删除当前目录下所有以dir一个数字结尾的目录…

打开MySQL数据库

在命令行里输入mysql --version就可以查看: mysql -uroot -p之前设置的密码(不用输入)就可登录成功:

什么是邮件签名证书?

邮件签名证书是一种数字证书,用于保护电子邮件的安全性和可信度。邮件签名证书可以确保电子邮件本身在发送过程中不会被篡改或伪造,同时也可以验证发件人的身份。 邮件签名证书的工作原理是使用S/MIME协议。S/MIME协议是一种用于加密和签名电子邮件的标准…

tio-websocket-spring-boot-starter的最简单实例,看完你一定有所收获

前言 我最近一个月一直在寻找能够快速开发实时通讯的简单好用的模块,所以我就去寻找了一下相关的内容.在此之前我使用的是Spring原生的webSocket,她有个弊端就是设置组不容易设置,而且配置上也稍微复杂一点,需要配置拦截器和处理器,还需要把它放入到Springboot的启动容器里面,也…

在word文档里面插入漂亮的伪代码

推荐用texsword.0.8 安装与界面 下载链接:https://sourceforge.net/projects/texsword/ 极为轻便,是Word的一个宏 安装过程也是极为简单,复制解压后的 texsword.dotm 文件到 C:\Users\{YOUR_USER_NAME}\AppData\Roaming\Microsoft\Word\ST…

gitgitHub

在git中复制CtrlInsert、粘贴CtrlShif 一、用户名和邮箱的配置 查看用户名 :git config user.name 查看密码: git config user.password 查看邮箱:git config user.email 查看配置信息: $ git config --list 修改用户名 git co…

【树】树的直径和重心

目录 一.树的直径 (1)定义 (2)思路 (3)例题 (4)std(第一小问) 二.树的重心 (1)介绍 (2)求重心 (3)例…

全排列[中等]

优质博文:IT-BLOG-CN 一、题目 给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例…

【机器学习-黑马程序员】人工智能、机器学习概述

文章目录 前言一、人工智能概述二、什么是机器学习二、机器学习算法分类三、机器学习开发流程 前言 本专栏文章为观看黑马程序员《python机器学习》所做笔记,课程地址在这。如有侵权,立即删除。 一、人工智能概述 机器学习和人工智能、深度学习的关系 机…

Harbor+Trivy实现镜像漏洞扫描

文章目录 安装HarborTrivyoras下载压缩包解压并安装 离线漏洞库oras方式trivy方式配置离线库 扫描镜像harbor配置扫描镜像 使用命令扫描 安装 Harbor 安装Harbor时,指定--with-trivy参数同时安装trivy组件。 ./install.sh --with-trivyTrivy 下载最新版本的安装…

目标检测算法改进系列之Backbone替换为FocalNet

FocalNet 近些年,Transformers在自然语言处理、图像分类、目标检测和图像分割上均取得了较大的成功,归根结底是自注意力(SA :self-attention)起到了关键性的作用,因此能够支持输入信息的全局交互。但是由于…

OpenCV项目开发实战--使用最先进的方法“F、B、Alpha Matting”进行图像抠图--提供完整代码

示范 让我们对现实生活中的图像启动 FBA Matting 方法。要应用 FBA Matting 算法,我们首先需要生成一个 trimap(我们稍后会介绍它是什么)。在我们的演示中,我们将使用预训练的DeepLabV3生成分割掩模,其中每个像素属于前景类的概率。之后,我们将使用大量膨胀操作将边界像…

【6】c++设计模式——>UML表示类之间的依赖关系

依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系,大多数情况下依赖关系体现在某个类的方法使用另一个类的对象作为参数。 在U…

JavaEE-网络编程套接字(UDP/TCP)

下面写一个简单的UDP客户端服务器流程 思路: 对于服务器端:读取请求,并解析–> 根据解析出的请求,做出响应(这里是一个回显,)–>把响应写回客户端 对于客户端:从控制台读取用户输入的内容–>从控制…

【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门

大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是…

约束优化算法(optimtool.constrain)

import optimtool as oo from optimtool.base import np, sp, pltpip install optimtool>2.4.2约束优化算法(optimtool.constrain) import optimtool.constrain as oc oc.[方法名].[函数名]([目标函数], [参数表], [等式约束表], [不等式约数表], [初…

1798_GNU pdf阅读器evince_支持的格式

全部学习汇总: GreyZhang/g_GNU: After some years I found that I do need some free air, so dive into GNU again! (github.com) 顺着之前的wiki了解的文档,这一次看看evince支持的文件格式。关于这部分,原始的介绍网页链接: A…

SpringCloud(二)Docker、Spring AMQP、ElasticSearch

文章目录 DockerDocker与虚拟机Docker架构镜像、容器、镜像托管平台Docker架构Docker实践 Spring AMQP简单使用案例工作队列- WorkQueue发布订阅服务FanoutExchangeDirectExchangeTopicExchange 消息转换器 ElasticSearch倒排索引IK分词器IK分词拓展与停用字典 操作索引库mappi…

创建django文件

1、在指定目录里打开终端,输入D:\Softwares\Anaconda3\envs\pytorch\Scripts\django-admin .exe startproject 名称 ,即可在对应目录里创建django文件。

后端面经学习自测(二)

文章目录 1、Http1.1和2.0的区别大概是什么?HTTP & HTTPS 2、HTTP,用户后续的操作,服务端如何知道属于同一个用户cookie & session & token手机验证码登录流程SSO单点登录 3、如果服务端是一个集群机器?4、hashmap是线…