您的位置:首页 > 其它

集体智慧常用的算法,以及这些算法的含义

2013-05-08 12:11 309 查看

集体智慧

集体智慧(Collective Intelligence),是指由许多的个体通过合作竞争中所显现出来的智慧,集体智慧是一种共享的或者群体的智能。它是从许多个体的合作与竞争中涌现出来的。集体智慧在细菌、动物、人类以及计算机网络中形成,并以多种形式的协商一致的决策模式出现。

集体智慧常用的算法有哪些,了解这些算法的含义:

蜜蜂算法

蜜蜂算法是一个以人群为基础的搜索算法。它模仿的觅食的蜜蜂群的行为。在其基本的版本,该算法执行一种邻域搜索与随机搜索相结合,可用于组合优化功能优化。蜜蜂算法是一种优化算法的自然觅食的蜜蜂的行为的启发,找到最佳的解决方案。该算法需要大量的参数设定,即:侦察蜂数(N),选择的网站的访问的网站数量(m),一些最好的网站M选定地点(E),蜜蜂招募最好的网站数量(NEP),蜜蜂招聘其他一些(我)选择的网站(NSP),补丁初始大小(NGH),包括网站和其附近的停止准则。

在其最简单的形式的蜜蜂算法的伪代码: 1。初始化种群随机解。2。人口素质评价。3。而(停止准则不符合)/形成新的人口。4。选择邻域搜索网站。5。招募选定地点的蜜蜂(最好的网站更多的蜜蜂)和评估的适应度。6。选择从每个补丁优胜劣汰的蜜蜂。7。分配剩余的蜜蜂随机搜索和评估其适合度。8。结束的时候。

在第一步骤中,蜜蜂算法从蜜蜂(N)被随机放置在搜索空间。在步骤2中,该网站的访问的侦察兵蜂适合度评估。在步骤4中,有最高的蜜蜂为“选择”和访问的网站进行邻域搜索。然后,在5和6的步骤,该算法进行搜索在选定的地点附近,分配更多的蜜蜂来搜索附近的最佳地点。蜜蜂可以根据网站的他们所访问的相关适应性直接选择。另外,健身值被用于确定的蜜蜂被选择的概率。在最好的地点是更有前途的解决方案的搜索附近的招募更多的蜜蜂跟着他们比其他的选择作了较为详细的蜜蜂。连同侦察,这差招聘是蜜蜂算法的关键操作。然而,在步骤6中,每个补丁只有最高健身蜜蜂将选定的形式下的蜜蜂种群。在自然界中,没有这样的限制。这是这里介绍的限制点的数量减少到了。在步骤7中,在人群中剩余的蜜蜂随机指定在搜索空间寻找新的潜在的解决方案。重复这些步骤直到满足停止标准。在每次迭代结束时,必须将它的新殖民地的人口–那些从一个补丁和那些已被随机地发出了优胜劣汰的代表两个部分。

PageRank算法

基本思想:如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,从而把T的一部分重要性得分赋予A。这个重要性得分值为:PR(T)/C(T)

其中PR(T)为T的PageRank值,C(T)为T的出链数,则A的PageRank值为一系列类似于T的页面重要性得分值的累加。

优点:是一个与查询无关的静态算法,所有网页的PageRank值通过离线计算获得;有效减少在线查询时的计算量,极大降低了查询响应时间。

不足:人们的查询具有主题特征,PageRank忽略了主题相关性,导致结果的相关性和主题性降低;另外,PageRank有很严重的对新网页的歧视。

分级聚类算法:

分级聚类通过连续不断地将最为相似的群组两两合并,来构造出一个群组的层级结构。在每次迭代的过程中,分级聚类算法会计算每两个群组间的距离,并将距离最近的两个群组合并成一个新的群组。这个过程一直重复下去,直到只剩一个群组时则完成分组。但是由于分级聚类每次都要计算群组间的距离,所以计算量比较大。

K-均值聚类算法:

K-均值聚类是一种完全不同于分级聚类的方法,它首先会随机确定k个中心位置,然后将各个数据项分配给最近的中心点。等到分配完成之后,聚类中心会发生变化,会转移到分配给该中心的所有节点的平均位置处。然后,整个分配过程重新开始。这样一直持续下去,直到分配过程不再发生变化为止。这有点类同于组合优化中的p-中值问题和p-中心问题。假设有n个数据项,我们要把这n个数据项进行聚类分组,目标是所有数据项到它分配的聚类中心的距离之和最小。那么如何聚类呢?这时候就是p不定的中值问题,我们可以采取遗传算法、变邻域搜索算法等方法去解决。聚类的应用有博客的分组归类、电子商务中对客户的共同特征进行分析等。

蚁群算法

说明:各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。[

蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。

蚁群算法是通过正反馈、分布式协作来寻找最优路径的算法。这是一种基于种群寻优的启发式搜索算法。它充分利用了生物蚁群能通过个体间简单的信息传递,搜索从蚁巢至食物间最短路径的集体寻优特征,以及该过程与旅行商问题求解之间的相似性。

粒子群算法

粒子群算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为PSO, 是近年来发展起来的一种新的进化算法((Evolu2tionary Algorithm - EA)。PSO 算法属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。

K-最近邻算法

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: