[Machine Learning]吴恩达机器学习笔记 四——正规方程(区别于迭代方法的直接解法)
正规方程 Normal equation
1. Normal equation
Normal equation gives a method to solve for θ analytically,能够直接计算出θ的最优解
在简单的问题中求解代价函数的最优解时我们可以直接对J(θ)进行求偏导并置0,即可求得θ。但事实上,我们需要解决的问题当中,特征不止一个,可能有很多,因此θ是一个集合(0-n),这个时候如何求解代价函数的最优解呢?微积分可以帮到我们。对每一个参数θj,求J的偏导数,也全部把他们置零,可以求得θj的大小从0-n个θ,最终还是能够得到最小化代价函数的最优解。
正规方程在使用过程在不需要使用梯度下降,尽管有些特征变量之间的差距很大。
2. 对比总结一下梯度下降解法和正规方程解法:
2.1 正规方程解法
优点在于不需要选择学习率、不需要迭代,能够直接得出最优解,过程简便
缺点在于需要计算 矩阵转置和矩阵乘积,当矩阵的维度很大时,这个计算会很慢很慢,甚至计算不出来。
2.2 梯度下降解法
优点在于当特征数很大时依然能够很好奏效
缺点在于需要选择学习率和迭代步数,过程繁琐
因此,
当特征数 n 不是很大时,正规方程的解法会很快速方便;当n 很大时,选择梯度下降解法或者其他解法来代替 。
3. 正规方程在矩阵不可逆时的解法
前面说到的矩阵为常规情况下的,当然我们也会遇到一个特殊的时候,比如下面部分介绍的就是矩阵不可逆的情况。我们知道,正规方程当中时需要计算矩阵的逆矩阵部分,那么当矩阵不可能逆时该怎么进行下一步操作呢?
在吴老师的学习视频介绍到,通常情况下出现矩阵不可逆的原因有两个:
- 一个是包含多余特征,即两个特征描述的实际上是一个特征,如单位不同等情况。这种情况下我们要删除一些多余特征,保证特征与特征之间是线性无关的。
- 另一个是特征数量过多(m <= n),在线性代数里面我们知道,当 m <= n 时矩阵不可解,m 表示的方程个数,n 表示未知数个数。在机器学习中,当数据样本个数m <= 特征个数时,往往也不能求得一个好的结果来匹配所有特征。这种情况下,可以选择删除一些影响不大的特征,或使用regularization。