一、正规方程基本思想
- 
正规方程是一种通过数学推导来求解线性回归参数的方法,它通过最小化代价函数来找到最优参数。 
- 
代价函数 J(θ) 用于度量模型预测值与实际值之间的误差,通常采用均方误差。 

二、步骤
- 
准备数据集,包括特征矩阵 X 和目标向量 y。特征矩阵通常包括一个全为1的常数列(截距项)。 
- 
定义代价函数 J(θ),通常采用均方误差。 
- 
推导代价函数 J(θ) 对参数θ的梯度,令梯度为零。 
- 
将梯度为零的方程组转化为矩阵形式:X^T * X * θ = X^T * y。 
- 
求解正规方程,得到最优参数θ:θ = (X^T * X)^(-1) * X^T * y。 

三、正规方程的优点
- 
不需要选择学习率α,一次运算得出最优参数,无需迭代。 
- 
在特征数量较小的情况下非常适用(通常 n < 10000)。 
四、正规方程的限制和适用情况
- 
不适用于非线性模型,仅适用于线性回归。 
- 
如果特征之间存在线性相关性,或者特征数量多于样本数量,正规方程可能不适用。 
- 
对于特征数量大的情况,计算 (X^T * X)^(-1) 的逆矩阵可能会昂贵。 

五、选择算法
- 
根据问题的特点、数据集的大小和特征的独立性来选择使用梯度下降法或正规方程。 
- 
对于小型数据集和特征数量不多的情况,正规方程是一个有效的选择。 
六、正规方程在矩阵不可逆时的解决办法
- 
使用伪逆函数 pinv():- 在Octave等数值计算工具中,可以使用伪逆函数 pinv()来计算参数θ,即使特征矩阵X^T * X是不可逆的。这是一种弥补不可逆性的方法,它可以提供正确的解。
 
- 在Octave等数值计算工具中,可以使用伪逆函数 
- 
处理线性相关的特征: - 当存在线性相关的特征时,如 x1 = (3.28)^2 * x2,矩阵X^T * X可能变得奇异或不可逆。此时,可以考虑去除一个或多个相关特征以减少特征数量,同时保持数据的信息内容。这将使X^T * X更容易求逆。
 
- 
特征选择和正则化: - 
如果特征数量n太多,而训练样本数量m相对较少,可能会导致X^T * X不可逆。在这种情况下,可以考虑以下方法: - 
删除一些不相关或冗余的特征,以降低特征数量。 
- 
使用正则化方法,如Lasso或Ridge回归,来惩罚不必要的特征权重,从而解决不可逆性问题。 
 
- 
 
- 

参考资料: