machine learning个人笔记系列(二)

向Andrew Ng的机器学习课程致敬

多变量线性回归

多变量线性回归就是拓展单变量线性回归。

模型

hθ(x)=θ0+θ1x1+θ2x2+...+θnxn h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n

定义 x0=1 x 0 = 1 , 则可以改写为

hθ(x)=θ0x0+θ1x1+θ2x2+...+θnxn h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n

梯度下降求解模型参数

梯度下降算法求解模型参数跟单变量模型一样的,就是变量多了而已。新的求参算法如下:

repeat {

θj=θjα1mi=1m(hθ(x(i))y(i))x(i)j θ j = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i )

(simultaneously update θj θ j for j = 0, …, n)
}

特征缩放

idea: 让所有特征的取值范围在相近的范围内。这样做的目的是为了加快收敛,减少采用梯度下降算法迭代的次数。
一般是让特征值的取值范围尽量落在[-1, 1]之间。

方法:

xnewi=xiμimaxmin x n e w i = x i − μ i m a x − m i n

学习率

  1. α α 太小,收敛慢
  2. α α 太大,不是每轮迭代损益函数值下降,甚至不会收敛

因此,andrew 给的学习率取值方式为

…, 0.001, 0.003, 0.01,0.03, 0.1, 0.3, 1, …

正则方程

最基础的最小二乘法,求解线性回归问题,其核心思想就是设偏导为0,求参数值。即

θjJ(θ)=...=0(for every j) ∂ ∂ θ j J ( θ ) = . . . = 0 ( f o r   e v e r y   j )

也即:
θ=(XTX)1XTy θ = ( X T X ) − 1 X T y

梯度下降VS正则方程

梯度下降正则方程
需要选择 α α 不用
需要多轮迭代不用
当特征很多的时候,也可以很好的工作特征很多的时候,计算量非常大

简单谈谈什么时候使用梯度下降法,什么时候使用正规方程法?

  • 正规方程法在训练集个数较少时(<10000),计算效率会优于梯度下降法,否则便使用梯度下降法;
  • 正规方程法不需要设定学习率,即不会涉及到调参的问题,且不需要迭代;
  • 梯度下降法的时间复杂度O(kn^2), 正规方程法的时间复杂度O(n^3)。

总而言之,训练集个数少于10000优先使用正规方程法,否则使用梯度下降法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值