zoukankan      html  css  js  c++  java
  • 机器学习笔记(3):多元线性回归

     多元线性回归的表达

    当有多个特征输入时,h(x)函数可以表示为

    为了方便表示,我们假设 x0 = 1,将特征输入和参数用向量表示如下:

     

    h(x) 可以表示为;


      多元线性回归中的梯度下降

     当有多个特征输入时,梯度下降公式

    特征缩放(feature scaling)

     当每个输入特征值的值范围相差很大时,梯度下降会很慢才能到达最小值

    所以,为了加速梯度下降,我们要让每个输入特征值都在大致相同的取值范围内,

        

    特征缩放一般是将特征值除以值范围(如最大值与最小值之差),使得值的范围在-1和1之间

    均值归一化(mean normalization)

    均值归一化的公式为:

    其中,μi 为 feature(i) 的平均值,si 为 max-min(标准偏差)


    Learning Rate

    调试梯度下降:做一张图,x 轴为迭代次数, y 轴为 J(θ) 的最小值,如果 J(θ) 一直增加,则需要减小 Learning Rate α

    有证据证实,如果 α 足够小, J(θ) 会随着每次迭代减小

    如果 α 太小,收敛会很慢;如果 α 太大,可能无法收敛


    特征的选择和多项式回归

     对于特征的选择,有时候我们可以将多个特征合并为一个,如,我们可以将 x1 和 x2 合并为新的特征 x3 = x1 · x2

     h(x) 函数不需要一定是线性的,线性可能并不能很好的 fit 所有的数据,h(x) 可以是二次方、三次方或者平方根函数

    譬如如果 hθ(x) = θ0 + θ1x1 ,那么我们可以基于 x创建额外的特征

    二次方函数

    三次方函数

    平方根函数

    需要注意的是,这种方式选出的特征  feature scaling 非常重要,因为二次方三次方都不在一个数量级

  • 相关阅读:
    asp.net web api KnownTypeAttribute
    nodejs 递归创建目录
    nodejs 复制、移动文件
    windows cmd命令行下创建文件和文件夹
    nodejs http静态服务器
    C# Socket TCP Server & Client & nodejs client
    gem 安装nokigiri
    nsis 固定到任务栏
    SpringBoot整合JPA
    Freemaker FTL指令常用标签及语法
  • 原文地址:https://www.cnblogs.com/lxb0478/p/8184961.html
Copyright © 2011-2022 走看看