
数学建模
文章平均质量分 82
SuPhoebe
不是我针对谁,我是说在座的诸位都比我强
展开
-
遗传算法入门到掌握(一)
博主前言:此文章来自一份网络资料,原作者不明,是我看过的最好的一份遗传算法教程,如果你能耐心看完他,相信你一定能基本掌握遗传算法。 遗传算法的有趣应用很多,诸如寻路问题,8数码问题,囚犯困境,动作控制,找圆心问题(这是一个国外网友的建议:在一个不规则的多边形 中,寻找一个包含在该多边形内的最大圆圈的圆心。),TSP问题(在以后的章节里面将做详细介绍。),生产转载 2015-02-05 09:46:17 · 2640 阅读 · 1 评论 -
现代优化算法 之 禁忌搜索算法
这次是首次接触这个算法,看了一些资料,总结一下。禁忌搜索算法简介禁忌搜索算法是组合优化算法的一种,是局部搜索算法的扩展。禁忌搜索算法是人工智能在组合优化算法中的一个成功应用。禁忌搜索算法的特点是采用了禁忌技术。所谓禁忌就是禁止重复前面的工作。禁忌搜索算法用一个禁忌表记录下已经到达过的局部最优点,在下一次搜索中,利用禁忌表中的信息不再或有选择地搜索这些点。禁忌搜索算法实现的技术问题是算法的关键。禁忌搜原创 2015-12-22 12:45:02 · 33099 阅读 · 4 评论 -
向量与矩阵范数
范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范函是一个函数,其为矢量空间内的所有矢量赋予非零的正长度或大小。半范数反而可以为非零的矢量赋予零长度。举一个简单的例子,在二维的欧氏几何空间 R就可定义欧氏范数。在这个矢量空间中的元素常常在笛卡儿坐标系统中被画成一个从原点出发的带有箭头的有向线段。每一个矢量的欧氏范数就是有向线段的长度。其中定义范数的矢量空间就是赋范矢原创 2016-02-01 09:57:12 · 11520 阅读 · 0 评论 -
支持向量机通俗导论(理解SVM的三层境界)
支持向量机通俗导论(理解SVM的三层境界)作者:July 。致谢:pluskid、白石、JerryLead。说明:本文最初写于2012年6月,而后不断反反复复修改&优化,修改次数达上百次,最后修改于2016年1月。前言 动笔写这个支持向量机(support vector machine)是费了不少劲和转载 2016-01-30 20:44:00 · 1060 阅读 · 0 评论 -
数学中几种常用的距离
数学中有很多不同种类的距离,常用于几何、高等代数等数学研究。多种多样的距离在数学建模、计算机学习中有着不小的应用。比如,A*搜索时的评估函数。比如,在机器学习中,做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的距离。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。欧氏距离(Euclidean Distance原创 2016-03-24 11:01:30 · 10468 阅读 · 1 评论 -
Matlab学习 之 文件操作
MATLAB中有两种文件I/O程序:high level and low level. High level routines: 包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。 Low level routines: 可以更加灵活的完成相对特殊的任务,需要较多的额外编程。High level routines 包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。原创 2016-05-10 19:47:54 · 2224 阅读 · 1 评论 -
Matlab学习 之 随机数
matlab中生成随机数主要有三个函数:rand, randn,randi 1,rand 生成均匀分布的伪随机数。分布在(0~1)之间 主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,’double’)生成指定精度的均匀分布的伪随机数,参数还可以是’single’ rand(RandStream,m,原创 2016-05-11 11:14:52 · 5081 阅读 · 0 评论 -
MATLAB 封装发布exe
从2016a开始到现在的2017,从MATLAB中创建出一个独立的应用程序有多种方法,可以用MATLAB提供的现有函数或者现有App。 本文介绍的是利用MATLAB的Application Compiler工具创建一个独立的应用程序,以下这个例子显示了如何从MATLAB中生成独立的应用程序。编写代码文件在MATLAB中,编写你想独立成为应用程序的MATLAB代码,保存为.m文件,此处以简单的mag原创 2016-12-06 11:42:15 · 48115 阅读 · 8 评论 -
现代优化算法 之 遗传算法
之前两篇转载的文章: 遗传算法入门到掌握(一)、遗传算法入门到掌握(二) 对遗传算法的数学推导讲解得非常详细,同时我也附带了一份遗传算法的C语言实现,这篇文章将要运用遗传算法对一个多项式求最小值,要求在(-8,8)间寻找使表达式达到最小的x,误差为0.001。但是那篇文章仅仅讲解了关于本例的遗传算法的规则,并没有详细的算法过程。这篇文章简介一下遗传算法的具体算法过程,并且用MATLAB实现遗传算法的转载 2015-12-20 18:20:58 · 6730 阅读 · 4 评论 -
Logistic回归:牛顿迭代法
Logistic回归与牛顿迭代法很早之前介绍过《无约束的最优方法》里面介绍了梯度下降法和牛顿迭代法等优化算法。同时大家对于Logistic回归中的梯度下降法更为熟悉,而牛顿迭代法对数学要求更高,所以这里介绍如何在Logistic回归问题中使用牛顿迭代法。似然函数与代价函数似然函数则是 L(ω)=Πmi=1[g(xi)]yi[1−g(xi)]1−yiL(\omega) = \Pi_{i=1}^m[g原创 2017-03-23 17:05:47 · 9061 阅读 · 2 评论 -
Random Forests (随机森林)
在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 而 “Random Forests” 是他们的商标。 这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合 Breimans原创 2016-04-14 18:56:16 · 14013 阅读 · 2 评论 -
Matlab学习 之 linear regression
本文练习的是最简单的二元线性回归。题目本题给出的是5050个数据样本点,其中xx为这5050个小朋友到的年龄,年龄为22岁到88岁,年龄可有小数形式呈现。YY为这5050个小朋友对应的身高,当然也是小数形式表示的。现在的问题是要根据这5050个训练样本,估计出3.53.5岁和77岁时小孩子的身高。通过画出训练样本点的分布凭直觉可以发现这是一个典型的线性回归问题。matlab函数介绍legend:比如原创 2016-05-08 11:21:19 · 12728 阅读 · 3 评论 -
Matlab学习 之 Multivariance Linear Regression
本文主要是来练习多变量线性回归问题(3个变量)。那个时候用梯度下降法求解时,给出的学习率是固定的0.70.7。而本次实验中学习率需要自己来选择,因此我们应该从小到大(比如从0.0010.001到1010)来选择,通过观察损失值与迭代次数之间的函数曲线来决定使用哪个学习速率。当有了学习速率α\alpha后,则本问问题求解方法和上面的没差别。本文要解决的问题是给出了4747个训练样本,训练样本的yy值为原创 2016-05-10 17:57:09 · 1502 阅读 · 0 评论 -
正则化方法:L1和L2 regularization、数据集扩增、dropout
正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。 为了防止overfitting,可以用的方转载 2016-05-24 14:50:24 · 1738 阅读 · 2 评论 -
交叉验证(Cross-Validation)
概述交叉验证(Cross-Validation)是用于防止模型过于复杂而引起的过拟合。有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集(training set)。而其它的子集则被称为验证集(validation set),一般与测试集区(test set)分开。交叉验证对于人转载 2016-05-24 11:46:36 · 10563 阅读 · 2 评论 -
现代优化算法 之 模拟退火
现代优化算法现代优化算法是 80 年代初兴起的启发式算法。这些算法包括禁忌搜索(tabu search),模拟退火(simulated annealing),遗传算法(genetic algorithms),人工神经网络(neural networks)。它们主要用于解决大量的实际应用问题。目前,这些算法在理论和实际应用方面得到了较大的发展。无论这些算法是怎样产生的,它们有一个共同的目标-求 NP-原创 2015-12-18 14:23:38 · 9601 阅读 · 0 评论 -
决策树学习 之 概念与构造算法
分类(Classification)分类预测的是分类标号,什么是分类标号呢?分类标号是离散值,比如把一个群体分成屌丝、土豪、高富帅三类,分类标号则分别是屌丝、土豪、高富帅。再比如把土豪分为小土豪、大土豪、高级土豪,可以根据月收入来分,5000以下的为小土豪,5000到0000的为大土豪,10000以上的为高级土豪。所以,分类标号需要离散化。分类是预测的一种,预测的是分类标号,即把没有分类标号的群体分原创 2015-12-21 17:41:32 · 6119 阅读 · 0 评论 -
单纯形法 -- 求解线性规划
目前,运用最广的线性规划方法就是著名的单纯形方法。这种方法是G.B.Dantzig在1947年提出的。几十年的实践证明,单纯形方法的确是一种使用方便、行之有效的重要算法。如今,它已经成为线性规划的中心内容。 单纯形法的基本思路是有选择地取(而不是枚举所有的)基本可行解,即是从可行域的一个顶点出发,沿着可行域的边界移到另一个相邻的顶点,要求新顶点的目标函数值不比原目标函数值差,如此迭代,直至找到最优原创 2015-06-16 22:20:54 · 36801 阅读 · 3 评论 -
层次分析法(Analytic Hierarchy Process)
层次分析法(Analytic Hierarchy Process ,简称 AHP )AHP (Analytic Hierarchy Process)层次分析法是美国运筹学家Saaty教授于二十世纪80年代提出的一种实用的多方案或多目标的决策方法。其主要特征是,它合理地将定性与定量的决策结合起来,按照思维、心理的规律把决策过程层次化、数量化。 该方法自1982年被介绍到我国以来,以其定性与定量相结合原创 2015-05-23 10:47:04 · 43940 阅读 · 5 评论 -
【数学建模知识】常微分方程数值解:欧拉公式
算法原理对于常微分方程初值问题在求解区间[a,b]上作等距分割的剖分,步长,记。用数值微商的方法,即用差商近似微商数值求解常微分方程。用向前差商近似做出y(x)的在x=x0处的一阶向前差商式: 又,于是得到而y(x1)的近似值y1可按 或 求得。类似地,由 以及转载 2015-04-27 22:27:04 · 9815 阅读 · 0 评论 -
遗传算法(GA)的C语言实现
问题:在下面的程序中将要运用遗传算法对一个多项式求最小值要求在(-8,8)间寻找使表达式达到最小的x,误差为0.001问题分析:编码:采用常规码,即二进制码编码。构造简单,交叉、变异的实现非常容易,同时解的表达也很简洁、直观。可以每0.001取一个点,这样理论误差讲小于0.0005,可以满足题目中的误差要求。此事总的求解空间为:N = (8 - (-8)) *原创 2015-02-05 10:07:27 · 29071 阅读 · 12 评论 -
模拟退火算法分析
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为原创 2015-02-05 11:26:57 · 3426 阅读 · 0 评论 -
龙格-库塔(Runge-Kutta)方法数学原理及实现
龙格-库塔(Runge-Kutta)方法龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。对于一阶精度的欧拉公式有: yi+1=yi+hkiy_{i+1} = y_i + hk_i 其中hh为步长,则yi+1y_{i+1}的表达式与y(xi+1)y(x_{i+1})原创 2015-05-22 22:57:42 · 128271 阅读 · 17 评论 -
遗传算法入门到掌握(二)
遗传算法引擎――GenAlg [cpp] view plaincopy"font-size:16px;">/遗传算法 class GenAlg { public: //这个容器将储存每一个个体的染色体 vect转载 2015-02-05 09:48:52 · 2468 阅读 · 3 评论 -
无约束最优化方法
无约束最优化方法最优化(Optimization)是工程技术、经济管理、 科学研究、社会生活中经常遇到的问题, 如:结构设计,资源分配,生产计划,运输方案等等。 最优化: 在一定条件下,寻求使目标最大(小)的决策 解决优化问题的手段 • 经验积累,主观判断 • 作试验,比优劣 • 建立数学模型,求解最优策略优化问题的数学模型无约束优化问题标准形式: 求nn维决策变量x=[x1,x2,…原创 2015-05-29 11:09:23 · 5799 阅读 · 0 评论 -
数值积分方法
数值积分是工程师和科学家经常使用的基本工具,用来计算无法解析求解的定积分的近似解。 如:Φ(x)=∫xxt3et−1dt\Phi(x)=\int_x^x\frac{t^3}{e^t-1}dt不存在Φ(x)\Phi(x)的解析解,要求Φ(5)\Phi(5)。 那么我们就要通过数值积分的方法来计算,数值积分的目的是,通过在有限个采样点上计算f(x) f (x)的值来逼近 f(x)f (x)在区间[a原创 2015-06-19 10:38:47 · 30500 阅读 · 1 评论 -
数理统计
当研究并解决一个实际问题时, 我们会 遇到下面问题: • 1. 这个随机现象可以用什么样的分布律 来刻划,这种分布律的选用合理吗? • 2. 所选用的这一分布律的参数是多少? 如何估计和确定这些参数? 如何利用数据资料,作出尽可能精确可 靠的统计结论(统计推断): 1) 估计——从局部观测资料的统计特征,推断总体的特征(分布与矩); 2)假设检验——依据抽样数据资料,对总体的某种假原创 2015-06-02 18:39:26 · 2174 阅读 · 0 评论 -
数理统计中的点估计
• 统计推断的基本问题有二:估计问题,和假设检验问题. • 本章讨论总体参数的点估计和区间估计.理解这两种估计的思想,掌握求参数估计量的方法和评判估计量好坏的标准.点估计问题的提出设灯泡寿命T~N(μ,σ2)T~ N (\mu,\sigma^2),但参数μ\mu和σ2\sigma^2未知. 现在要求通过对总体抽样得到的样本,构造两样本函数分别μ\mu和σ2\sigma^2作出估计,称为估计量, 记原创 2015-06-03 18:46:33 · 11545 阅读 · 0 评论 -
数理统计中的区间估计
区间估计用点估计θ^(X1,X2,…,Xn)\hat\theta(X_1,X_2,\dots,X_n)来估计总体的未知参数 θ\theta,一旦我们获得了样本观察值 (x1,x2,…,xn)(x_1,x_2,\dots,x_n),将它代入θ^(X1,X2,…,Xn)\hat\theta(X_1,X_2,\dots,X_n),即可得到θ\theta的一个估计值。这很直观,也很便于使用。但是,点估计值只原创 2015-06-04 19:49:08 · 14498 阅读 · 0 评论 -
BC#45 1004 && HDU 5275【差值方法】
作为BC的1004,比赛的时候确实没什么人做出来,确实用差值的方法不太容易想到 差值方法介绍 用拉格朗日差值来做// whn6325689// Mr.Phoebe// http://blog.youkuaiyun.com/u013007900#include <algorithm>#include <iostream>#include <iomanip>#inclu原创 2015-07-20 17:43:57 · 649 阅读 · 0 评论 -
一般线性最小二乘法
最小二乘法:人们对由某一变量t 或多个变量t1,…,tnt_{1},\ldots,t_{n} 构成的相关变量yy感兴趣。如弹簧的形变与所用的力相关,一个企业的盈利与其营业额,投资收益和原始资本有关。为了得到这些变量同y之间的关系,便用不相关变量去构建y,使用如下函数模型 ym=f(t1,…,tq;x1,…,xp)y_m = f(t_1,\dots, t_q;x_1,\dots,x_p) q个相关原创 2015-05-23 12:00:11 · 11457 阅读 · 1 评论 -
分支限界(Branch and Bound )算法
分支定界 (branch and bound) 算法是一种在问题的解空间树上搜索问题的解的方法。但与回溯算法不同,分支定界算法采用广度优先或最小耗费优先的方法搜索解空间树,并且,在分支定界算法中,每一个活结点只有一次机会成为扩展结点。 除少数整数规划可以用线性规划的单纯形法直接求解外,一般整数规划必需寻找新的求解方法。这里我们介绍全整数规划的分枝定界方法,它也可以用于求解混合整数规划问题原创 2015-05-22 11:21:46 · 37948 阅读 · 7 评论