前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《谁动了我的奶酪》中的粒子群算法

《谁动了我的奶酪》中的粒子群算法

作者头像
CDA数据分析师
发布2018-02-24 17:16:24
6000
发布2018-02-24 17:16:24
举报
文章被收录于专栏:CDA数据分析师CDA数据分析师

本文为作者郭飞原创,CDA数据分析师已获得授权

1、《谁动了我的奶酪》是讲啥的?

其实这本书是一碗上古的老鸡汤。

故事大概是这样的,有4个小生命,其中有两只老鼠,没有太高级的思维,也没有烦恼、恐惧等高级情绪。还有两个矮人,会理性思考,会分析复杂的经验,当然也有高级复杂的情绪----其实是过于复杂了。

老鼠嗅嗅,他能够及早嗅出变化的气息。

老鼠匆匆,他能够迅速行动。

小矮人哼哼,他因为害怕改变而否认和拒绝变化,这会使事情变得更糟。

小矮人唧唧,当他看到变化会使事情变得更好时,能够及时地调整自己去适应变化。

四个小生命生活在迷宫中,享用着一大堆奶酪。某天,奶酪消失了,于是四个小生命有不同的反应:

老鼠嗅嗅,他能够及早嗅出变化的气息,所以闻着味跑了...(好贱)

老鼠匆匆,他能够迅速行动,跑了...不过撞了很多死胡同,消失在视线中...

小矮人哼哼,拒绝变化,一直在原地等奶酪回来,然后就没有然后了...

小矮人唧唧,能够及时地调整自己去适应变化,犹豫了很久,最后饿的不行,跑了。

然后小矮人唧唧就开始了主角视角,一路写段子,发鸡汤,毁坏公物(墙上刻鸡汤)

这本书的内容其实很简单,就是提醒人们要拥抱变化,克服对变化的恐惧,避免对变化采用鸵鸟政策。努力在不确定性中寻找机遇。(其实最后一句话出自《黑天鹅》)

《谁动了我的奶酪》刚出版时风靡一时,改变了很多人的思维模式;然而书中的观点,现在看来却稀松平常,甚至有点无聊。

话说回来,正因为现在看起来稀松平常,才说明当时震撼的观点成了现代人的共识,这样的书是最伟大的书。(这是培根《论读书》中的句子,原句记不得了,意思大概没错,不要打我...)

2、简述粒子群算法

粒子群算法其实一种最优化算法,大概思路是,先往一个n维空间里面随机撒上一堆粒子。

(前方高能,高中物理老师来敲黑板了...)

这堆粒子就这样在空间中震荡,其速度由3个因素决定:

因素1、上一时刻速度。完全继承上一时刻速度的方向,而多大程度继承上一时刻速度的大小,这个叫做惯性权重。

因素2、该粒子的历史最优点。简单说,粒子离开自己的历史最优点越远,就越想回到这个历史最优点(想象一下弹簧)

因素3、所有粒子的历史最优点。效果跟2一样,想象另一个弹簧。

上图就是3个因素生成的速度叠加图,粒子最终走红线

(PS:有的书把2、3两个因素分别叫做个体经验、全局知识。我只能说,何必呢...)

下面两段,一段是公式,一段是代码。其实没必要贴出来的,为了文章完整性,还是贴一下吧。看官们直接略过就行了。

下面是代码

能到这里的看官,恭喜你获得新成就“超快滑屏”

(开个玩笑,这里的实现粒子群算法用代码很短,略神奇是不是?)。

下面是本文真正想说的事情

(到这里才开始啊(?Д?≡?Д?))

3、4个小生物,仅仅是粒子群算法中的4种策略而已

物理老师再次敲黑板:这是个必考题(:-D)

粒子就这样在空间中震荡,其速度由3个因素决定:

  • 因素1、上一时刻速度。完全继承上一时刻速度的方向,而多大程度继承上一时刻速度的大小,这个叫做惯性权重。
  • 因素2、该粒子的历史最优点。简单说,粒子离开自己的历史最优点越远,就越想回到这个历史最优点(想象一下弹簧)
  • 因素3、所有粒子的历史最优点。效果跟2一样,想象另一个弹簧。

好吧只是复制了一遍,怕各位看官忘了。

老鼠嗅嗅,他能够及早嗅出变化的气息。对应粒子群算法中,c2比较大,也就是因素3比较强,因此一旦某个粒子发现更优的点,会迅速扑过去。

老鼠匆匆,他能够迅速行动。对应粒子群算法中,c1比较大,也就是因素2比较强,这就表现为,该粒子在个体最优点周围撞来撞去,没准就撞进了旁边的一组三体星(走错片场了,是撞进另一堆奶酪中)

小矮人哼哼,拒绝变化。对应粒子群算法中,惯性权重w太小,使速度迅速缩小,基本停在原地不会动了,这种情况有个专业词汇,叫陷入了局部最优解。值得一提,“局部最优”相反的极端是,一群粒子连局部最优都没找到,算法停止时,一堆粒子无所事事地停在随机位置。

小矮人唧唧,当他看到变化会使事情变得更好时,能够及时地调整自己去适应变化。对应粒子群算法中,各参数设定适中,既不会轻易放弃个体最优解,去扑向全体最优解,也不会停在个体最优解上不动了。

4、思考

有人说,中国人发现某个机会,会大量涌入,让整个行业不能盈利。其实是因为c2太大,所有粒子立即进入历史局部最优。

四位小生物在寻找自己的最优解。现实中千千万万的人就如粒子群一样,不断震荡、尝试,有人偶然震荡到了某个局部最优点,就成了牛人。

为什么曾国藩给自己写的墓志铭“不信书,信运气,公之言传万世”?自己的参数好固然重要,成功其实要归功于被随机因素震荡到某些状态。

1)在某种抽象意义下。人们的行为并没有什么本质上的不同,换句话说,人们行为所遵循的算法都是相同的,仅仅是所取参数不同而已。

2)某科技公司用(融资→项目→更大的融资→更大的项目)这种方式来获取快速成长。而巴菲特长期持有似乎不会成长的可口可乐。前者其疾如风,后者不动如山。他们都在寻找自己的局部最优解,只不过前者c1和c2更大;而后者惯性权重更小而已。

3)智能算法是对复杂学的一种粗糙另类阐释,正因为粗糙,才能轻易将其中的简洁美展现出来。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CDA数据分析师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档