机器学习——第二周

文章目录

  • 多元线性回归( Multivariate Linear Regression)
    • 多元特征
    • 多元梯度下降法
    • 特征值与多项式回归
  • 矩阵微分(Matrix Differentiation)
    • 布局约定(Layout conventions)
    • 关于标量的导数
    • 关于向量的导数
    • 关于矩阵的导数
    • 其他推论
  • 计算参数分析(Computing Parameters Analytically)
    • 正规方程(Normal Equation)

多元线性回归( Multivariate Linear Regression)

多元特征

  • θ \theta θ 是n×1型矩阵, θ ⊤ \theta^{\top} θ 是1×n型矩阵
  • x j ( i ) x_j^{(i)} xj(i) 表示第 i 个训练样本的第 j 个特征值, x ( i ) x^{(i)} x(i) 表示第 i 个训练样本的特征值向量;m 为训练集个数,n 为特征值个数
  • 多元线性回归的假设形式为:
    h θ ( x ) = h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 + ⋯ + θ n x n (1.1) h_{\theta } (x)=h_{\theta}(x)=\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\theta_{3} x_{3}+\cdots+\theta_{n} x_{n}\tag{1.1} hθ(x)=hθ(x)=θ0+θ1x1+θ2x2+θ3x3++θnxn(1.1)
    其矩阵形式为:
    h θ ( x ) = [ θ 0 θ 1 … θ n ] [ x 0 x 1 ⋮ x n ] = θ ⊤ x (1.2) h_{\theta}(x)=\left[\begin{array}{llll} \theta_{0} & \theta_{1} & \dots & \theta_{n} \end{array}\right]\left[\begin{array}{c} x_{0} \\ x_{1} \\ \vdots \\ x_{n} \end{array}\right]=\theta^{\top} x\tag{1.2} hθ(x)=[θ0θ1θn]x0x1xn=θx(1.2)
    其中 x0 为1

多元梯度下降法

  • 表示形式:
    θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ⋅ x j ( i )  for  j : = 0 … n (1.3) \theta_{j}:=\theta_{j}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) \cdot x_{j}^{(i)} \quad \text { for } j:=0 \ldots n\tag{1.3} θj:=θjαm1i=1m(hθ(x(i))y(i))xj(i) for j:=0n(1.3)
    重复直到收敛
  • 梯度下降法要把样本值标准化
    x i : = x i − μ i s i (1.4) x_{i}:=\frac{x_{i}-\mu_{i}}{s_{i}}\tag{1.4} xi:=sixiμi(1.4)
    μi 是样本均值;si 是样本值的范围,可以是极差或标准差
  • 调整梯度下降:
      如果 J(θ) 会增大,就要适当减少学习率 α;当 J(θ) 减少的值小于阈值E(通常是一个很小的值,如10-3 时,停止收敛;
      学习率 α 足够小时,每一次迭代 J(θ) 都会减小,但是过小会使得收敛太慢,过大会使得 J(θ) 不收敛。

特征值与多项式回归

  • 可以把多个特征值融合成一个,比如用面积代替长×宽
  • 可以用多元线性代替多项式,如令 x 2 = x 1 2 , x 3 = x 1 3 x_2=x_1^2,x_3=x_1^3 x2=x12x3=x13 等;替换时要注意特征缩放(feature scaling),例如 x 1 x_1 x1 的范围为1-100,则 x 2 x_2 x2 的范围为1-10000。

矩阵微分(Matrix Differentiation)

  • 矩阵求导(Matrix Derivative)也称作矩阵微分(Matrix Differential),在机器学习、图像处理、最优化等领域的公式推导中经常用到。

布局约定(Layout conventions)

布局(Layout):在矩阵求导中有两种布局,分别为分母布局(denominator layout)分子布局(numerator layout)
例如向量 y = [ y 1 y 2 ⋮ y n ] \mathbf{y}=\left[\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{n}\end{array}\right] y=y1y2yn, 关于标量 x x x 的求导,在分子布局下,导数维数与分子一致,为:
∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y n ∂ x ] \frac{\partial \mathbf{y}}{\partial x}=\left[\begin{array}{c} \frac{\partial y_{1}}{\partial x} \\ \\ \frac{\partial y_{2}}{\partial x} \\ \\ \vdots \\ \\ \frac{\partial y_{n}}{\partial x} \end{array}\right] xy=xy1xy2xyn
而在分母布局下,导数维数与分母一致,为:
∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋯ ∂ y n ∂ x ] \frac{\partial \mathbf{y}}{\partial x}=\left[\begin{array}{cccc} \frac{\partial y_{1}}{\partial x} & \frac{\partial y_{2}}{\partial x} & \cdots & \frac{\partial y_{n}}{\partial x} \end{array}\right] xy=[xy1xy2xyn]
由此可以发现,分子布局和分母布局之间刚好差一个转置,分子布局下的导数经过转置可以得到分母布局下的导数。
本文将采用的是分子布局

关于标量的导数

  • 标量与标量的导数,即 ∂ y ∂ x \frac{\partial {y}}{\partial x} xy

  • 向量与标量的导数
    向量 y = [ y 1 y 2 ⋮ y n ] \mathbf{y}=\left[\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{n}\end{array}\right] y=y1y2yn关于标量 x x x 的求导就是 y \mathbf{y} y中每个元素分别对 x x x求导,可以表示为:
    ∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y n ∂ x ] (2.1) \frac{\partial \mathbf{y}}{\partial x}=\left[\begin{array}{c} \frac{\partial y_{1}}{\partial x} \\ \\ \frac{\partial y_{2}}{\partial x} \\ \\ \vdots \\ \\ \frac{\partial y_{n}}{\partial x} \end{array}\right]\tag{2.1} xy=xy1xy2xyn(2.1)

  • 矩阵与标量的导数
    A ∈ R m × m \mathbf{A} \in\mathbb{R}^{m \times m} ARm×m,且其元素为标量 α \alpha α 的函数,可得 ∂ A ∂ α = [ ∂ a 11 ∂ α ∂ a 12 ∂ α ⋯ ∂ a 1 n ∂ α ∂ a 21 ∂ α ∂ a 22 ∂ α ⋯ ∂ a 2 n ∂ α ⋮ ⋮ ⋮ ∂ a m 1 ∂ α ∂ a m 2 ∂ α ⋯ ∂ a m n ∂ α ] (2.2) \frac{\partial \mathbf{A}}{\partial \alpha}=\left[\begin{array}{cccc} \frac{\partial \mathbf{a}_{11}}{\partial \alpha} & \frac{\partial \mathbf{a}_{12}}{\partial \alpha} & \cdots & \frac{\partial \mathbf{a}_{1 n}}{\partial \alpha} \\\\ \frac{\partial \mathbf{a}_{21}}{\partial \alpha} & \frac{\partial \mathbf{a}_{22}}{\partial \alpha} & \cdots & \frac{\partial \mathbf{a}_{2 n}}{\partial \alpha} \\\\ \vdots & \vdots & & \vdots \\\\ \frac{\partial \mathbf{a}_{m 1}}{\partial \alpha} & \frac{\partial \mathbf{a}_{m 2}}{\partial \alpha} & \cdots & \frac{\partial \mathbf{a}_{m n}}{\partial \alpha} \end{array}\right]\tag{2.2} αA=αa11αa21αam1αa12αa22αam2αa1nαa2nαamn(2.2)
    A ∈ R m × m \mathbf{A} \in\mathbb{R}^{m \times m} ARm×m,且为非奇异矩阵,其元素为标量 α \alpha α 的函数,则
    ∂ A − 1 ∂ α = − A − 1 ∂ A ∂ α A − 1 (2.3) \frac{\partial \mathbf{A}^{-1}}{\partial \alpha}=-\mathbf{A}^{-1} \frac{\partial \mathbf{A}}{\partial \alpha} \mathbf{A}^{-1}\tag{2.3} αA1=A1αAA1(2.3)

关于向量的导数

  • 标量关于向量的导数
    标量 y y y 关于向量 x = [ x 1 x 2 ⋮ x n ] \mathbf{x}=\left[\begin{array}{c}x_{1} \\ x_{2} \\ \vdots \\ x_{n}\end{array}\right] x=x1x2xn的求导可以表示为 ∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ] (2.4) \frac{\partial {y}}{\partial \mathbf{x}}=\left[\begin{array}{cccc} \frac{\partial y}{\partial x_{1}} & \frac{\partial y}{\partial x_{2}} & \cdots & \frac{\partial y}{\partial x_{n}} \end{array}\right]\tag{2.4} xy=[x1yx2yxny](2.4)此导数又叫做梯度向量 ∂ y ∂ x \frac{\partial {y}}{\partial \mathbf{x}} xy为标量 y y y在空间 R n \mathbb{R}^{n} Rn的梯度,该空间以 x \mathbf{x} x为基。
  • 向量关于向量的导数
    向量函数(即由函数组成的向量) y = [ y 1 y 2 ⋮ y n ] \mathbf{y}=\left[\begin{array}{c}y_{1} \\ y_{2} \\ \vdots \\ y_{n}\end{array}\right] y=y1y2yn关于向量
    x = [ x 1 x 2 ⋮ x n ] \mathbf{x}=\left[\begin{array}{c}x_{1} \\ x_{2} \\ \vdots \\ x_{n}\end{array}\right] x=x1x2xn的导数记作: ∂ y ∂ x = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ y n ∂ x 1 ∂ y n ∂ x 2 ⋯ ∂ y n ∂ x n ] (2.5) \frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\left[\begin{array}{cccc} \frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{1}}{\partial x_{2}} & \cdots & \frac{\partial y_{1}}{\partial x_{n}} \\\\ \frac{\partial y_{2}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{2}} & \cdots & \frac{\partial y_{2}}{\partial x_{n}} \\\\ \vdots & \vdots & \ddots & \vdots \\\\ \frac{\partial y_{n}}{\partial x_{1}} & \frac{\partial y_{n}}{\partial x_{2}} & \cdots & \frac{\partial y_{n}}{\partial x_{n}} \end{array}\right]\tag{2.5} xy=x1y1x1y2x1ynx2y1x2y2x2ynxny1xny2xnyn(2.5)此矩阵也叫做jacobian矩阵,也可以记作 ∂ y ∂ x ⊤ \frac{\partial \mathbf{y}}{\partial \mathbf{x}^{\top}} xy;分母布局下求出来的向量对向量的导数是梯度矩阵,可以表示为 ∂ y ⊤ ∂ x \frac{\partial \mathbf{y}^{\top}}{\partial \mathbf{x}} xy
  • 矩阵关于向量的导数
    矩阵 Y = [ y 11 y 12 ⋯ y 1 n y 21 y 22 ⋯ y 2 n ⋮ ⋮ ⋱ ⋮ y n 1 y n 2 ⋯ y n n ] \mathbf{Y}=\left[\begin{array}{cccc} y_{11} & y_{12} & \cdots & y_{1 n} \\ y_{21} & y_{22} & \cdots & y_{2 n} \\ \vdots & \vdots & \ddots & \vdots \\ y_{n 1} & y_{n 2} & \cdots & y_{n n} \end{array}\right] Y=y11y21yn1y12y22yn2y1ny2nynn对向量 x = [ x 1 x 2 ⋮ x n ] \mathbf{x}=\left[\begin{array}{c}x_{1} \\ x_{2} \\ \vdots \\ x_{n}\end{array}\right] x=x1x2xn的导数可以表示为 ∂ Y ∂ x = [ ∂ y 11 ∂ x 1 ∂ y 12 ∂ x 2 ⋯ ∂ y 1 n ∂ x n ∂ y 21 ∂ x 1 ∂ y 22 ∂ x 2 ⋯ ∂ y 2 n ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ y n 1 ∂ x 1 ∂ y n 2 ∂ x 2 ⋯ ∂ y n n ∂ x n ] (2.6) \frac{\partial \mathbf{Y}}{\partial \mathbf{x}}=\left[\begin{array}{cccc} \frac{\partial y_{11}}{\partial x_{1}} & \frac{\partial y_{1 2}}{\partial x_{2}} & \cdots & \frac{\partial y_{1 n}}{\partial x_{n}} \\\\ \frac{\partial y_{21}}{\partial x_{1}} & \frac{\partial y_{22}}{\partial x_{2}} & \cdots & \frac{\partial y_{2 n}}{\partial x_{n}} \\\\ \vdots & \vdots & \ddots & \vdots \\\\ \frac{\partial y_{n 1}}{\partial x_{1}} & \frac{\partial y_{n 2}}{\partial x_{2}} & \cdots & \frac{\partial y_{n n}}{\partial x_{n}} \end{array}\right]\tag{2.6} xY=x1y11x1y21x1yn1x2y12x2y22x2yn2xny1nxny2nxnynn(2.6)

关于矩阵的导数

  • 标量 y y y 对矩阵 X X X 的导数 ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 21 ⋯ ∂ y ∂ x n 1 ∂ y ∂ x 12 ∂ y ∂ x 22 ⋯ ∂ y ∂ x n 2 ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x 1 n ∂ y ∂ x 2 n ⋯ ∂ y ∂ x n n ] (2.7) \frac{\partial y}{\partial \mathbf{X}}=\left[\begin{array}{cccc} \frac{\partial y}{\partial x_{11}} & \frac{\partial y}{\partial x_{21}} & \cdots & \frac{\partial y}{\partial x_{n 1}} \\\\ \frac{\partial y}{\partial x_{12}} & \frac{\partial y}{\partial x_{22}} & \cdots & \frac{\partial y}{\partial x_{n 2}} \\\\ \vdots & \vdots & \ddots & \vdots \\\\ \frac{\partial y}{\partial x_{1 n}} & \frac{\partial y}{\partial x_{2 n}} & \cdots & \frac{\partial y}{\partial x_{n n}} \end{array}\right]\tag{2.7} Xy=x11yx12yx1nyx21yx22yx2nyxn1yxn2yxnny(2.7)
    此时的导数为梯度矩阵

其他推论

推论一

y = A u (2.8) \mathbf{y}= \mathbf{A} \mathbf{u}\tag{2.8} y=Au(2.8)
其中 y ∈ R m × 1 \mathbf{y} \in\mathbb{R}^{m \times 1} yRm×1 A ∈ R m × n \mathbf{A} \in\mathbb{R}^{m \times n} ARm×n u ∈ R n × 1 \mathbf{u} \in\mathbb{R}^{n \times 1} uRn×1 x ∈ R p × 1 \mathbf{x} \in\mathbb{R}^{p \times 1} xRp×1 A \mathbf{A} A x \mathbf{x} x无关 且有,我们知道结果肯定和 ∂ u ∂ x \frac{\partial \mathbf{u}}{\partial \mathbf{x}} xu 有关,于是先把 A \mathbf{A} A 提出求导式,接着可以发现 ∂ u ∂ x ∈ R n × p \frac{\partial \mathbf{u}}{\partial \mathbf{x}} \in \mathbb{R}^{n \times p} xuRn×p,因此有 ∂ y ∂ x = A ∂ u ∂ x (2.9) \frac{\partial \mathbf{y} }{\partial \mathbf{x}}= \mathbf{A}\frac{\partial \mathbf{u}}{\partial \mathbf{x}} \tag{2.9} xy=Axu(2.9)矩阵求导可以从维度上进行分析
推论二

α = y ⊤ A x (2.10) \alpha=\mathbf{y}^{\top} \mathbf{A} \mathbf{x}\tag{2.10} α=yAx(2.10)

其中 y ∈ R m × 1 \mathbf{y} \in\mathbb{R}^{m \times 1} yRm×1 A ∈ R m × n \mathbf{A} \in\mathbb{R}^{m \times n} ARm×n x ∈ R n × 1 \mathbf{x} \in\mathbb{R}^{n \times 1} xRn×1,且 A \mathbf{A} A 独立于 x , y \mathbf{x,y} x,y 。我们可以将它分为两个部分
w ⊤ = y ⊤ A ∈ R 1 × m (2.11) \mathbf{w}^{\top}= \mathbf{y}^{\top}\mathbf{A} \in \mathbb{R}^{1 \times m}\quad \tag{2.11} w=yAR1×m(2.11)所以
α = w ⊤ x (2.12) \alpha=\mathbf{w}^{\top} \mathbf{x}\tag{2.12} α=wx(2.12)
由式(2.6)可知
∂ α ∂ x = w ⊤ = y ⊤ A (2.13) \frac{\partial \alpha}{\partial \mathbf{x}}=\mathbf{w}^{\top}=\mathbf{y}^{\top} \mathbf{A}\tag{2.13} xα=w=yA(2.13)
这是第一个结论,由于阿尔法是一个标量,我们可以推出
α = α ⊤ = x ⊤ A ⊤ y (2.14) \alpha=\alpha^{\top}=\mathbf{x}^{\top} \mathbf{A}^{\top} \mathbf{y}\tag{2.14} α=α=xAy(2.14)
同理可以得到
∂ α ∂ y = x ⊤ A ⊤ (2.15) \frac{\partial \alpha}{\partial \mathbf{y}}=\mathbf{x}^{\top} \mathbf{A}^{\top} \tag{2.15} yα=xA(2.15)
x \mathbf{x} x y \mathbf{y} y z \mathbf{z} z 的函数且 A \mathbf{A} A z \mathbf{z} z 无关时,有:
∂ α ∂ z = ∂ α ∂ y ∂ y ∂ z + ∂ α ∂ x ∂ x ∂ z = x ⊤ A ⊤ ∂ y ∂ z + y ⊤ A ∂ x ∂ z (2.16) \frac{\partial \alpha}{\partial \mathbf{z}}=\frac{\partial \alpha}{\partial \mathbf{y}} \frac{\partial \mathbf{y}}{\partial \mathbf{z}}+\frac{\partial \alpha}{\partial \mathbf{x}} \frac{\partial \mathbf{x}}{\partial \mathbf{z}}=\mathbf{x}^{\top} \mathbf{A}^{\top} \frac{\partial \mathbf{y}}{\partial \mathbf{z}}+\mathbf{y}^{\top} \mathbf{A} \frac{\partial \mathbf{x}}{\partial \mathbf{z}}\tag{2.16} zα=yαzy+xαzx=xAzy+yAzx(2.16)
推论三

α = x ⊤ A x (2.17) \alpha=\mathbf{x}^{\top} \mathbf{A} \mathbf{x}\tag{2.17} α=xAx(2.17) α = ∑ j = 1 n ∑ i = 1 n a i j x i x j (2.18) \alpha=\sum_{j=1}^{n} \sum_{i=1}^{n} a_{i j} x_{i} x_{j}\tag{2.18} α=j=1ni=1naijxixj(2.18)
其中 A ∈ R n × n \mathbf{A} \in\mathbb{R}^{n \times n} ARn×n x ∈ R n × 1 \mathbf{x} \in\mathbb{R}^{n \times 1} xRn×1,且 A \mathbf{A} A 独立于 x \mathbf{x} x 。对 x \mathbf{x} x k k k 分量求导可得
∂ α ∂ x k = ∑ j = 1 n a k j x j + ∑ i = 1 n a i k x i (2.19) \frac{\partial \alpha}{\partial x_{k}}=\sum_{j=1}^{n} a_{k j} x_{j}+\sum_{i=1}^{n} a_{i k} x_{i}\tag{2.19} xkα=j=1nakjxj+i=1naikxi(2.19)推广到 k = 1 , 2 , ⋯   , n k=1,2,\cdots,n k=1,2,,n可得
∂ α ∂ x = x ⊤ A ⊤ + x ⊤ A = x ⊤ ( A ⊤ + A ) (2.20) \frac{\partial \alpha}{\partial \mathbf{x}}=\mathbf{x}^{\top} \mathbf{A}^{\top}+\mathbf{x}^{\top} \mathbf{A}=\mathbf{x}^{\top}\left(\mathbf{A}^{\top}+\mathbf{A}\right)\tag{2.20} xα=xA+xA=x(A+A)(2.20)特别地,当 A \mathbf{A} A为对称阵的时候, ∂ α ∂ x = 2 x ⊤ A (2.21) \frac{\partial \alpha}{\partial x}=2 \mathbf{x}^{\top} \mathbf{A}\tag{2.21} xα=2xA(2.21)
推论四
α = y ⊤ x (2.22) \alpha=\mathbf{y}^{\top} \mathbf{x}\tag{2.22} α=yx(2.22)其中 y ∈ R n × 1 \mathbf{y} \in\mathbb{R}^{n \times 1} yRn×1 x ∈ R n × 1 \mathbf{x} \in\mathbb{R}^{n \times 1} xRn×1,且 x \mathbf{x} x y \mathbf{y} y z \mathbf{z} z 的函数,可得 ∂ α ∂ z = ∂ α ∂ y ∂ y ∂ z + ∂ α ∂ x ∂ x ∂ z = x ⊤ ∂ y ∂ z + y ⊤ ∂ x ∂ z (2.23) \frac{\partial \alpha}{\partial \mathbf{z}}=\frac{\partial \alpha}{\partial \mathbf{y}} \frac{\partial \mathbf{y}}{\partial \mathbf{z}}+\frac{\partial \alpha}{\partial \mathbf{x}} \frac{\partial \mathbf{x}}{\partial \mathbf{z}}=\mathbf{x}^{\top} \frac{\partial \mathbf{y}}{\partial \mathbf{z}}+\mathbf{y}^{\top} \frac{\partial \mathbf{x}}{\partial \mathbf{z}}\tag{2.23} zα=yαzy+xαzx=xzy+yzx(2.23)

计算参数分析(Computing Parameters Analytically)

正规方程(Normal Equation)

  • 正规方程的推导
    正规方程是通过求解代价函数的导数,令导数为0来求得 θ \theta θ 的值。
    写出代价函数并向量化:
    J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = 1 2 ( X θ − y ) ⊤ ( X θ − y ) (3.1) \begin{aligned} J(\theta) &=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} \\ &=\frac{1}{2}(\mathbf{X} \theta-\mathbf{y})^{\top}(\mathbf{X} \mathbf{\theta}-\mathbf{y}) \end{aligned}\tag{3.1} J(θ)=21i=1m(hθ(x(i))y(i))2=21(Xθy)(Xθy)(3.1)其中 X \mathbf{X} X 为设计矩阵
    X = [ x ( 1 ) ⊤ x ( 2 ) ⊤ ⋮ x ( n ) ⊤ ] = [ x 0 ( 1 ) x 1 ( 1 ) ⋯ x n ( 1 ) x 0 ( 2 ) x 1 ( 2 ) ⋯ x n ( 2 ) ⋮ ⋮ ⋱ ⋮ x 0 ( n ) x 1 ( n ) ⋯ x n ( n ) ] (3.2) \mathbf{X}=\left[\begin{array}{c}{x^{(1)}}^{\top} \\{x^{(2)}}^{\top} \\ \vdots \\ {x^{(n)}}^{\top}\end{array}\right]=\left[\begin{array}{cccc} x_{0}^{(1)} & x_{1}^{(1)} & \cdots & x_{n}^{(1)} \\\\ x_{0}^{(2)} & x_{1}^{(2)} & \cdots & x_{n}^{(2)} \\\\ \vdots & \vdots & \ddots & \vdots \\\\ x_{0}^{(n)} & x_{1}^{(n)} & \cdots & x_{n}^{(n)} \end{array}\right]\tag{3.2} X=x(1)x(2)x(n)=x0(1)x0(2)x0(n)x1(1)x1(2)x1(n)xn(1)xn(2)xn(n)(3.2) θ = [ θ 0 θ 1 ⋮ θ n ] (3.3) \mathbf{\theta}=\left[\begin{array}{c}\theta_0 \\\\ \theta_1 \\\\ \vdots \\\\ \theta_n\end{array}\right]\tag{3.3} θ=θ0θ1θn(3.3) y = [ y ( 1 ) y ( 2 ) ⋮ y ( n ) ] (3.4) \mathbf{y}=\left[\begin{array}{c}y^{(1)} \\\\ y^{(2)} \\\\ \vdots \\\\ y^{(n)}\end{array}\right]\tag{3.4} y=y(1)y(2)y(n)(3.4)设假设函数的输出值与真实值的差值为一接近0的极小值 σ \sigma σ,则 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = σ (3.5) \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}=\sigma\tag{3.5} i=1m(hθ(x(i))y(i))2=σ(3.5) ( X θ − y ) ⊤ ( X θ − y ) = σ (3.6) (\mathbf{X} \theta-\mathbf{y})^{\top}(\mathbf{X} \mathbf{\theta}-\mathbf{y})=\sigma\tag{3.6} (Xθy)(Xθy)=σ(3.6)等式两边同时对 θ \theta θ 求导得
    ∂ ∂ θ [ ( X θ − y ) ⊤ ( X θ − y ) ] = ∂ ∂ θ [ ( θ ⊤ X ⊤ − y ⊤ ) ( X θ − y ) ] = ∂ ∂ θ ( θ ⊤ X ⊤ X θ − θ ⊤ X ⊤ y − y ⊤ X θ + y ⊤ y ) = 2 θ ⊤ X ⊤ X − y ⊤ X − y ⊤ X + 0 = 2 ( θ ⊤ X ⊤ X − y ⊤ X ) = 0 \begin{aligned} & \frac{\partial}{\partial \theta}\left[(\mathbf{X} \theta-\mathbf{y})^{\top}(\mathbf{X} \theta-\mathbf{y})\right] \\\\ =& \frac{\partial}{\partial \theta}\left[\left(\theta^{\top} \mathbf{X}^{\top}-\mathbf{y}^{\top}\right)(\mathbf{X} \theta-\mathbf{y})\right] \\\\ =& \frac{\partial}{\partial \theta}\left(\theta^{\top} \mathbf{X}^{\top} \mathbf{X} \theta-\theta^{\top} \mathbf{X}^{\top} \mathbf{y}-\mathbf{y}^{\top} \mathbf{X} \theta+\mathbf{y}^{\top} \mathbf{y}\right) \\\\ =& 2\theta^{\top} \mathbf{X}^{\top} \mathbf{X}-\mathbf{y}^{\top} \mathbf{X}-\mathbf{y}^{\top} \mathbf{X}+0 \\\\ =& 2\left(\theta^{\top} \mathbf{X}^{\top} \mathbf{X}-\mathbf{y}^{\top} \mathbf{X}\right)\\\\ =&0 \end{aligned} =====θ[(Xθy)(Xθy)]θ[(θXy)(Xθy)]θ(θXXθθXyyXθ+yy)2θXXyXyX+02(θXXyX)0
    θ ⊤ X ⊤ X = y ⊤ X X ⊤ X θ = X ⊤ y θ = ( X ⊤ X ) − 1 X ⊤ y \begin{aligned} &\theta^{\top} \mathbf{X}^{\top} \mathbf{X}=\mathbf{y}^{\top} \mathbf{X} \\\\ &\mathbf{X}^{\top} \mathbf{X} \theta=\mathbf{X}^{\top}\mathbf{y} \\\\ &\theta=\left(\mathbf{X}^{\top} \mathbf{X}\right)^{-1} \mathbf{X}^{\top} \mathbf{y} \end{aligned} θXX=yXXXθ=Xyθ=(XX)1Xy使用正规方程时不需要进行特征缩放
    Matlab / Octive程序pinv (X'*X)*X'*y
梯度下降法 正规方程
需要选择学习率 不需要选择学习率
需要许多次迭代 不需要迭代
O ( k n 2 ) O(kn^2) O(kn2) O ( n 3 ) O(n^3) O(n3),需要计算 X ⊤ X \mathbf{X}^{\top}\mathbf{X} XX 的逆矩阵
当n很大时效率较高 当n很大时计算时间长

X ⊤ X \mathbf{X}^{\top}\mathbf{X} XX不可逆的可能原因:

  • 有多余约束
  • 特征太多,如 m ≤ n m\leq n mn,可以删除一部分的特征或者运用正则化(regularization)

你可能感兴趣的:(机器学习,矩阵,机器学习)