【学习笔记】斯坦福大学公开课(机器学习) 之二:正规方程

梯度下降法是最小化损失函数的方法之一,它通过向梯度下降的方向不停的迭代,从而找到使损失函数最小或者趋于最小的值。而正规方程求解参数,使损失函数最小的方法,不会去依赖不停的迭代,而是直接通过计算来求得使损失函数最小的参数值。
在介绍方程之前,先引入导数矩阵的概念:

有一个函数f:它是m*n的矩阵到一个实数的映射,我们定义f关于自变量矩阵A的导数为:

Af(A)=fA11fAm1fA1nfAmn(1)

可以看到(1)式中, Af(A) 是一个m*n阶的矩阵,矩阵内的 (i,j) 元素是 fAij ,即函数 f 关于该矩阵内各个位置元素的偏导。这个矩阵就是导数矩阵
再介绍一个矩阵的迹,它是一个n*n方阵的对角线上元素的和,即如果有一个n*n阶的方阵A,那么他的迹记(trA)为:
trA=i=1nAii(2)

矩阵的 有如下性质:
trAB=trBA

trABC=trCAB=trBCA

trABCD=trDABC=trCDAB=trBCDA

关于矩阵的迹,我们设A和B是方正,a是一个实数,我们有以下性质:
trA=trAT

tr(A+B)=trA+trB

traA=atrA

结合以上的性质,我们可以得到下面的公式:
AtrAB=BT

ATf(A)=(Af(A))T(3)

AtrABATC=CAB+CTABT(4)

A|A|=|A|(A1)T

有了以上知识为基础,现在把最小二乘法改写成矩阵的形式,以便实现算法。
把训练集中的特征值和目标值都用矩阵来表示,如特征值用矩阵来表示:
X=(x(1))T(x(2))T(x(m))T

数据集中的一个样本特征值就是X矩阵中的一行。

目标值用矩阵来表示:

y⃗ =y(1)y(2)y(m)

那么 Xθy⃗  就可以表示如下所示:
Xθy⃗ =(x(1))Tθ(x(2))Tθ(x(m))Tθy(1)y(2)y(m)=hθ(x(1))y(1)hθ(x(2))y(2)hθ(x(m))y(m)

最小乘法就可以写成如下形式:
J(θ)=12i=1n(hθ(x(i))y(i))2=12(Xθy⃗ )T(Xθy⃗ )

根据公式(3) (4)可以推导出:
ATtrABATC=BTATCT+BATC

所以我们对损失函数构成的矩阵求导:
θJ(θ)=θ12(Xθy⃗ )T(Xθy⃗ )=12θ(θTXTXθθTXTy⃗ y⃗ TXθ+y⃗ Ty⃗ )=12θtr(θTXTXθθTXTy⃗ y⃗ TXθ+y⃗ Ty⃗ )=12θ(trθTXTXθ2try⃗ TXθ)=12(XTXθ+XTXθ2XTy⃗ )=XTXθXTy⃗ 

为了求得损失函数 J(θ) 的最小值,我们令导数等于零,则可以得到 正规方程(normal equations)
XTXθ=XTy⃗ 

因此,使得损失函数 J(θ) 达到最小值的参数θ就可以通过下面等式得出:
θ=(XTX)1XTy⃗ 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值