人工智能教程 - 学科基础课程2.6 - 机器学习导论 4.多变量线性回归,多维特征量,特征缩放,均值归一化

矩阵(Matrix)

是由数字组成的矩形阵列

Rectangular arrty of numbers
Demensions of matrix: number of rows X number of columns

向量(vector)

一个向量是一种特殊的矩阵,其只有一列矩阵

An n X 1 matrix

also called n-dimensioned vector

多变量(多元)线性回归

Multivariate linear regression

多维特征

实际生活中,我们往往需要多个特征量

人工智能教程 - 学科基础课程2.6 - 机器学习导论 4.多变量线性回归,多维特征量,特征缩放,均值归一化

Hypothesis:

hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4h_\theta (x) =\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4

多维特征Hypothesis

多元线性回归 Multivariate linear regression

通用模型

hθ(x)=θ0(x0)+θ1x1+θ2x2+...+θnxn\LARGE\color{red}h_\theta (x) =\theta_0\color{blue}(x_0)\color{red}+\theta_1x_1+\theta_2x_2+...+\theta_nx_n

For convenience of notation,define x0=1x_0=1

x=[x0x1x2...xn]Rn+1         θ=[θ0θ1θ2...θn]Rn+1x=\begin{bmatrix} x_0\\ x_1\\ x_2\\ .\\ .\\ .\\ x_n \end{bmatrix}\in \mathbb{R}^{n+1} \ \ \ \ \ \ \ \ \ \theta=\begin{bmatrix} \theta_0\\ \theta_1\\ \theta_2\\ .\\ .\\ .\\ \theta_n \end{bmatrix}\in \mathbb{R}^{n+1}

hθ(x)=θTX\LARGE\color{red}h_\theta (x)=\theta ^TX

参数向量θ\theta以及特征向量X的内积

多变量代价函数(cost function)

J(θ0,θ1,...,θn)=12mi=1m(hθ(x(i))y(i))2\color{red}\LARGE J(\theta_0,\theta_1,...,\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2

可以把 n+1 个 θ\theta参数想象成一个 n+1 维的向量 θ\theta

梯度下降算法

Gradient descent algorithm

repeat until convergence{

θj:=θjαθjJ(θ0,θ1,...,θn)\LARGE\color{red}\theta _j:=\theta _j-\alpha \frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1,...,\theta_n)(for j = 0 and j=1)

}

单变量的下降算法

人工智能教程 - 学科基础课程2.6 - 机器学习导论 4.多变量线性回归,多维特征量,特征缩放,均值归一化

多变量的梯度下降算法

人工智能教程 - 学科基础课程2.6 - 机器学习导论 4.多变量线性回归,多维特征量,特征缩放,均值归一化

梯度下降法实践之特征缩放

feature scaling

人工智能教程 - 学科基础课程2.6 - 机器学习导论 4.多变量线性回归,多维特征量,特征缩放,均值归一化

面临的多特征问题(Problem):

特征之间的尺度(range)相差太大,需要加快梯度下降法的收敛速度,否则过于慢。比如有两个特征,房屋尺寸和房间数,房屋尺寸的范围是0-2000平方,房间数的范围是0-5间,差距太大导致绘制出来的椭圆形又扁又长,收敛速度太慢。

解决办法:Feature Scaling

让每一个特征约束到-1 到 +1 的范围内

Get every feature into approximately a 1xi1-1\leq x_i \leq 1 range.

Note: 0x13,2x20.50\leq x_1 \leq 3,-2\leq x_2 \leq 0.5其实也都可以,但是100x31000.0001x40.0001-100\leq x_3 \leq 100,-0.0001\leq x_4 \leq 0.0001就不好了。

均值归一化 (Mean normalization)人工智能教程 - 学科基础课程2.6 - 机器学习导论 4.多变量线性回归,多维特征量,特征缩放,均值归一化

抽象出来 x1x1μ1S1x_1\leftarrow \frac{x_1-\mu _1}{S_1}

μ1\mu _1是在训练集中特征x1x_1的平均值 average value of x1x_1 feature in training set

S1S _1 是该特征值的范围 ,最大值减去最小值 range : maximum value- minimum value