学习
文章平均质量分 73
NovenBae
这个作者很懒,什么都没留下…
展开
-
蚁群优化算法
蚁群优化算法作为一种全局最优化搜素方法,同遗传算法一样,灵感都来源于自然界,并有良好的搜素性能。然而,从数学的角度来理解分析它们的工作方式是很难的,因为这些算法都具有很复杂的随机过程。 ACO算法的过程具有一定的随机性,这就要求初始化蚂蚁的数量和更新信息素的次数必须足够的多,只有这样才能最终收敛到全局最优解。虽然这使得ACO算法的执行需要花费比较长的时间,但是算法具有找到全局最优解原创 2016-11-11 10:31:26 · 15664 阅读 · 0 评论 -
排序算法——选择排序
选择排序的基本思想:每一趟从待排序的元素中选出关键字最小(或最大)的元素,顺序放在已排好序的子表里,直到全部元素排序完毕。1. 直接选择排序/** * 选择排序 * * 算法:直接选择排序(Straight Select Sort) * 输入:待排序元素的数组,待排序元素个数 * 输出: * 原理:第i趟排序开始时,当前有序区为R[0..i-1],无序区为R[i..n-原创 2016-12-23 16:59:00 · 306 阅读 · 0 评论 -
三村合建水厂问题研究 (代码)
问题描述:A村、B村和C村都在河流(Y轴)的东面,A村在y=3.5 km的路旁,B村在y=2.5 km的路旁,C村在y=0.5 km的路旁,他们要在河边合建一间水厂。请设计使水管总长最短的方案。设计要求:(1)使用matlab-GUI软件编程实现;(2)只在第一象限[0,4]×[0,4]范围研究该问题;(3)界面要有问题描述;(4)输入给定点A, B,原创 2016-11-10 16:26:09 · 465 阅读 · 0 评论 -
三村合建水厂问题研究
问题描述:A村、B村和C村都在河流(Y轴)的东面,A村在y=3.5 km的路旁,B村在y=2.5 km的路旁,C村在y=0.5 km的路旁,他们要在河边合建一间水厂。请设计使水管总长最短的方案。设计要求:(1)使用matlab-GUI软件编程实现;(2)只在第一象限[0,4]×[0,4]范围研究该问题;(3)界面要有问题描述;(4)输入给定点A,原创 2016-11-10 16:17:33 · 461 阅读 · 0 评论 -
三村合建水厂问题研究(2)
子丰写这篇博文的目的在于对之前的一篇“三村合建水厂问题研究”的博文做一些补充:在“三村合建水厂问题研究”中的思路3提到了“由于本题的特殊性,Steiner点出现的情况只有3大种类型。”下面对于这3种类型进行一些说明:第1种类型:角MCF1>=120度(其中M点为水厂位置)第2种类型:角MCF1第3种类型:角原创 2016-11-10 16:20:56 · 510 阅读 · 0 评论 -
排序算法——插入排序
插入排序的基本思想是:每次将一个待排序的元素,按其关键字大小插入到已经排好序的子表中的适当位置,直到全部元素插入完成为止。1. 直接插入排序/** * 插入排序 * * 算法:直接插入排序(Straight Insert Sort) * 输入:待排序元素的数组,待排序元素个数 * 输出: * 原理:假定待排序的元素存放在数组R[0..n-1]中,排序过程中的某一时刻,R原创 2016-12-23 16:52:37 · 364 阅读 · 0 评论 -
排序算法——交换排序
交换排序的基本思想:两两比较待排序元素的关键字,发现两个元素的次序相反时则进行交换,直到没有反序的元素为止。1. 冒泡排序/** * 交换排序 * * 算法:冒泡排序(Bubble Sort) * 输入:待排序元素的数组,待排序元素个数 * 输出: * 原理:通过无序区中相邻元素间关键字的比较和位置的交换,使关键字最小的元素如气泡一般逐渐往上“漂浮”直至“水面”。原创 2016-12-23 16:56:25 · 444 阅读 · 0 评论 -
排序算法——归并排序
归并排序是多次将两个或两个以上的有序表合并为一个新的有序表。最简单的归并是二路归并,即将两个有序表合并为一个有序表。二路归并排序的基本思想是:将R[0..n-1]看作是n个长度为1的有序子表,然后进行两两二路归并,得到[n/2](对n/2取整数)个长度为2(最后一个子表的长度可能小于2)的有序子表;再次进行两两二路归并,得到[n/4]个长度为4(最后一个子表的长度可能小于4)的有序子表,...,直原创 2016-12-23 17:00:39 · 282 阅读 · 0 评论 -
排序算法——基数排序
基数排序不需要进行关键字的比较,而是通过“分配”和“收集”过程来实现排序的,是一种借助多关键字排序的思想对单关键字排序的方法。它通过比较关键字不同位上的字符的大小进行排序,每一趟排序过程并不产生有序区,也就是说在最后一趟排序结束前,所有元素并不一定都归位了。基数排序分为最低位优先(LSD)和最高位优先(MSD)。本博文只介绍最低位优先(LSD),不过,只要理解了最低位优先(LSD),那么最高位优先原创 2016-12-23 17:04:37 · 1565 阅读 · 0 评论 -
排序算法
假定被排序的数据是由一组元素组成的表,而元素由若干数据项组成,其中有一项可用来标识该元素,称为关键字项,其值称为关键字。关键字可用作排序运算的依据。1. 什么是排序 排序,就是整理表中的元素,使之关键字按某一原则(如:递增或递减的顺序)重新排列顺序。 本博文仅讨论递增排序的情况。但是会提供一个倒序排序的算法,这样就可以使用该倒序排序算法把递增排序得到原创 2016-12-23 16:48:05 · 352 阅读 · 0 评论 -
树回归
当数据拥有众多的特征并且特征之间关系十分复杂的时候,构建全局模型的想法就显得太难了,也略显笨拙。而且,在实际生活中,许多的问题都是非线性的,不可能使用全局线性模型来拟合任何数据。 一种可行的方法是将数据集划分成许多易建模的数据分片,然后利用线性回归技术在每个分片上建模。如果首次划分后的数据子集仍然很难拟合成线性模型,那么就继续划分。 分类回归树(CART)就原创 2016-11-15 12:47:10 · 560 阅读 · 0 评论 -
k-近邻算法
k-近邻算法作为机器学习算法的一种,首先我们就必须要知道什么是机器学习。 简单地说,机器学习就是把无序的数据转换为有用的信息。 在我们日常生活中,到处都充满了机器学习,比如拍照时的人脸识别,打字时的手写识别,天气的预测,垃圾邮箱的过滤,购物网站的商品推荐等等。机器学习横跨计算机科学、工程技术和统计学等多个学科,需要多学科的专业知识。随着移动计算和传感器产生的原创 2016-11-11 18:34:35 · 388 阅读 · 0 评论 -
决策树
决策树是一种比较流行的机器学习算法。它之所以如此流行,其中的一个重要原因就是它不需要了解机器学习的知识,就能搞明白决策树是如何工作的。 决策树经常被用来处理分类问题。那么它与之前讲过的k-近邻算法比起来,有什么优势呢?第一,k-近邻算法的时间复杂度高,执行效率比较低,但是决策树的时间复杂度不高。第二,k-紧邻算法无法给出数据的内在含义,但是决策树却可以给出数据的基础结构信息。所原创 2016-11-11 18:38:40 · 874 阅读 · 0 评论 -
K-均值聚类算法
在此之前子丰发表的机器学习算法的博文都是监督学习算法。如果大家感兴趣的话,可以查看相关博文,如:k-近邻算法、决策树、朴素贝叶斯、Logistic回归、AdaBoost元算法、回归和树回归等。 接下来子丰会浅谈机器学习算法的另一种类型——无监督学习算法。在无监督学习中,类似监督学习中的目标变量事先并不存在,即事先并不知道要寻找的内容。监督学习讲的是“对于输入的数据X,预测目标Y原创 2016-11-16 10:26:39 · 8476 阅读 · 0 评论 -
Apriori算法
“尿布与啤酒”,这是一个十分注明的案例。美国中西部的一家连锁店发现尿布经常会和啤酒一同被购买。然后就对这一现象做一番调查后发现,原来男人们在购买尿布的同时会顺便购买啤酒。所以,如果将尿布与啤酒放在一起,可能会获得更大的利益。其实,这是一个关联分析的例子。 关联分析是指从大规模数据集中寻找物品间的隐含关系。 寻找物品间的隐含关系,或寻找物品的不同组合,是一项很原创 2016-11-16 10:32:29 · 816 阅读 · 0 评论 -
朴素贝叶斯
朴素贝叶斯作为一种机器学习算法,是一种基于概率论的分类方法。之所以称之为“朴素”,是因为整个形势过程只做最原始、最简单的假设。 共有2个假设:第一是所有特征相互独立,即一个特征或者单词出现的可能性与它和其它单词相邻的特征没有关系。这个假设其实是有问题的,比如说,我们有“朋友”这个单词,却没有“朋狗”这个单词,也就是说“友”出现在“朋”后面的概率比“狗”要大。第二是每个特征同等重原创 2016-11-14 11:19:13 · 420 阅读 · 0 评论 -
Logistic回归
Logistic回归是机器学习算法中的一种分类算法。它进行分类的主要思想:根据现有数据对分类边界线建立回归公式,以此进行分类。回归,是指根据现有的一些数据点,用一条直线对这些点进行拟合的过程。 为了实现Logistic回归分类器,我们想要一个函数,能够在输入一个值后能够预测出类型。如,当只有两个类型时,我们希望函数能够输出0或1,从而达到分类的效果。在这里我们使用Sigmoid原创 2016-11-14 11:23:04 · 1580 阅读 · 0 评论 -
AdaBoost元算法
当我们在做决策时,通常会考虑多人的意见而不只是一个人的。机器学习在做决策时同样也可以如此,这就是元算法的核心思想。AdaBoost是一种最流行的元算法,它被认为是最好的监督学习算法。 不同的分类算法,如k-近邻算法、决策树、朴素贝叶斯、Logistic回归、支持向量机等,都有各自的优缺点。我们可以把不同的分类器组合起来,这种组合结果就被称为元算法。而且组合的方式很多,可以是不同原创 2016-11-15 12:25:59 · 831 阅读 · 0 评论 -
回归
什么是回归?回归实际上就是“最佳拟合”。 根据已有的数据拟合出一条最佳的直线、曲线、超平面或函数等,用于预测其它数据的目标值。如已知一系列的点(x,y),我们可能就可以拟合出一条最佳的直线y=kx+b。那么如果已知自变量x,要预测目标值y的话,就可以直接带入到该直线方程中求出y。 回归的目的就是预测数值型的目标值。 下面介绍几种常见的回归方式。原创 2016-11-15 12:32:43 · 1632 阅读 · 0 评论 -
BFPRT算法
BFPRT算法:从n个元素中选出第k小或第k大的元素,同时也能选出前k小或前k大的所有元素。时间复杂度:最坏情况的时间复杂度是O(n)原创 2017-08-11 21:48:04 · 3244 阅读 · 1 评论