zoukankan      html  css  js  c++  java
  • 多元线性回归~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:该特征值的范围(最大减最小)

  • 相关阅读:
    JS 可选链操作符?. 空值合并运算符?? 详解,更精简的安全取值与默认值设置小技巧
    手写一个 Promise
    Leetcode 403 青蛙过河 DP
    Leeetcode 221 最大正方形 DP
    Leetcode 139 单词拆分
    Unity周记: 2021.07.26-08.15
    Unity周记: 2021.07.19-07.25
    Unity周记: 2020.07.12-07.18
    Unity周记: 2020.07.05-07.11
    线性规划
  • 原文地址:https://www.cnblogs.com/SHOR/p/6918839.html
Copyright © 2011-2022 走看看