Luozm +

机器学习课程笔记-2

Notes about Andrew Ng's Machine Learning course on Coursera-part 2

原创文章,转载请注明:转自Luozm's Blog

1. 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)$
© Luozm . All rights reserved. | Top

Life

Theory

Develop