第5章 优化
1、成本函数
成本函数是优化算法解决问题的关键,任何优化算法的目标,就是要寻找一组能够使成本函数的返回结果达到最小化的输入。
2、爬山法
类似于梯度下降法,在其临近的解集中寻找更好的题解。但很明显,最后的解是局部最优解,无法保证获得全局最优解。可以使用随机重复爬山法,即让爬山法以多个随机生成的初始解为起点运行若干次(但还是不能保证获得全局最优)。
3、模拟退火算法
以一个问题的随机解开始,用一个变量表示温度,这一温度开始时非常高,之后逐渐降低。每一次迭代,算法会随机选择某个变量朝某个方向变化。
算法的关键在于:如果新的成本更低,则新的题解就会成为当前题解;如果成本更高,则新的题解还是有可能成为当前题解,其接受概率由下式给出:
p=exp(−highcost−lowcosttemperature)
因为温度刚开始很高,指数将接近于0,概率几乎为1。随着温度递减,高成本值和低成本值之间的差异越来越重要——差异越大,概率越低,因此该算法只倾向于稍差的解而不会是非常差的解
4、遗传算法
修改题解的方法:
- 变异
- 交叉
5、网络可视化
问题:人和人之间的关系网络图
借助于质点弹簧算法,各节点彼此向对方施以推力并试图分离,而节点间的连接则试图将关联节点彼此拉近。