机器学习基础(四十四)—— 优化

来源:互联网 发布:linux hello world 编辑:程序博客网 时间:2024/06/06 00:44

1. 随机搜索(random searching)

随机搜索不是一种非常好的优化算法,但是它却使我们很容易领会其他算法的意图,并且它也是我们评估其他算法优劣的基准(baseline)。

随机尝试各种解是非常低效的,因为这种方法没有充分利用已经发现的优解。直觉上,最优解总是接近于其他较优解。因为随机优化是盲目的、是跳跃的(jumps around),所以它不会自动去寻找与已经发现的优解相接近的题解。

  • (1)随机搜索迭代退出的条件一般是,达到最大迭代次数

    for i in range(max_iters):

2. 爬山算法(Hill Climbing)

随机搜索的一个替代方案叫做爬山法,

  • (1)爬山法以一个随机解开始
  • (2)在其临近解中寻找更好的解,
  • (3)爬山算法的迭代结束的条件是,当前认为的最优和上一次保持一致;

    while True:    ...    ...    if current == best:        break

爬山算法的一个致命缺陷是,容易陷入局部最小值,它比临近解的表现都好,但却不是全局最优的。解决这一缺陷的一种方法称为随机重复爬山法(random-restart hill climbing)。

0 0
原创粉丝点击