每天五分钟机器学习:如果特征矩阵不可逆,如何使用正规方程?

矩阵X′(′表示x的转秩)是不可逆的情况怎么办呢?

我们称那些不可逆矩阵为奇异或退化矩阵。不可逆的原因有两个:

原因一,如果特征x1和x2成比例,也就是说不是满秩,不是满秩那么肯定是不可逆的。

原因二:当特征太多时也不可以逆,也就是说m小于n的时候,也就是说我们样本矩阵中行数小于列数的时候,肯定相关,也就是说肯定是不可逆的。

如果出现了不可逆的情况怎么办?

方法一:如果出现不可逆的情况下,我们第一步是看特征中有没有多余的,如果有就去掉多余的特征,比如x1表示以英尺为尺寸规格计算的房子棉结,x2是以平方米为尺寸规格计算的房子面积,两个都是面积,这两个特征是成比例的,肯定是线性相关,互为线性函数。那这就说明了这两个特征只用一个就行了,剩下的一个是多余的,

方法二:如果特征之间不是线性函数的关系,也就是说没有多余的特征,那么我们可以删除一些意义不大的特征,用较少的特征来反映尽可能多内容

编程

在python,有两个函数可以求解矩阵的逆,一个被称为pinv(),另一个是 inv(),这两者之间的差异是在计算过程上的。

如果矩阵的可逆的,那么我们使用 inv()

如果矩阵是不可逆的,那么我们使用pinv()

你可能感兴趣的:(每天五分钟玩转机器学习算法,矩阵,机器学习,线性代数)