前言
本机器学习笔记是跟着原斯坦福大学吴恩达老师cs229课程学习后做的课后笔记。每次课程都会涉及到很多数学知识,我在记录课程核心内容的同时,会把数学基础知识在其它博文中单独记下,并在《机器学习笔记》系列博文中用到时给出链接。
笔记都是按照本人的理解去写的,给出的数学基础知识也只是本人薄弱的地方,并不适合所有人。如有问题欢迎给我留言。
数学公式使用Letex编辑,原文博客http://blog.csdn.net/rosetta
正规方程
上一节梯度下降法可以计算出能使
j
j
最小化的值。另外还有一种能计算出使
j
j
最小化的值的方法叫正规方程(Normal Equations),这种算法会更精确,并且不需要像梯度下降法一样需要迭代。
本节课需要用到大量的数学知识,主要是矩阵、矩阵求导、向量、梯度等数学概念,由于毕业后都数学都忘完了,为了搞清楚这些东西,花了好长一段时间,后续我会整理相关基础,下面先开始使用正规方程推导
θ
θ
的过程。
先定义设计矩阵design matrix
X
X
为大小的矩阵,它表示训练样本,
定义 y⃗ y → 为 m m 维向量,它包含所有训练集中的目标结果值
所以
对于向量 z z ,有公式,所以:
为了求出最小的 θ θ ,需使 ▽θJ(θ)=0⃗ ▽ θ J ( θ ) = 0 → ,则:
式子9就叫做正规方程,则
XTXθ−XTy⃗ =0⃗ ,XTXθ=XTy⃗ ,
X
T
X
θ
−
X
T
y
→
=
0
→
,
X
T
X
θ
=
X
T
y
→
,
最终计算出
θ
θ
:
所以从上述推导过程来看,求 θ θ 不需要进行迭代,但需要求 XTX X T X 逆矩阵。
公式推导
下面详细解释上述公式的每一步推导过程:
1. 1到2式,做转置,使用公式
(AB)T=BTAT
(
A
B
)
T
=
B
T
A
T
2. 2到3式直接展开
3. 3到4式,实数的迹还是它本身,所以加入迹符号
tr
t
r
后值不变
4. 4到5式,因为
θTXTy⃗
θ
T
X
T
y
→
是个实数,实数的转置还是它本身,所以
θTXTy⃗ =(θTXTy⃗ )T=y⃗ Xθ
θ
T
X
T
y
→
=
(
θ
T
X
T
y
→
)
T
=
y
→
X
θ
。这里
θTXTy⃗
θ
T
X
T
y
→
为什么是实数?
5. 5到6式,使用公式
trABC=trCAB=trBCA
t
r
A
B
C
=
t
r
C
A
B
=
t
r
B
C
A
,所以
θTXTXθ=θθTXTX
θ
T
X
T
X
θ
=
θ
θ
T
X
T
X
6. 6到7式,由于
y⃗ Ty⃗
y
→
T
y
→
和
θ
θ
无关,所以对它求导为0,把这去掉,然后对式子做一个整理。
7. 7到8式,使用了两个公式,蓝色部分使用:
如有疑问之处欢迎加我微信交流,请备注“CSDN博客”