Normal equation标准方程法
最近在学习吴恩达的机器学习视频,遇到了Normal equation方法,其直接给出了公式,没有推导过程。网上搜到的推导过程也不是很清楚。本文将着重进行公式推导,至于 Normal equation的含义以及其与梯度下降的对比,可以参见:机器学习笔记03。
在视频中,其给出了Normal equation的公式:
![](https://i-blog.csdnimg.cn/blog_migrate/87ba15239e12b0db0e9e8e7844cfced4.png)
其主要是通过cost function推导过来的,首先我们做如下假设:
![](https://i-blog.csdnimg.cn/blog_migrate/d2e19ec254dff715edb89677c32d40c4.png)
cost function函数为:
![](https://i-blog.csdnimg.cn/blog_migrate/4bf9754bd064d1500aa7fa724ac143fd.png)
我们的目的是在不同的组合下,值能够最小。所以我们可以通过对每个求偏导,求出对应偏导数等于0的每个值,就是最终的组合。求偏导的过程如下:
![](https://i-blog.csdnimg.cn/blog_migrate/bb80ef05ecdc4ea213fa4fb9e92961a4.png)
我们先来看时候的公式:
![](https://i-blog.csdnimg.cn/blog_migrate/ec4a5e6105247c81c0c4cc1a3ebe13e8.png)
转化为矩阵运算为:
![](https://i-blog.csdnimg.cn/blog_migrate/402a2c9f345a76b837b23a956acfc736.png)
将第二部分分开为:
![](https://i-blog.csdnimg.cn/blog_migrate/fb32a30baecb37a463d9d2767c651205.png)
将(5)带入得:
将(2)带入得:
因此:
![](https://i-blog.csdnimg.cn/blog_migrate/4ba116fd977e391192cca7f5899d5a89.png)
我们可以通过矩阵将这n个式子结合到一起:
最前面的1/m可以舍去,因为:
所以上述(6)可以化简为:
![](https://i-blog.csdnimg.cn/blog_migrate/870866c4801462d34b28aa98dc50b263.png)
将乘入括号得:
将移入等式右侧得:
等式两边同时乘以,得:
![](https://i-blog.csdnimg.cn/blog_migrate/b11f958f3c5a7c0cc974197736df90ac.png)
因为:
其中E是单位矩阵,有,所以: