零基础"机器学习"自学笔记|Note6:正规方程及其推导(内附详
06正规方程
6.1 正规方程
在前面我们学习了使用梯度下降法来计算参数最优解,其过程是对代价函数相对于每个参数求偏导数,通过迭代算法一步一步进行同步更新,直到收敛到全局最小值,从而得到最优参数值。而正规方程则是通过数学方法一次性求得最优解。
其主要思想是利用微积分的知识,我们知道对于一个简单的函数,我们可以对于其参数求导,并将其值置为0,这样就可以直接得到参数的值。就像就像下面这样:
但是现在的问题是现实的例子都是很多参数的,我们需要做的就是对于这些参数都求偏导数,从而就得到各个参数的最优解,也就是全局最优解,但是困难在于,如果按照上面这么做将会非常费时间,所以有更好的办法。
6.2 正规方程的使用
这里有四个训练样本,以及四个特征变量x1,x2,x3,x4,观测结果是y,还是像以前一样,我们在列代价函数的时候,需要加上一个末尾参数x0,再将特征参数保存在X矩阵中,对观测结果做同样的操作并保存在向量y中,如图:
这样我们就可以通过下面这个公式得出参数θ最优解。
6.3 正规方程的推到(超详细)
附上常见矩阵求导公式:
6.4 正规方程与梯度下降法的比较
梯度下降法:
缺点:
需要选择学习速率α,而之前的学习也知道α的选择其实十分的困难,非常消耗我们的时间来调试并且选择它。
需要多次迭代,这也是非常消耗时间的。
优点:
当特征参数相当大的时候,梯度下降法也能够很好的工作。
正规方程:
优点:
不需要选择学习速率α
不需要多次迭代
缺点:
需要计算这里写图片描述,而这个计算对于计算机的计算量大致是矩阵维度的三次方,复杂度相当高。
由上面一点就可以看出,当特征参数相当大的时候,正规方程的计算会非常缓慢。
所以,我们该什么时候选择什么方式进行计算呢?
总结:
取决于特征向量的多少,可以将万作为一个界限,当数量小于10000时,直接选择正规方程,当大于10000时,就可以考虑是否换用梯度下降法或者后面的一些其他算法了。
机器学习自学笔记到今天就已经更新六期了,希望有在关注的小伙伴都能学有所得~如果有疑问 的地方欢迎后台留言,一起探讨、共同进步~
再过几个小时就是牛年了,希望新的一年自己也能够继续坚持更新,当然后续有可能会出Python相关课程,来解决机器学习的问题。
新的一年,希望自己不断进步,科研有所成果~也祝各位小伙伴们新年快乐!新的一年身体健康,万事顺意!
——木舟
— END —
往期 · 推荐
零基础"机器学习"自学笔记|Note1:机器学习绪论
零基础"机器学习"自学笔记|Note2:单变量线性回归
零基础"机器学习"自学笔记|Note3:梯度下降法
零基础"机器学习"自学笔记|Note3:线性代数回顾
零基础"机器学习"自学笔记|Note5:多变量线性回归