自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dragon Fly的博客

一个野生算法程序员的自学历程

  • 博客(166)
  • 资源 (6)
  • 收藏
  • 关注

原创 二、图的表示和带权图

上述使用图的邻接矩阵表示图的时候,当图时一个稀疏图时(图中的边数量较少),在图的存储时会浪费大量的存储空间,所以需要将图进行压缩存储。邻接表中表的头结点表示图中每一个顶点,邻接表中的每一个节点中有值域和指针域,值域存储图中节点的编号,指针域存储一个指针,指向和当前结点相邻接的其他结点。可以用无向加权图来对TSP建模,则城市是图的顶点,道路是图的边,道路的距离就是该边的长度。将图的所有顶点和所有的边分别构成一个二维矩阵的行列,将顶点之间和边之间的关系表示在构成的矩阵之中,则称这个二维矩阵为图的关联矩阵。

2024-04-01 11:40:29 949

原创 一、图的基本概念

图论基本概念介绍

2024-03-13 21:41:47 816

原创 CPLEX获取模型的解池中的解方案

CPLEX解池

2023-11-01 17:51:12 306

原创 九、分枝切割算法

从上述流程可以看出,分枝切割算法和分枝定界算法的流程基本相似,知识在分枝之前,首先需要检查当前分数结点中有没有可以添加的有效不等式,讲这些不等式进行添加到线性规划模型中提升模型的下界。

2023-10-06 15:49:59 293

原创 八、混合整数线性规划问题

混合整数规划问题,分枝定界算法

2023-10-02 23:20:02 1138

原创 七、线性规划问题

线性规划和单纯形法

2023-09-17 23:47:20 353

原创 六、全局约束中的Alldifferent和Cumulative的实现

全局约束传播器

2023-09-12 23:32:50 100

转载 【转载】科技论文写作中的Proposition,Lemma,corollary, Theorem,Conjecture,Claim等的区别

科技论文写作常用术语

2023-09-10 16:09:51 873

原创 五、约束规划求解优化问题

重启搜索规定在一定量的资源消耗之后,从最早的地方重启搜索,通常以搜索量(资源)为指标,例如被访问的或者回溯的节点数量。在约束编程进行搜索的过程中,在搜索到一个新的解方案时,比较新的解方案和当前最优解方案之间的优劣,保留最优解,同时更新最优解的目标值下界约束,而不是添加一个新的最优解目标值下界约束后对解空间重新进行搜索。在约束编程中,搜索的顺序至关重要,在搜索时可以先注重重要的变量(对目标函数影响较大的变量),对此类变量进行优先搜索,可以更早找到高质量的解方案。,依次类推,这样每次重启之后的资源都会增加。

2023-08-13 23:04:18 214

原创 四、传播

在对某个变量的值域进行搜索时,i.e., foreach d in D(X),搜索的顺序会影响到搜索的效率,好的选择可以使得可行解更早地被找到,从而加速剪枝和缩短求解时间。约束传播是一个有效且高效的推理方式,可以从变量的值域中移除那些确保不会出现在解中的数值,从而可以得到更小的值域和更小的搜索树。在搜索里,变量的顺序(choose())的影响十分大,不同的选择直接影响到搜索树的大小的搜索效率;应用约束+传播的思路为:在每一个搜索节点上,在枚举搜索下一个变量之前,进行约束传播。第一种方法是:在一个分枝中令。

2023-07-16 11:32:04 122

原创 三、传播引擎

则称这个传播器是幂等的,即幂等传播器在调用一次之后,后续再进行调用时不对对变量的值域产生新的缩减效果。可以使用队列来进行管理,利用队列先进先出的特性,选取在队列中逗留时间最长的传播器。传播引擎可以看做是一种传播的方式(一种算法),这种传播方式重复采用传播器。之后,改变了哪些变量的值域,之后将这些变量所在的传播器均添加到。值域传播器和最强的边界传播器(如果值域没有空洞)是幂等的。是一个已经解决的传播器,在后续传播过程中均不需要将传播器。表示已经达到不动点状态的传播器的集合,的传播器是已经解决的传播器。

2023-07-04 12:05:49 83

原创 二、边界传播器

如果不能,则将这个边界数值移除,由于此处要求的是整数支持,所以也称边界(,最强的边界传播器会检查当前每个变量值域的边界数值(即上下界)是否在。,最强的边界实数传播器会检查当前每个变脸值域的边界数值,是否在。困难的,对于线性不等式调用边界传播器的时间复杂度是线性的。对于一个线性约束调用最强的边界传播器的时间复杂度是。即可,相对于值域传播器,边界传播器要高效许多。个变量,则这条约束的边界传播器只需要处理。的ITA变量的值域的上下界之间能找到。的其他变量值域的上下界之间能找到。,龙脉只可能存在于整数的位置。

2023-07-03 22:39:24 139

原创 一、约束规划简介(Constraints Programming)

约束编程第一篇

2023-06-24 16:12:57 1139

原创 十四、神经风格迁移

生成图片的代价函数由两部分组成,一部分称为内容代价(content cost),另一部分称为风格代价(style cost),要定义风格代价函数,首先需要介绍风格矩阵,表示表示输入图片在神经网络某一层。不同通道之间激活值的相关系数矩阵,如令。层的风格矩阵,其维度为。

2023-06-04 16:13:44 524

原创 十三、人脸识别

上述siamese network同样使用误差反向传播来进行网络参数的训练,siamese network的目标可以通过下述方式进行设定:选定一幅图片作为anchor picture(A),之后选择一幅同人图片作为positive picture(A)和一幅非同人图片作为negative picture(N),分别计算anchor picture和positive picture,negative picture之间的相似度,同时设定一个margin。来决定是否接受这幅图片属于数据库中某个人;

2023-05-23 23:29:09 626

原创 AMPL IDE语法整理

AMPL 建模指导

2023-05-17 18:04:36 1274

原创 十二、目标检测

在目标检测时,若同一个bounding box中包含多个目标,即多个目标出现重叠的情况,则上述算法无法准确输出目标的种类,所以提出了anchor box的概念。目标检测是图像识别中的更加复杂的应用情景,图像识别只需要输出某一幅图像的种类即可,目标检测不仅需要输出图像的种类,还需要使用边框框出图像中某一种物体的的位置,从而需要输出表示物体位置的参数:(特征点检测表示在一幅图偏重设置一些特征点,之后通过训练,将新图片中的特征点识别出来,从而进行图片信息的提取,如人脸识别,人体姿态识别等。表示物体中心位置坐标,

2023-05-14 20:29:55 378

原创 VS2017配置Ipopt-基于Windows环境

Ipopt在windows下的环境配置

2023-04-25 16:01:55 1070

原创 十一、计算机视觉中几种经典的网络结构

ResNets是由残差块构建的,残差块指的是在原本线性连接的不同层神经网络的神经元基础之上,将前面某层的输入**“skip connection”(short cut)**到后面更深层(通常向后跳两层)的网络之中,从而在一定程度上克服梯度消失和梯度爆炸的问题。从下图针对训练数据集的训练误差可以看出,随着神经网络层数的增加,普通的神经网络的训练误差会先增后降(由于梯度消失/梯度爆炸的问题),而ResNet的训练误差会持续下降,从而可以利用更深层的网络来达到更好的训练效果。从而使得VGGNet的结构比较简洁。

2023-04-02 11:21:47 732

原创 CPLEX通过API获取模型上下界以及gap值的方法

最近在做模型时,使用C++调用CPLEX求解时,设置好最大求解时间之后发现最后模型没有求解完成时,没法输出模型的下界解信息,去查询CPLEX 12.9用户手册也没有找到相关获取模型下界的方法,所以只能自己摸索和尝试(这样获得到的最优GAP值是准确的,但是求出来的最优下界比求解过程中显示的最优下界要大一点,这个不大清楚是啥问题,有大神直到可以指教【手动抱拳】!最终让我试出来一个获取模型上下界GAP值的函数。,这个函数在用户手册里面搜不到你敢信?之后这个方法被封装在所求解模型对象。类里面,所以只需要通过。

2023-03-21 17:53:18 955 1

原创 十、卷积神经网络

可以发现,卷积神经网络的大多数参数集中在全连接层,卷积层的参数相对较少,池化层没有需要训练的参数;另外,激活层的维度也会随着层数的增加而逐渐减小,但如果维度减小的太快,会影响卷积神经网络的整体性能。随着神经网络层数的增加,初始输入图片的维度(高度和宽度)会减小,但可以采用更多的卷积核和池化核,使得通道数量增加。时,将每个池化核覆盖的输入图像中最大的数字填充到输出图像中,输入图像,输出图像和池化核之间的维度关系和卷积计算时相同,均为。,顾名思义,试讲每个池化核覆盖的输入图像中的数字的平均值填充到输出图像中。

2023-03-03 23:21:11 344

原创 九、初识卷积

从上述卷积计算过程可以发现,原图像边缘的像素点使用的次数远低于中间像素点的使用次数,为了充分利用边缘像素点的信息,可以通过。在进行卷积操作时,卷积核每一次移动的步长(strid)不一定为1,也可以为大于1的其他数。1的灰度图像,图像中的数字越小,表示图像的颜色越深,则通过以下卷积(符号为*)计算,可以得到一张新的4。对于RGB图像的卷积操作使用的卷积核的维度为。1的图像,新图像中的中间部分便可以直观表现出原始图像的垂直边缘。卷积层的卷积操作之后,得到的结果图像恰好和原图像的尺寸相同,为。

2023-02-14 22:04:44 459

原创 八、迁移学习和多任务学习

端到端学习是相对于流水线学习而言的一种学习方式,如语音识别中,在端到端学习出现之前,会有一个复杂的流水线流程来实现一段语音的识别,流水线中包含很多繁琐的细节,每个细节中又包含许多繁杂的手工设计。如在图像识别中,当前手头的任务是需要训练一个关于医学影像识别的分类器,但是没有过多的训练数据,则可以使用其他训练好的分类器,如猫/狗/车分类器,其中的部分学习到的知识(部分神经网络参数)应用到医学影像识别分类器中。这样,就需要使用单一的神经网络来是被不同的物体是否存在于同一张图片之中,称之为多任务学习。

2023-01-28 22:35:52 775

原创 七、机器学习策略-ML strategy

在进行机器学习参数调整时,通常对相互之间orthogonal的参数进行调整,如使用更大的网络,更换梯度下降更新算法(Adam,sgd),使用更大的训练集,使用更大的测试集等均属于正交化的参数,调整一个并不会影响其他参数的效果。减小avoidance error的方式有:可以通过训练更大的网络,训练更长的时间/使用更好的优化梯度优化方法(momentum,RMSpop,Adam),更改网络的结构(增加影藏层数,隐藏层神经元数,RNN,CNN)或者调整训练参数(改变激活函数类型)。得分来衡量分类器的好坏,

2023-01-27 21:10:28 173

原创 人脸识别数据集

人脸识别数据集

2022-10-30 22:46:51 1098 3

原创 六、超参数调整, 批量正则化 和多元分类器

参数调整

2022-08-11 23:09:22 566

原创 五、深度学习优化算法

深度学习优化算法简介

2022-07-17 15:47:15 1344 3

原创 四、机器学习基础

深度学习简介

2022-07-04 22:15:47 4110

原创 十二、排序

各种排序算法介绍,以及时间,空间复杂度分析

2022-07-02 22:46:26 362

原创 十一、查找

文章目录1、查找的基本概念2、线性表的查找2.1 顺序查找2.2 二分查找1、查找的基本概念\qquad 查找表是由同一类型的数据元素或者记录构成的集合。由于集合中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构。\qquad 查找: 根据给定的值,在查找表中确定一个其关键字等于给定值的数据元素或者记录。\qquad 关键字: 用来标识一个数据元素或者记录的某个数据项的值\qquad\qquad主关键字: 可以唯一地标识一个记录的关键字是主关键字;\qquad\qquad次关键字:

2022-06-18 22:08:19 285

原创 三、深层神经网络

文章目录1、L层神经网络2、深层网络提出的1、L层神经网络\qquad 将浅层神经网络的隐藏层的层数增多之后,可以得到更深层的神经网络结构。下图是一个L=4层的神经网络示意图:\qquad之前浅层网络中定义的符号,在深层网络中同样适用,如n[l]n^{[l]}n[l]表示第lll层的神经元个数,g[l]g^{[l]}g[l]表示第lll层的激活函数,a[l]a^{[l]}a[l]表示第lll层的输出值。\qquad生成神经网络的前向传播通用表达式如下所示:Z[l]=w[l]A[l−1]+b[l]

2022-06-17 12:39:41 337

原创 *、Policy Gradient和PPO(PPO2)

文章目录1、基本组成部分2、policy gradient执行过程3、执行policy gradient的Tips3.1 增加一个baseline3.2 分配合理的reward权重4、Proximal Policy Optimization4.1 On policy 和 Off Policy1、基本组成部分\qquad Policy Gradient由3部分组成,分别是actor,environment和reward function,其中actor是可以控制的,但是environment和reward

2022-05-31 11:37:08 348

原创 二、浅层神经网络

文章目录1、神经网络的表示2、激活函数1、神经网络的表示\qquad 所有输入特征组成输入层(Input Layer),最终的输出神经元组成输出层(Output Layer),输入层和输出层之间的叫做隐藏层(Hidden Layer)。神经网络通过偏置和权重进行计算的示意图如下图所示:\qquad将上述计算式进一步进行整合:z[1]=W[1]x+b[1]a[1]=σ(z[1])z[2]=W[2]a[1]+b[2]a[2]=σ(z[2])z^{[1]}=W^{[1]}x+b^{[1]}\\a^{[

2022-05-22 11:27:06 857

原创 一、深度学习简介

文章目录1、什么是神经网络2、使用神经网络做监督学习3、使用神经网络做逻辑回归3.1 符号定义3.2 逻辑回归模型3.3 使用梯度下降训练神经网络1、什么是神经网络\qquad 一个关于房价预测的简单神经网络示意图如下图所示:\qquad其中,最左测的所有特征称为输入层(Input layer),中间一层称为全连接层(dense layer),最右侧一层称为输出层(output layer)。2、使用神经网络做监督学习\qquad 使用神经网咯做监督学习的使用案例如下所示:\qquad 基本

2022-05-16 12:03:52 442

原创 十、图(基本知识,存储结构,遍历方法)

文章目录1、图的定义和基本术语1、图的定义和基本术语\qquad 图G=(V,E)G=(V,E)G=(V,E),VVV顶点(数据元素)的有穷非空集合;EEE边的有穷集合。\qquad 无向图:每条边都是无方向的;有向图:每条边都是有方向的。\qquad 完全图:图中任意两个顶点都有一条边相连。\qquad 对于有n个顶点的无向完全图,要有n(n−1)/2n(n-1)/2n(n−1)/2条边;对于有n个顶点的有向完全图,要有n(n−1)n(n-1)n(n−1)条边。\qquad 稀疏图:有很少边或

2022-05-13 12:06:41 370

原创 VS2017中嵌入CUDA编程的一些坑

文章目录一、First 坑--“应输入表达式”二、Second 坑--程序不进入核函数3、Hello world测试THE END\qquad 最近再看深度学习的时候,了解了一些CUDA和GPU编程的东西,于是便想着用自己熟悉的C++试一试GPU编程的乐趣,然后遇到了一些小坑,在此记录一些。\qquad首先分享一个CUDA安装的教程,之后开始填坑。一、First 坑–“应输入表达式”\qquad 在调用核函数时,需要用到三重括号<<<>>>,但是在c/c++语法中

2022-05-09 17:19:55 3572

原创 十八、照片OCR和机器学习流水线

文章目录1、照片OCR1.1 滑动窗口分类器(Sliding Windows Classifier)1.2 获取大量训练数据-人工合成数据1.3 上限分析-ceiling analysisTHE END1、照片OCR\qquad 照片OCR(Optical Character Recognition)也称照片光学字符识别,照片OCR的流程包含以下三步:第一步是文本检测;第二步是字符分割;最后一步是字符分类;如下图所示:\qquad像上述这种系统,称之为机器学习流水线,指一个系统中包含许多阶段和组成部

2022-05-03 21:24:15 1084

原创 十七、大规模机器学习和随机梯度下降(SGD)

文章目录1、随机梯度下降-Stochastic Gradient Descent2、小批量梯度下降 - Mini-batch Gradient descent3、随机梯度下降算法的收敛性4、在线学习-Online Learning5、映射约减-map reduceTHE END1、随机梯度下降-Stochastic Gradient Descent\qquad 随机梯度下降是相对于批量梯度下降(batch gradient descent)提出的,目的在训练集数据非常大时,加快求解梯度的速度。不同于梯

2022-05-02 16:24:25 1062

原创 九、树和二叉树

1、树和二叉树的定义\qquad树型结构是一种非线性的数据结构,节点之间是一种一对多的关系,节点之间有分枝,节点之间具有层次关系。\qquad树(Tree) 的定义:树是n(n≥0n\geq0n≥0)个结点的有限集合。若n=0n=0n=0,则称之为空树;若n>0n>0n>0,并且有且仅有一个特定的节点,称之为根(Root) 结点;其余结点可以分为m(m≥0)(m\geq0)(m≥0)个互不相交的有限集T1,T2,...,TmT_1,T_2,...,T_mT1​,T2​,...,Tm​

2022-04-30 21:40:04 298

原创 十六、推荐系统(Recommender systems)

文章目录1、引入2、基于内容的推荐3、协同过滤3.1 协同过滤算法-Collaborative Filtering optimization3.2 低秩分解3.3 均值规范化THE END1、引入\qquad电影评分问题是推荐系统的一个应用之一,根据不同用户对于不同电影的评分来判断用户的电影类型喜好,从而有选择地给用户推荐用户未曾观看过的电影。如下图所示:\qquad之后首先定义一系列符号,方便后续介绍:令nun_unu​表示用户的数量;nmn_mnm​表示影片的数量;r(i,j)=1r(i,j)=

2022-04-29 14:56:53 369

算例批量计算工具.exe

科研神器,请于优化求解时一键批量求解各种算例的可执行文件!!大大节省时间!!基于多线程实现,可控制最大求解的算例数量

2021-11-02

FTP服务器项目开发,支持window/linux和多线程

适用于windows和linux环境下的FTP服务器项目快速原型,使用封装TCP socket通信,可以实现上传,下载,改名,删除,新建文件夹等各种基础ftp文件功能

2021-08-30

mysql客户端-控制台.rar

匹配员工管理系统服务器端-linux版本,包含网络协议,数据库连接等等

2021-08-13

mysql服务器-linux版.rar

使用mysql开发的简易员工管理系统,增删改查等

2021-08-13

MySQLAPI.rar

用于C++调用MySQL的学习和操作,增删改查

2021-08-09

c++封装ADO连接各种数据库并进行操作,MySQL,SqlServer,Access, Oracle

适合初学数据库的小伙伴使用ADO用于连接和操作各种数据库

2021-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除