吴恩达老师机器学习课程--多变量线性回归

机器学习之多变量线性回归

一、多变量问题

  1. 要解决的问题与多个因素有关,如下图:

    • 假设函数:

      h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 + θ 4 x 4 h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4 hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4

      x 0 ( i ) = 1 x_0^{(i)}=1 x0(i)=1,x不同于上图标记应为横向量,这样取数据的时候不用转置。 θ \theta θ也为横向量,则有 h θ ( x ) = x θ T h_\theta(x)=x\theta^T hθ(x)=xθT

二、梯度下降

  1. 代价函数:
    J ( θ ) = ∑ i = 1 m ( h θ ( x ) ( i ) − y ( i ) ) 2 2 m J(\theta)=\sum_{i=1}^m\frac{({h_\theta(x)^{(i)}-y^{(i)}})^2}{2m} J(θ)=i=1m2m(hθ(x)(i)y(i))2

  2. 更新参数:
    θ j = θ j − α ∂ ∂ θ j J ( θ ) = θ j − α 1 m ∑ i = 1 m ( h θ ( x ) ( i ) − y ( i ) ) x j ( i ) \theta_j=\theta_j-\alpha\frac{\partial}{\partial\theta_{j}}J(\theta)=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m({h_\theta(x)^{(i)}-y^{(i)}})x_j^{(i)} θj=θjαθjJ(θ)=θjαm1i=1m(hθ(x)(i)y(i))xj(i)

三、梯度下降训练技巧

  1. 特征缩放

    • 主要思想:确保各个特征有相近的值,梯度下降路径更短,从而减少梯度下降时间。

    • 缩放目标:一般将每一个特征值缩放到[-1,1]范围,[-3,3],[-1/3,1/3]也可以接受,但别太大也别太小

    • 一般方法:均值归一化处理
      x = x − μ s o r x = x − μ σ x=\frac{x-\mu}{s} \qquad or \qquad x=\frac{x-\mu}{\sigma} x=sxμorx=σxμ
      其中,s表示特征变化范围,但是还要找出最大值最小值相减;而使用 σ \sigma σ标准差比较方便,第二个公式将一般正态分布转化成标准正态分布。

  2. 设置与调整学习率:

    • 检查梯度下降算法是否收敛:

      通过绘制迭代过程中的损失函数变化趋势

      • 如果为上升趋势或者不断震荡应考虑减小学习率
      • 但学习率过小收敛的速度很慢
    • 取值方法:不断尝试:… 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1 …

四、选择特征和多项式回归

  1. 选择特征,创建新的特征:

    例如,给出房子的长度和宽度,可以创造出新的特征面积,变成了单变量线性回归

  2. 设置特征的一次方,二次方,三次方可以实现多项式回归:

    image-20200823111129464

    注意:要对这三个特征归一化

    同时,也可以选用这样的假设函数 h ( x ) = θ 0 + θ 1 x + θ 2 x h(x)=\theta_0+\theta_1x+\theta_2\sqrt{x} h(x)=θ0+θ1x+θ2x

  3. 后面介绍可以自动选择特征的算法

五、正规方程

根据导数为0,直接求出:

image-20200826092633664

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值