谈人生是把妹的必备技巧, 今天是情人节, 这篇应该还算应景.
先简单介绍下梯度上升算法:
- 选择一个起始点
- 计算当前所在点的梯度, 并往梯度的方向迈一步
- 重复 N 步或者达到收敛条件则停止
在一个二维的曲线上, 梯度只有可能在两个方向, 以下为一个简单的示例
它和人生的相似之处在于:
-
只能到达一个局部的峰值
- 除非曲线是一个凸函数 - 命运如此
- 人生的结果是受很多因素影响的结果, 而人不可能考虑到所有的因素, 对于梯度上升算法来说则是不能计算出每个变量的梯度, 结果也就或多或少依赖于 - 运气
- 总是基于当前所知作出选择
-
起始点和步伐大小决定所能到达的峰值
- “起始点” 的重要性不用提, “拼爹” 和 “不要让孩子输在起跑线” 的言论随处可见
- “步伐大小” 是一个人的天赋, 同样的时间成本所取得的成果决定到达峰值的速度. 当然, 有时候太快并不是好事.