机器学习算法
cutelily2014
这个作者很懒,什么都没留下…
展开
-
ACO蚁群算法
蚁群算法也是比较经典的优化算法,这篇文章主要参考了作者 包子阳、余继周的《智能优化算法及其matlab实例》中的第5章内容,主要是使用aco算法寻找目标函数fun(x,y)的最小值。%==========函数1:蚁群算法function [minValue,minX,minY]=aco(m,G,Rho,P0,Xmax,Xmin,Ymax,Ymin)X=zeros(m,2);%记录每原创 2016-10-26 16:42:59 · 3036 阅读 · 0 评论 -
genet遗传算法
很久以来就想把遗传算法写出来,一直拖拉到现在,关于遗传算法的原理可以查阅网上的相关资料,算法的流程图附在下边。按照上边的流程描述,我们考虑一个全局寻优问题,自变量x范围[0,10],目标函数为y=x+10*sin(5*x)+7*cos(4*x)现在我们就用遗传算法解决这个问题。%===========函数1:遗传算法function [top_X,top_Y]=Genet(原创 2016-10-25 21:25:23 · 562 阅读 · 0 评论 -
EM最大期望算法
EM算法的具体含义在许多书本、网站上都有介绍,现在我用matlab实现了该算法的一个具体应用:混合高斯样本的参数估计(GMM),也就是说现在我们有许多的样本,也知道这些样本取自于多少的高斯分布,但是对于具体的一个样本属于哪种分布、以及每个高斯分布的均值、方差都不知道,而EM算法可以解决这个问题。EM算法解决GMM问题的程序中有4个函数,前3个分别为CreateSample、calculate、原创 2016-09-28 10:35:09 · 1088 阅读 · 0 评论 -
tabu禁忌搜索
禁忌搜索算法是模拟人类行为的一种优化算法,举个例子,有一天你准备出门,但是发现家里的钥匙不见了,所以你在桌子上、床上、衣服口袋找了一遍,仍然没找到,下一步你可能会去洗脸台、阳台找钥匙,这就是人的记忆原则:已经寻找过的地方不太可能再次寻找。当你翻遍所有可能的地方还是没有找到,这是你很有可能返回桌子、床上、衣服口袋再次寻找,因为你会不自觉地认为刚才的寻找不够仔细。。。关于算法的理论讲解看下面三个图原创 2016-10-21 21:38:12 · 3133 阅读 · 5 评论 -
Kmean算法
K-mean 属于传统的聚类算法,如果给一组数据(这里假设是一维),我们知道这些数据能分成C类,但是每个类的中心位置在哪里呢?K-mean的思路是,首先不管你的数据什么样,我就认为它们服从均匀分布,把数据在最小值、最大值之间分成C等份,有了这个C个聚类中心,然后计算每个数据到这C个聚类中心的距离,假设我们一共有n个数据,就生成了一个n*C的矩阵,每一行代表一个数据与所有聚类中心的距离,接着你肯定想原创 2016-03-11 11:33:32 · 1031 阅读 · 0 评论 -
kmeans++
kmeans++是kmean算法的改进,原来kmean算法在原始数据的最小、最大区间内均等的选择K个聚类中心,然而kmeans++却是从原始数据中选择K个作为初始聚类中心,这种思路的效果优于kmean.下面是kmeas++的matlab代码,后面实例中使用的Gauss_sample函数是我的上一篇博文。1.函数function [K_center,seed]=kmeans_plus(dat原创 2016-07-03 10:07:09 · 1908 阅读 · 2 评论 -
构造高斯分布的数据
下面的matlab程序用来生成一些满足高斯分布的数据,我们可以自己设定这些数据数量、样本维度以及数据分布在几个高斯分布内,这个函数是我引用别人的,但是原作信息找不到了,再次感谢。这些高斯数据在以后做数据分类很好用。function [data,weight,mu,sigma]=Gauss_sample(dim,M,N)% % % 这个函数用来生成N个满足高斯分布的数据,总共有M个高斯分布,原创 2016-07-03 09:00:17 · 5229 阅读 · 0 评论 -
ELM极限学习机算法
ELM(extreme learning machine)极限学习机算法在2004年由南洋理工的Guang-bin Huang提出,经过进来的发展已经呈现出很好的性能,现在我把算法原作者的部分代码贴出来,附上自己的一点解析。关于算法的推导和应用,以及进来我看的相关论文可以在链接下载。在已经明白算法原理的基础上来看下面的代码,主要实现了分类和回归,也是我们一般处理数据的两个方面。functi翻译 2016-06-11 11:20:15 · 6162 阅读 · 11 评论 -
pso粒子群优化算法
粒子群优化算法(Partical Swarm Algorithm,pso)这个算法的原理很简单,思路就是不断地迭代,直到寻得最优解为止,很多书上都有该算法的介绍,此外matlab也自带了算法的函数:pso(),这里我自己写了一个小小的程序来实现算法。算法的应用背景:对于函数 y=1-cos(3x)*exp(-x), 函数曲线如下,观察可知在横轴约为 x=0.9350~0.9450的地方出现曲线原创 2016-03-31 10:59:16 · 2386 阅读 · 2 评论 -
KNN算法
KNN算法又称为K最近邻算法,大致思路是寻找与待分类元素距离最相近的k个已知元素,把k个已知分类结果的元素所属的最大概率的类别作为待分类元素的类别,引用别人的通俗说法就是,对于一个陌生人,如果不知道他是好人还是坏人,那么选择5个他的最亲密的朋友,这5个人的人品好坏是已知的,如果5个人中好人多,就认为这个陌生人是好人,反之是坏人。以下是函数部分与实例。1.函数定义function[outpu原创 2016-03-14 09:54:48 · 377 阅读 · 0 评论 -
SA模拟退火算法
1.算法函数function[output]=SA(sample,m,minT,k)%%我对模拟退火算法的理解是这样的:已知样本集sample,其中有许多的输入向量与输出向量;%%我们按照广泛意义的SA算法不断改变输入,寻找那个使得目标函数最小的输出,在寻找的...%%过程中有minT和k作为终止条件,把最后找到的最小目标函数的输入输出作为output%sample是一个N原创 2016-03-14 21:22:32 · 633 阅读 · 0 评论 -
BP算法的回归
近日看模式识别相关的书,接触到一些常见的机器学习算法,虽然书中对于算法的理论介绍很清晰,但是很少给出算法的具体函数定义,所以我就想通过书中的介绍和已有别人的代码,自己整理出来算法的matlab实现。1.BP算法的函数定义function [TestingTime, TestingAccuracy,PreY] = bp(train,test, IN, HN, times,limit,alph原创 2016-03-10 09:39:40 · 2963 阅读 · 0 评论 -
Perceptron感知机
感知机算法是一种二分类算法,使用到神经网络对数据进行一个线性分类,详细的算法原理见于博文http://www.cnblogs.com/kaituorensheng/p/3561091.html ,以下是感知机算法的函数代码%===============函数1,生成数据function [data,weight,mu,sigma]=CreateSample(dim,M,N)% % %原创 2016-10-20 21:27:48 · 499 阅读 · 0 评论