第三门课:结构化机器学习项目-机器学习策略

news2024/11/15 11:51:01

文章目录

  • 1 机器学习策略一
    • 1.1 为什么是ML策略?
    • 1.2 正交化
    • 1.3 单一数字评估指标
    • 1.4 满足和优化指标
    • 1.5 训练、开发及测试集划分
    • 1.6 开发集和测试集的大小
    • 1.7 什么时候改变开发、测试集和指标?
    • 1.8 为什么是人的表现?
    • 1.9 可避免偏差
    • 1.10 理解人的表现
    • 1.11 超越人的表现
    • 1.12 改善你的模型的表现
  • 2 机器学习策略二
    • 2.1 进行误差分析
    • 2.2 清除标注错误的数据
    • 2.3 快速搭建第一个系统,并进行迭代
    • 2.4 使用来自不同分布的数据进行训练和测试
    • 2.5 数据分布不匹配时的偏差与方差的分析
    • 2.6 处理数据不匹配问题
    • 2.7 迁移学习
    • 2.8 多任务学习
    • 2.9 什么是端到端的深度学习?
    • 2.10 是否要使用端到端的深度学习?

1 机器学习策略一

1.1 为什么是ML策略?

改善系统的策略:
1、收集更多数据
2、训练集多样性(如,识别猫,收集各种姿势的猫,以及反例)
3、训练的时间更长一些
4、尝试不同的优化算法(如 Adam优化)
5、尝试规模 更大 / 更小 的神经网络
6、尝试 DropOut 正则化
7、尝试添加 L2 正则化
8、修改网络架构(修改激活函数,隐藏单元数目)
需要判断哪些是值得一试的,哪些是可以舍弃的

1.2 正交化

1、 要弄好一个监督学习系统,要确保四件事情

1> 确保至少系统在训练集上得到的结果不错,所以训练集上的表现必须通过某种评估,达到能接受的程度。
2> 在训练集上表现不错之后,希望系统也能在开发集上有好的表现
3> 希望系统在测试集上有好的表现
4> 希望系统在测试集上系统的成本函数在实际使用中表现令人满意

2、
1>在成本函数上不能很好地拟合训练集

	可以训练更大的网络
	可以切换到更好的优化算法<如Adam优化算法>

2>在训练集上做得很好,但开发集<验证集>不行

可以通过正则化进行调节

3>在开发集上做的不错,但测试集不行,意味着对开发集过拟合了

   可以使用更大的开发集

4>在测试集上做得很好,但无法给应用用户提供良好的体验

可以改变开发集或成本函数

注:训练神经网络时,一般不使用early stopping,如果使用,那么对训练集的拟合就不太好,但它同时也用来改善开发集的表现,所以它没那么正交化。

1.3 单一数字评估指标

查准率§和查全率®
查准率:如果分类器A有95%的查准率,这意味着你的分类器说这图有猫的时候,有95%的机会真的是猫。
查全率:如果分类器A查全率是90%,这意味着对于所有的图像,比如说你的开发集都是真的猫图,分类器准确地分辨出了其中的90%。
在这里插入图片描述

结合查准率和查全率的标准方法是F1分数(P和R的调和平均数)
在这里插入图片描述
我们快速选出分类器A,淘汰B
除了F1 分数之外,我们还可以使用平均值作为单值评价指标来对模型进行评估
在这里插入图片描述

总:单实数评估指标可以提高做决策的效率

1.4 满足和优化指标

在这里插入图片描述

Accuracy是优化指标,Running time是满足指标。
只要运行时间小于100毫秒,用户就不在乎运行时间是100毫秒还是50毫秒,在这种情况下分类器B最好,因为在所有运行时间小于100毫秒的分类其中,它的准确度是最高的。
考虑N个指标,有时候选择其中一个作为优化指标是合理的。
尽量优化那个指标,然后剩下 N-1个指标都是满足指标,意味着只要它们达到一定阈值,你不再关心指标在阈值内的大小。

1.5 训练、开发及测试集划分

如何设立开发集和测试集?
开发集(dev set)有时也叫(development set),有时称为保留交叉验证集(hold out cross validation set)。
机器学习中的工作流程是你尝试很多思路,用训练集训练不同的模型,然后使用开发集来评估不同的思路,然后选择一个,然后不断迭代去改善开发集的性能,直到最后你可以得到一个令你满意的成本,然后你再用测试集去评估。
设立开发集以及评估指标:定义类要瞄准的目标
设立训练集的方式:会影响逼近那个目标有多快
在这里插入图片描述

前四个作为开发集,后四个作为测试集,这个想法非常糟糕,因为开发集与测试集来自不同的分布。
建议:将所有数据随机洗牌,放入开发集和测试集,所以开发集和测试集都有来自八个地区的数据,并且开发集和测试集来自同一分布,这分布就是所有数据混在一起。

1.6 开发集和测试集的大小

在这里插入图片描述

测试集的目的是完成系统开发之后,测试集可以评估投产系统的性能,及评估最终的成本偏差。
不单独分出一个测试集也是可以的,但不建议在搭建系统时省略测试集,因为有个单独的测试集比较安心。因为可以使用这组不带偏差的数据来测量系统的性能。

1.7 什么时候改变开发、测试集和指标?

例:构建一个猫分类器,试图找到很多猫的照片,向爱猫人士用户展示,决定使用的指标是分类错误率。所以算法A和B分别有3%错误率和5%错误率,所以算法A似乎做得更好。但是算法A由于某些原因,把很多色情图片分类成猫了。从用户接受的角度来看,算法B实际上是一个更好的算法,因为它不让任何色情图像通过。
在这里插入图片描述

这个公式就统计了分类错误的样本。这个评估指标的问题在于,它对色情图片和非色情图片一视同仁。

改进:引入一个权重项<赋予色情图片更大的权重,让算法将色情图分类为猫图时,错误率快速变大>
在这里插入图片描述

并进行归一化,使错误率仍保持在0-1之间
在这里插入图片描述

我们定义了一个评估指标帮助我们更好的把分类器排序,能够区分出他们在识别色情图片的不同水平,这实际上是一个正交化的例子

注:在处理机器学习时,分为两个独立的步骤,第一步是设定目标,第二步在逼近目标的时候,也需学习算法对某个成本函数优化,最小化训练集上的损失。
可以修改这个,引入权重,最后修改这个归一化常数。
在这里插入图片描述

总方针:如果当前指标和当前用来评估的数据和真正关心必须做好的事情关系不大,那就应该更改你的指标或者开发测试集,让它们能够更好地反应算法需要处理好的数据。

1.8 为什么是人的表现?

在这里插入图片描述

超越人类表现,进展会慢下来的原因:
1> 人类水平在很多任务中离贝叶斯最优错误率已经不远了,人们非常擅长看图像,分辨里面有没有猫或者听写音频。所以,当你超越人类的表现之后也许没有太多的空间继续改善了。
2> 只要你的表现比人类的表现更差,那么实际上可以使用某些工具来提高性能。一旦你超越了人类的表现,这些工具就没那么好用了。

1.9 可避免偏差

在这里插入图片描述

算法在训练集上的表现和人类水平的表现有很大差距的话,说明算法对训练集的拟合并不好,重点放在减少偏差上。
可避免偏差:贝叶斯错误率或者对贝叶斯错误率的估计和训练错误率之间的差值称为可避免偏差。
即7%的可避免偏差<7%衡量了可避免偏差大小,而2%衡量了方差大小>

1.10 理解人的表现

在这里插入图片描述

最优错误率肯定在5%以下,可以用0.5%来估计贝叶斯错误率

贝叶斯错误率或者说贝叶斯错误率的估计和训练错误率直接的差值就衡量了所谓的可避免偏差,这(训练误差与开发误差之间的差值)可以衡量或者估计你的学习算法的方差问题有多严重。
在这里插入图片描述

1.11 超越人的表现

在这里插入图片描述

一旦超过0.5%这个门槛,要进一步优化机器学习问题就没有明确的选项和前进的方向了。
机器学习超越人类水平的实例:
1> 网络广告:估计某个用户点击广告的可能性
2> 提出产品建议,推荐电影或书籍之类的任务。
3> 物流预测,从A到B开车需要多久,或者预测快递车从A开到B需要多少时间。
4> 预测某人会不会偿还贷款,这样你就能判断是否批准这人的贷款

1.12 改善你的模型的表现

训练集误差与贝叶斯估计误差之间的差距:可避免偏差
训练集误差与开发集误差之间的差距:方差
减少可避免方差:

更大规模的模型
训练更久、迭代次数更多
更好的优化算法(Momentum、RMSprop、Adam)
更好的新的神经网络结构
更好的超参数
改变激活函数、网络层数、隐藏单元数
其他模型(循环神经网络<CNN>,卷积神经网络<RNN>)

改进方差:

收集更多的数据去训练
正则化(L2正则、dropout正则、数据增强)
更好的新的神经网络结构
更好的超参数

2 机器学习策略二

2.1 进行误差分析

<猫分类器中>收集n个预测错误的开发集样本,手动检查
(错误分类的图片里面有多少比例是狗🐶,假如错误率10%,其中狗占5%,那么你完全解决了狗的问题,能降低错误率到 9.5%,结合你花费的时间,评估下值不值当;如果错误分类中,狗占50%,那么解决狗的问题,就能降低错误率到 5%,还是很值得一试的)
通常做法,统计各种误差的比例,检查哪种误差占比较高,优先解决
在这里插入图片描述

2.2 清除标注错误的数据

在这里插入图片描述

倒数第二张是标记错误的图片,即为标记错误的样本。
深度学习算法对于训练集中的随机错误是相当健壮的。如果错误足够随机,那么放着这些错误不管可能也没问题。

如果在开发集和测试集有错误标记的样本:
在这里插入图片描述

如果你要更正标签,请注意:
同时在开发集和测试集上操作(同一分布)
检查了判断错误的样本,也需要考虑到判断正确的样本(可能是标签就错了,恰好预测的一致),但通常此步不会做,太耗时了(比如98%的判对了,检查98%的数据?太多了)

只修正开发集/测试集的标签,而不修正训练集的标签是合理的,训练集通常比前2者大得多,算法是相当健壮的。

2.3 快速搭建第一个系统,并进行迭代

快速设立开发集和测试集还有指标,如果目标定错了,之后改也是可以的
找到训练集,并进行训练
在开发及和测试集,评估指标表现如何
建立好第一个系统之后,就可以用到偏差方差分析,还有错误分析来确定下一步优先做什么。

2.4 使用来自不同分布的数据进行训练和测试

在这里插入图片描述

第一种选择:随机分配到训练、开发和测试集中,开发集、测试集各包含2500个样本,训练集有205000个样本。
结果:观察开发集,2500个样本很多都是来自网页下载的图片,并不是真正关心的 数据分布,真正要处理的是来自手机的图片。建立开发集的目的是瞄准目标,而这个选择瞄准目标的方式,大部分精力用于优化来自网页下载的图片。

第二种选择:训练集包含来自网页的20万图片以及来自手机拍摄5000张图片,开发集是2500张来自应用的图片,测试集也是2500张来自应用的图片。
结果:好处:瞄准的目标就是想要处理的目标。训练集和开发集、测试集的分布不一样,在长期能够给你带来更好的系统性能。

2.5 数据分布不匹配时的偏差与方差的分析

在这里插入图片描述

训练-开发集是从训练集的分布中挖出来的,因此训练-开发集与训练集具有相同的分布。即开发集与测试集来自同一分布,而训练集与训练-开发集来自同一分布。

训练误差&训练-开发误差,差距 8 %,但是两者数据是同分布的,所以问题是泛化性能差,高方差问题
训练误差&训练-开发误差,差距0.5 %,方差问题很小,但是在开发集上误差为 10%,训练-开发集&开发集上的数据,模型都没有在上面训练过,由于他们是不同分布,模型擅长前者,而你关心的开发集,模型表现不好,这称之为数据不匹配
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 处理数据不匹配问题

发现有严重的数据不匹配,亲自做误差分析,了解训练集和开发集/测试集的具体差异
为了避免对测试集过拟合,要做误差分析,应该人工去看开发集而不是测试集
例:
1、开发一个语音激活的后视镜应用,你可能要听一下开发集的样本,弄清楚开发集和训练集有什么不同:发现很多开发集样本汽车噪音很多,后视镜经常识别错误街道号码。
2、如果你发现车辆背景噪音是主要误差来源,那么你可以模拟车辆噪声数据;
或者你发现很难识别街道号码,你可以有意识地收集更多人们说数字的音频数据,加到你的训练集里
3、如果目标是让训练数据更接近开发集,其中一种技术是人工合成数据

人工数据合成有一个潜在问题:你在安静的背景里录得 10000小时 音频数据,你只录了1小时车辆背景噪音,将这1小时汽车噪音循环放10000次,并叠加到上面的语音,结果:人听起来,这个音频没什么问题,但是有一个风险,有可能你的学习算法对这1小时汽车噪音过拟合,你只录了1小时汽车噪音,只模拟了全部数据空间的一小部分(噪声过于单一),所以找 10000 小时不同的噪声叠加在音频上是合理的。

2.7 迁移学习

在这里插入图片描述

如果放射科数据很小,则需要重新训练最后一层的权重,就是w[L]和b[L],并保持其他参数不变。即只需训练输出层前的最后一层,或者也许是最后一两层。
如果有很多数据,也许可以重新训练网络中的所有参数。

如果你重新训练神经网络中的所有参数,那么这个在图像识别数据的初期训练阶段,有时称为预训练,因为你在用图像识别数据去预先初始化,或者预训练神经网络的权重。然后,如果你以后更新所有权重,然后在放射科数据上训练,有时这个过程叫微调
在这里插入图片描述

迁移学习发挥作用的场合:
在迁移来源问题中有很多数据,但迁移目标问题没有那么多数据。(例如:你有100万张图像识别数据,而只有100张X射线图像)
数据量如果反过来了,迁移学习可能就没有意义了(没有太大的帮助)

2.8 多任务学习

在这里插入图片描述

输入图像x(i),这里有4个标签,即y(i)是一个4*1向量。整体来看这个训练集标签和以前类似,我们将训练集的标签水平堆叠起来
在这里插入图片描述

则对于整个训练集的平均损失:
在这里插入图片描述

L指的是logistic损失:
在这里插入图片描述

整个训练集的平均损失和之前分类猫的例子主要区别在于,现在你要对j=1到4求和
与softmax回归的主要区别在于,与softmax回归不同,softmax将单个标签分配给单个样本

多任务学习什么时候有意义?

1>	如果你训练的一组任务,可以共用低层次特征
2>	单项任务可以从多任务学习得到很大性能提升,前提:其他任务数据总量加起来必须比单个任务的数据量大的多
3>	训练一个足够大的神经网络,多任务学习肯定不会或者很少会降低性能,比单独训练神经网络来单独完成各个任务性能要更好

注:多任务学习 的使用频率要低于迁移学习计算机视觉
一个例外是物体检测,人们经常训练一个神经网络同时检测很多不同物体,这比训练单独的神经网络来检测视觉物体要更好。

2.9 什么是端到端的深度学习?

以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段,用单个神经网络代替它
例:语音识别为例,端到端深度学习做的是,训练一个巨大的神经网络,输入就是一段音频,输出直接是听写文本。

端到端深度学习的挑战之一:需要大量数据才能让系统表现良好。

人脸识别门禁:
比起一步到位,把这个问题分解为两个更简单的步骤。
首先,弄清楚脸在哪里:观察一张图,找出人脸所在的位置,把人脸图像框出来,有很多标签数据(x,y),x是图片,y是人脸的位置
第二步,看着脸,弄清楚这是谁:(x,y)其中x是门禁系统拍摄的图像,y是那人的身份。

2.10 是否要使用端到端的深度学习?

端到端深度学习的好处:

1>首先端到端(end-to-end)学习真的只是让数据说话。如果有足够多的数据,直接输入去训练神经网络,更能捕获数据中的信息,而不是引入人类的成见
2>所需手工设计的组件更少,所以这也许能够简化你的设计工作流程,你不需要花太多时间去手工设计功能。

端到端深度学习的缺点:

1>它可能需要大量的数据。
2>它排除了可能有用的手工设计组件

在构建一个新的机器学习问题时,在决定是否使用端到端深度学习,关键问题(key question)是,你有足够的数据能够直接学到从x映射到y足够复杂的函数吗?

注:纯粹的端到端深度学习方法,前景不如更复杂的多步方法(比如人脸识别,人脸每次的位置是变化的,先识别出有人脸,然后把人脸区域截取出来,再对其进行预测,分步进行)。因为目前能收集到的数据,还有我们现在训练神经网络的能力是有局限的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32第九节(中级篇):RCC(第三节)—— 使用HSE配置系统时钟并使用MCO输出监控系统时钟

前言 这节课我们开始学习使用HSE配置系统时钟并使用MCO输出监控系统时钟&#xff0c;上节课我们讲了固件库里的系统时钟配置函数&#xff0c;是机器写的&#xff0c;我们现在自己来写一个。 STM32第九节&#xff08;中级篇&#xff09;&#xff1a;RCC&#xff08;第三节&…

【人工智能】Gitee AI 天数智芯有奖体验开源AI模型,一定能有所收货,快来体验吧

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章。 这是《人工智能》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 目录 前言两大赛道天数智芯1.模型地址2.天数智芯专区3.选择模型4.模型详情页5.部署模型6.成功部署7.执行例子8.移除模型 千模盲…

被大家低估的Excel函数扫地僧choose函数

今天我们要跟大家介绍Excel函数界的又一个世外高手——引用函数CHOOSE。 首先来看下它的基本语法&#xff1a; CHOOSE(索引值,参数1,[参数2],…[参数254]) CHOOSE函数主要用于根据索引值从一组数据中返回相应位置的数值。索引值是介于1到254之间的数字&#xff0c;或者是包含…

2024全网最全的完整的性能测试流程!

完整的性能测试流程 一、准备工作 在什么阶段开展性能测试工作&#xff1f;一般情况下&#xff0c;是在被测系统已完成功能测试、系统趋于稳定的情况下&#xff0c;才会进行性能测试。 1. 组建测试团队 根据被测系统的实际情况&#xff0c;组建一个性能测试团队&#xff0c;团…

[QJS xmake] 非常简单地在Windows下编译QuickJS!

文章目录 前言准备C编译器xmake编译包 工程准备修改版本号第一遍编译第二遍编译效果 前言 quickjs是个很厉害的东西啊&#xff0c;我一直想编译一下的&#xff0c;奈何一直没成功。现在找了点时间成功编译了&#xff0c;写篇文章记录一下。当前版本&#xff1a;2024-1-13 应该…

STM32CubeIDE基础学习-LED闪烁实验

STM32CubeIDE基础学习-LED闪烁实验 文章目录 STM32CubeIDE基础学习-LED闪烁实验前言第1章 硬件介绍第2章 新建工程2.1 基础工程配置部分2.2 工程外设配置部分2.3 生成工程代码部分2.4 输出HEX文件、编译下载 第3章 代码编写3.1 方式1&#xff1a;IO翻转3.2 方式2&#xff1a;调…

“西安大重澳生物科技有限公司”——甄选优质企业品牌入围央媒

西安大重澳生物科技有限公司&#xff0c;一家专注于生物科技研发的企业&#xff0c;自2017年成立以来&#xff0c;致力于开发革命性的肤用肽制剂产品。近日&#xff0c;成功入围央视新媒体直播盛典。在持续的创新与努力下&#xff0c;畅夫泰R畅肤肽品牌已成为备受瞩目的名副其实…

园区配电监测信息系统

园区配电监测信息系统是一款集成了高科技、数据分析和管理的系统&#xff0c;旨在实时监测和控制园区内的电力供应&#xff0c;提高电力使用效率&#xff0c;减少能源浪费&#xff0c;确保电力安全。该系统通过现代通信技术、自动控制技术和计算机技术&#xff0c;实现对园区配…

码云简化版使用教程

码云简化版使用教程 ①创建本地项目 ②在本地项目根目录下创建git相关目录及文件 ③在码云上创建新的仓库 ④在本地项目中配置仓库地址&#xff0c;提交项目内容 下面直接从第二步开始讲解 在本地项目根目录下创建git相关目录及文件 1、打开项目根目录&#xff0c;进入cmd界…

Huggingface 笔记:大模型(Gemma2B,Gemma 7B)部署+基本使用

1 部署 1.1 申请权限 在huggingface的gemma界面&#xff0c;点击“term”以申请gemma访问权限 https://huggingface.co/google/gemma-7b 然后接受条款 1.2 添加hugging对应的token 如果直接用gemma提供的代码&#xff0c;会出现如下问题&#xff1a; from transformers i…

邮箱验证码api接口申请流程?有哪些条件?

邮箱验证码API服务如何选择&#xff1f;怎么正确设置邮箱验证码&#xff1f; 邮箱验证码API接口在保障用户账号安全、提高用户体验方面发挥着至关重要的作用。AokSend将详细介绍邮箱验证码API接口的申请流程&#xff0c;帮助您顺利集成这一功能&#xff0c;增强应用的安全性。…

【ADF4351】使用FPGA进行SPI寄存器配置、使用FPGA计算各个频率的频点,ADF4351配置程序

简介 特性 输出频率范围&#xff1a;35 MHz至4,400 MHz 小数N分频频率合成器和整数N分频频率合成器 具有低相位噪声的VCO 可编程的1/2/4/8/16/32/64分频输出 典型抖动&#xff1a;0.3 ps rms EVM(典型值&#xff0c;2.1 GHz)&#xff1a; 0.4% 电源&#xff1a;3.0 V至3.6 V …

基于spring boot框架的发艺美发店管理系统

摘 要 系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而…

算法详解——选择排序和冒泡排序

一、选择排序 选择排序算法的执行过程是这样的&#xff1a;首先&#xff0c;算法遍历整个列表以确定最小的元素&#xff0c;接着&#xff0c;这个最小的元素被置换到列表的开头&#xff0c;确保它被放置在其应有的有序位置上。接下来&#xff0c;从列表的第二个元素开始&#x…

Java进阶 Maven基础

资料格式 配置文件 com.itheima Java代码 Statement stat con.createStatement(); 示例 com.itheima 命令 mvn test - Maven简介 传统项目管理状态分析 Maven 是什么 Maven的本质是一个项目管理工具&#xff0c;将项目开发过程抽象成一个项目对象模型&#xff08;POM&…

如何使用phpStudy在Windows系统部署静态站点并实现无公网IP远程访问

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

文献速递:深度学习乳腺癌诊断---使用深度学习改善乳腺癌组织学分级

Title 题目 Improved breast cancer histological grading using deep learning 使用深度学习改善乳腺癌组织学分级 01 文献速递介绍 乳腺癌组织学分级是乳腺癌中一个确立的临床变量&#xff0c;它包括来自三个方面的信息&#xff0c;即小管形成程度、核多态性和有丝分裂计…

java数据结构与算法刷题-----LeetCode1005. K 次取反后最大化的数组和(这就不是简单题)

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 卷来卷去&#xff0c;把简单题都卷成中等题了 文章目录 1. 排序后从小到大…

免费录屏软件无水印推荐,录制视频更轻松(3款)

随着互联网技术的快速发展&#xff0c;录制屏幕成为人们日常生活中日益重要的需求。无论是制作教学视频、直播分享&#xff0c;还是录制游戏过程&#xff0c;一款好用且免费的录屏软件都是不可或缺的。然而&#xff0c;许多录屏软件在录制过程中会添加水印&#xff0c;影响了录…

电脑如何直接压缩图片?这几个方法帮你解决

在许多社交媒体平台上&#xff0c;上传照片时经常需要进行大小调整&#xff0c;这是因为较大的照片文件可能会占用更多的存储空间&#xff0c;并且在传输过程中需要更长的时间。通过图片压缩可以减小文件大小&#xff0c;提高上传速度&#xff0c;并节省存储空间&#xff0c;那…