机器学习之多元线性回归

1、多元线性回归模型:定义:具有多个特征的线性回归模型

  • 多元线性回归模型,见下图:
    机器学习之多元线性回归_第1张图片
  • 多元线性回归总结(参数、模型、损失函数、梯度下降算法)见下图:【注意:梯度下降算法每次都是同时更新wj和b】
    机器学习之多元线性回归_第2张图片

2、多维特征:

  • 多维特征:{x1、x2、…、xn},其中xj表示第j个特征
    • n表示特征的数量
    • 具体解释如下图:
      机器学习之多元线性回归_第3张图片

3、矢量化(vectorization)

  • 工具:使用Numpy库,Numpy库是python中,机器学习使用最广泛的数值线性库
  • 优点:
    • 1、简化代码
    • 2、提升运算速度,具体解释见下面两幅图
    • 3、提升代码可阅读性
      机器学习之多元线性回归_第4张图片
      机器学习之多元线性回归_第5张图片

4、多元线性回归的梯度下降算法:用矢量化(python当中的Numpy库)实现,可以通过硬件并行计算提升运行速度

机器学习之多元线性回归_第6张图片

5、正规方程(Normal equation):仅适用于线性回归求解w和b,不能推广到其他算法,线性数量过大时,该方法速度会变慢,相比之下,在回归算法以及其他算法中,梯度下降是寻找w和b的推荐算法。

6、缩放不同特征:【特征就是模型的输入xj

  • 原因:特征范围跨度会影响梯度下降算法的速度,见下图(以房价预测为例):
    机器学习之多元线性回归_第7张图片
  • 可以用来缩放特征的方法,见下图:
    • 方法一:
      机器学习之多元线性回归_第8张图片
    • 方法二:
      机器学习之多元线性回归_第9张图片
    • 方法三:
      机器学习之多元线性回归_第10张图片
  • 特征缩放的技巧:
    机器学习之多元线性回归_第11张图片
  • 如何检查损失函数有没有收敛【通过J-iteration图,其中J为损失函数,iteration为w和b的迭代次数】

7、特征工程:找到适合作为特征的输入xj

8、多项式回归:可以获得更好的曲线模型【选择合适的多项式函数来拟合训练样本】

机器学习之多元线性回归_第12张图片

9、scikit-learn:一个非常广泛使用的python开源机器学习库【注意:了解回归原理非常重要,单纯调用scikit-learn当中的函数,就像使用一个黑盒。】

总结:

  • 线性回归中的单变量线性回归是理解线性回归的基础,多项式回归是更为复杂的一种回归模型
  • 回归的过程就是通过寻找合适的参数w和b使得损失函数最小
  • 梯度下降过程的速度受到特征范围的影响

你可能感兴趣的:(机器学习,线性回归,python)