机器学习笔记3 【多元线性回归】

本文详细介绍了多元线性回归,包括符号定义、梯度下降法及其在数据处理中的应用,如特征缩放和均值归一化。还探讨了正规方程的优势和在处理非线性函数时的作用,并对比了梯度下降与正规方程在实际运用中的优缺点。
摘要由CSDN通过智能技术生成

多元线性回归

1 符号

  • m训练样本数量
  • n特征量的数目
  • x ( i ) x^{(i)} x(i) i i i个训练样本的特征向量,是一个n维向量
  • x j ( i ) {x_j}^{(i)} xj(i) i i i个训练样本中,第 j j j个特征量的值
  • mark

2 多元梯度下降法

2.1 假设函数

  • 在多元变量中,假设函数应该为: h ( x )    =    θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n h\left( x \right) \,\,=\,\,\theta _0+\theta _1x_1+\theta _2x_2+\cdots +\theta _nx_n h(x)=θ0+θ1x1+θ2x2++θnxn
  • 为了方便起见,定义 x 0 = 1 x_0 = 1 x0=1,现在把 x x x θ \theta θ看作一个 ( n + 1 ) × 1 (n+1) \times 1 (n+1)×1的向量,即$\left[ \begin{array}{l} x_0\ x_1\ \vdots\ x_n\ \end{array} \right] , , \left[ \begin{array}{l} \theta_0\ \theta_1\ \vdots\ \theta_n\ \end{array} \right] $
  • 现在假设函数可以写为 h ( x ) = θ T x h\left( x \right) = \theta^T x h(x)=θTx

2.2 代价函数

  • 多元变量中,代价函数可以写为:
    J ( θ 0 , θ 1 , … , θ n ) = 1 2 m ∑ i = 0 m ( h ( x ( i ) ) − y ( i ) ) J(\theta_0,\theta_1,\dots,\theta_n)=\displaystyle\frac{1}{2m} \displaystyle\sum^{m}_{i=0}\Big({h(x^{(i)}) - y^{(i)}}\Big) J(θ0,θ1,,θn)=2m1i=0m(h(x(i))y(i))
    θ \theta θ表示向量时,上式就可以写为:
    J ( θ ) = 1 2 m ∑ i = 0 m ( h ( x ( i ) ) − y ( i ) ) J(\theta)=\displaystyle\frac{1}{2m} \displaystyle\sum^{m}_{i=0}\Big({h(x^{(i)}) - y^{(i)}}\Big) J(θ)=2m1i=0m(h(x(i))y(i))

2.3梯度下降

r e p e a t   u n t i l   c o n v e r g e n c e { θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 , … , θ n ) ( f o r   j = 0 , … , n ) } repeat\ until\ convergence\{ \\ \quad \theta_j := \theta_j - \alpha \frac{\partial}{\partial {\theta_j}} J(\theta_0,\theta_1,\dots,\theta_n) \quad (for\ j = 0, \dots, n) \\ \} repeat until convergence{θj:=θjαθjJ(θ0,θ1,,θn)(for j=0,,n)}
也可以用 θ \theta θ代替 θ 0 , θ 1 , … , θ n \theta_0,\theta_1,\dots,\theta_n θ0,θ1,,θn

  • θ \theta θ的计算方法,与单变量的类比

mark

3 数据处理技巧

3.1 特征量缩放和均值归一化

  • 所有的特征量在一个相近的数量级大学时候,代价函数会较快的收敛,所以可以用原始特征量除以该特征量样本的极差
  • 均值归一化是指:所有特征量减去其均值,使改变后的特征量均值为零
  • 特征量缩放和均值归一化即进行以下操作:
    x i = x i − μ i s i x_i=\displaystyle\frac{x_i - \mu_i}{s_i} xi=sixiμi
    μ i \mu_i μi是第i个特征量的均值, s i s_i si是第i个特征量的极差

3.2 特征量的选择

  • 例如在房屋售价预测中,给出的特征量是房屋的宽度f和深度d,我们可以选择特征量为 s i z e = f × d size = f \times d size=f×d
    mark

3.3 用多元线性回归处理非线性函数

  • 例如在房屋售价预测中,给出的特征量为房屋面积size,我们可以通过另 x 1 = ( s i z e ) , x 2 = ( s i z e ) 2 , x 3 = ( s i z e ) 3 x_1 = (size),\\ x_2=(size)^2,\\x_3=(size)^3 x1=(size),x2=(size)2,x3=(size)3,来构造一个关于size的非线性假设函数:
    mark

4 正规方程(normal equation)

  • 正规方程可以用解析方法求解 J ( θ ) J(\theta) J(θ),不需要再一步步的迭代,可以一步直接求得结果
  • 思想就是求 J ( θ ) J(\theta) J(θ) θ \theta θ的导数或者偏导数,另其等于零,然后计算相应的 θ \theta θ的值(再多元线性回归中,不只一个 θ \theta θ值)
  • mark
  • 其中X也被称为design matrix ,其构造方法更一般的表达为:
    mark
  • 计算最佳 θ \theta θ的式子为: $ \theta = (X^T X)^{-1} X^T y $
    在Octave中: p i n v ( x ′ ∗ x ) ∗ x ′ ∗ y pinv(x' * x)* x'*y pinv(xx)xypinv表示求逆,'表示转置,*表示相乘
  • 可能存在 X T X X^T X XTX不可逆的情况,此时在Octave中使用pinv仍可以得到正确的结果,但是聪理解层面上来说, X T X X^T X XTX不可逆的原因可能有以下两个
    1. 有多余的特征量,例如有
      x 1 = s i z e   i n   f e e t 2 x_1= size\ in\ feet^2 x1=size in feet2
      x 2 = s i z e   i n   m 2 x_2= size\ in\ m^2 x2=size in m2
      因为 1 m = 3.28 f e e t 1m=3.28feet 1m=3.28feet,则 x 2 = ( 3.28 ) 2 x 1 x_2=(3.28)^2 x_1 x2=(3.28)2x1,它们之间存在一种线性关系,导致 X T X X^T X XTX不可逆
      解决方案:删除多余的特征量
    2. 特征量数量过多。虽然每一个特征量都是独立的,与其他特征量不存在线性关系,但是如果 n > m n>m n>m,例如 n = 100 ,   m = 10 n=100,\ m = 10 n=100, m=10,这种情况也也有可能会导致 X T X X^T X XTX不可逆(不是所以 n > m n>m n>m都会使 X T X X^T X XTX不可逆)
      解决方案:删去一些特征量,或进行正则化(regularization)
  • 注意:使用正规方程求解不需要特征缩放,两个特征量的数量级可以差别较大

5 梯度下降与正规方程的比较

5.1 梯度下降

  • 优点
    1. 在n(特征量)较大时也有较好的效果
    2. 适用范围更广
  • 缺点
    1. 需要选则 α \alpha α
    2. 需要很多迭代次数

5.2 正规方程

  • 优点
    1. 不需要选则 α \alpha α
    2. 不需要很多迭代次数
  • 缺点
    1. 需要计算 ( X T X ) − 1 (X^T X)^{-1} (XTX)1(一个 n × n n \times n n×n的矩阵),所以当n特别大时,计算速度很慢
    2. 有些算法不适用

一般在n小于10,000时,选择正规方程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值