当前位置: 首页 > news >正文

【机器学习】——机器学习思考总结

摘要

这篇文章深入探讨了机器学习中的数据相关问题,重点分析了神经网络(DNN)的学习机制,包括层级特征提取、非线性激活函数、反向传播和梯度下降等关键机制。同时,文章还讨论了数据集大小的标准、机器学习训练数据量的需求、评分卡模型的数据量要求,以及个人消费贷场景下的数据量分析等内容,旨在为机器学习实践提供数据方面的思考与经验。

1. 为什么神经网络(DNN)能够有效学习数据特征? 是怎么实现?

神经网络(DNN, Deep Neural Networks)能够有效学习数据特征,主要依赖于多层结构自动特征提取能力,通过非线性变换逐步从原始数据中抽取有用信息,从而完成复杂任务,如图像识别、语音识别、自然语言处理等。

1.1. 深度神经网络(DNN)的特征学习能力

DNN 之所以能有效学习数据特征,主要依赖以下关键机制:

1.2. 层级特征提取(Hierarchical Feature Extraction)

  • 传统机器学习(如 SVM、决策树)依赖人工特征工程,特征设计往往需要领域知识;
  • DNN 通过多层神经元,自动学习数据的不同层级特征
    • 浅层(前几层):学习低级特征(如边缘、纹理)
    • 中层(中间层):学习中级特征(如形状、局部模式)
    • 深层(后几层):学习高级特征(如物体、场景)

示例:图像分类(CNN)

  • 第一层:检测边缘
  • 第二层:检测简单形状(如角、线)
  • 第三层:检测复杂模式(如眼睛、嘴巴)
  • 最后层:判断图像类别(如猫、狗、人)

1.3. 通过非线性激活函数实现复杂映射

深度神经网络使用非线性激活函数(如 ReLU、Sigmoid、Tanh)来引入非线性变换,让神经网络能学习复杂的输入-输出关系。

  • 线性模型(如线性回归)只能学习线性关系
  • DNN 通过非线性激活函数,使模型能学习非线性关系

ReLU 的优势

  • 计算简单,速度快
  • 解决梯度消失问题
  • 提高模型的表达能力

1.4. 反向传播(Backpropagation)+ 梯度下降(Gradient Descent)

神经网络通过反向传播算法(Backpropagation)和梯度下降优化不断调整参数,使损失最小化,从而学习有效的特征。

1.5. 参数共享与权重共享

某些神经网络(如卷积神经网络 CNN)使用参数共享机制,使模型能更高效地学习数据特征:

  • CNN:通过卷积核(Filter)学习局部特征,并在整个输入空间共享参数,减少计算量。
  • RNN/LSTM:时间序列数据中,共享权重学习长期依赖关系。

示例:CNN 识别猫

  1. 卷积层:检测图像边缘、纹理、形状
  2. 池化层(Pooling):降维,减少计算量
  3. 全连接层:将提取的特征用于分类(如猫 or 狗)

1.6. 过拟合 & 泛化能力

深度学习虽然能学习复杂特征,但过拟合是一个常见问题(在训练数据上效果好,但测试数据上表现差)。

解决方案

方法

作用

正则化(L1/L2)

防止模型过度依赖特定特征

Dropout

随机丢弃部分神经元,防止过拟合

数据增强(Data Augmentation)

扩展训练数据,提高泛化能力

Batch Normalization

使每一层输入数据分布稳定,加速训练

1.7. 深度神经网络如何实现特征学习?

总结来说,深度神经网络能够有效学习数据特征的原因包括:

  1. 层级特征提取(低级 → 高级特征)。
  2. 非线性激活函数 让网络能学习复杂映射关系。
  3. 反向传播 + 梯度下降 让网络不断优化权重,找到最优特征表示。
  4. 参数共享(如 CNN、RNN)减少计算复杂度,提高效率。
  5. 正则化、Dropout、BatchNorm 提高泛化能力,避免过拟合。

深度学习的本质: e通过自动特征学习,减少人工特征工程的依赖,在复杂任务上超越传统机器学习!

2. 数据集大小标准? 什么是大数据集、什么中数据集?什么小数据集。

数据集的大小通常没有严格的数值标准,但在机器学习和深度学习领域。

一般按照以下大致标准来区分 小数据集、中等数据集、大数据集

类别

数据量(样本数 N)

存储大小

示例

小数据集(Small Dataset)

N < 1万

MB 级(<100MB)

Kaggle 小型数据集、UCI 数据集

中等数据集(Medium Dataset)

1万 ≤ N < 100万

GB 级(100MB - 10GB)

图像分类数据集(CIFAR-10)、金融交易数据

大数据集(Large Dataset)

N ≥ 100万

TB 级(10GB - TB 级)

ImageNet(1400万张图片)、电商交易数据、日志数据

超大规模数据集(Huge Dataset)

N ≥ 10亿

PB 级(TB - PB)

GPT 训练数据(万亿级 Token)、互联网爬虫数据

2.1. 不同数据集大小的影响

  1. 小数据集
    • 适合传统机器学习(SVM、决策树),不适合深度学习。
    • 容易过拟合,需要使用数据增强正则化
    • 适合交叉验证(如 10-Fold CV) 来稳定评估。
  1. 中等数据集
    • 适合深度学习(CNN、RNN),但需要较强的计算资源(如 GPU)。
    • 可用简单的批量处理(Batch Training) 训练模型。
  1. 大数据集
    • 需要分布式计算(Hadoop、Spark、Flink)。
    • 适合深度学习(如 GPT、BERT)。
    • 需要GPU/TPU 加速,并行训练(数据并行、模型并行)。

2.2. 数据集大小示例

  • 小数据集
    • Iris 数据集(150 条数据,<1MB)
    • Titanic 生存预测(891 条数据,~5MB)
  • 中等数据集
    • CIFAR-10(6 万张图片,~175MB)
    • MNIST(7 万张手写数字,~60MB)
  • 大数据集
    • ImageNet(1400 万张图片,约 150GB)
    • Google BERT 训练数据(TB 级文本数据)
  • 超大数据集
    • GPT-4 训练数据(>TB 级,包含整个互联网文本)

2.3. 如何选择算法和计算资源

数据集大小

适合的算法

计算资源

小数据集

传统 ML(决策树、SVM、KNN)

CPU/小型 GPU

中等数据集

深度学习(CNN、RNN)

单机 GPU

大数据集

深度学习 + 分布式计算(Transformer, GPT)

分布式 GPU/TPU

超大数据集

GPT-4、LLM 训练

上万张 GPU/TPU

2.4. 数据集的大小与模型训练总结

  • N < 1万(小数据集) → 传统机器学习。
  • 1万 ≤ N < 100万(中数据集) → 深度学习可行,单机 GPU 训练。
  • N ≥ 100万(大数据集) → 需要分布式计算、GPU/TPU 并行。
  • N ≥ 10亿(超大数据集) → AI 训练(如 GPT-4),需要超级计算集群。

3. 机器学习需要多少训练数据?

机器学习所需的训练数据量取决于多个因素,包括模型的复杂度、数据的质量、问题的难度以及期望的性能水平。以下是一些关键影响因素:

3.1. 模型复杂度

  • 简单模型(如线性回归、逻辑回归):通常需要较少的数据,数百到数千条数据可能就能得到不错的效果。
  • 复杂模型(如深度神经网络):通常需要大量数据,可能是数十万甚至上百万条数据。

3.2. 数据维度(特征数)

  • 维度越高,所需数据越多(维度灾难)。
  • 经验法则:至少需要 10 倍于特征数 的数据样本。例如,如果有 100 个特征,建议至少有 1000 条数据。

3.3. 任务类型

  • 监督学习(如分类、回归):需要大量带标签的数据。
  • 无监督学习(如聚类、降维):通常可以用较少的数据,但效果依赖于数据的结构。
  • 强化学习:训练样本通常是通过与环境交互生成的,需要大量尝试和时间。

3.4. 数据质量

  • 高质量数据(无噪声、标注准确)可减少所需数据量。
  • 低质量数据(含有噪声、错误标签)可能需要更多数据才能弥补误差。

3.5. 经验法则

  • 小规模问题(如信用评分):数千到几万条数据可能足够。
  • 中等规模问题(如图像分类、推荐系统):通常需要 10万+ 数据。
  • 大规模问题(如自动驾驶、语音识别):往往需要 百万级别 甚至 上亿 数据。

3.6. 迁移学习(如果数据不足)

如果数据不足,可以使用预训练模型(如 ResNet、BERT),然后在小数据集上进行微调,减少对大规模数据的需求。

4. 数据集应该怎么划分测试集、训练集、验证集? 他们作用是什么?

4.1. 数据集定义

在机器学习或深度学习任务中,通常将数据集划分为 训练集(Train Set)验证集(Validation Set)测试集(Test Set),每个部分的作用如下:

4.1.1. 训练集(Training Set)

  • 作用:用于训练模型,让模型学习数据的特征和模式,调整内部参数(如神经网络的权重)。
  • 占比:通常占 60%~80%,如果数据量大,可以适当减少。

4.1.2. 验证集(Validation Set)

  • 作用:用于 调优模型超参数(如学习率、正则化参数)和 防止过拟合,帮助选择最优模型。
  • 占比:通常占 10%~20%,用于在训练过程中评估模型性能,调整模型结构或超参数。

4.1.3. 测试集(Test Set)

  • 作用:用于 最终评估模型的泛化能力,测试集的数据模型在训练和调优过程中完全不可见。
  • 占比:通常占 10%~20%,确保模型在未见过的数据上仍能保持较好的预测能力。

4.2. 数据划分的方法

4.2.1. 随机划分(自留法)

  • 直接按比例随机拆分数据,例如 70% 训练集,15% 验证集,15% 测试集

4.2.2. K折交叉验证(K-Fold Cross Validation)

  • 适用于数据量较少的情况,通常划分成 K 份,每次选择 K-1 份训练,剩下 1 份验证,循环 K 次,最终取平均结果。

4.2.3. 时间序列数据划分

  • 如果数据有时序特性(如金融、风控、交易数据),不能随机划分,而是按照时间顺序划分,如前 80% 作为训练集,后 10% 验证集,最后 10% 测试集

4.3. 风控、金融数据划分的特点

由于风控涉及时间敏感性数据,数据通常按时间划分而非随机划分。例如:

  • 过去 2 年的数据用于训练
  • 最近 6 个月的数据用于验证
  • 最近 1 个月的数据用于测试

这样可以更真实地模拟模型在生产环境中的表现。

5. 训练样本越多,学习获得具有强泛化能力的模型?

在机器学习中,数据集 DDD 通常被假设为独立同分布 (i.i.d.) 的,即数据样本是相互独立的,并且来自相同的分布。这一假设对于理论分析和模型泛化能力至关重要。

5.1. 训练样本越多,模型的泛化能力越强的原因:

减少过拟合

  • 训练样本较少时,模型可能会记住训练数据中的噪声和特殊模式,而不是学习到数据的真实分布,导致泛化能力较差。
  • 增加样本量后,模型能够更好地捕捉数据的整体特征,而不是仅仅记住个别样本,提高了模型的泛化能力。

更准确地逼近真实数据分布

  • 训练数据的目的是估计真实的数据分布 P(X,Y)P(X, Y)P(X,Y)。样本量越大,数据的统计特性(如均值、方差等)就越接近真实分布,避免了由于小样本引起的偏差(sampling bias)。
  • 例如,假设某个任务的数据分布是 P(X,Y)P(X, Y)P(X,Y),如果我们只采样了很少的数据,那么采样到的样本可能不能全面代表整个分布。随着样本量增加,数据的覆盖面更广,能够更好地反映 P(X,Y)P(X, Y)P(X,Y) 的真实情况。

符合大数定律

  • 根据大数定律,当样本数趋近无穷时,样本的经验分布会逐渐收敛于真实分布。换句话说,随着数据增多,模型训练时所依赖的经验分布会更接近数据的真实分布,从而提高泛化能力。

降低方差,提高模型稳定性

  • 在小数据集上训练的模型,其参数可能会对每个样本的细节高度敏感,导致模型的方差较大,即不同训练集上的训练结果可能差异较大。
  • 但如果训练样本充足,模型在不同数据集上的表现会更加稳定,即使更换训练集,模型也能保持较好的泛化性能。

结论: 当训练样本数量增加时,我们对真实数据分布 P(X,Y)的估计就会更加准确,避免过拟合,并且符合大数定律的收敛特性,从而提高模型的泛化能力。这也是为什么深度学习通常需要大规模数据集才能训练出高性能的模型。

6. 深度神经网络实现应用是不是依赖于现代计算机计算速度?

是的,深度神经网络(DNN) 的应用和发展高度依赖现代计算机的计算速度。DNN 需要大量的计算资源来训练和推理,特别是对于大规模数据和复杂模型(如 GPT、ResNet、Transformer),计算能力直接决定了其可行性和效率。

7. 评分卡模型(如信用评分卡、欺诈检测模型)数据量要求

金融风控公司建立评分卡模型(如信用评分卡、欺诈检测模型)时,数据量的需求取决于多个因素,包括业务场景、评分卡类型、数据质量以及建模方法。以下是详细的分析:

7.1. 评分卡建模的数据需求分析

7.1.1. 评分卡类型

  • 应用评分卡(Application Scorecard):用于评估新客户的信用风险,通常需要 10万+ 的历史申请数据。
  • 行为评分卡(Behavior Scorecard):用于评估已有客户的信用行为,需要 数十万甚至百万级 交易数据。
  • 催收评分卡(Collection Scorecard):用于预测违约客户的还款可能性,通常需要 至少几万条 违约客户数据。
  • 欺诈检测评分卡:涉及少数欺诈案例,可能需要 百万级数据 来确保足够的欺诈样本。

7.1.2. 数据维度(特征数)

  • 评分卡模型(如 Logistic 回归)一般使用 20~50 个变量,每个变量可能有多个衍生特征。
  • 经验法则:样本数至少是 特征数的 10 倍。如果有 30 个特征,至少需要 几万条数据

7.1.3. 违约率及少数类样本

  • 对于不平衡数据(如违约率 <5%),需要更大的数据集来保证违约客户样本充足。
  • 通常需要至少 5,000~10,000 条违约样本 才能建立稳健的模型。
  • 如果违约样本较少,可使用上采样、下采样或 SMOTE 方法增加数据量。

7.2. 经验数据量参考

评分卡类型

适用场景

推荐样本量(保守估计)

应用评分卡

贷款审批、信用卡申请

10万+

行为评分卡

现有用户还款预测

10万~50万

催收评分卡

违约催收

5万+

欺诈评分卡

交易反欺诈

50万~100万+

7.3. 如何减少对大数据的依赖?

  • WOE 分箱 + 变量筛选:降低变量维度,减少所需样本量。
  • 迁移学习:如果数据有限,可使用其他相似金融业务的数据进行迁移学习。
  • 集成学习:组合多个小样本模型,提高泛化能力。
  • 合成数据:对少数类样本(如欺诈)进行数据增强。

7.4. 评分卡模型总结

📌 评分卡建模至少需要几万条数据,但更复杂的场景可能需要 10 万甚至百万级数据。
📌 如果你能提供更具体的业务场景(如个人消费贷、企业贷款、信用卡、反欺诈等),我可以帮你更精准估算数据需求!

7.5. 计算能力对深度神经网络的影响

7.6. 推理(Inference)仍然依赖计算

虽然推理计算量比训练小,但对于大模型(如 ChatGPT、DALL·E)仍然非常重要:

  • 实时性要求高(如自动驾驶、智能语音助手)
  • 并发量大(如搜索引擎、推荐系统)

计算优化方案

  • 低延迟部署:使用专用 AI 加速芯片(如 TPU、NPU)
  • 模型量化(Quantization):减少计算量,提高速度

8. 未来研究大模型是不是可以从的模型优化与计算两个方向?

是的,未来的深度学习模型研究可以从模型优化计算优化两个主要方向进行突破,这两者相辅相成,共同推动人工智能的发展。

8.1. 模型优化方向

8.1.1. 更高效的模型架构

目标:在不增加计算成本的情况下,提高模型性能

  • 轻量化神经网络(EfficientNet, MobileNet):减少参数,提高推理速度,适用于移动端/边缘计算。
  • 稀疏神经网络(Sparse Networks):通过剪枝(Pruning)和量化(Quantization)减少计算量。
  • 自监督学习(Self-Supervised Learning, SSL):减少对大规模标注数据的依赖,提高数据利用率。
  • 混合专家模型(Mixture of Experts, MoE):像 GPT-4 等大模型,使用部分激活的专家网络,减少计算消耗。

8.1.2. 训练方法优化

目标:减少训练时间,提高泛化能力

  • 蒸馏学习(Knowledge Distillation):用大模型训练小模型,提高效率。
  • 对比学习(Contrastive Learning):提高无监督学习效果,减少数据需求。
  • 梯度压缩(Gradient Compression):减少分布式训练中的通信开销,加速大规模模型训练。
  • 自适应优化算法(Adaptive Optimization):如 LAMB、Lion,比 Adam 更适合大模型训练。

8.1.3. 模型的泛化与鲁棒性

目标:让模型更稳定,适应不同环境

  • 抗对抗攻击(Adversarial Robustness):提升 AI 在现实环境下的可靠性。
  • 多模态学习(Multimodal Learning):结合图像、文本、语音,提高 AI 认知能力。
  • 小样本学习(Few-shot / Zero-shot Learning):让模型能从少量样本中学习,提高应用范围。

8.2. 计算优化方向

8.2.1. 硬件加速

目标:使用更高效的硬件减少计算开销

  • GPU 并行计算优化(如 NVIDIA CUDA):加速矩阵计算,提高训练效率。
  • 专用 AI 芯片(TPU、NPU):Google TPU 专门用于 AI 计算,比 GPU 更高效。
  • 存储与计算融合(Processing-in-Memory, PIM):减少数据移动,提高 AI 计算速度。
  • 光子计算(Photonic Computing):未来 AI 计算可能摆脱电子器件的限制,实现更快速度。

8.2.2. 分布式计算

目标:利用多台服务器加速训练

  • 数据并行(Data Parallelism):每个 GPU 处理一部分数据,加快训练。
  • 模型并行(Model Parallelism):每个 GPU 处理模型的不同部分,适合超大模型(如 GPT-4)。
  • 联邦学习(Federated Learning):多个设备协作训练 AI,保护隐私(如手机 AI)。

8.2.3. 计算方法优化

目标:减少计算量,提升计算效率

  • 低比特计算(Low-bit Computation):使用 8-bit 甚至 4-bit 计算代替 32-bit,提高速度。
  • 动态计算(Dynamic Computation):只计算必要部分,减少冗余计算,如 Transformer 的稀疏注意力(Sparse Attention)。
  • 能效优化(Energy-efficient AI):降低 AI 计算的能耗,使 AI 更环保。

8.3. 未来AI研究趋势

方向

研究目标

代表技术

模型优化

提高准确率、减少计算需求

EfficientNet, MoE, 知识蒸馏

计算优化

降低计算成本、加快推理速度

TPU, NPU, 分布式计算

训练优化

提高训练效率、减少数据需求

联邦学习, 对比学习

推理优化

让 AI 更快、更轻量

量化, 稀疏计算, 低比特计算

🚀 未来 AI 的发展,既要“更聪明”,也要“更高效”!

博文参考

相关文章:

【机器学习】——机器学习思考总结

摘要 这篇文章深入探讨了机器学习中的数据相关问题&#xff0c;重点分析了神经网络&#xff08;DNN&#xff09;的学习机制&#xff0c;包括层级特征提取、非线性激活函数、反向传播和梯度下降等关键机制。同时&#xff0c;文章还讨论了数据集大小的标准、机器学习训练数据量的…...

高效定位 Go 应用问题:Go 可观测性功能深度解析

作者&#xff1a;古琦 背景 自 2024 年 6 月 26 日&#xff0c;阿里云 ARMS 团队正式推出面向 Go 应用的可观测性监控功能以来&#xff0c;我们与程序语言及编译器团队携手并进&#xff0c;持续深耕技术优化与功能拓展。这一创新性的解决方案旨在为开发者提供更为全面、深入且…...

emWin图片旋转

图片取模&#xff1a; //emwin6.16 //正常绘制 hMem0 GUI_MEMDEV_Create(0, 0, bmPHPH.XSize, bmPHPH.YSize); hMem1 GUI_MEMDEV_Create(0, 0, bmPHPH.XSize, bmPHPH.YSize); //正常绘制 hMem0 GUI_MEMDEV_CreateFixed32 (0,0, bmPHPH.XSize, bmPHPH.YSize); hMem1 GUI_M…...

CSS 父类元素的伪类 选择器

父元素的 :hover 状态可以影响子元素的样式。当父元素处于 :hover 状态时&#xff0c;可以通过 CSS 的选择器为子元素设置样式。 .parent:hover .child 这种选择器叫做 后代选择器&#xff08;Descendant Selector&#xff09; &#xff0c;结合了 :hover 伪类。它的作用是&…...

【Spring Boot 与 Spring Cloud 深度 Mape 之三】服务注册与发现:Nacos 核心实战与原理浅析

【Spring Boot 与 Spring Cloud 深度 Mape 之三】服务注册与发现&#xff1a;Nacos 核心实战与原理浅析 #SpringCloudAlibaba #Nacos #服务注册 #服务发现 #服务治理 #微服务 #SpringBoot #Java 系列衔接&#xff1a;在前两篇 [【深度 Mape 之一】 和 [【深度 Mape 之二】] 中…...

JS实现动态点图酷炫效果

实现目标 分析问题 整个图主要是用canvas实现&#xff0c;其中难点是将线的长度控制在一定范围内、并且透明度随长度变化。 前置知识 canvas绘制点、线、三角形、弧形 // 点ctx.moveTo(this.x, this.y);ctx.arc(this.x, this.y, this.r,0, 2 * Math.PI, false);ctx.fillStyle …...

使用ModbusRTU读取松下测高仪的高度

使用C#通过Modbus RTU读取松下测高仪高度 1. 准备工作 1.1 硬件连接 确保松下测高仪支持Modbus RTU协议(需查阅设备手册确认)。通过RS-485或RS-232接口连接设备与计算机,可能需要USB转串口适配器。确认通信参数(波特率、数据位、停止位、奇偶校验),常见设置为:9600波特…...

SQL Server从安装到入门一文掌握应用能力。

本篇文章主要讲解,SQL Server的安装教程及入门使用的基础知识,通过本篇文章你可以快速掌握SQL Server的建库、建表、增加、查询、删除、修改等基本数据库操作能力。 作者:任聪聪 日期:2025年3月31日 一、SQL Server 介绍: SQL Server 是微软旗下的一款主流且优质的数据库…...

Ubuntu上给AndroidStudio创建桌面图标

最近使用了Ubuntu开发了&#xff0c;默认的android studio没有桌面图标&#xff0c;还是很不方便&#xff0c;每次都要cd到bin目录启动studio.sh。 步骤1&#xff1a;cd /usr/share/applications linux系统里面&#xff0c;所有的应用启动入口都在 /usr/share/applications …...

HarmonyOS:ComposeTitleBar 组件自学指南

在日常的鸿蒙应用开发工作中&#xff0c;我们常常会面临构建美观且功能实用的用户界面的挑战。而标题栏作为应用界面的重要组成部分&#xff0c;它不仅承载着展示页面关键信息的重任&#xff0c;还能为用户提供便捷的操作入口。最近在参与的一个项目里&#xff0c;我就深深体会…...

C# System.Net.Dns 使用详解

总目录 前言 在网络编程中&#xff0c;域名系统&#xff08;DNS&#xff09;是互联网的核心组成部分之一&#xff0c;它将人类可读的域名转换为机器可用的IP地址。在.NET框架中&#xff0c;System.Net.Dns类提供了一组静态方法&#xff0c;用于执行与DNS相关的操作。本文将详细…...

Spring-事务属性

1.隔离属性 数据库对于隔离属性的支持 隔离属性的值MySQLOracle ISOLATION.READ_COMMITTED √ √ ISOLATION.REPEATABLE_READ√ISOLATION.SERIALIZABLE√√ Oracle不支持REPEATABLE_READ值 如何解决不可重复度 采用的多版本比对的方式 解决不可重复读 默认隔离属性 ISO…...

“上云入端” 浪潮云剑指组织智能化落地“最后一公里”

进入2025年&#xff0c;行业智能体正在成为数实融合的核心路径。2025年初DeepSeek开源大模型的横空出世&#xff0c;通过算法优化与架构创新&#xff0c;显著降低算力需求与部署成本&#xff0c;推动大模型向端侧和边缘侧延伸。其开源策略打破技术垄断&#xff0c;结合边缘计算…...

Docker 的实质作用是什么

Docker 的实质作用是什么 目录 Docker 的实质作用是什么**1. Docker 的实质作用****2. 为什么使用 Docker?****(1)解决环境一致性问题****(2)提升资源利用率****(3)简化部署与扩展****(4)加速开发与协作****3. 举例说明****总结**Docker 的实质是容器化平台,核心作用…...

WEB安全--文件上传漏洞--白名单绕过

一、MIME类型&#xff08;Content-Type&#xff09;绕过 原理&#xff1a;在我们不能绕过白名单后缀限制时&#xff0c;如果后端检测的是文件类型&#xff08;数据包中的Content-Type字段&#xff09;&#xff0c;那我们可以利用合法类型替换 示例&#xff1a;在上传,php后缀…...

Mac 本地化部署 dify

Macbook 本地化部署 dify 目录 Macbook 本地化部署 dify安装dockerdocker下载地址 安装dify下载dify到本地github可能遇到的问题: github打开超时在本地解压dify.zip文件本地化部署docker部署可能遇到的问题: 部署超时登录体验 dify 安装docker docker下载地址 根据电脑芯片选…...

MySQL和navicat日常使用记录

navicat界面上之前跟localhost连接的数据库可以直接点开了 这里有excel导入的地方 然后添加文件&#xff0c;选则文件是哪个&#xff0c;勾选excel的表是哪个&#xff0c;根据实际情况定义一些附加选项&#xff0c;注意时间格式&#xff0c;下一步下一步&#xff0c;然后选择主…...

linux进程信号 ─── linux第27课

在 Linux 系统中&#xff0c;信号&#xff08;Signals&#xff09; 是一种进程间通信&#xff08;IPC&#xff09;机制&#xff0c;用于通知进程发生了某种事件或请求进程执行特定操作。 你怎么能识别信号呢&#xff1f;识别信号是内置的&#xff0c;进程识别信号&#xff0c;是…...

云安全之k8s未授权漏洞总结

一、k8s介绍 全称是 kubernetes&#xff0c;是谷歌在2014年推出的一种开源容器编排系统&#xff0c;后来捐赠给了云原生计算基金会&#xff08;CNCF&#xff09;。因将k后面的8个字母进行缩写后&#xff0c;被广泛简称为K8s。随着容器技术的发展&#xff0c;面临着容器数量庞大…...

博客学术汇测试报告

Author&#xff1a;MTingle major:人工智能 Build your hopes like a tower! 目录 一.项目简介 二.开发技术 三.测试用例设计 四.自动化测试代码 common包 博客编辑 博客列表 登录页面 未登录测试 主函数 五.性能测试 六.测试总结 一.项目简介 该项目是一款基于 S…...

揭秘:父子组件之间的传递

基础知识 组件与组件之间有三大方面的知识点&#xff1a; 子组件通过props defineProps&#xff08;{}&#xff09;接收父组件传递到参数和方法&#xff1b;子组件可以通过定义 emit 事件&#xff0c;向父组件发送事件&#xff1b;父组件调用子组件通过defineExpose 导出的方法…...

leetcode 169.Majority Element

这道题虽然简单&#xff0c;但适合用来练习各种解法。《剑指offer》5.2节 面试题29与此题一样&#xff0c;并且给出了leetcode官方题解未给出的快速选择的解法。 方法一、用哈希表解决 class Solution { public:int majorityElement(vector<int>& nums) {unordered…...

魔改chromium——基础环境搭建

谷歌chromium环境要求详细文档 软件和环境要求&#xff0c;必须安装&#xff0c;硬性要求 系统环境&#xff1a;Windows 10&#xff0c;内存最小8GB&#xff0c;推荐16GB&#xff0c;NTFS格式磁盘最少100GB空间Git版本&#xff1a;安装最新版本即可&#xff0c;Git桌面端下载…...

[网络_1] 因特网 | 三种交换 | 拥塞 | 差错 | 流量控制

目录 一、网络、互连网与因特网 二、因特网发展 三、因特网的组成与功能 四、计算机网络的分类 五、因特网的标准化与意义 一、三种传输方式&#xff1a;电路交换 vs 报文交换 vs 分组交换 1. 电路交换&#xff08;Circuit Switching&#xff09;——像“打电话” 2. 报…...

android 何如查找内网设备 IP

前沿 最近在与嵌入式设备打交道,需要对设备进行配网。发现 UpnP 服务不稳定,经常收不到设备的信息。就想着能不能通过内网查找到 IP 后,直接与设备通信,不停的请求设备信息。 1.Android 端通过 UDP 组播(Multicast)查找设备 如果嵌入式设备支持 UDP 组播,Android 端可…...

Oracle数据库数据编程SQL<3.5 PL/SQL 存储过程(Procedure)>

存储过程(Stored Procedure)是 Oracle 数据库中一组预编译的 PL/SQL 语句集合&#xff0c;存储在数据库中并可通过名称调用执行。它们是企业级数据库应用开发的核心组件。 目录 一、存储过程基础 1. 存储过程特点 2. 创建基本语法 3. 存储过程优点 4. 简单示例 二、没有…...

六级词汇量积累day13

commend 表扬 exhaust 耗尽&#xff0c;用尽 weary 疲惫的&#xff0c;劳累的 fatigue 疲惫&#xff0c;劳累 obese 臃肿的&#xff0c;肥胖的 adopt 采纳&#xff0c;收养 adapt 适应 accomplish 完成&#xff0c;实现 accomplishment 成就 achieve 实现&#xff0c;完成 achi…...

蓝桥杯15届JAVA_A组

将所有1x1转化为2x2 即1x1的方块➗4 然后计算平方数 记得-1 2 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter;public class Main{static BufferedReader in new BufferedReader(new In…...

OpenCV图像输入输出模块imgcodecs(imwrite函数的用法)

《OpenCV计算机视觉开发实践&#xff1a;基于Python&#xff08;人工智能技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 3.2.3 imwrite保存图片 函数imwrite可以用来输出图像到文件&#xff0c;其声明如下&#xff1a; imwrite(filename,…...

win 远程 ubuntu 服务器 安装图形界面

远程结果&#xff1a;无法使用docker环境使用此方法 注意要写IP和:数字 在 ubuntu 服务器上安装如下&#xff1a; # 安装 sudo apt-get install tightvncserver # 卸载 sudo apt purge tightvncserver sudo apt autoremove#安装缺失的字体包&#xff1a; sudo apt update s…...

地下管线三维建模软件工具MagicPipe3D V3.6.1

经纬管网建模系统MagicPipe3D&#xff0c;基于二维矢量管线管点数据本地离线参数化构建地下管网三维模型&#xff08;包括管道、接头、附属设施等&#xff09;&#xff0c;输出标准3DTiles、Obj模型等格式&#xff0c;支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、…...

vue子组件生命周期的执行顺序

在 Vue 中&#xff0c;子组件的生命周期钩子函数的执行顺序受父组件的影响&#xff0c;通常遵循**“先创建子组件&#xff0c;后创建父组件&#xff1b;先销毁父组件&#xff0c;后销毁子组件”**的原则。 1. 组件创建&#xff08;挂载&#xff09;阶段 当父组件挂载时&#x…...

【含文档+PPT+源码】基于微信小程序的在线考试与选课教学辅助系统

项目介绍 本课程演示的是一款基于微信小程序的在线考试与选课教学辅助系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统…...

树莓派超全系列文档--(17)树莓派配置显示器

树莓派配置显示器 显示支持 HDMI 显示器设置分辨率和旋转手动设置分辨率和旋转确定显示设备名称设置自定义分辨率设置自定义旋转 控制台分辨率和旋转 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 显示 要配置 Raspberry Pi 使用非默认显示模式…...

python将pdf文件转为图片,如果pdf文件包含多页,将转化的多个图片通过垂直或者水平合并成一张图片

要将PDF文件转换为图片&#xff0c;并将多页PDF垂直合并成一张图片&#xff0c;可以使用PyMuPDF&#xff08;也称为fitz&#xff09;库来读取PDF文件&#xff0c;并使用Pillow库来处理和合并图片。以下是一个示例代码&#xff0c;展示了如何实现这个功能&#xff1a; 首先&…...

JVM基础原理

JVM是一个虚拟化的计算机&#xff0c;它可以执行Java字节码文件&#xff08;.class文件&#xff09;&#xff0c;实现Java程序跨平台的特性。JVM负责将Java程序的字节码翻译成具体操作系统的机器码&#xff0c;从而能够在不同的平台上运行。JVM的核心原理涉及以下几个重要方面 …...

Miniforge3高效管理 Python环境:2025年最新实践指南

Miniforge3 高效管理 Python 环境:2025 年最新实践指南 在现代开发中,灵活高效地管理 Python 环境至关重要。Miniforge3 作为一款轻量级 Conda 管理工具,不仅默认采用更新更快的 conda-forge 软件源,还对 ARM 架构(例如 Apple M1/M2/M3)有着出色的适配性。相比于传统的 …...

31天Python入门——第17天:初识面向对象

你好&#xff0c;我是安然无虞。 文章目录 面向对象编程1. 什么是面向对象2. 类(class)3. 类的实例关于self 4. 对象的初始化5. __str__6. 类之间的关系继承关系组合关系 7. 补充练习 面向对象编程 1. 什么是面向对象 面向对象编程是一种编程思想,它将现实世界的概念和关系映…...

困于环中的机器人

************* c topic: 1041. 困于环中的机器人 - 力扣&#xff08;LeetCode&#xff09; ************* Inspect the topic first. And it looks really familiar with another robot topic. 657. 机器人能否返回原点 - 力扣&#xff08;LeetCode&#xff09;https://lee…...

阿里 FunASR 开源中文语音识别大模型应用示例(准确率比faster-whisper高)

文章目录 Github官网简介模型安装非流式应用示例流式应用示例 Github https://github.com/modelscope/FunASR 官网 https://www.funasr.com/#/ 简介 FunASR是一个基础语音识别工具包&#xff0c;提供多种功能&#xff0c;包括语音识别&#xff08;ASR&#xff09;、语音端…...

spring boot前后端开发上传文件时报413(Request Entity Too Large)错误的可能原因及解决方案

可能原因及解决方案 1. Spring Boot默认文件大小限制 原因&#xff1a;Spring Boot默认单文件最大为1MB&#xff0c;总请求体限制为10MB。解决方案&#xff1a; 在application.properties中配置&#xff1a;spring.servlet.multipart.max-file-size10MB # 单文件最大 spring…...

Transformer:破局山地暴雨预测的「地形诅咒」--AI智能体开发与大语言模型的本地化部署、优化技术

极端降雨预测的技术痛点与边缘破局 1. 传统预警系统的三重瓶颈‌ ‌延迟致命‌&#xff1a;WRF模式在1km分辨率下3小时预报耗时>45分钟&#xff0c;错过山洪黄金响应期 ‌地形干扰大‌&#xff1a;复杂地形区&#xff08;如横断山脉&#xff09;降水预测误差超50% ‌数据…...

游戏引擎学习第187天

看起来观众解决了上次的bug 昨天遇到了一个相对困难的bug&#xff0c;可以说它相当棘手。刚开始的时候&#xff0c;没有立刻想到什么合适的解决办法&#xff0c;所以今天得从头开始&#xff0c;逐步验证之前的假设&#xff0c;收集足够的信息&#xff0c;逐一排查可能的原因&a…...

05-02-自考数据结构(20331)- 动态查找-知识点

自考数据结构动态查找算法主要讲二叉树和平衡二叉树,但是感觉到了,就又续接了一部分,所以这篇备考的小伙伴着重看前两种就可以了。 知识拓扑 知识点介绍 二叉排序树(BST) 定义 二叉排序树(Binary Search Tree)又称二叉查找树,它或者是一棵空树,或者是具有下列性质的二…...

PyQt6实例_批量下载pdf工具_使用pyinstaller与installForge打包成exe文件

目录 前置&#xff1a; 步骤&#xff1a; step one 准备好已开发完毕的项目代码 step two 安装pyinstaller step three 执行pyinstaller pdfdownload.py&#xff0c;获取初始.spec文件 step four 修改.spec文件&#xff0c;将data文件夹加入到打包程序中 step five 增加…...

NVR接入录像回放平台EasyCVR视频融合平台城市/乡镇污水处理厂解决方案

一、方案背景 随着经济的快速发展和城市化的加快&#xff0c;城市污水排放量急剧增加&#xff0c;给城市环境和粮食安全带来了威胁。因此&#xff0c;污水处理厂的建设和高效运营成为对城市环境保护的重要任务。 目前&#xff0c;国内许多城市虽已建成污水处理系统&#xff0…...

Vue2 vs Vue3 生命周期全面对比:created 的进化与革新!!!

&#x1f3af; Vue2 vs Vue3 生命周期全面对比&#xff1a;created 的进化与革新 &#x1f525; 核心差异全景图 一、钩子函数命名与定位变化 1. 命名规范革新 Vue2 钩子Vue3 钩子 (Options API)Vue3 Composition APIbeforeCreate❌ 无setup() 替代created✅ 保留setup() 替代…...

Ubuntu 22.04安装MongoDB:GLM4模型对话数据收集与微调教程

在Ubuntu 22.04安装MongoDB Community Edition的教程请点击下方链接进行参考&#xff1a; 点击这里获取MongoDB Community Edition安装教程 今天将为大家带来如何微调GLM4模型并连接数据库进行对话的教程。快跟着小编一起试试吧~ 1. 大模型 ChatGLM4 微调步骤 1.1 从 github…...

并查集(Union-Find Set)课程笔记

目录 1. 并查集原理 2. 并查集的实现 3. 并查集应用 应用 1&#xff1a;省份数量问题 应用 2&#xff1a;等式方程的可满足性 1. 并查集原理 并查集用于处理需要将不同元素划分成若干不相交集合的问题。最开始时&#xff0c;每个元素都是单独的一个集合&#xff0c;随后根…...

算法刷题记录——LeetCode篇(1.4) [第31~40题](持续更新)

更新时间&#xff1a;2025-03-29 算法题解目录汇总&#xff1a;算法刷题记录——题解目录汇总技术博客总目录&#xff1a;计算机技术系列博客——目录页 优先整理热门100及面试150&#xff0c;不定期持续更新&#xff0c;欢迎关注&#xff01; 32. 最长有效括号 给你一个只包…...