浪子归家|求解线性回归应使用哪些方法?( 四 )

  • 非常适合于数据和/或参数较大的问题 。
  • 适用于非固定目标 。
  • 适用于非常嘈杂/或稀疏梯度的问题 。
  • 超参数具有直观的解释 , 通常需要很少的调整 。
  • 缺点:
    • Adam和RMSProp对某些学习率值(有时还包括批处理大小等其他超参数)高度敏感 , 如果学习率太高 , 它们可能会灾难性地无法收敛 。
    奇异值分解由于SVD是线性回归中最著名且使用最广泛的降维方法之一 , 因此缩短了奇异值分解 。
    SVD(作为其他用途)被用作预处理步骤 , 以减少我们的学习算法的维数 。 SVD将矩阵分解为其他三个矩阵(U , S , V)的乘积 。
    浪子归家|求解线性回归应使用哪些方法?矩阵分解后 , 可以通过计算输入矩阵X的伪逆 并将其乘以输出向量 y来找到假设的系数。 在那之后 , 我们使我们的假设适合我们的数据 , 这使我们的成本最低 。
    import numpy as npfrom matplotlib import pyplot#Creating our dataX = np.random.rand(10,1)y = np.random.rand(10,1)#Computing coefficientb = np.linalg.pinv(X).dot(y)#Predicting our Hypothesisyhat = X.dot(b)#Plotting our resultspyplot.scatter(X, y, color='red')pyplot.plot(X, yhat, color='blue')pyplot.show()
    浪子归家|求解线性回归应使用哪些方法?尽管它不能很好地融合在一起 , 但是仍然相当不错 。
    在这里 , 首先 , 我们创建了数据集 , 然后使用b = np.linalg.pinv(X).dot(y)(这是SVD的等式)来最小化假设的成本 。
    优点:
    • 使用更高维度的数据时效果更好
    • 适用于高斯型分布式数据
    • 对于小型数据集 , 真正稳定且高效
    • 在求解线性回归线性方程时 , 它是更稳定且首选的方法 。
    缺点:
    • 运行时间为O(n3)
    • 多重危险因素
    • 对异常值非常敏感
    • 数据集很大时可能会变得不稳定
    学习成果到目前为止 , 我们已经学习并实现了梯度下降 , LSM , ADAM和SVD 。 现在 , 我们对所有这些算法都有很好的了解 , 并且我们也知道有什么优缺点 。
    我们注意到的一件事是 , ADAM优化算法是最准确的 , 根据实际的ADAM研究论文 , ADAM几乎胜过所有其他优化算法 。


    推荐阅读