正则化--潦草小狗的理解

引言

在机器学习领域,模型过拟合是一个常见且需要解决的问题。过拟合指的是模型在训练数据上表现良好,但在未知数据上表现不佳的现象。为了解决这一问题,我们引入了正则化的概念。正则化是一种旨在减少模型泛化误差的技术,而不是仅仅关注降低训练误差。

一,正则化的潦草定义

        正则化是一种在损失函数中添加额外项的方法,这些额外项被称为惩罚项。通过这种方式,我们可以控制模型的复杂度,防止过拟合。通俗来说,正则化就是在保证模型拟合训练数据的同时,不让模型过于复杂。

        正则化目的是减少泛化误差,而不是减少训练误差的方法。通俗点来讲就是我们常说的防止过拟合问题。

二,机器学习中的L1和L2正则化

预防针:

        本文中不会去细究一些原理性的东西,点到为止重在理解。如果想要深入的探究正则化的知识,有一些些些些知识点是必须的,例如高等数学,线性代数。在正则化中具体就涉及到拉格朗日乘子法,矩阵运算,求偏导等等。

1)L1正则化

1.1  L1正则化的定义和图形解释

L1正则化,也称为Lasso回归,通过在损失函数中添加权重的绝对值之和作为惩罚项。这种正则化方法能够导致某些特征的权重为零,从而实现特征的稀疏性。(稀疏性要从权重矩阵来看)

图形解释:在二维空间中,L1正则化的可行域是一个菱形,而损失函数的等高线是圆形。两者的交点往往出现在坐标轴上,使得某些特征权重为零。这需要涉及到高数中的拉格朗日乘数法不展开叙述。

解释了L1正则化的稀疏性后,我就不得不提L1正则化的附带作用--降维或者说特征选择,因为有的特征权重置0了,所以减少了维度,此之谓降维。

1.2  L1正则化的公式表达

加入正则化的损失函数:

        回归:loss = mse + penalty

        分类:loss = cross entropy + penalty

举个栗子:

        线性回归中L1正则化损失函数如下:

        

        其中\alpha \left \| w \right \|_{1} 就是L1正则项,也叫惩罚项。这个公式也就是Lasso回归。其中\alpha是一个很关键的参数,构建模型时都要选择合适的\alpha

1.3  代码演示

两种方式实现L1正则化,一种是直接调用sklearn库中的Lasso模型,另外一种是调用SGD模型,如何再选择penalty的参数为L1。

import numpy as np
from sklearn.linear_model import Lasso
from sklearn.linear_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值