A-01 最小二乘法
更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html
最小二乘法
最小二乘法,可以理解为最小平方和,即误差的最小平方和,在线性回归中,。最小二乘法的核心思想就是——通过最小化误差的平方和,使得拟合对象无限接近目标对象,最小二乘法一般解决线性问题。
一、最小二乘法——代数法
假设线性回归的假设函数为
其中是特征数。如果针对所有的而言,假设函数是非线性的,但是针对某一个的话,由于变量只剩下一个,假设函数就是线性的,既可以使用最小二乘法求解。
通过线性回归的假设函数既可以得到目标函数为
其中为样本数。
利用目标函数分别对求偏导,并且令导数为0,即
通过求解上式,可以得到元一次方程组,通过求解这个方程组就可以的得到所有的。
二、最小二乘法——矩阵法
最小二乘法矩阵法比代数法简单不少。我们把代数法中线性回归的假设函数可以写成
其中是维的向量,是维的矩阵,是维的向量,为样本数,为特征数。
通过上述矩阵形式的假设函数可以得到矩阵形式的目标函数为
其中只是为了方便计算。
目标函数对求导取0,可以得
上述求偏导使用了矩阵求导链式法则和两个矩阵求导的公式
通过对上述式子整理可得
通过上述的化简可以直接对向量求导,而不需要对中的每一个元素求偏导。
三、最小二乘法优缺点
3.1 优点
- 简洁高效,比梯度下降法方便
3.2 缺点
- 最小二乘法需要计算的逆矩阵,可能没有逆矩阵(一般需要考虑使用其他的优化算法,或者重新处理数据让有逆矩阵)
- 当特征数非常大的时候,的计算量非常大(使用随机梯度下降法或使用降维算法降低特征维度)
- 最小二乘法只有拟合函数为线性的时候才可以使用(想办法通过某些机巧让拟合函数转化为线性的)