Skip to content

Commit 4c440cd

Browse files
committed
📝 增加梯度下降最小化代价原因
1 parent afc2acb commit 4c440cd

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

readme.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
- 下面就是要求出theta,使代价最小,即代表我们拟合出来的方程距离真实值最近
1313
- 共有m条数据,其中![{{{({h_\theta }({x^{(i)}}) - {y^{(i)}})}^2}}](http://chart.apis.google.com/chart?cht=tx&chs=1x0&chf=bg,s,FFFFFF00&chco=000000&chl=%7B%7B%7B%28%7Bh_%5Ctheta%20%7D%28%7Bx%5E%7B%28i%29%7D%7D%29%20-%20%7By%5E%7B%28i%29%7D%7D%29%7D%5E2%7D%7D)代表我们要拟合出来的方程到真实值距离的平方,平方的原因是因为可能有负值,正负可能会抵消
14-
- 前面有系数2的原因是下面求梯度是对每个变量求偏导,2可以消去
14+
- 前面有系数`2`的原因是下面求梯度是对每个变量求偏导,`2`可以消去
1515

1616
- 实现代码:
1717
```
@@ -34,9 +34,10 @@ def computerCost(X,y,theta):
3434
- 为什么梯度下降可以逐步减小代价函数
3535
- 假设函数`f(x)`
3636
- 泰勒展开:`f(x+△x)=f(x)+f'(x)*△x+o(△x)`
37-
- `△x=-α*f'(x)` ,即负梯度方向乘以一个很小的步长`α`
37+
- `△x=-α*f'(x)` ,即负梯度方向乘以一个很小的步长`α`
3838
-`△x`代入泰勒展开式中:`f(x+x)=f(x)-α*[f'(x)]²+o(△x)`
3939
- 可以看出,`α`是取得很小的正数,`[f'(x)]²`也是整数,所以可以得出:`f(x+△x)<=f(x)`
40+
- 所以沿着**负梯度**放下,函数在减小,多维情况一样。
4041
- 实现代码
4142
```
4243
# 梯度下降算法

0 commit comments

Comments
 (0)