ML Note Course 1 Week 2: Multiple Linear Regression
Univariate Linear Regression:
Multiple Linear Regression:
Notations:
Vectorization(向量化):
1 | # NumPy 向量 |
Without Vectorization:
1 | f = w[0] * x[0] + |
1 | f = 0 |
Vectorization :
1 | #np.dot() 点乘 |
code shorter, run faster
Gradient descent
Univariate Linear Regression:
Multiple Linear Regression:
Feature Scaling 特征缩放
不同特征的取值间相差较大时,可能会使梯度下降达到收敛过慢,这种情况下,重新缩放不同的特征,使它们都具有可比的取值范围,来speed up Gradient Descent。
-
标准化:除以最大值 ==> 取值范围 0-1
-
mean normalization(均值归一化): 其中 为的均值
-
Z-score Normalization: , 其中为均值 为标准差
Converge of Gradient Descent
-
学习曲线(learning curve)随迭代次数趋于某一水平渐近线
-
以作为成本函数每次迭代减少的下限,当成本函数减少值时,认为收敛
Identify problem with gradient descent
With a small enough , should **decrease **on every iteration
- 学习曲线上下波动 ==> 学习率过大
- 学习曲线不断增大 ==> code bug
Pick values technique
0.001 -> 0.003 -> 0.01 -> 0.03 -> 0.1 -> 0.3 -> 1 -> …
每次放大3倍或10倍
选取收敛时迭代次数最少的一个(或比之稍小的)值
Feature Engineering 特征工程
Using intuition to design new features, by transforming or combining original features.
Sometimes, by defining new features, you might be able to get a much better model.
Polynomial Regression 多项式回归
Feature Scaling 在这里更加重要,因为不同特征的值相差会hen’da