Coursera Machine Learning 多元线性回归和多项式回归

文章目录
  1. 1. 多变量线性回归
    1. 1.1. 多特征
    2. 1.2. 多变量的梯度下降
    3. 1.3. 多项式回归
  2. 2. 分析法计算参数
    1. 2.1. 正规方程
    2. 2.2. 可逆性问题

多变量线性回归

多特征

  • $x^{(i)}$ :第i个训练数据

  • $x_j^{(i)}$ :第$i$个数据的第$j$个特征

  • $m$ :训练集大小

  • $n$ :特征数量

若对整个数据集进行运算,有:$h_\theta(X) = X \theta$

多变量的梯度下降

  • Gradient Descent(梯度下降算法)

矩阵形式:$\theta := \theta - \frac{\alpha}{m} X^{T} (X\theta - \vec{y})$

  • Feature Scaling(特征缩放)

    用原始数据除以该数据的范围(即RANGE = MAX-MIN),或除以标准差。

  • Mean Normalization(均值归一化)

    用原始数据减去该数据的均值。

    运用上述两种技术,得到公式:$x_i := \dfrac{x_i - \mu_i}{s_i}$,其中$\mu_i$是$x$的平均值,${s_i}$是$x$的标准差。

  • Learning Rate(学习率)

    α过小:慢收敛

    α过大:每次迭代可能不会使J值减小,可能因此导致发散

多项式回归

有的时候线性回归不能很好的拟合数据,这个时候可以考虑用多项式回归。

Polynomial Regression

比如对于 $h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_1^2 + \theta_3 x_1^3$ 这个函数来说,我们可以新建两个变量$x_2$ 、 $x_3$ 使得 $ x_2 = x_1^{2} $ 、$ x_3 = x_1^{3}$ ,从而转化成线性回归的形式,得到 $h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \theta_3 x_3$

分析法计算参数

正规方程

正规方程(Normal Equation)

formula :$\theta = (X^T X)^{-1}X^T y$

注意:其中矩阵的逆是伪逆矩阵,即Moore–Penrose pseudoinverse,在Matlab中可用pinv计算。

这个公式可以直接算出$\theta$的值,不需要像梯度下降那样进行迭代,也不需要进行Feature scalingMean normalization

对比

Gradient Descent Normal Equation
Need to choose alpha No need to choose alpha
Needs many iterations No need to iterate
, need to calculate inverse of
Works well when n is large Slow if n is very large

可逆性问题

如果$X^TX$不可逆,主要有以下两种原因:

  • 有多余的特征,且这些特征线性相关
  • 特征过多,比如说特征数(n)比样本数(m)还多
分享到 评论