week2-3.Computing Parameters Analytically
一、Normal Equation
正规方程(normal equation)
![](https://i-blog.csdnimg.cn/blog_migrate/c48416e5b00e14f04dcfc11751537588.png)
用求(偏)导的方法求最值(若是多元变量函数,需要对每个变量求偏导,然后令他们都为0):
![](https://i-blog.csdnimg.cn/blog_migrate/0228d7ee962f772e10fdd643838e2264.png)
使用正规方程求J函数最值:
构建设计矩阵:
![](https://i-blog.csdnimg.cn/blog_migrate/54770f3d5564537fae863f48c2f5a2ea.png)
例子:
![](https://i-blog.csdnimg.cn/blog_migrate/af44d9d820252f708c7c78d3daaaace3.png)
用以下公式可直接求出使得代价函数J最小的theta值:
![](https://i-blog.csdnimg.cn/blog_migrate/a4ecfa8e6e1c778afc9e7a13b78f78df.png)
推导过程:
normal equation採用矩阵运算能够直接求解出參数
先介绍下什么是normal equation,如果一个数据集X有m个样本,n个特征。则如果函数为:
。数据集X的特征向量表示为:
![](https://i-blog.csdnimg.cn/blog_migrate/03be14dc1b76078dc928c979d914a4a4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f4fb401f7dbb0b8efc6c1cc5eaf73248.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f0b75fcfa73cb150880ea014b1aea469.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d485c547e10d5d05e3a424bde21acab4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/98418d13a979d3be4085370e821486fd.png)
若希望如果函数可以拟合Y,则
。又由于
,所以可以通过矩阵运算求出參数
。
![](https://i-blog.csdnimg.cn/blog_migrate/7db2f21158ff966d5ad507daaf1a9b17.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cbac53d18e529e08a0f07382db098302.png)
![](https://i-blog.csdnimg.cn/blog_migrate/80f2d5dad246b8fe79241c7be095553d.png)
熟悉线性代数的同学应该知道怎么求出參数
。可是前提是矩阵X存在逆矩阵
。
![](https://i-blog.csdnimg.cn/blog_migrate/fc0e07babfb28bf135bc8662fc06cbe9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fa4b008f256aa6e013518df5ca72161b.png)
但仅仅有方阵才有可能存在逆矩阵(不熟悉定理的同学建议去补补线性代数),因此能够通过左乘
使等式变成
,因此,
有同学可能会有疑问
不一定存在啊,确实是,可是
极少不存在,后面会介绍
不存在的处理方法,先别着急。如今你仅仅须要明确为什么就能够了。而且记住。
![](https://i-blog.csdnimg.cn/blog_migrate/29710df95d615b4ac84e373b49ae5e5d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/64dac4452ecea62dc14c90a900b51faf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dfe624a73836ff62b11aa60e9ffcc484.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2e73c4ef0f470c115abe276224f67b56.png)
![](https://i-blog.csdnimg.cn/blog_migrate/96be446da350aeabd004eff6d65d87be.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0315fbb47007e39a4850f21850b4ae96.png)
使用正规方程可以不进行特征缩放。
梯度下降法与正规方程法的优缺点:
![](https://i-blog.csdnimg.cn/blog_migrate/b5c639076047d8fa7233a256c7d093a4.png)
推荐:特征变量数小于1w,使用正规方程法;否则使用梯度下降法。
二、Normal Equation Noninvertibility
![](https://i-blog.csdnimg.cn/blog_migrate/82655dd2d35f7e551751dcc08cbdc5bd.png)
使用pinv函数在矩阵不可逆(non-invertible/singular/degenerate)情况下也能得到正确的theta值。
矩阵不可逆的几个情况:
解决方法:1.删除重复的特征变量;2.减少特征变量或使用正则化(regularization)方法。