文档章节

小科普:机器学习中的粒子群优化算法!

o
 osc_1ee7cxmx
发布于 2018/08/06 20:48
字数 691
阅读 14
收藏 0

精选30+云产品,助力企业轻松上云!>>>

http://blog.itpub.net/31509949/viewspace-2158395/

 

“梯度下降不会让你成为机器学习的专家” 

小科普:机器学习中的粒子群优化算法!

可能您遇到的大多数的简单线性回归和神经网络的文章都会谈论到梯度下降。在本文中,我将向您介绍一种技术,即粒子群优化(PSO)算法。毫无疑问,梯度下降是一种很好的优化技术,它适用于凸函数和低维空间,但是你还是可以期待一下PSO的

结果。

PSO被认为是蚁群算法、鱼群算法之外的一种群体智能的优化算法。后来它被简化并用于解决优化问题。

PSO使用了一堆叫做蜂群的粒子,这些粒子可以四处移动并探索搜索空间。

这些粒子的运动方向是-

  1. 粒子自身的先前速度(惯性)

  2. 与单个粒子最佳已知位置的距离(认知力)

  3. 远离人群最知名的位置(社会力量)

小科普:机器学习中的粒子群优化算法!

粒子运动被运动的方向所压倒

基本上,粒子彼此间的共同通讯会使它们聚得更快。该群集不能完全探索搜索空间,但可能会找到更好的解决方案。

小科普:机器学习中的粒子群优化算法!

粒子群搜索函数的全局最小值

有趣的是,当粒子的个体最佳状态优于群体最佳时,群体运动的总体方向可以在任何时间点改变。这使得许多无序和更多机会接近成本函数的全局最小值。

现在回到现实,PSO相对来说非常容易。

与梯度下降不同,成本函数不可微分的。这是Python中用于模拟这些群粒子的简单实现。令人惊讶的是,你不需要很多数学。它只是简单确定三种不同的速度并计算粒子的适应度。我们尽可能多地迭代。

全居最佳或群体最佳将得到最优价值。

每个粒子都描述一组参数值和初始速度(矢量)。我们只需在成本函数中插入这些值来计算适应度。这将给出我们粒子的适应度。

在每次迭代中,我们计算每个粒子的适应度。获得了群体的最佳适应值,现在我们只需简单地更新速度,即我们之前讨论过的初始速度、认知力和社会力量的结果。

这是一个可以帮助您实现它的代码段。

小科普:机器学习中的粒子群优化算法!

 

群体粒子的初始位置是任意的。 为了获得最佳效果,您可以在搜索空间的不同位置生成多个群,以获得最佳效果。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

038. RocketMQ 高性能最佳实践

1. 最佳实践之 Producer 1. 一个应用尽可能用一个 Topic,消息子类型用 tags 来标识,tags 可以由应用自由设置。 只有发送消息设置了 tags,消费方在订阅消息时,才可以利用 tags 在 broker...

华夏紫穹
16分钟前
24
0
QQ音乐Android客户端Web页面通用性能优化实践

QQ音乐 Android 客户端的 Web 页面日均 PV 达到千万量级,然而页面的打开耗时与 Native 页面相距甚远,需要系统性优化。本文将介绍 QQ 音乐 Android 客户端在进行 Web 页面通用性能优化过程中...

腾讯云开发者社区
35分钟前
16
0
rabbitmq+sleuth+zinkip 分布式链路追踪

我们都知道,微服务之间通过feign传递,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟超时或者错误都有可能引...

良许Linux
今天
12
0
5分钟搭建属于你的视频会议系统

前言 在疫情的推动下视频会议和线上办公大力发展,如果你也想了解视频会议,看看这篇文章吧 准备工作 一台Ubuntu18.04拥有公网IP的服务器 一个域名提前解析到这台服务器上 安全组设置规则tcp...

死磕音视频
今天
17
0
从文本JavaScript中删除HTML - Strip HTML from Text JavaScript

问题: 有没有一种简单的方法可以在JavaScript中获取html字符串并去除html? 解决方案: 参考一: https://stackoom.com/question/3RxM/从文本JavaScript中删除HTML 参考二: https://oldbug...

fyin1314
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部