机器学习课程笔记-2
2017-03-05
Notes about Andrew Ng's Machine Learning course on Coursera-part 2
原创文章,转载请注明:转自Luozm's Blog1. Multiple Features
记号:
$n$ = $\left| x^{(i)}\right|$,特征数目
$x^{(i)}$ = 第i个训练样本的输入(特征)向量
$x^{(i)}_j$ = 第i个训练样本的特征 $j$ 的值
Hypothesis
方便起见,令 $x_0=1$,则:
2. Gradient Descent (Multiple Variables)
见笔记1,上次已经推导过多元情况。
2.1 Gradient Descent in Practice-Feature Scaling
所有的特征都要标准化到同一尺度(类似于[-1,1]),这样使得梯度下降更快达到最优(减少迭代次数)。
注意:归一化并不影响收敛到局部最优还是全局最优,也不影响计算代价,仅仅减少迭代次数。
feature scaling(特征缩放) & Mean normalization(均值归一化):$x’=\frac{x-mean(x)}{max(x)-min(x)}$
2.2 Gradient Descent in Practice-Learning Rate
Debugging
画损失函数-迭代次数曲线,损失函数在每次迭代之后都应该下降。
自己定义收敛:如果损失函数的下降在一次迭代之后少于一个定值(如1e-3)。
如果曲线上升,说明梯度下降没有正常工作,通常应该选择更小的$\alpha$。
Choose $\alpha$
学习率$\alpha$:尝试0.001,0.003,0.01,0.03,0.1,0.3,1,…(×3每次)
3. Features & Polynomail Regression
有时线性回归不能很好的拟合曲线,所以可以使用多项式回归来解决问题。
或者把几个特征组合成新的特征代入假设函数求解(如定义面积=长×宽,其中长和宽是两个已知的特征)。
本质上这两种都是多项式回归。
注意:多项式回归中尺度的标准化更为重要
4. Normal Equation
即直接求解参数的最优解析解,而不是用梯度下降法求解。
ex1 简单代价函数
求偏导数,令其=0,解出参数
ex2 多元线性回归
由最小二乘法解出参数:
优缺点对比
项目 | Gradient Descent | Normal Equation |
---|---|---|
学习率 $\alpha$ | 需要选择 | 不需要 |
迭代次数 $i$ | 需要多次迭代 | 不需要迭代 |
计算代价 | n很大(>1e4)时依然有效 | n很大时计算代价太大 |
O | $O(kn^2)$ | $O(n^3)$ |