An Algorithm Summary of Programming Collective Intelligence (5)
2008-04-11 19:10
447 查看
Optimization 优化 PCI里面介绍了两个算法:simulated annealing,模拟退火和genetic algorithms,遗传算法。 无论哪种优化算法,这里都需要一个代价计算函数来判定计算过程中产生的结果的好坏。 sa要设置一个较高的初始温度,按照由快变慢的速度在迭代过程中降温。 算法是同一个随机结果开始,在解向量空间的某一维度上做一个小的随机变化而生成一个新的解。用代价函数来判断新解的好坏,如果好,就作为下一次迭代的初始值;如果坏,也给人家一定的几率来继续下去。这个几率是根据温度来计算的,所以当计算刚开始的时候,结果有较大的几率变坏,这样是为了避免受限于局部最优值。 ga的灵感来自于基因进化。 算法是从一组随机生成的解开始。用代价函数计算解的优劣,选取最好的解进行进化得到下一次迭代的解集。 进化的方法有两种:mutation和combination(crossover or breeding)。 当经过若干代演化解集不再优化或者达到迭代次数上限时算法结束。 其实PCI里面还有个Hill Climbing,爬山算法也是用来做优化的。 hc是从一个随机解开始,找到这个解所有临近的向量(就是在每个维度上做一个小的变化),然后找出最优的解作为下一步迭代的起始值。
相关文章推荐
- An Algorithm Summary of Programming Collective Intelligence
- An Algorithm Summary of Programming Collective Intelligence (2)
- An Algorithm Summary of Programming Collective Intelligence (1)
- An Algorithm Summary of Programming Collective Intelligence (2)
- An Algorithm Summary of Programming Collective Intelligence (1)
- An Algorithm Summary of Programming Collective Intelligence (3)
- An Algorithm Summary of Programming Collective Intelligence (3)
- An Algorithm Summary of Programming Collective Intelligence (4)
- An Algorithm Summary of Programming Collective Intelligence (4)
- 0912_Collective Intelligence Programming Reading Notes
- 集体智慧编程 Programming Collective Intelligence 书中代码程序研究
- Programming Collective Intelligence: Building Smart Web 2.0 Applications
- An algorithm for routing control of a tandem automated guided vehicle system
- Given an array of characters which form a sentence of words, give an efficient algorithm to reverse
- 关于《programming collective intelligence》(集体智慧编程)的del.icio.us API无法访问
- 《programming.collective.intelligence》(集体智慧编程)读书笔记
- An example usage of an encryption algorithm (AES, in this case) is:
- 关于《programming collective intelligence》(集体智慧编程)的del.icio.us API无法访问
- Programming Collective Intelligence笔记 - Ranking
- In Search of an Understandable Consensus Algorithm(翻译)