【机器学习-学习笔记】线性回归 -- 梯度下降vs正规方程 优缺点比较

假设有m个训练样本,n个特征变量

梯度下降 正规方程
J\left ( \Theta \right )=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_{\Theta }\left (x ^{\left (i \right )} \right )- y^{\left ( i \right )} \right)^{2} \Theta =\left (X^{_{T}}X \right )^{-1}X^{_{T}}y
需要选择学习速率α,运行多次尝试不同的α直到找到合适的α 不需要选取需要选取学习速率α,只需要运行一次计算即可
需要多次迭代,取决于细节,计算可能较慢 不需要进行迭代,计算J\left ( \Theta \right )来检查收敛性
当n很大(上百万)时表现很好,通常很有效 求解\Theta时需要计算\left (X^{_{T}}X \right )^{-1}这一项,\left (X^{_{T}}X \right )该项为n\ast n的矩阵,对于大多数计算机而言,实现逆矩阵计算的代价是以矩阵维度的三次方O\left ( n^{3} \right )增长,计算较慢
当n>10000时,选择梯度下降效率更高 当n<10000时(几百几千维向量),选择正规方程能更好的求解参数

PS:

当正规方程中X^{_{T}}X不可逆(奇异矩阵,不满秩m

首先,检查是否有一些多余特征。特征间是否线性相关或互为线性函数,则删除多余特征;

接着,特征中无多余特征时,检查是否有过多特征。特征数量过多时,若删除一部分不影响的话,则删除,或者考虑使用正规化方法。

你可能感兴趣的:(机器学习)