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

从零开始学习机器学习,掌握AI未来的关键!

从零开始学习机器学习

    • 1. 介绍
      • 1.1 人工智能(AI)概述
      • 1.2 机器学习在人工智能中的应用
      • 1.3 机器学习基础概念
    • 2. 监督学习
      • 2.1 什么是监督学习
      • 2.2 回归分析
      • 2.3 分类问题
      • 2.4 模型评估和选择
    • 3. 无监督学习
      • 3.1 什么是无监督学习
      • 3.2 聚类算法
      • 3.3 降维技术
    • 4. 深度学习
      • 4.1 神经网络基础
      • 4.2 深度学习的应用领域
      • 4.3 深度学习的发展和趋势
    • 5. 机器学习工具和框架
      • 5.1 Python在机器学习中的应用
        • 5.1.1 Python的易用性
        • 5.1.2 数据处理能力
        • 5.1.3 机器学习库
      • 5.2 TensorFlow和PyTorch等流行框架简介
        • 5.2.1 TensorFlow
        • 5.2.2 PyTorch
      • 5.3 机器学习工具的选择和比较
    • 6. 实际应用和案例研究
      • 6.1 金融行业的智能风险管理
      • 6.2 医疗健康领域的智能辅助诊断
      • 6.3 制造业的质量控制与优化

1. 介绍

1.1 人工智能(AI)概述

欢迎来到"人工智能-机器学习基础"!在本文中,我们将一起探索人工智能的奇妙世界。首先,让我们来介绍一下人工智能的概述。

人工智能(Artificial Intelligence)是一门研究如何使机器具备智能能力的科学与技术。简单来说,它是能够像人类一样思考、学习和决策的机器。

人工智能可以追溯到上个世纪50年代,当时科学家们就开始尝试模仿和理解人类的思维过程。然而,由于当时计算机技术的限制,人工智能的发展并不顺利。直到最近几年,随着计算能力的迅猛增长和大数据的普及,人工智能取得了巨大突破。

现在,人工智能已经应用于各个领域,包括医疗、金融、交通等等。它不仅可以帮助我们解决复杂的问题,还可以提升生活的便利性。机器学习作为人工智能的一个重要分支,发挥着至关重要的作用。
在这里插入图片描述

1.2 机器学习在人工智能中的应用

机器学习(Machine Learning)是人工智能的一个核心技术,它使得机器可以通过数据和经验来改进自身的性能。简而言之,机器学习就是让机器从数据中学习,并根据学习结果进行预测或决策。

机器学习在人工智能中得到了广泛的应用。举个例子,你是否听说过无人驾驶汽车?这就是机器学习在交通领域的应用。通过收集大量的行车数据,无人驾驶汽车可以学习驾驶规则和交通模式,并根据实时数据做出决策,从而实现自动驾驶。

除了无人驾驶汽车,机器学习还广泛应用于自然语言处理、金融风控、医学诊断等领域。通过机器学习算法,机器可以根据大数据的模式和特征来识别和理解文字、预测金融风险、辅助医生进行疾病诊断等。

机器学习的应用不仅解放了人力,提高了效率,而且可以处理一些复杂的模式和关系,超出了人类的认知能力。它是实现人工智能的关键所在。

1.3 机器学习基础概念

在我们继续深入探讨机器学习的应用前,让我们先了解一些基础概念。

  • 训练集(Training Set):被用来训练机器学习模型的样本数据集。

  • 特征(Feature):用来描述样本的属性或特性,是机器学习算法中的输入。

  • 标签(Label):训练集中每个样本对应的目标输出,用于机器学习算法的监督学习。

  • 模型(Model):根据训练集训练出来的机器学习算法,用于预测新样本的输出。

  • 监督学习(Supervised Learning):通过训练集中的标签来指导机器学习算法的学习过程。

  • 无监督学习(Unsupervised Learning):不使用标签信息,机器根据数据的内在结构自主学习。

这些基础概念将贯穿我们后续的博客内容,在学习机器学习的过程中,你会更加深入地了解它们的作用和意义。

未来,人工智能和机器学习的发展势必会影响我们的生活方方面面。通过深入学习和理解它们,你将能站在技术的前沿,创建属于自己的智能世界!

2. 监督学习

2.1 什么是监督学习

在机器学习领域中,监督学习是一种核心的学习方法,它通过已知的数据集(称为训练集)来训练模型。这些数据集包含了输入特征和对应的输出结果(标签),通过学习这些对应关系,模型可以学会如何从给定的输入预测出正确的输出。监督学习可以解决两大类问题:回归问题和分类问题。

监督学习的核心步骤通常包括:

  1. 数据收集:获取包含输入特征和输出标签的数据集。
  2. 数据预处理:清洗数据、处理缺失值、标准化或归一化特征等。
  3. 特征选择:选择对模型有用的特征。
  4. 模型训练:利用训练数据拟合模型参数。
  5. 模型验证与调优:使用验证数据调整模型参数以优化性能。
  6. 模型测试:使用独立的测试数据集评估模型性能。
  7. 模型部署:将模型应用于实际场景中进行预测。

2.2 回归分析

回归分析是监督学习中的一种重要技术,用于预测连续值的输出。回归问题的目标是建立一个数学函数,该函数能够根据输入特征预测出一个连续数值的结果。例如,预测房价、股票价格变动或者温度变化等。

常见的回归算法包括:

  • 线性回归:最简单的回归模型之一,假设输入特征与输出之间存在线性关系。
  • 多项式回归:扩展了线性回归,允许模型拟合非线性的数据分布。
  • 岭回归(Ridge Regression):在损失函数中加入了L2正则项,用于减少过拟合的风险。
  • 套索回归(Lasso Regression):引入了L1正则化,可以同时进行变量选择和系数估计。

回归评估指标

评估指标定义解释
均方误差 (MSE)( \frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 )平均每个样本预测值与实际值之间的平方差。
均方根误差 (RMSE)( \sqrt{\frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2} )MSE的平方根,具有与原始数据相同的单位。
均绝对误差 (MAE)( \frac{1}{n} \sum_{i=1}^{n}y_i - \hat{y}_i
决定系数 ( R^2 )( 1 - \frac{\sum(y_i - \hat{y}_i)^2}{\sum(y_i - \bar{y})^2} )衡量模型解释变异的比例,取值范围在 [-∞, 1] 之间。

2.3 分类问题

分类是另一种常见的监督学习任务,它的目标是预测离散的类别标签。分类问题可以分为二分类问题(只有两个可能的类别)和多分类问题(三个或更多类别)。例如,垃圾邮件过滤器就是一个典型的二分类问题,而手写数字识别则是一个多分类问题。

常用的分类算法包括:

  • 逻辑回归:尽管名字中有“回归”二字,但逻辑回归实际上是一种分类方法,常用于二分类问题。
  • 支持向量机(SVM):寻找最大间隔的决策边界来分离不同类别的数据点。
  • 决策树:通过一系列的条件判断来做出分类决定。
  • 随机森林:由多个决策树组成的集合模型,提高了准确性和稳定性。
  • K近邻(KNN):基于实例的学习方法,通过计算最近邻居的距离来进行分类。

分类评估指标

评估指标定义解释
准确率( \frac{\text{正确预测数}}{\text{总预测数}} )模型正确预测的比例。
精确率( \frac{\text{真正例}}{\text{真正例 + 假正例}} )正例中被正确预测的比例。
召回率( \frac{\text{真正例}}{\text{真正例 + 假负例}} )实际正例中被预测为正例的比例。
F1分数( 2 \times \frac{\text{精确率} \times \text{召回率}}{\text{精确率} + \text{召回率}} )精确率和召回率的加权平均。

2.4 模型评估和选择

模型评估是指在训练模型之后,通过一组独立的数据集来衡量模型的性能。这有助于理解模型是否能够很好地泛化到未见过的新数据上。模型评估通常包括以下几个步骤:

  1. 划分数据集:将数据集划分为训练集、验证集和测试集。
  2. 交叉验证:使用交叉验证技术来更稳定地评估模型性能。
  3. 超参数调优:调整模型中的超参数以获得最佳性能。
  4. 性能度量:选择合适的评估指标来量化模型的表现。
  5. 模型选择:基于评估结果选择最佳模型。

模型选择是一个关键步骤,涉及到权衡模型复杂度和性能。一个过于复杂的模型可能会过拟合训练数据,而过于简单的模型则可能欠拟合。因此,在选择最终模型时需要考虑以下几点:

  • 复杂度:模型的复杂度应该适中,既能捕捉到数据的模式,又不会过度拟合。
  • 泛化能力:选择能够在新数据上表现良好的模型。
  • 可解释性:在某些情况下,模型的可解释性也非常重要。
  • 计算成本:考虑到训练时间和资源消耗,有时候简单快速的模型更为合适。

监督学习是构建智能系统的基础,通过对大量标记数据的学习,可以解决广泛的现实世界问题。接下来的部分将会介绍无监督学习,探讨如何在没有标签的情况下训练模型。

3. 无监督学习

3.1 什么是无监督学习

无监督学习是机器学习的一个重要分支,它处理的是没有标签的数据集。在监督学习中,我们拥有一组带有正确答案或结果的数据(即标签),模型通过这些数据学习如何做出预测。而在无监督学习中,数据集中的样本并没有明确的输出标签,模型的目标是从这些数据中发现潜在的结构或模式。

特点:

  • 数据没有标记:这意味着数据中不存在已知的结果或分类信息。
  • 探索性分析:无监督学习通常用于探索数据,寻找数据内部隐藏的规律和模式。
  • 不需要人工标注:这降低了数据准备的成本和时间。
  • 应用广泛:从市场细分到基因组数据分析,应用场景非常广泛。

挑战:

  • 没有显式的目标函数:由于没有标签,很难直接定义一个明确的目标函数来优化。
  • 结果评估困难:没有直接的方法来衡量模型的好坏,通常需要借助外部指标或者人的直觉来判断。
  • 解释性问题:无监督学习得到的结果往往难以解释,尤其是对于非专业人士来说。

3.2 聚类算法

聚类是一种常见的无监督学习方法,其目标是将相似的对象聚集在一起形成不同的群组或类别。聚类可以帮助我们理解数据的内在结构,并且可以作为其他任务的基础,比如推荐系统或异常检测。

常用聚类算法:

算法名称描述
K-means一种基于距离的聚类方法,通过迭代过程将数据点分配给最接近的质心。
DBSCAN密度基空间聚类算法,能够找到任意形状的簇,并识别噪声点。
层次聚类通过构建树状图来表示数据点间的相似性,可以生成不同分辨率的簇。
谱聚类利用图论中的谱方法对数据进行分割,适用于非凸形簇。

K-means 示例:

假设我们有一组二维数据点,我们的目标是将它们分为3个簇。

  1. **初始化:**随机选择3个点作为初始质心。
  2. **分配:**每个数据点被分配给最近的质心。
  3. **更新:**每个簇的质心位置根据簇内的数据点重新计算。
  4. 重复步骤2和3直到质心不再发生显著变化或达到最大迭代次数。

3.3 降维技术

降维技术旨在减少数据集中的特征数量,同时保留数据的主要特性。这对于可视化高维数据、减少计算成本和避免过拟合等问题非常有用。

常见降维方法:

方法描述
PCA (主成分分析)一种线性降维技术,通过投影最大化数据的方差来保留最重要的信息。
t-SNE适合于可视化高维数据,保持数据点之间的局部相似性。
LDA (线性判别分析)尽管主要用于监督学习中的分类问题,但在某些情况下也可用于降维。

PCA 示例:

假设我们有一个具有多个特征的数据集,想要将其降至2维以便于可视化。

  1. **数据标准化:**使所有特征具有相同的尺度。
  2. **协方差矩阵:**计算特征之间的相关性。
  3. **特征值与特征向量:**求解协方差矩阵的特征值和对应的特征向量。
  4. **选择主成分:**选取最大的几个特征值对应的特征向量作为新的坐标轴。
  5. **转换数据:**将原始数据沿新的坐标轴投影。

无监督学习是数据科学中的一个强大工具,它不仅能够帮助我们理解复杂的数据集,还能够在很多实际应用中提供有价值的洞察。随着算法和技术的发展,无监督学习将在未来发挥更加重要的作用。

4. 深度学习

4.1 神经网络基础

深度学习是机器学习的一个分支,它基于对人脑神经元工作原理的模仿。在这一部分中,我们将探讨神经网络的基础知识,包括其结构、基本组件以及训练过程。

4.1.1 结构与组件

  • 神经元(节点)

    • 神经元是神经网络的基本单位,它接收输入信号,对其进行加权处理,并通过激活函数产生输出。
    • 神经网络由多层组成,每一层都包含多个神经元。这些层可以分为输入层、隐藏层和输出层。
      • 输入层接收原始数据作为输入。
      • 隐藏层是位于输入层和输出层之间的层,这些层可以有多个,称为多层感知器。
      • 输出层产生最终结果或预测。
  • 权重与偏置

    • 权重代表了输入信号对于输出的影响程度。
    • 偏置允许模型通过增加一个额外的调整参数来更好地拟合数据。

4.1.2 训练过程

  • 前向传播

    • 在训练过程中,数据通过网络从输入层到输出层进行传递。
    • 每个神经元将所有输入乘以其对应的权重,然后将结果相加并加上偏置,最后通过激活函数得到输出。
  • 损失函数

    • 损失函数用于衡量模型预测值与实际值之间的差异。
    • 常见的损失函数有均方误差 (MSE) 和交叉熵损失。
  • 反向传播

    • 反向传播是一种优化算法,它计算损失函数相对于每个权重和偏置的梯度。
    • 这些梯度被用来更新权重和偏置,以便减小损失。
  • 优化算法

    • 优化算法如随机梯度下降 (SGD) 或 Adam 被用来调整权重和偏置,以最小化损失函数。
概念描述
激活函数引入非线性转换,使得网络能够学习复杂的模式。常见的激活函数包括 Sigmoid、ReLU 和 Tanh。
正则化一种防止过拟合的技术,通过添加一个惩罚项来限制模型复杂度。L1 和 L2 正则化是最常用的两种形式。

4.2 深度学习的应用领域

深度学习已经广泛应用于多个领域,包括但不限于:

  • 计算机视觉
    • 图像分类、物体检测、人脸识别等。
  • 自然语言处理 (NLP)
    • 语音识别、文本生成、情感分析等。
  • 推荐系统
    • 电影、音乐、商品等个性化推荐。
  • 医疗健康
    • 疾病诊断、基因组学研究、药物发现等。
  • 自动驾驶
    • 车辆定位、障碍物检测、路径规划等。
  • 游戏
    • 游戏角色控制、策略制定等。

案例研究:AlphaGo

  • 背景:AlphaGo 是一款围棋程序,由 DeepMind 开发。
  • 技术:使用了深度卷积神经网络和蒙特卡洛树搜索。
  • 成就:2016 年,AlphaGo 成功击败了世界冠军李世石。

4.3 深度学习的发展和趋势

随着技术的进步,深度学习正在不断发展,并呈现出以下趋势:

  • 模型架构的创新

    • ResNet、Transformer 等新型架构不断涌现,提高了模型的性能和效率。
  • 自动化机器学习 (AutoML)

    • AutoML 技术自动选择最佳的模型架构和超参数设置,降低了使用深度学习的门槛。
  • 迁移学习

    • 利用预训练模型进行特征提取,大大减少了新任务上的训练时间和资源需求。
  • 联邦学习

    • 允许在不共享数据的情况下训练模型,保护用户隐私的同时实现数据协同利用。
  • 可解释性

    • 提高模型的透明度和可解释性,帮助人们理解模型是如何做出决策的。
  • 边缘计算

    • 将计算能力部署到设备端,减少数据传输延迟,提高响应速度。

深度学习的发展不仅推动了人工智能的进步,还为解决实际问题提供了强大的工具。未来,我们可以期待更多创新的应用和技术出现。

5. 机器学习工具和框架

5.1 Python在机器学习中的应用

Python 是目前最流行的编程语言之一,尤其在数据科学和机器学习领域中占据主导地位。它之所以如此受欢迎,主要是因为它易于学习且功能强大,有着丰富的库支持。

5.1.1 Python的易用性

Python 语法简洁明了,接近自然语言,这使得即使是初学者也能快速上手。它的动态类型系统减少了代码编写时的负担,而强大的调试工具和详尽的文档则进一步降低了开发难度。

5.1.2 数据处理能力

Python 提供了如 Pandas 和 NumPy 这样的库,它们极大地简化了数据预处理的工作。Pandas 提供了 DataFrame 对象,方便进行数据清洗、转换和分析;NumPy 则提供了高效的数组运算能力,对于数值计算至关重要。

5.1.3 机器学习库

Python 拥有众多成熟的机器学习库,例如 Scikit-learn、TensorFlow 和 PyTorch 等,这些库不仅提供了各种算法实现,还封装了大量的实用功能,帮助开发者快速构建模型。

库名主要功能
Scikit-learn用于分类、回归、聚类和模型选择
TensorFlow开源机器学习框架,适用于深度学习
PyTorch动态计算图的深度学习框架

5.2 TensorFlow和PyTorch等流行框架简介

5.2.1 TensorFlow

TensorFlow 是由 Google Brain 团队开发的一个开源软件库,主要用于各种感知和语言理解任务的研究和生产。它提供了一个灵活的架构,让用户可以轻松地定义、训练和部署机器学习模型。

  • 特点:

    • 静态图执行:用户通过构建计算图来定义模型结构,然后通过会话机制运行整个图。
    • 分布式计算支持:能够高效地利用多台计算机或多个GPU进行大规模训练。
    • 广泛的应用场景:从简单的线性回归到复杂的深度神经网络都可以实现。
  • 应用场景:

    • 自然语言处理
    • 图像识别
    • 强化学习
5.2.2 PyTorch

PyTorch 是 Facebook AI 研究实验室(FAIR)开发的一款基于 Torch 的开源机器学习库。相比于 TensorFlow,PyTorch 更加灵活且易于调试。

  • 特点:

    • 动态图执行:用户可以在运行时动态构建计算图,便于调试和原型设计。
    • 自动微分:通过自动求导功能简化了反向传播的实现过程。
    • 简洁的API:提供了直观且简洁的接口,易于理解和使用。
  • 应用场景:

    • 研究原型设计
    • 高级研究项目
    • 生产部署

5.3 机器学习工具的选择和比较

选择合适的机器学习工具取决于项目的具体需求、团队的技术背景以及预算等因素。以下是一些主要考虑因素:

  • 项目规模:大型项目可能需要分布式计算的支持,这时 TensorFlow 可能更合适。
  • 灵活性与速度:如果项目需要快速迭代和调试,PyTorch 的动态图可能会更加便捷。
  • 社区支持:活跃的社区意味着更多的资源和支持,这对于解决遇到的问题非常有帮助。
  • 特定功能需求:某些框架可能针对某些特定任务进行了优化,例如 TensorFlow 对于强化学习的支持。
工具最佳适用场景特点社区支持
TensorFlow大型项目、生产环境静态图、分布式计算非常活跃
PyTorch快速原型设计、研究项目动态图、易于调试非常活跃
Scikit-learn传统机器学习任务简单易用、广泛的数据处理功能活跃

在选择工具时,建议先了解每个工具的核心特性,并结合实际项目需求做出决定。同时,尝试不同的工具也是一种很好的学习方式,可以帮助开发者更好地理解不同框架之间的差异。

6. 实际应用和案例研究

6.1 金融行业的智能风险管理

机器学习技术在金融行业中被广泛应用,特别是在风险管理方面。银行和其他金融机构利用机器学习算法来预测信贷风险、检测欺诈行为,并进行投资决策。

案例一:信用评分系统

  • 背景:传统的信用评分方法依赖于人工规则和历史数据的简单统计分析,这种方法往往不够精确且无法捕捉到复杂的模式。
  • 解决方案:采用监督学习算法如逻辑回归或随机森林模型对客户的还款记录、收入状况、职业信息等多维度数据进行分析,从而建立更准确的信用评分模型。
  • 效果:通过机器学习模型可以显著提高预测准确性,减少不良贷款的比例,同时也能为客户提供更个性化的金融服务。
数据源特征示例模型选择
客户档案年龄、收入水平随机森林
还款记录历史违约次数逻辑回归
社交媒体用户活跃度支持向量机

案例二:交易欺诈检测

  • 背景:随着在线支付的普及,交易欺诈事件频发。
  • 解决方案:使用无监督学习方法(如聚类分析)结合异常检测技术识别出与正常交易模式不符的行为。
  • 效果:实时监测可疑交易并及时拦截,有效降低欺诈损失。

6.2 医疗健康领域的智能辅助诊断

医疗领域是机器学习另一个重要的应用场景,尤其是在辅助诊断、疾病预测等方面发挥了重要作用。

案例一:皮肤癌早期筛查

  • 背景:皮肤癌如果能早期发现治疗成功率会大大提高。
  • 解决方案:基于深度学习的图像分类技术,通过对大量皮肤病变图片的学习训练,开发出能够自动识别恶性皮肤病变的系统。
  • 效果:医生可以通过该系统快速判断病灶性质,大大提高了诊断效率和准确性。

案例二:糖尿病并发症预测

  • 背景:糖尿病患者容易引发多种并发症,如视网膜病变等。
  • 解决方案:构建包含血糖控制情况、生活习惯等多因素的预测模型,以预测未来发生并发症的风险。
  • 效果:帮助医生提前采取干预措施,降低并发症的发生率。

6.3 制造业的质量控制与优化

制造业中引入机器学习可以帮助企业实现生产过程的自动化监控,提升产品质量。

案例一:缺陷检测系统

  • 背景:传统的人工检查方式效率低下且易出错。
  • 解决方案:采用计算机视觉技术,结合卷积神经网络(CNN),对生产线上的产品进行实时图像分析,识别出不符合标准的产品。
  • 效果:大幅提高检测精度和速度,减少次品率,降低生产成本。

案例二:设备故障预测

  • 背景:生产设备的突发故障会导致生产线停顿,影响生产效率。
  • 解决方案:利用时间序列分析和预测算法,根据设备的历史运行数据预测可能发生的故障。
  • 效果:通过提前维护保养,避免了计划外的停工时间,确保生产线的稳定运行。

以上案例展示了机器学习如何在不同行业中解决实际问题并创造价值。随着技术的进步和数据量的增长,未来机器学习的应用将更加广泛和深入。

相关文章:

从零开始学习机器学习,掌握AI未来的关键!

从零开始学习机器学习 1. 介绍1.1 人工智能(AI)概述1.2 机器学习在人工智能中的应用1.3 机器学习基础概念 2. 监督学习2.1 什么是监督学习2.2 回归分析2.3 分类问题2.4 模型评估和选择 3. 无监督学习3.1 什么是无监督学习3.2 聚类算法3.3 降维技术 4. 深…...

CI/CD(持续集成/持续部署)

CI/CD(持续集成/持续部署)是软件开发过程中的一种方法,旨在提高开发效率和软件质量。以下是对CI/CD的具体解释: 1.持续集成(Continuous Integration,CI): 概念:开发人员将代码频繁地合并到主分支中,每次提交都会触发自动化构建和测试过程。目的:及时发现和修复集成…...

实现字母的大小写转换。多组输入输出(c语言)

1.我们先输入字母&#xff08;用getchar的函数&#xff09;&#xff0c;判断是不是字母&#xff0c;我们可以用a<tmp<z或者A<tmp<Z,注意&#xff1a;小写转换大写用tmp-32&#xff0c;大写转换小写用tmp32.. #include<stdio.h> int main() {int a 0;while …...

2024华为OD机试真题-最小矩阵宽度Python-C卷D卷-200分

2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 给定一个矩阵,包含 N * M 个整数,和一个包含 K 个整数的数组。 现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。 输入描述 第一行输入两个正整数 N,M,表示矩阵大小。 接下来 N …...

【Vue3】标签的 ref 属性

【Vue3】标签的 ref 属性 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。…...

llama-factory 系列教程 (六),linux shell 脚本自动实现批量大模型的训练、部署与评估

背景 最近在做大模型微调训练的评估&#xff0c;每次都要手动训练大模型&#xff0c;手动评估。 发现这样太浪费时间了&#xff0c;于是就尝试着使用linux shell 脚本&#xff0c;利用 for 循环自动实现大模型的训练、部署与评估。 实验&#xff1a;在不同的文本分类数据集尺…...

python安全脚本编写之流量泛洪

多线程与流量泛洪 并发操作 如果一个单核的cpu&#xff0c;是并不存在严格意义的并发&#xff0c;只是因为处理时间极短&#xff0c;所以感觉上是并发操作的。 针对多核CPU&#xff0c;4核CPU&#xff0c;严格意义上的并发处理是4个 线程和进程 每一个应用程序&#xff0c;至少…...

一文看懂Java反射、注解、UML图和Lambda表达式

反射 定义: 反射是 java 开发语言的特征之一&#xff0c;它允许 java 程序对自身进行检查(自审)&#xff0c;并能直接操作程序内部属性&#xff0c;即就是将类中的各种成分映射成一个 java 对象&#xff0c;利用反射技术可以对一个类进行解剖&#xff0c;将各个组成部分映射成…...

【漏洞复现】搜狗输入法简单绕过Windows锁屏机制

免责申明 本公众号的技术文章仅供参考&#xff0c;此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息…...

JAVA Spring学习Day1

Maven Maven配置&#xff1a; Maven是Java项目的构建工具&#xff0c;使用pom.xml配置文件管理项目依赖、插件和构建目标。Spring Boot项目搭建&#xff1a; Spring Boot是基于Spring框架的快速开发框架&#xff0c;通过约定大于配置的理念简化了Spring应用的搭建和开发。 …...

linux常见面试题(三)

18 什么事SQL注入 由于程序员的水平及经验参差不齐&#xff0c;大部分程序员在编写代码的时候&#xff0c;没有对用户输入数据的合法性进行判断。 ​ 应用程序存在安全隐患。用户可以提交一段数据库查询代码&#xff0c;根据程序返回的结果&#xff0c;获得某些他想得知的数据…...

【JS】ES6新类型Map与Set

一、Map Map 对象保存键值对&#xff0c;并且能够记住键的原始插入顺序。任何值&#xff08;对象或者原始值&#xff09;都可以作为键或值。 描述 Map 对象是键值对的集合。Map 中的一个键只能出现一次&#xff1b;它在 Map 的集合中是独一无二的。 Map 对象按键值对迭代——…...

FETCH FIRST ROW ONLY和 DISTINCT ON和 LIMIT 1的用法

以下是 PostgreSQL 中函数 FETCH FIRST ROW ONLY、DISTINCT ON 和 LIMIT 1 的用法、含义、例子以及适用版本的信息总结&#xff1a; FETCH FIRST ROW ONLY 用法和含义 FETCH FIRST ROW ONLY 用于限制查询结果集&#xff0c;只返回第一行。它可以和 ORDER BY 子句一起使用&am…...

前端小白安装node、vue、Express、Electron及(Electron桌面端exe应用开发)

一、node.js &#xff08;一&#xff09;、下载 下载地址 Node.js — 在任何地方运行 JavaScript (nodejs.org) 参考文章&#xff1a;Node.js安装及环境配置超详细教程【Windows系统】_windows 安装nodejs-CSDN博客 &#xff08;二&#xff09;、安装 安装路径可以更换&a…...

solidity多态【很重要】

多态是面向对象编程&#xff08;OOP&#xff09;的一个核心概念&#xff0c;允许不同类的对象被视为同一类型的实例&#xff0c;并根据实际类型来响应相同的方法调用。 这意味着同一个接口可以用来引用属于不同类的对象&#xff0c;而这些对象可以有自己的方法实现&#xff0c…...

Jangow-1.0.1靶机漏洞复现(未完成)

首先&#xff0c;这个靶机只能使用VirtualBox打开&#xff0c;靶机下载地址为 https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 虚拟机软件下载地址为 Download_Old_Builds – Oracle VM VirtualBox 开启靶机后访问ip进入如下页面&#xff0c;点击site进入到一个…...

软件测试--python基础

一、python基础 (1)第一个python (2)python解释器 (3)基础语法 ①字面量 什么是字面量 常用的值类型 字符串 ②注释 ③变量 什么是变量 变量的特征 变量的目的是存储运行过程的数据 存储的目的是为了&#xff1a;重复使用 ④数据类型 type()语句 变量有类型吗&#xff1f;…...

GPIO子系统

1. GPIO子系统视频概述 1.1 GPIO子系统的作用 芯片内部有很多引脚&#xff0c;这些引脚可以接到GPIO模块&#xff0c;也可以接到I2C等模块。 通过Pinctrl子系统来选择引脚的功能(mux function)、配置引脚&#xff1a; 当一个引脚被复用为GPIO功能时&#xff0c;我们可以去设…...

学会这个Python库,接口测试so easy

前言 我们在做接口测试时&#xff0c;大多数返回的都是json属性&#xff0c;我们需要通过接口返回的json提取出来对应的值&#xff0c;然后进行做断言或者提取想要的值供下一个接口进行使用。 但是如果返回的json数据嵌套了很多层&#xff0c;通过查找需要的词&#xff0c;就…...

Stable Diffusion4.8.7(Ai绘画)软件安装教程

软件下载 [名称]&#xff1a;Stable Diffusion4.8.7&#xff08;Ai绘画&#xff09; [大小]&#xff1a;16.52GB [语言]&#xff1a;简体中文 [安装环境]&#xff1a;Win11/Win10/Win8/Win7 [硬件要求]&#xff1a;CPU2.0GHz &#xff0c;内存4G&#xff08;或更高&#x…...

操作系统错误处理

错误处理 1、通过函数的返回值表示执行错误&#xff1a; // 返回合法值表示成功 返回非法值表示失败 // 计算大小、查找 long file_size(const char* path) {FILE* fp fopen(path,"r");if(NULL fp)return -1; // 返回非法值fseek(fp,SEEK_END,0);long size …...

【靶场实操】sql-labs通关详解----第一节:基础注入方式(Less-1~Less-10)

目录 一、注入方式简要概括 1.1 SQL常见注入方式 1.2 爆破函数 二、靶场实操 2.1 Less-1 2.1.1 判断类型 2.1.2 联合注入查询 2.2 Less-2 2.2.1 判断类型 2.2.2 注入攻击 2.2.3 字符型与数字型漏洞对比 2.3 Less-3 2.3.1 判断 2.3.2 注入 2.4 Less-4 2.4.1 判断…...

力扣676.实现一个魔法字典

力扣676.实现一个魔法字典 字典树 dfs class Trie{public:Trie* next[26];bool is_end false;};class MagicDictionary {public:Trie* root new Trie();void add(string& word){Trie* p root;for(char c:word){if(p->next[c-a] NULL) p->next[c-a] new Trie…...

ctfshow-web入门-sql注入(web171-web175)

目录 1、web171 2、web172 3、web173 4、web174 5、web175 1、web171 单引号测一下&#xff0c;报错 -- 闭合后回显正常 也可以用 # &#xff0c;不过需要 URL 编码 成功闭合之后&#xff0c;先判断下字段数&#xff1a; 1 order by 3-- 3 的时候正常 4 的时候报错&am…...

视频怎么添加音乐?分享5种视频添加音乐方法

在如今火爆的短视频时代&#xff0c;为视频添加合适的背景音乐&#xff0c;无疑是让其脱颖而出的关键一步。无论是打造个人Vlog、纪录片&#xff0c;还是创意短片&#xff0c;音乐都能赋予视频独特的情感与氛围。那么怎么给视频添加上背景音乐呢&#xff1f;给大家分享5种简单的…...

黑马JavaWeb后端案例开发(包含所有知识点!!!)

目录 1.准备工作 环境搭建 开发规范 REST&#xff08;REpresentation State Transfer&#xff09;,表述性状态转换&#xff0c;它是一种软件架构风格 注意事项 统一响应结果 2.部门管理功能 查询部门 删除部门 新增部门 RequestMapping 3.员工管理功能 分页查询 批…...

FPGA开发——蜂鸣器实现音乐播放器的设计

一、概述 我们在进行蜂鸣器的学习的时候&#xff0c;总会在想既然蜂鸣器能够发出声音&#xff0c;那么它能够播放音乐吗&#xff0c;今天这篇我们文章我们就一起来学习怎样使用使用蜂鸣器来播放音乐&#xff0c;也就是怎样成为一个音乐播放器。 1、蜂鸣器的类型 在设计的时候…...

InnoDB存储引擎(1)

InnoDB存储引擎的优点 InnoDB在设计时考虑到了处理大数据量时的性能&#xff0c;支持事务&#xff0c;回滚和崩溃修复的能力&#xff0c;通过多版本并发控制来减少锁定(降低了锁的争用),同时还支持外键的约束&#xff1b;通过缓冲池在内存中缓存数据来提高查询的性能&#xff…...

VMWare虚拟机共享主机的网络访问外网

1.主机中启动客户端并连接外网 2.设置虚拟网络类型为NAT 3.启动虚拟并通过主机访问外网...

LeetCode Easy|【415. 字符串相加】

力扣题目链接 题目本身难度不大&#xff0c;但是后续的一些补充内容还是值得搞清楚的 主要的逻辑如下&#xff1a; 其实本题的目的就是让我们来模拟我们的竖式加法。所以很直观的一个想法就是使用双指针&#xff1a;分别指向两个 num 的末尾。随后就会产生一些问题&#xff1a…...

企业网站手机端开发/seo搜索引擎工具

多态应用 ​ 应用实例 多态数组 数组的定义类型为父类类型&#xff0c;里面保存的实际元素类型为子类类型 现有一个继承结构如下&#xff1a;要求创建一个Person对象、2个student对象 和两个Teacher有一个teach&#xff0c;同一放在数组中&#xff0c;并调用say方法 publ…...

网站设计开发软件有哪些/怎么注册域名

QT怎么自动一次性修改、替换程序中所有变量名? 熟悉的编译器都有这个功能&#xff0c; 初学QT&#xff0c;搜索无果&#xff0c;找了一会儿&#xff0c;分析给大家。 最直接的办法&#xff1a;选中变量名&#xff0c;CtrlShiftr &#xff0c;变成红色之后即可更改。. 选中变…...

增城住房和建设局网站/上海抖音seo

为什么贴漆面透明保护膜(隐形车衣)&#xff1f;1&#xff0c;有效防护高速行驶中小石头弹伤车漆。2&#xff0c;防止钥匙等恶意划伤。3&#xff0c;有效防护意外轻微碰擦&#xff0c;不伤原漆。4&#xff0c;抗氧化阻隔紫外线、酸雨、动物粪便等侵蚀。5&#xff0c;增加车漆30%…...

php动态网站开发论文/什么是百度竞价推广

转自&#xff1a;https://blog.csdn.net/paincupid/article/details/49924299 经常会接触到VO&#xff0c;DO&#xff0c;DTO的概念&#xff0c;本文从领域建模中的实体划分和项目中的实际应用情况两个角度&#xff0c;对这几个概念进行简析。 得出的主要结论是&#xff1a;在项…...

吴江城乡住房和城乡建设局网站/拼多多关键词排名查询

document.addEventListener(blur,function(){document.body.scrollIntoView(false)},true) })复制代码...

景安网站备案幕布/关键词搜索工具爱站网

绘画 | 琪琪作者 | xiaoyu来源 | Python数据科学&#xff08;ID:PyDataScience&#xff09;要说目前什么语言最受欢迎&#xff0c;我想Python肯定是其中之一了吧。Python语言以其简单的操作、强大的功能被广大爱好者追逐着。有的朋友刚开始学Python&#xff0c;有的朋友正在学习…...