多元线性回归~ML

  之前我们涉及过线性回归,不过那个是单元的(一个未知数X),这回我们来学习一下多元线性回归(多个X)。

  首先我们给一组房子数据:

 

  我们给出几个关于多元线性回归的概念(我们把价格设为y,其他设为x):

  • n : 特征数量(这里就是4)
  • :第i组特征里的第j个特征
  • :第i组特征

  可以用向量的方式表示。比如x(2) = 

  多元线性回归方程就为:

  

  还可以写成:

  hθ(x)=θ0x0+θ1x1+θ2x2+θ3x3++θnxn (x0 = 1)

  然后我们可以用矩阵来表示这个多元线性回归函数。(矩阵的知识请看我之前的文章)

  用矩阵方式写成:

  

  化简一下为:

  

  接下来我们讨论一下多元线性回归的梯度下降

  我们已经了解过单元线性归回的梯度下降。而多元可以理解成对多个特征x进行梯度下降。

  所以我们需要重复以下函数直到收敛

  

  或者说可以写成这样:

  

  这个公式和之前的梯度下降函数差在了哪里

  其实就是多乘了一个x特性。

  怎么使梯度下降更好的工作

  特征收缩

  确保不同特征的取值,在相近的范围内,这样梯度下降就能更好的收敛。

  可以将特征值约束到-3到3内

  比如说:

  有一个房子面积特征x1,取值为0~2000,有一个房间数x2,取值为0~5.

  x1 / 2000

  x2 / 5

  来保证让x1的取值为0~1,x2的取值为0~1.

  均值归一化

  特征收缩的另一个方法。如果你有特征xi,用xi-ui / si来替换xi,使其具有0的平均值(不用替换x0,因为x0衡为1)

  xi = (xi - ui) / si

  ui:训练集中xi的平均值

  si:该特征值的范围(最大减最小)

posted @ 2017-05-29 19:39  Sooda  阅读(344)  评论(0编辑  收藏  举报