区别与使用迭代的梯度下降法,正规方程可以一次性求出最有解(基本只需要一步),

到目前为止,我们一直使用梯度下降法求最优解,为了最小化代价函数,使用了迭代算法,经过梯度下降的多次迭代来收敛到全局最优解,相反,正规方程提供了一种求θ的解析解法,所以可以一次性求出最优解
先举个例子
J(θ)=aθ2+bθ+c
吧θ看成一个数字而不是一个向量,不用解一元二次的知识,学过微积分的我们想的是对j(θ)求导,导数=0,解得θ。
可是,θ不是一个数字,它代表一个向量,J是关于向量的函数,学过偏导数后,我们知道了要对每一个方向求偏导,这样令各个偏导后的式子都为0,借得所有的值,

这就是θ得最优解
换一种方法


怎么理解这个函数呢?
首先(xT*x)-1是(xT*x)的逆矩阵(不是转置,这不一样),

用python语言实现矩阵的转置和逆。
在以前,特征缩放和特征变量在相似范围内,如果你使用正规方程,那么就不需要特征缩放。
最后,何时用梯度下降,何时用正规方程。假如你拥有m个训练样本,n个特征变量,梯度下降的缺点是你需要选择学习速率α,这通常表示你需要运行多次尝试不同的学习速率α,找到运行效果最好的那个,梯度下降的另一个缺点是你需要经过更多次的迭代,计算会变慢。可是梯度下降法在特诊变量很多的情况下,也能运行的相当好,至于特征方程,要有这么一步运算(xTx)-1,这是一个nn维度的运算,并且在求解逆矩阵时,通常只比nnn快一点,所以在特征量多的时候,正规方程会变得很慢,比梯度下降慢。所以当特征变量n上万时,便开始考虑使用梯度下降更有优势。
本文探讨了机器学习中两种求解最优参数的方法:梯度下降法和正规方程。梯度下降通过迭代逐步逼近最优解,而正规方程能够直接计算出最优解。文章还讨论了在不同场景下选择合适方法的策略。
1857

被折叠的 条评论
为什么被折叠?



