梯度下降与数据获取技术详解
1. 梯度下降基础
梯度下降是一种优化算法,用于寻找函数的最小值或最大值。其核心思想是通过计算函数在某点的梯度,然后朝着梯度的方向(求最大值)或反方向(求最小值)移动一小步,不断迭代直至找到最优解。
1.1 梯度计算与估计
- 单变量函数导数 :对于单变量函数 (f(x)),其导数 (f’(x)) 衡量了 (f(x)) 随 (x) 的微小变化而产生的变化。导数的定义为差商的极限:
from typing import Callable
def difference_quotient(f: Callable[[float], float],
x: float,
h: float) -> float:
return (f(x + h) - f(x)) / h
例如,对于平方函数 (f(x) = x^2),其导数为 (f’(x) = 2x):
def square(x: float) -> float:
return x * x
def derivative(x: float) -> float:
return 2 * x
在 Python 中,虽然无法直接取极限,但可以通过计算非常小的 (h) 下的差商来估计导数:
超级会员免费看
订阅专栏 解锁全文
4680

被折叠的 条评论
为什么被折叠?



