机器学习系列5-特征组合、简化正则化

1.特征组合

1.1特征组合:编码非线性规律

我们做出如下假设:蓝点代表生病的树。橙色的点代表健康的树。
在这里插入图片描述

您可以绘制一条直线将生病的树与健康的树清晰地分开吗?不可以。这是一个非线性问题。您绘制的任何线条都无法很好地预测树的健康状况。
如需解决图 2 中所示的非线性问题,请创建一个特征组合。特征组合是指通过将两个或多个输入特征相乘来对特征空间中的非线性特征进行编码的合成特征。(术语跨来自跨产品。) 下面我们通过组合 x1和x3来创建一个名为“x3”的特征组合:x3=x1x2
在这里插入图片描述

1.2 特征组合的种类

我们可以创建许多不同类型的特征组合。例如:

  • [A X B]:将两个特征的值相乘形成的特征组合。
  • [A x B x C x D x E]:将五个特征的值相乘形成的特征组合。
  • [A x A]:通过对单个特征求平方形成的特征组合。
    通过采用随机梯度下降法,可以有效地训练线性模型。因此,使用特征组合补充缩放的线性模型一直是对大规模数据集进行训练的高效方法。

2. 简化正则化:L2 正则化

请考虑以下泛化曲线,该曲线显示的是训练集和验证集相对于训练迭代次数的损失。
图 1. 训练集和验证集的损失。
在这里插入图片描述

图 1 显示了一个模型,其中训练损失逐渐减少,但验证损失最终增加。换言之,该泛化曲线显示模型与训练集中的数据过拟合。根据奥卡姆的内在结构,或许我们可以通过降低复杂模型的复杂度来防止过拟合,这种原则称为正则化。
换言之,不应只是以最小化损失(经验风险最小化)为目标:
minimize(Loss(Data|Model))
而是以最小化损失和复杂度为目标,这称为结构风险最小化:
minimize(Loss(Data|Model) + complexity(Model))
现在,我们的训练优化算法是一个由两项内容组成的函数:一个是损失项,用于衡量模型与数据的拟合度,另一个是正则化项,用于衡量模型复杂度。
机器学习速成课程重点介绍了两种衡量模型复杂度的常见方式(两者在一定程度上相关):

  • 将模型复杂度作为模型中所有特征的权重的函数。
  • 将模型复杂度作为具有非零权重的特征总数的函数。

如果模型复杂度是权重的函数,则特征权重的绝对值越高,对模型复杂度的贡献就越大。
我们可以使用 L2 正则化公式量化复杂性,该公式将正则化项定义为所有特征权重的平方和:
L2 regularization term=||w||22=w21+w22+...+w2n

在此公式中,接近于 0 的权重对模型复杂度几乎没有影响,而离群值权重则会产生巨大的影响。
例如,某个线性模型具有以下权重:
{w1=0.2,w2=0.5,w3=5,w4=1,w5=0.25,w6=0.75}
L2 正则化项为 26.915:

但是, w3 (上文加粗)的平方值为 25,几乎贡献了所有复杂度。所有其他五种权重的平方和仅为 L2 正则化项加上 1.915。
在这里插入图片描述

2.1补充1: 过拟合(overfitting)、 欠拟合

机器学习中最棘手的障碍之一:过拟合(overfitting)、欠拟合。

2.1.1过拟合:

1.理解:学习器把训练样本学得"太好了",很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化能力下降,这就是过拟合。

2.概念:过拟合指的是模型在训练数据上表现很好,但在未见过的测试数据上表现较差的情况。过拟合发生的原因是模型过于复杂,能够记住训练数据的细节和噪声,而不是学习数据的通用模式。
3.特征:

  • 模型在训练数据上的准确度高。
  • 模型在测试数据上的准确度较低。
  • 模型的参数数量过多,容易记忆训练数据。

4.常见引起过拟合的原因

  • 建模样本选取有误,如样本数量太少,选样方法错误,样本标签错误等,导致选取的样本数据不足以代表预定的分类规则;
  • 样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则;
  • 假设的模型无法合理存在,或者说是假设成立的条件实际并不成立;
  • 参数太多,模型复杂度过高。

5.防止过拟合的方法:

  • 数据集扩增:增加更多的训练数据,可以减少过拟合的风险。
  • 正则化:通过添加正则化项,如L1正则化(Lasso)或L2正则化(Ridge),来惩罚模型参数的大小,使模型更简单。
  • 特征选择:选择最重要的特征,降低模型的复杂度。
  • 交叉验证:使用交叉验证来估计模型的性能,选择最佳的模型参数。
  • 早停止:在训练过程中监控验证集的性能,当性能开始下降时停止训练,以防止过拟合。

2.1.2欠拟合:

1.理解:就是模型没有很好地捕捉到数据特征,不能够很好地拟合数据。

2.概念: 欠拟合表示模型太过简单,无法捕获数据中的关键特征和模式。模型在训练数据和测试数据上的性能都较差。

3.特征:

  • 模型在训练数据上的准确度较低。
  • 模型在测试数据上的准确度也较低。
  • 模型可能太简单,参数数量不足。

4.防止欠拟合的方法:

  • 增加模型复杂度:使用更复杂的模型,例如增加神经网络的层数或增加决策树的深度。
  • 增加特征:添加更多的特征或进行特征工程,以捕获更多数据的信息。
  • 减小正则化强度:如果使用了正则化,可以降低正则化的强度,使模型更灵活。
  • 调整超参数:调整模型的超参数,如学习率、批量大小等,以改善模型的性能。
  • 使用更多数据:如果可能的话,增加训练数据可以提高模型的性能。
    过拟合和欠拟合都是需要非常注意的问题。选择合适的模型复杂度、正则化方法和特征工程技巧可以帮助在训练机器学习模型时避免这些问题,获得更好的泛化性能。

3.简化正则化:Lambda

模型开发者通过以下方式来调整正则化项的整体影响:用正则化项的值乘以名为 lambda(也称为正则化率)的标量。也就是说,模型开发者旨在执行以下操作:
minimize(Loss(Data|Model)+� complexity(Model))

执行 L2 正则化会对模型产生以下影响

  • 使权重值接近于 0(但并非正好为 0)
  • 使权重的平均值接近 0,并且呈正态(钟形或高斯)分布。
    增加 lambda 值会增强正则化效果。例如,lambda 值较高的权重直方图可能如图 2 所示。 图 2. 权重直方图。
    在这里插入图片描述

降低 lambda 的值往往会生成一个更扁平的直方图,如图 3 所示。
在这里插入图片描述
图 3. 由较低的 lambda 值生成的权重直方图。

选择 lambda 值时,目标是在简单性和训练数据拟合之间取得适当的平衡:
  • 如果 lambda 值过高,则模型会非常简单,但是您将面临数据欠拟合的风险。模型将无法从训练数据中获得足够的信息来做出有用的预测。
  • 如果 lambda 值过低,则模型会比较复杂,并且您将面临数据过拟合的风险。您的模型将了解过多训练数据的特殊性,无法泛化到新数据。

注意 :将 lambda 设置为零会完全取消正则化。在这种情况下,训练仅专注于使损失降至最低,而这可能会带来最高的过拟合风险。
学习速率与 lambda 之间存在密切关联。L2 正则化值越强,使特征权重接近于 0。较低的学习速率(使用早停法)通常会产生相同的效果,因为与 0 的距离没有那么大。因此,同时调整学习速率和 lambda 可能会产生令人困惑的效果。
早停法是指在模型完全收敛之前结束训练。在实践中,以在线(连续)方式进行训练时,我们通常最终会获得一定程度的隐式早停法。也就是说,一些新趋势的数据尚不足以收敛。
如上所述,改变正则化参数的影响可能与学习速率或迭代次数变化的影响相混淆。一种有用的做法(在对固定批次的数据进行训练时)是进行足够多的迭代,这样提前停止不会产生任何影响。

4. 问题

4.1问题1:

假设某个线性模型具有 100 个输入特征:

  • 其中 10 个特征信息丰富。
  • 其中 90 个特征信息缺乏。
    假设所有特征的值都介于 -1 到 1 之间。以下哪些说法是正确的?

A.L2 正则化可能会导致模型针对某些信息缺乏的特征学习到适中的权重。√
答:出乎意料的是,当某个信息缺乏的特征恰好与标签相关联时,就会发生这种情况。在这种情况下,模型错误地将本应归于信息丰富特征的“功劳”归功于此类信息缺乏的特征。
B.L2 正则化会使大多数信息缺乏的权重正好为 0.0。×
答:L2 正则化不会倾向于使权重正好为 0.0。L2 正则化降低较大权重的程度高于降低较小权重的程度。随着权重越来越接近于 0.0,L2“推”向 0.0 的力度会减弱。
C.L2 正则化会使许多信息缺乏的权重接近(但并非正好)0.0。√
答:是的,L2 正则化会使权重接近于 0.0,但并非正好为 0.0。

4.2 问题2:

假设某个线性模型具有两个密切相关的特征;也就是说,这两个特征几乎是彼此的副本,但其中一个特征包含少量的随机噪点。如果我们使用 L2 正则化训练该模型,这两个特征的权重会发生什么变化?
A:其中一个特征的权重较大,另一个特征的权重几乎为 0.0。×
答:L2 正则化降低较大权重的程度高于降低较小权重的程度。因此,即使一个权重降低的速度比另一个快,L2 正则化也往往会使较大权重降低的速度快于较小的权重。
B:这两个特征将具有大致相等的适度权重。√
答:L2 正则化会使特征的权重大致相等,大约为模型中只有两个特征之一时权重的一半。
C:其中一个特征的权重较大,另一个特征的权重正好为 0.0。×
答:L2 正则化几乎不会使权重正好为 0.0。相比之下,L1 正则化(稍后会介绍)则会使权重正好为 0.0。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/384427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1【算法】——最大子数组问题(maximum subarray)

一.问题描述 假如我们有一个数组,数组中的元素有正数和负数,如何在数组中找到一段连续的子数组,使得子数组各个元素之和最大。 二.问题分析 分治法求解: 初始状态: low0;highA.length-1;mid&am…

GO 的 Web 开发系列(五)—— 使用 Swagger 生成一份好看的接口文档

经过前面的文章,已经完成了 Web 系统基础功能的搭建,也实现了 API 接口、HTML 模板渲染等功能。接下来要做的就是使用 Swagger 工具,为这些 Api 接口生成一份好看的接口文档。 一、写注释 注释是 Swagger 的灵魂,Swagger 是通过…

leaflet 显示自己geoserver发布的中国地图

安装vscode 安装 通义灵码 问题&#xff1a; 用leaflet显示一个wms地图 修改下代码&#xff0c;结果如下&#xff1a; 例子代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&q…

【HarmonyOS 4.0 应用开发实战】ArkTS 快速入门之常用属性

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

《统计学简易速速上手小册》第5章:回归分析(2024 最新版)

文章目录 5.1 线性回归基础5.1.1 基础知识5.1.2 主要案例&#xff1a;员工薪资预测5.1.3 拓展案例 1&#xff1a;广告支出与销售额关系5.1.4 拓展案例 2&#xff1a;房价与多个因素的关系 5.2 多元回归分析5.2.1 基础知识5.2.2 主要案例&#xff1a;企业收益与多因素关系分析5.…

【小沐学GIS】基于WebGL绘制三维数字地球Earth(OpenGL)

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;OpenGL、glfw、glut&#xff09;第二期3【小沐学GIS】…

最短路径算法

1. Dijkstra算法 在正数权重的有向图中求解某个源点到其余各个顶点的最短路径一般可以采用迪杰斯特拉算法&#xff08;Dijkstra算法&#xff09;。 1.1 适用场景 单源最短路径权重都为正 1.2 伪代码 1.3 示例 问题描述&#xff1a; 计算节点0到节点4的最短路径&#xff0c…

arduino uno R3驱动直流减速电机(蓝牙控制)

此篇博客用于记录使用arduino驱动直流减速电机的过程&#xff0c;仅实现简单的功能&#xff1a;PID调速、蓝牙控制 1、直流减速电机简介2、DRV8833电机驱动模块简介3、HC-05蓝牙模块简介电机转动测试4、PID控制5、蓝牙控制电机 1、直流减速电机简介 我在淘宝购买的电机&#x…

C语言整型数据类型..

1.整型数据类型 在C语言中 根据数据范围从小到大依次为char、short、int、long、long long 但是对于整型来说 为什么有这么多类型呢 我们得先说字节的本质&#xff1a; 计算机是通过晶体管的开关状态来记录数据 晶体管通常8个为一组 称为一个字节 而晶体管由两种状态 分别是开…

交叉熵损失函数(Cross-Entropy Loss)的基本概念与程序代码

交叉熵损失函数&#xff08;Cross-Entropy Loss&#xff09;是机器学习和深度学习中常用的损失函数之一&#xff0c;用于分类问题。其基本概念如下&#xff1a; 1. 基本解释&#xff1a; 交叉熵损失函数衡量了模型预测的概率分布与真实概率分布之间的差异。在分类问题中&…

春节假期:思考新一年的发展思路

春节假期是人们放松身心、享受家庭团聚的时刻&#xff0c;但除了走亲戚、玩、吃之外&#xff0c;我们确实也需要思考新的一年的发展思路。以下是一些建议&#xff0c;帮助您在春节假期中为新的一年做好准备&#xff1a; 回顾过去&#xff0c;总结经验&#xff1a;在春节期间&a…

大华智慧园区综合管理平台/emap/devicePoint RCE漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

【十六】【C++】stack的常见用法和练习

stack的常见用法 C标准库中的stack是一种容器适配器&#xff0c;它提供了后进先出&#xff08;Last In First Out, LIFO&#xff09;的数据结构。stack使用一个底层容器进行封装&#xff0c;如deque、vector或list&#xff0c;但只允许从一端&#xff08;顶部&#xff09;进行…

一周学会Django5 Python Web开发-Django5操作命令

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

第8讲个人中心页面搭建实现

个人中心页面搭建实现 <template><view class"user_center"><!-- 用户信息开始 --><view class"user_info_wrap"><!--获取头像--><button class"user_image"></button> <view class"user_n…

14.盔甲?装甲?装饰者模式!

人类的军工发展史就是一场矛与盾的追逐&#xff0c;矛利则盾坚&#xff0c;盾愈坚则矛愈利。在传统的冶金工艺下&#xff0c;更坚固的盾牌和盔甲往往意味着更迟缓笨重的运动能力和更高昂的移动成本。从战国末期的魏武卒、秦锐士&#xff0c;到两宋之交的铁浮图、重步兵&#xf…

Roop的安装教程

roop插件的安装&#xff0c;并不容易 并且最好就是在电脑本地完成&#xff0c;因为涉及到C、visual studio软件&#xff0c;并且还需要在电脑本地放置一些模型&#xff0c;用autoDL其实也有镜像&#xff0c;但是需要数据扩容至少100G&#xff0c;烧钱。。。 电脑本地&#xff0…

javaweb物业管理系统jsp项目

文章目录 物业管理系统一、系统演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 物业管理系统 可用作javaweb项目、servlet项目、jsp项目的项目设计 一、系统演示 物业管理系统 二、项目介绍 语言&a…

ChatGPT高效提问—prompt常见用法(续篇)

ChatGPT高效提问—prompt常见用法&#xff08;续篇&#xff09; ​ 对话式prompt适用于模拟各种交流情境。若我们意图探索在特殊场合下可能出现的对话情景&#xff0c;或者模拟一段对话流程&#xff0c;可以采用这种方法&#xff0c;通过精准的prompt指令&#xff0c;引导Chat…

多视图特征学习 Multi-view Feature Learning既可以被看作是一种学习框架,也可以被看作是一种具体的学习算法!

Multi-view Feature Learning 1.多视图特征学习Multi-view Feature Learning的基本介绍总结 1.多视图特征学习Multi-view Feature Learning的基本介绍 多视图特征学习是一种利用多视图数据集来进行联合学习的机器学习方法。多视图数据指的是对同一事物从多种不同的途径或角度进…