机器学习笔记一之入门概念

目录

  • 一 基本分类
  • 二 按模型分类
      • 概率模型(Probabilistic Models)
      • 非概率模型(Non-Probabilistic Models)
      • 对比
      • 结论
      • 线性模型 (Linear Models)
      • 非线性模型 (Non-linear Models)
      • 对比
  • 三 按算法分类
      • 1.批量学习(Batch Learning)
      • 2.在线学习(Online Learning)
      • 对比
  • 四 按技巧分类
  • 五 机器学习的三要素
      • 经验风险 (Empirical Risk)
      • 结构风险 (Structural Risk)
      • 对比
  • 六 模型的评估与选择
    • 1.两种误差
      • 训练误差 (Training Error)
      • 测试误差 (Test Error)
      • 对比
    • 2.拟合程度
      • 过拟合 (Overfitting)
      • 欠拟合 (Underfitting)
      • 对比
  • 七 正则化
      • 正则化的主要类型
      • 正则化的作用
  • 八 泛化能力
      • 泛化能力的重要性
      • 影响泛化能力的因素
      • 评估泛化能力

一 基本分类

  1. 监督学习 (Supervised Learning)

    • 数据类型: 在监督学习中,训练数据包括输入数据和对应的标签(或“答案”)。例如,在图像识别中,每张图片(输入)会有一个标签,如“猫”、“狗”等。
    • 目标: 目标是训练一个模型,使其能够根据输入数据预测出准确的标签。例如,根据病历资料预测疾病类型。
    • 应用: 分类(如垃圾邮件与非垃圾邮件的识别)、回归(如房价预测)等。
  2. 非监督学习 (Unsupervised Learning)

    • 数据类型: 训练数据只包含输入数据,而不包括任何标签。模型需要自己发现数据中的结构和模式。
    • 目标: 主要是探索数据的内在结构和模式,如通过聚类分析将相似的数据点分为不同的组,或者通过降维技术发现数据的主要趋势。
    • 应用: 聚类(如市场细分)、降维(如特征抽取)、异常检测等。
  3. 半监督学习 (Semi-Supervised Learning)

    • 数据类型: 结合了监督学习和非监督学习的数据类型。大部分数据没有标签,少部分数据有标签。
    • 目标: 利用有限的标签数据来指导对大量无标签数据的学习过程。模型尝试理解无标签数据的结构,并利用这些知识来提高对有标签数据的预测准确性。
    • 应用: 适用于标签获取成本高昂或者标签难以获得的情况,如大规模图像或文本数据的处理。
    • 强化学习、主动学习和监督学习是机器学习的三种不同范式,它们各自有独特的特点和应用场景,但也存在一些联系和区别:
  4. 强化学习 (Reinforcement Learning)

    • 特点: 强化学习侧重于如何基于环境的反馈来采取行动以最大化某种累积奖励。它涉及一个代理(agent)在环境中学习策略的过程,通过试错来学习最佳行动。
    • 应用: 如自动驾驶汽车、游戏AI、机器人控制等。
  5. 主动学习 (Active Learning)

    • 特点: 主动学习是一种半监督学习,它允许学习算法(或模型)主动选择它希望从中学习的数据点。在主动学习中,算法试图选择最有信息量的样本来进行标记,以提高学习效率。
    • 应用: 在标签成本高或标签难以获得的情况下特别有用,如医学图像分析。

二 按模型分类

机器学习中的模型可以按照它们是否基于概率理论进行分类,分为概率模型(Probabilistic Models)和非概率模型(Non-Probabilistic Models)。这两种类型的模型在处理不确定性和模型数据的方式上有所不同。

  1. 概率模型 (Probabilistic Models)

    • 定义: 概率模型是基于概率理论构建的模型,它们在对数据进行建模时考虑了不确定性。这些模型通常提供了关于预测的不确定性的量化信息。
    • 特点: 概率模型能够给出关于预测结果的概率分布,而不仅仅是一个固定的输出值。这允许它们更有效地处理数据中的噪声和不确定性。
    • 示例: 朴素贝叶斯分类器、隐马尔可夫模型(HMM)、高斯混合模型(GMM)等。
  2. 非概率模型 (Non-Probabilistic Models)

    • 定义: 非概率模型通常给出确定性的预测或决策,而不是预测的概率分布。这类模型通常关注于直接从输入数据映射到输出结果。
    • 特点: 这些模型在给出预测时,通常不提供关于预测不确定性的直接信息。它们更加关注于预测的准确性和效率。
    • 示例: 支持向量机(SVM)、决策树、神经网络等。

这两类模型在实际应用中各有优势。概率模型在需要对结果的不确定性进行量化或者处理数据中的噪声和不确定性时特别有用。而非概率模型在预测任务中通常更简单直接,可能在特定任务上更高效。

选择哪种类型的模型通常取决于具体的应用场景、数据特性和问题的需求。例如,如果问题需要对预测的可信度进行量化,概率模型可能是更好的选择;如果问题更关注于预测的速度和精度,非概率模型可能更适合。

具体的例子来解释这两种模型。

概率模型(Probabilistic Models)

假设您是一位医生,您要根据病人的一些症状来判断他们是否患有某种疾病。在这种情况下,概率模型会非常有用。

例子:朴素贝叶斯分类器(Naive Bayes Classifier)

  • 应用场景: 用于诊断疾病。
  • 工作原理: 这种模型会基于病人的症状(如发热、咳嗽等)来计算患有特定疾病(如流感)的概率。
  • 优势: 它提供了一个概率值,让医生知道这个诊断有多可靠。例如,模型可能显示有90%的概率患有流感,这可以帮助医生做出更加信息化的决策。

非概率模型(Non-Probabilistic Models)

假设您是一名银行贷款官员,您需要决定是否批准客户的贷款申请。在这种场景下,非概率模型是一个很好的工具。

例子:支持向量机(Support Vector Machine, SVM)

  • 应用场景: 用于贷款审批。
  • 工作原理: SVM会使用客户的财务数据(如收入、信用评分等)来决定他们是否是贷款违约的高风险。该模型会将客户分类为“高风险”或“低风险”。
  • 优势: 这种模型给出一个明确的决策,而不是概率。它适用于需要快速、明确决策的情况。

对比

在医疗诊断的例子中,概率模型(如朴素贝叶斯)提供的概率信息对于处理诊断的不确定性非常有帮助。医生需要知道诊断结果的可信度,以便在需要时进一步检查。

相反,在贷款审批的例子中,非概率模型(如SVM)提供了直接的“是”或“否”的决策,这对于快速处理大量贷款申请非常重要。

结论

选择使用概率模型还是非概率模型取决于具体问题和场景的需求。需要评估结果不确定性时,概率模型更为适宜;而在需要快速、明确决策的场合,非概率模型可能更加合适。

在机器学习中,线性模型和非线性模型是两类基本的模型类型,它们根据输入特征与预测输出之间的关系来进行区分。

线性模型 (Linear Models)

  1. 定义: 线性模型假设输入特征和输出结果之间存在线性关系。这意味着模型的输出是输入特征的加权和,可能再加上一个常数(偏差项)。

  2. 数学表示: 对于一个具有特征 ( x_1, x_2, …, x_n ) 的数据点,线性模型的预测 ( y ) 可以表示为:
    [ y = w_1x_1 + w_2x_2 + … + w_nx_n + b ]
    其中,( w_1, w_2, …, w_n ) 是模型参数,( b ) 是偏差项。

  3. 示例: 线性回归、逻辑回归。

  4. 应用: 线性模型通常用于预测分析(如股票价格预测)、分类问题(如垃圾邮件检测)等。

  5. 优点: 简单、易于理解和解释,计算效率高。

  6. 局限性: 不能很好地处理数据间复杂的非线性关系。

非线性模型 (Non-linear Models)

  1. 定义: 非线性模型指的是输入特征与输出结果之间存在非线性关系的模型。这些模型能够捕捉数据中更复杂的模式。

  2. 数学表示: 非线性模型的数学形式可以是多种多样的,不限于加权和。例如,它们可能包含输入特征的高次项、指数、对数等。

  3. 示例: 决策树、神经网络、支持向量机(使用非线性核函数)。

  4. 应用: 非线性模型适用于复杂的预测任务,如图像和语音识别、自然语言处理等。

  5. 优点: 能够处理数据之间的复杂关系,适用于更广泛的应用场景。

  6. 局限性: 通常更复杂,需要更多的数据来训练,且可能难以解释。

对比

  • 复杂性: 非线性模型通常比线性模型更复杂,能够处理更复杂的任务,但也更难以训练和解释。
  • 适用性: 线性模型适用于简单或者数据量较小的问题,而非线性模型适用于复杂且数据量大的问题。
  • 解释性: 线性模型通常更容易解释,而非线性模型的决策过程可能不那么直观。

在选择模型时,重要的是根据具体问题的性质、数据的复杂度以及解释性要求来做出选择。对于一些简单任务,使用复杂的非线性模型可能是不必要的,而对于一些高度复杂的任务,线性模型可能无法提供足够的性能。

三 按算法分类

按照数据处理方式的不同,机器学习算法可以分为在线学习(Online Learning)和批量学习(Batch Learning)两种主要类型。这两种类型的区分主要基于算法是如何从数据中学习的。

1.批量学习(Batch Learning)

  • 定义: 在批量学习中,算法在训练过程中使用固定的数据集。这意味着它在开始学习之前需要收集并准备好所有的训练数据。
  • 特点:
    • 所有的学习过程都是在一次性处理整个训练集后完成的。
    • 在学习完成后,模型就固定下来了,如果要处理新数据或更新模型,就需要重新训练整个模型。
  • 应用场景: 适用于数据量不太大,或者不经常更新的情况,如历史数据分析、固定数据集上的模式识别等。
  • 示例: 大多数传统的机器学习算法,如线性回归、支持向量机、决策树等,在默认情况下都是作为批量学习进行的。

2.在线学习(Online Learning)

  • 定义: 在线学习算法可以逐步处理数据,一次接受一个样本或者小批量样本,并对模型进行即时更新。
  • 特点:
    • 能够不断地从新数据中学习和适应,适合于数据不断流入的情况。
    • 对于处理大规模数据集或需要实时反应的应用特别有用。
  • 应用场景: 适用于数据不断变化或数据量太大无法一次性处理的情况,如股票市场预测、在线用户行为分析等。
  • 示例: 某些神经网络模型、随机梯度下降(SGD)等。

对比

  • 数据更新: 批量学习不适合频繁更新的数据,而在线学习可以实时更新模型。
  • 资源需求: 在线学习通常对计算资源的要求更低,因为它一次只处理少量数据。
  • 适用性: 批量学习适合于数据量有限且不经常更新的场景,而在线学习适合于数据源持续更新的动态环境。

根据具体的应用需求和数据的特性,可以选择最合适的学习方式。例如,对于需要快速适应新数据的应用,如推荐系统或实时监控系统,在线学习是更佳的选择。而对于数据集固定不变的应用,如静态数据集上的统计分析,批量学习则更为合适。

四 按技巧分类

按照技巧或方法的特性分类,机器学习算法可以划分为几个不同的类别,每个类别包括了一系列具有相似特点的算法。以下是一些主要的分类及其特点:

  1. 基于实例的学习 (Instance-based Learning)

    • 算法依赖于具体的数据实例来进行预测。
    • 例如,最近邻(k-NN)算法会根据与新数据点最接近的已知数据点来进行分类或回归。
    • 特点:简单、直观,易于实现,但可能需要较大的存储空间和计算资源。
  2. 基于模型的学习 (Model-based Learning)

    • 这类算法先从训练数据构建一个模型,然后用这个模型来做出预测。
    • 例如,决策树、支持向量机、神经网络等。
    • 特点:能够捕捉数据中的复杂模式,适用于复杂任务,但可能需要更多的训练时间和数据。
  3. 集成学习 (Ensemble Learning)

    • 集成方法结合了多个模型来提高预测的准确性和稳健性。
    • 例如,随机森林(Random Forests)结合了多个决策树的结果。
    • 特点:通常比单个模型更准确,能够减少过拟合的风险,但计算成本较高。
  4. 深度学习 (Deep Learning)

    • 深度学习使用具有多层结构的神经网络来学习数据的高级特征。
    • 例如,卷积神经网络(CNNs)适用于图像处理,循环神经网络(RNNs)适用于序列数据。
    • 特点:在处理大规模数据集和复杂问题上表现优异,但需要大量的训练数据和计算资源。
  5. 规则学习 (Rule-based Learning)

    • 依靠一系列规则来进行决策。
    • 例如,决策树算法就是提取出一系列的决策规则。
    • 特点:生成的模型易于理解,透明度高,但可能无法处理非常复杂的模式。
  6. 概率学习 (Probabilistic Learning)

    • 使用概率模型来预测结果。
    • 例如,朴素贝叶斯分类器和隐马尔可夫模型。
    • 特点:能够处理不确定性和噪声数据,提供预测的概率估计。

这些分类不是互斥的;实际上,许多机器学习算法可以归入多个类别。例如,深度学习是基于模型的学习的一种,同时也可以视为一种特殊的集成学习(多层神经网络可以视为多个处理层的集合)。选择哪种类型的方法取决于具体问题、数据的特性和可用资源。

五 机器学习的三要素

三个要素各自的含义:

  1. 模型 (Model)

    • 定义: 在机器学习中,模型是指从输入数据到输出预测的映射。这个映射是通过数据学习得到的,可以是一个简单的线性关系,也可以是复杂的非线性关系,如深度学习模型。
    • 作用: 模型定义了数据特征如何转换为预测或决策。
  2. 策略 (Strategy)

    • 定义: 策略涉及到选择何种损失函数和正则化方法,它定义了如何从模型的预测中评估误差或损失。换言之,策略决定了我们如何通过损失函数来衡量模型的好坏。
    • 作用: 策略指导我们如何通过比较预测和实际结果来优化模型。
    • 损失函数和风险函数
    • 经验风险和结构风险
    • 结构风险(Structural Risk)和经验风险(Empirical Risk)是机器学习领域中的两个重要概念,尤其是在统计学习理论中。它们与模型的泛化能力和训练过程密切相关。

经验风险 (Empirical Risk)

  1. 定义: 经验风险是指模型在训练数据集上的平均损失。它反映了模型对训练数据的拟合程度。
  2. 计算: 通常通过损失函数来计算,例如,使用均方误差(MSE)或交叉熵损失来衡量。
  3. 意义: 经验风险最小化(ERM, Empirical Risk Minimization)是一种模型训练方法,其目标是最小化模型在训练数据上的损失。
  4. 局限: 仅关注于最小化训练误差可能导致过拟合,尤其是当训练数据量不足或包含噪声时。

结构风险 (Structural Risk)

  1. 定义: 结构风险考虑了模型复杂度对泛化能力的影响。它是经验风险和模型复杂度的综合考量。
  2. 计算: 结构风险通常由经验风险和一个与模型复杂度相关的正则化项组成。
  3. 意义: 结构风险最小化(SRM, Structural Risk Minimization)是一种更综合的训练方法,它旨在找到经验风险和模型复杂度之间的最佳平衡。
  4. 作用: 通过考虑模型复杂度,结构风险最小化有助于提高模型在未见数据上的泛化能力,降低过拟合的风险。

对比

  • 关注点不同: 经验风险关注于模型在训练数据上的表现,而结构风险还考虑了模型复杂度对泛化能力的影响。
  • 过拟合防范: 经验风险最小化可能导致过拟合,特别是在数据有限的情况下。结构风险最小化通过考虑模型复杂度来减轻这一问题。
  • 适用性: 在数据量较小或者数据质量不高的情况下,结构风险最小化通常比经验风险最小化更为有效。

简而言之,结构风险最小化是对经验风险最小化的一个重要补充,它通过引入正则化项来控制模型复杂度,从而在模型的拟合能力和泛化能力之间寻求平衡。

  • 在这里插入图片描述
  1. 算法 (Algorithm)
    • 定义: 算法是指具体的计算过程,用于在给定的策略下优化模型参数。算法通过最小化损失函数来调整模型参数,以训练出最佳的模型。
    • 作用: 算法是实际执行模型训练的步骤和方法,如梯度下降、随机森林等。

这种分类方式强调了机器学习中的不同方面:模型定义了学习任务的结构,策略定义了评价模型的准则,而算法则是实现模型优化的具体计算方法。这三者共同工作,使机器学习能够有效地从数据中学习。

六 模型的评估与选择

1.两种误差

训练误差(Training Error)和测试误差(Test Error)是机器学习中评估模型性能的两个重要概念。它们反映了模型在训练阶段和测试阶段对数据的拟合程度和预测准确性。

训练误差 (Training Error)

  1. 定义: 训练误差是指模型在训练数据集上的误差。它衡量了模型对用于学习的数据的拟合程度。
  2. 计算: 通常通过计算模型在训练集上的平均误差来得到,如均方误差(MSE)或交叉熵损失。
  3. 意义: 训练误差低可能表示模型已经很好地学习了训练数据的特征和模式。
  4. 局限: 低训练误差并不总是意味着模型一定优秀,因为它可能是由于过拟合(Overfitting)造成的,即模型对训练数据学得太好,包括了数据中的噪声,而失去了泛化能力。

测试误差 (Test Error)

  1. 定义: 测试误差是指模型在新的、未见过的数据(测试数据集)上的误差。它衡量了模型对新数据的预测准确性。
  2. 计算: 通过评估模型在一个独立的测试数据集上的性能来得到。
  3. 意义: 测试误差是对模型泛化能力的一个更好的衡量。低测试误差表明模型不仅在训练数据上表现良好,而且能够将学到的知识有效地应用于新数据。
  4. 局限: 测试数据集的选择和大小可能会影响测试误差的准确性。

对比

  • 目的差异: 训练误差用于衡量模型对训练数据的拟合程度,而测试误差用于评估模型对新数据的泛化能力。
  • 重要性: 测试误差通常被认为比训练误差更重要,因为它更能代表模型在实际应用中的性能。
  • 过拟合风险: 过分关注降低训练误差可能导致过拟合,即模型对训练数据过度敏感,对新数据的预测性能下降。

在实际应用中,理想的模型是训练误差和测试误差都较低,这意味着模型既能够很好地学习训练数据,又具有良好的泛化能力。

2.拟合程度

在机器学习中,过拟合(Overfitting)和欠拟合(Underfitting)是两种常见的问题,它们分别描述了模型对训练数据的拟合程度过高或过低的情况。

过拟合 (Overfitting)

  1. 定义: 过拟合发生在模型对训练数据学得“太好”时,以至于它开始学习训练数据中的噪声和异常点。
  2. 表现: 在训练数据上表现出色(训练误差低),但在新的、未见过的数据上表现不佳(测试误差高)。
  3. 原因:
    • 训练数据不足,或者数据质量差(噪声太多)。
    • 模型过于复杂,有过多的参数或层次。
  4. 解决方法:
    • 获取更多或更高质量的训练数据。
    • 简化模型,减少参数数量。
    • 使用正则化技术(如L1或L2正则化)。
    • 早停法(Early Stopping):在验证集误差开始增加时停止训练。

欠拟合 (Underfitting)

  1. 定义: 欠拟合发生在模型没有很好地学习训练数据的基本结构时,通常是因为模型过于简单。
  2. 表现: 在训练数据上和新数据上都表现不佳(训练误差和测试误差都高)。
  3. 原因:
    • 模型过于简单,无法捕捉数据的复杂性。
    • 训练不充分,模型没有足够的时间学习数据。
  4. 解决方法:
    • 使用更复杂的模型。
    • 增加更多特征,或进行特征工程。
    • 增加训练时间或更改训练方法。

对比

  • 问题本质: 过拟合是由于模型太复杂或训练过度,而欠拟合是由于模型太简单或训练不足。
  • 表现: 过拟合在训练集上表现良好但泛化能力差,欠拟合在训练集和测试集上都表现不佳。
  • 解决: 过拟合需要简化模型或获取更多数据,欠拟合需要复杂化模型或增加特征。

在机器学习中,找到一个既不过拟合也不欠拟合的模型是一个关键挑战,这通常需要通过调整模型的复杂性、增加数据量或改变训练策略来实现。

七 正则化

正则化是一种用于减少模型过拟合的技术,在机器学习和统计学中非常常见。它通过添加一个额外的惩罚项到损失函数中,来限制模型的复杂度。这个惩罚项通常是对模型参数的大小的惩罚,目的是防止模型过度依赖训练数据的特定特征,从而提高模型的泛化能力。

正则化的主要类型

  1. L1 正则化(Lasso 正则化)

    • 惩罚项是模型所有参数绝对值的和。
    • 数学表示: ( λ ∑ ∣ w i ∣ ( \lambda \sum |w_i| (λwi),其中 ( λ ( \lambda (λ) 是正则化强度, ( w i ( w_i (wi) 是模型参数。
    • 特点:它倾向于生成一个稀疏模型,即许多参数值为零,这有助于特征选择。
  2. L2 正则化(Ridge 正则化)

    • 惩罚项是模型所有参数的平方和。
    • 数学表示: ( λ ∑ w i 2 ( \lambda \sum w_i^2 (λwi2)。
    • 特点:它倾向于使参数值较小,但不会是零,这有助于处理参数间的共线性问题。
  3. 弹性网(Elastic Net)

    • 结合了 L1 和 L2 正则化。
    • 数学表示:包含两部分,一部分是 L1 正则化,另一部分是 L2 正则化。
    • 特点:结合了 L1 和 L2 的优点,对于具有相关特征的数据集特别有效。

正则化的作用

  • 减少过拟合: 通过惩罚大的参数值,正则化降低了模型对训练数据中噪声的敏感性。
  • 提高泛化能力: 增加正则化可以使模型在新的、未见过的数据上表现得更好。
  • 处理共线性(多重共线性): 特别是 L2 正则化,有助于处理特征间高度相关的情况。

在实际应用中,正则化强度(通常由参数 ( λ ( \lambda (λ) 控制)的选择非常重要。 ( λ ( \lambda (λ) 值过大可能导致模型欠拟合(过于简单),而 ( λ ( \lambda (λ) 值过小则可能导致过拟合(复杂度过高)。通常通过交叉验证来找到最佳的 ( λ ( \lambda (λ) 值。

八 泛化能力

泛化能力是指机器学习模型对新的、未见过的数据进行预测的能力。简而言之,一个具有良好泛化能力的模型能够在新数据上表现得和在训练数据上一样好。泛化能力是评估机器学习模型性能的关键指标之一。

泛化能力的重要性

  • 实际应用: 在实际应用中,我们通常更关心模型在新数据上的表现,而不仅仅是其在训练集上的表现。
  • 避免过拟合: 一个过拟合的模型可能在训练数据上表现出色,但在新数据上表现糟糕。良好的泛化能力意味着模型在新数据上也能保持可靠的性能。

影响泛化能力的因素

  1. 模型复杂度:

    • 过于复杂的模型可能会学习到训练数据中的噪声和特定样本的特征,导致在新数据上表现不佳。
    • 适度的模型复杂度可以帮助模型捕捉数据中的真实模式,而不是噪声。
  2. 训练数据量和质量:

    • 足够多且多样的训练数据可以帮助模型更好地泛化。
    • 数据质量差(如有噪声或错误标签)会影响模型的泛化能力。
  3. 正则化:

    • 正则化技术(如L1、L2正则化)可以防止过拟合,提高模型的泛化能力。
  4. 训练技术:

    • 例如,交叉验证可以帮助评估模型在新数据上的表现,从而选择更能泛化的模型。

评估泛化能力

  • 通常通过在一个独立的测试集上评估模型的性能来估计其泛化能力。
  • 交叉验证是另一种评估模型泛化能力的常用方法,它通过将数据分成多个部分并在这些部分上多次训练和测试模型来减少评估的偏差。

总的来说,泛化能力是衡量机器学习模型在面对新数据时能否做出准确预测的一个关键指标。它影响着模型在现实世界问题中的实际应用价值。

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

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

相关文章

centenos下载安装

阿里云镜像下载 centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 新建虚拟机 (1) 创建新的虚拟机 可以在主页直接点击创建新的虚拟机也可以在上方,点击文件,新建虚拟机 (2) 选择自定义(高级) (3) 硬盘兼容性 默认即可。我…

php 函数声明与调用

在 PHP 中,函数声明和调用的语法如下: 函数声明的一般形式为: function functionName($param1, $param2, ...) {// 函数体return $result; // 可选 } 例如: function add($a, $b) {return $a $b; } 函数调用的一般形式为&am…

transbigdata笔记:数据预处理

0 数据 使用 transbigdata/docs/source/gallery/data/TaxiData-Sample.csv at main ni1o1/transbigdata (github.com) 和transbigdata/docs/source/gallery/data/sz.json at main ni1o1/transbigdata (github.com) 0.1 导入库 import transbigdata as tbd import pandas …

通过 Elastic Stack 充分利用电信领域生成式 AI 的力量

作者:Elastic Piotr Kobziakowski, Jrgen Obermann 在瞬息万变的电信领域,Elastic Stack 与生成式 AI 的集成正在开创运营效率和创新的新时代。 这些技术不仅增强了网络运营,而且还彻底改变了各个部门的内部流程。 下面,我们将深入…

Java 并发之《深入理解 JVM》关于 volatile 累加示例的思考

在周志明老师的 《深入理解 JVM》一书中关于 volatile 关键字线程安全性有一个示例代码(代码有些许改动,语义一样): public class MyTest3 {private static volatile int race 0;private static void increase() {race;}public …

视频监控录像服务器(中心录像服务器)功能详细介绍

目 录 一、概述 (一)定义 (二)视频监控中心录像服务器 二、存储策略服务 (一)存储策略配置 1、 录入页面 2、 选择需要进行录像的视频 3、批量选择多个通道号 4、其他关键参数…

rocketmq实现延迟消息

SpringBoot整合RocketMQ发送延时消息 springboot rocketmq 延迟消息 Windows下RocketMQ安装及可视化界面搭建 Java 客户端 RocketMQ延迟消息 项目背景 项目中有延时消息的需求,综合考量RocketMQ比较适合。 RocketMQ支持多维度的延迟级别 支持多种消息类型 基…

Windows安装PostgreSQL常见问题总结解决

1.用户权限不足/未关闭防火墙&杀毒软件 1.1.数据库初始化错误 1.2.SQL模块没有成功加载到数据簇 在安装PostgreSQL时,我们可能会遇到1.1和1.2的情况,其实这两个为一类问题,即安装权限不足。首先检测自己的用户是不是本地组Administrator再…

使用 Windbg 分析软件异常时的诸多细节与技巧总结

目录 1、dump文件 1.1、dump文件的生成方式 1.2、dump文件的大小 2、pdb符号文件 2.1、pdb文件的路径设置 2.2、pdb文件的时间戳与名称问题 2.3、如何确定要找哪些pdb文件? 3、使用Windbg静态分析dump文件以及动态调试程序的一般步骤 4、确定发生异常或崩溃…

Vue中的class和style绑定

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介动态绑定class对象语法数组语法 动态绑定style对象语法多重值 ⭐ 写在最后 ⭐ 专栏简介 Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏!创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习…

Provide/Inject 依赖注入(未完待续)

父组件传递给子组件数据,通过props,但是需要逐层传递 provide/Inject 的推出就是为了解决这个问题,它提供了一种组件之间共享此类值的方式,不必通过组件树每层级显示地传递props 目的是为了共享那些被 认为对于一个组件树而言是全局的数据 p…

MulticoreWare与Imagination一同按下汽车计算工作负载的“加速键”

中国北京 – 2024年1月8日 - MulticoreWare Inc与Imagination Technologies共同宣布已在德州仪器TDA4VM处理器上实现了GPU计算,不仅使算力提升了约50 GFLOPS,而且还实现了自动驾驶和高级驾驶辅助系统(ADAS)常见工作负载性能的跃升…

MySQL 从零开始:03 基本入门语句

文章目录 1、连接数据库1.1 命令提示符登陆1.2 MySQL 8.0 Command Line Client 登陆1.3 MySQL Workbench 登陆 2、基本语句2.1 查看所有库2.2 创建库2.3 删除库2.4 选择数据库2.5 查看表2.6 创建表2.7 删除表2.8 改表名2.9 清空表 在上一小节中介绍了 MySQL 数据库的安装&#…

【Win10安装Qt6.3】安装教程_保姆级

前言 Windows系统安装Qt4及Qt5.12之前版本和安装Qt.12之后及Qt6方法是不同的 ;因为之前的版本提供的有安装包,直接一路点击Next就Ok了。但Qt5.12版本之后,Qt公司就不再提供安装包了,不论是社区版,专业版等&#xff0c…

羌族特色民居----碉楼

羌族是四川的一个少数民族,他们独具特色的民居就是----碉楼。在羌语中,碉楼被称为“邓笼”,意为美丽、高贵的房子,羌族人有“依山而居,垒石为屋,高者十余丈”的习俗。碉楼的高度在十米至三十米之间。用于御…

飞腾FT2000-4/D2000-8 VPX主板

产品特点 ①国产飞腾FT2000-4或D2000-8处理器 ,同一模块兼容两种处理器,可以根据性能需要选择 ②丰富的万兆以太网、千兆以太网、USB、SATA接口,可用作数据处理、存储、通信服务器 ③内部集成FPGA-V7协处理器,支持SRIO、LVDS等…

k8s的存储卷、数据卷

容器内的目录和宿主机目录进行挂载。 容器在系统上的生命周期是短暂的。 k8s用控制器创建的pod。delete相当于重启。容器的状态也会恢复到初始状态。一旦恢复到初始状态,所有的后天编辑的文件都会消失 容器和节点之间创建一个可以持久化保存容器内文件的存储卷。…

详解JavaScript中的WeakMap和WeakSet

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ ✨ 前言 内存管理一直是JavaScript这门语言中的难点和痛点。由于其自动垃圾回收机制的限制,在某些场…

Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)

Kettle Web 📚第一章 前言📚第二章 demo源码📗pom.xml引入Kettle引擎核心文件📗java源码📕 controller📕 service📕 其它📕 maven settings.xml 📗测试📕 测试…

Opencv实验合集——实验七:二维码和条形码匹配

1.概念 二维码(QR码) 概念: 二维码是一种矩阵式的二维条码,由黑白方块组成,可以存储大量的信息,包括文本、链接、数字等。QR码的编码方式是在矩阵中通过不同的黑白方块组合表示不同的信息。 特点&#xf…