标签:frac 梯度 下降 Machine 算法 Learning partial
一、梯度下降:目的是为了寻找到最合适的 $w$ 和 $b$ ,让成本函数的值最小
\[w = w - α\frac{\partial J(w,b)}{\partial w}
\]
\[b = b - α\frac{\partial J(w,b)}{\partial b}
\]
其中 \(α\) 的值通常在 \(0 - 1\) 之间,用于控制梯度下降算法的幅度。\(α\) 太大,会造成发散现象,\(α\) 太小,会造成收敛速度太慢。
二、批梯度下降算法(BSD,Bash Gradient descent)
$$\frac{\partial J(w, b)}{\partial w_j} = \sum_{i=1}^{n} (h_{(w,b)}(x^{(i)}) - y^{(i)})x_j^{(i)}$$
$$\frac{\partial J(w, b)}{\partial b_j} = \sum_{i=1}^{n} (h_{(w,b)}(x^{(i)}) - y^{(i)})$$
$$w_j' = w_j - α\frac{\partial J(w,b)}{\partial w_j}$$
$$b_j' = b_j - α\frac{\partial J(w,b)}{\partial b_j}$$
当我们使用该算法时,每对 $w$ 和 $b$ 计算一次(迭代一次),均要使用到整个数据集。即每次确定 $f$ 的方向时,都用到了整个数据集。
优点:只要 $α$ 选择合适,最终一定会计算得到最优的 $w$ 和 $b$ 。
缺点:当数据集忒大的时候,这个工程量可想而知,very very 大。所以不适合大数据集。
标签:frac,
梯度,
下降,
Machine,
算法,
Learning,
partial
From: https://www.cnblogs.com/coder00/p/18169792