machine learning个人笔记系列(四)

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

正则化(Regularization)

问题

这里写图片描述
这里写图片描述
如上面两图右侧所示,当模型特征比较多的时候,模型容易过拟合,这会导致模型在训练集上表现很好,但是在测试集上就表现很差。

解决方式

  1. 减少特征量的两种方式
    1. 人工筛选特征
    2. 使用特征选择算法来筛选
  2. 正则化
    1. 保留所有的特征,但是减小参数的值
    2. 适用于某种有很多特征,并且所有特征都对其值有贡献的任务

举例

下面以多变量线性回归为例来说明一下正则化的使用方式及效果。
如下面公式所示,正则化就是在原有的损益函数的后面加上了参数的平方和, λ λ 是正则化参数,用来调整正则化作用的。

J(θ)=12m[i=1m(hθ(x(i)y(i)))2+λj=1nθ2j]min J(θ) J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) − y ( i ) ) ) 2 + λ ∑ j = 1 n θ j 2 ] m i n   J ( θ )

  • λ λ 设置过大,会导致模型欠拟合,并且梯度下降算法不会收敛(也就是求不出最优解),因此该参数需要取一个合适的值

下面再来算一下之前学的多变量线性回归和逻辑回归模型加上正则化后,梯度下降算法的计算公式

  • 损益函数
    J(θ)=12m[i=1m(hθ(x(i)y(i)))2+λj=1nθ2j] J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) − y ( i ) ) ) 2 + λ ∑ j = 1 n θ j 2 ]
  • 参数迭代

    θ0:=θ0α1mi=1m(hθ(x(i))y(i))x(i)0θj:=θjα[1mi=1m(hθ(x(i))y(i))x(i)0λmθj] θ 0 := θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) θ j := θ j − α [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) − λ m θ j ]

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

    1αλm<1 1 − α λ m < 1

    因此正则化实际上是在原有的参数更新基础上额外减去一个值,从而对参数其约束作用。

    正则方程:
    当数据矩阵没有逆矩阵的时候(m < n, 即样本数小于特征数),使用正则方程不能求解,但是通过添加一个正则化矩阵可以将其转化为一个可逆的矩阵,从而用正则方程求解。公式如下:
    原有的正则方程如下:

    θ=(XTX)1XTy θ = ( X T X ) − 1 X T y

    改造后的如下:
    θ=(XTX+λ011...1)1XTy θ = ( X T X + λ [ 0 1 1 . . . 1 ] ) − 1 X T y

这里第一行为0,表示 x0 x 0 ,也即不用对其进行正则化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值