机器学习面试重点第二部分(动画版)

目录

第一章、聚类算法

​1.1 K-means 聚类

​1.1.1 算法​编辑流程

1.1.2 优缺点

​1.1.3 应用场景

​1.2 层次聚类

​1.2.1 算法流程

1.2.2 优缺点

​1.2.3 应用场景

​1.3 DBSCAN

​1.3.1 算法流程

1.3.2 优缺点

​1.3.3 应用场景

1.3.4. 参数 ε(eps)​

1.3.5. 参数 MinPts

1.3.6. ε 和 MinPts 的相互作用

​1.4 算法流程对比

​1.4.1 K-means vs. 层次聚类 vs. DBSCAN

​1.4.2 K-means vs. 层次聚类 vs. DBSCAN

​第二章、贝叶斯网络及隐马尔可夫模型、混合高斯模型(后续单独出文章讲细节)

​2.1 贝叶斯网络

​2.1.1 核心概念

​2.1.2 构建方法

​2.1.3 推理算法

​2.1.4 应用场景

​2.2 隐马尔可夫模型(HMM)​

​2.2.1 核心概念

​2.2.2 构建方法

​2.2.3 推理算法

​2.2.4 应用场景

​2.3 混合高斯模型(GMM)​

​2.3.1 核心概念

​2.3.2 构建方法

​2.3.3 推理算法

​2.3.4 应用场景

​第三章、数据降维

​3.1 线性判别分析(LDA)​

​3.1.1 核心思想

​3.1.2 数学原理

​3.1.3 应用场景

​3.2 Fisher判别分析(FISH)​

​3.2.1 核心思想

​3.2.2 数学原理

​3.2.3 应用场景

​3.3 主成分分析(PCA)​

​3.3.1 核心思想

​3.3.2 数学原理

​3.3.3 应用场景

​3.4 奇异值分解(SVD)​

​3.4.1 核心思想

​3.4.2 数学原理

​3.4.3 应用场景

​3.5 方法对比

​3.5.1 LDA vs. PCA

​3.5.2 PCA vs. SVD


第一章、聚类算法

1.1 K-means 聚类

1.1.1 算法流程

问题1:​ 请详细描述K-means算法的流程,并解释其迭代更新过程。
答案:​
K-means算法的流程如下:

  1. 初始化:随机选择K个样本点作为初始聚类中心。
  2. 分配样本:计算每个样本点到所有聚类中心的距离,将其分配到距离最近的聚类中心,形成K个簇。
  3. 更新中心:对于每个簇,计算其所有样本点的均值,并将该均值作为新的聚类中心。
  4. 迭代:重复步骤2和3,直到聚类中心不再变化或达到最大迭代次数。

迭代更新过程:​

  • 在每次迭代中,首先根据当前的聚类中心重新分配样本点到最近的簇,然后更新每个簇的聚类中心为该簇中所有样本点的均值。这个过程交替进行,直到聚类中心不再变化或算法收敛。
1.1.2 优缺点

问题3:​ K-means算法的优点和缺点是什么?
答案:​
优点:​

  1. 简单高效,计算复杂度低。
  2. 适用于大规模数据集。
    缺点:​
  3. 需要预先指定K值。
  4. 对初始聚类中心敏感,可能收敛到局部最优。
  5. 对噪声和异常值敏感。

问题4:​ 如何解决K-means对初始聚类中心敏感的问题?
答案:​
可以使用K-means++算法,通过改进初始聚类中心的选择,降低对初始值的敏感性。


1.1.3 应用场景

问题5:​ K-means适用于哪些场景?
答案:​
K-means适用于:

  1. 数据集分布为凸形或球形。
  2. 数据维度较低或经过降维处理。
  3. 需要快速聚类的大规模数据集。

1.2 层次聚类

1.2.1 算法流程

问题2:​ 请详细描述凝聚层次聚类的流程,并解释其迭代更新过程。
答案:​
凝聚层次聚类的流程如下:

  1. 初始化:将每个样本点视为一个单独的簇。
  2. 计算距离:计算所有簇之间的距离,通常使用单链、全链或平均链方法。
  3. 合并最近簇:找到距离最近的两个簇,将它们合并为一个新的簇。
  4. 更新距离矩阵:更新新簇与其他簇之间的距离。
  5. 迭代:重复步骤2~4,直到所有样本点合并为一个簇或达到预设的簇数。

迭代更新过程:​

  • 在每次迭代中,算法首先计算所有簇之间的距离,然后合并距离最近的两个簇,并更新距离矩阵以反映新的簇间关系。这个过程持续进行,直到所有样本点被合并为一个簇或达到预设的簇数。
1.2.2 优缺点

问题8:​ 层次聚类的优点和缺点是什么?
答案:​
优点:​

  1. 不需要预先指定K值。
  2. 可以生成树状结构,直观展示簇的层次关系。
    缺点:​
  3. 计算复杂度高,不适合大规模数据集。
  4. 对噪声和异常值敏感。

1.2.3 应用场景

问题9:​ 层次聚类适用于哪些场景?
答案:​
层次聚类适用于:

  1. 数据集规模较小。
  2. 需要分析簇的层次结构。
  3. 数据分布复杂,无法预先确定K值。


1.3 DBSCAN

1.3.1 算法流程

问题3:​ 请详细描述DBSCAN算法的流程,并解释其迭代更新过程。
答案:​
DBSCAN算法的流程如下:

  1. 初始化:随机选择一个未访问的样本点。
  2. 判断核心点:计算该样本点的邻域内样本数。如果样本数大于等于min_samples,则标记为核心点,并创建一个新簇;否则标记为噪声点。
  3. 扩展簇:从核心点出发,递归地将其邻域内的所有样本点加入当前簇。
  4. 迭代:重复步骤1~3,直到所有样本点被访问。

迭代更新过程:​

  • 在每次迭代中,算法首先判断当前样本点是否为核心点。如果是核心点,则将其邻域内的所有样本点加入当前簇,并递归地扩展这些样本点的邻域。如果不是核心点,则标记为噪声点。这个过程持续进行,直到所有样本点被访问。
1.3.2 优缺点

问题12:​ DBSCAN的优点和缺点是什么?
答案:​
优点:​

  1. 不需要预先指定K值。
  2. 能够识别噪声点。
  3. 能够发现任意形状的簇。
    缺点:​
  4. 对参数eps和min_samples敏感。
  5. 对高维数据效果较差。

1.3.3 应用场景

问题13:​ DBSCAN适用于哪些场景?
答案:​
DBSCAN适用于:

  1. 数据集分布不规则或密度不均匀。
  2. 需要识别噪声点的场景。
  3. 数据维度较低或经过降维处理。


1.3.4. 参数 ε(eps)​

问题1:​ 参数 ε 在 DBSCAN 中的作用是什么?
答案:​
ε 是邻域的半径,用于定义数据点的邻域范围。如果一个点的 ε 邻域内包含足够多的点(即 ≥ MinPts),则该点被视为核心点,并用于扩展簇。

问题2:​ ε 的大小如何影响 DBSCAN 的聚类结果?
答案:​

  • ε 较大
    • 邻域范围扩大,可能将不同密度的簇合并为一个簇。
    • 噪声点可能被错误地划分为簇。
    • 聚类结果倾向于生成较少的簇。
  • ε 较小
    • 邻域范围缩小,可能导致高密度区域被分割为多个小簇。
    • 噪声点更容易被识别。
    • 聚类结果倾向于生成较多的簇。

问题3:​ 如何选择合适的 ε 值?
答案:​

  • 使用 ​K-距离图:计算每个点到其第 k 个最近邻的距离,绘制距离图,选择距离急剧上升的点作为 ε 值。
  • 通过实验调优:结合具体数据和业务需求,尝试不同的 ε 值,观察聚类效果。

1.3.5. 参数 MinPts

问题4:​ 参数 MinPts 在 DBSCAN 中的作用是什么?
答案:​
MinPts 是定义核心点的最小邻域点数。如果一个点的 ε 邻域内包含至少 MinPts 个点,则该点被视为核心点。

问题5:​ MinPts 的大小如何影响 DBSCAN 的聚类结果?
答案:​

  • MinPts 较大
    • 核心点的定义更严格,可能导致部分高密度区域被标记为噪声。
    • 聚类结果倾向于生成较少的簇。
  • MinPts 较小
    • 核心点的定义更宽松,可能导致低密度区域被错误地划分为簇。
    • 聚类结果倾向于生成较多的簇。

问题6:​ 如何选择合适的 MinPts 值?
答案:​

  • 经验法则:通常选择 MinPts ≥ 数据维度 + 1。
  • 结合 ε 值调优:通过实验调整 MinPts 和 ε 值,找到最佳组合。

1.3.6. ε 和 MinPts 的相互作用

问题7:​ ε 和 MinPts 如何共同影响 DBSCAN 的聚类结果?
答案:​
ε 和 MinPts 共同决定了数据点的密度阈值。较小的 ε 和较大的 MinPts 会提高密度阈值,导致更严格的聚类;较大的 ε 和较小的 MinPts 会降低密度阈值,导致更宽松的聚类。

问题8:​ 如何调优 ε 和 MinPts?
答案:​

  1. 使用 K-距离图初步确定 ε 值。
  2. 根据经验法则选择 MinPts 值。
  3. 通过实验微调 ε 和 MinPts,观察聚类效果。

1.4 算法流程对比

1.4.1 K-means vs. 层次聚类 vs. DBSCAN

问题4:​ 请比较K-means、层次聚类和DBSCAN的算法流程及其迭代更新过程。
答案:​

  • K-means:通过交替分配样本点和更新聚类中心来最小化簇内误差。每次迭代中,样本点被重新分配到最近的簇,然后更新每个簇的中心。
  • 层次聚类:通过逐步合并最近的簇来构建树状结构。每次迭代中,算法计算所有簇之间的距离,合并最近的两个簇,并更新距离矩阵。
  • DBSCAN:通过递归扩展核心点的邻域来形成簇。每次迭代中,算法判断当前样本点是否为核心点,如果是则扩展其邻域,否则标记为噪声点。
1.4.2 K-means vs. 层次聚类 vs. DBSCAN

问题14:​ 请比较K-means、层次聚类和DBSCAN的优缺点。
答案:​

算法优点缺点
K-means简单高效,适用于大规模数据集需要预先指定K值,对噪声敏感
层次聚类不需要预先指定K值,生成树状结构计算复杂度高,对噪声敏感
DBSCAN能够识别噪声点,发现任意形状的簇对参数敏感,高维数据效果差

第二章、贝叶斯网络及隐马尔可夫模型、混合高斯模型(后续单独出文章讲细节)

本章将深入探讨贝叶斯网络、隐马尔可夫模型(HMM)和混合高斯模型(GMM)的核心概念、构建方法、推理算法和应用场景。以下是关于这些模型的细致问题和答案。


2.1 贝叶斯网络

2.1.1 核心概念

问题1:​ 什么是贝叶斯网络?它的核心思想是什么?
答案:​
贝叶斯网络是一种基于概率推理的图模型,用于表示变量之间的条件依赖关系。其核心思想是通过有向无环图(DAG)和条件概率表(CPT)描述变量之间的因果关系和概率分布。

问题2:​ 贝叶斯网络中的节点和边分别代表什么?
答案:​

  • 节点:表示随机变量。
  • :表示变量之间的条件依赖关系。

2.1.2 构建方法

问题3:​ 如何构建一个贝叶斯网络?
答案:​
构建贝叶斯网络的步骤如下:

  1. 确定变量:识别问题中的随机变量。
  2. 构建图结构:根据变量之间的因果关系绘制有向无环图(DAG)。
  3. 定义条件概率表(CPT)​:为每个节点指定其父节点条件下的概率分布。

问题4:​ 贝叶斯网络中的条件独立性是什么?如何判断?
答案:​
条件独立性是指给定某些变量的条件下,另一些变量之间相互独立。可以通过D-分离(D-separation)规则判断条件独立性。


2.1.3 推理算法

问题5:​ 贝叶斯网络的推理方法有哪些?
答案:​
常用的推理方法包括:

  1. 精确推理:如变量消元法、联合树算法。
  2. 近似推理:如蒙特卡洛采样、变分推断。

问题6:​ 什么是变量消元法?它的原理是什么?
答案:​
变量消元法是一种精确推理方法,通过逐步消去非查询变量,计算查询变量的边缘概率分布。


2.1.4 应用场景

问题7:​ 贝叶斯网络适用于哪些场景?
答案:​
贝叶斯网络适用于:

  1. 医学诊断:推断疾病与症状之间的关系。
  2. 自然语言处理:如语音识别、机器翻译。
  3. 金融风控:评估风险与决策之间的关系。

2.2 隐马尔可夫模型(HMM)​

2.2.1 核心概念

问题8:​ 什么是隐马尔可夫模型?它的核心思想是什么?
答案:​
隐马尔可夫模型(HMM)是一种基于概率的序列模型,用于描述由隐藏状态序列生成观测序列的过程。其核心思想是通过隐藏状态和观测状态之间的转移概率和发射概率建模序列数据。

问题9:​ HMM中的隐藏状态和观测状态分别代表什么?
答案:​

  • 隐藏状态:不可直接观测的变量,通常表示系统的内部状态。
  • 观测状态:可直接观测的变量,通常表示系统的输出。

2.2.2 构建方法

问题10:​ HMM的三大基本问题是什么?
答案:​
HMM的三大基本问题是:

  1. 评估问题:计算给定观测序列的概率。
  2. 解码问题:寻找最可能的隐藏状态序列。
  3. 学习问题:从观测序列中学习模型参数。

问题11:​ 如何解决HMM的评估问题?
答案:​
使用前向算法或后向算法计算给定观测序列的概率。


2.2.3 推理算法

问题12:​ 什么是维特比算法?它的原理是什么?
答案:​
维特比算法是一种动态规划算法,用于解决HMM的解码问题,即寻找最可能的隐藏状态序列。

问题13:​ 什么是Baum-Welch算法?它的原理是什么?
答案:​
Baum-Welch算法是一种期望最大化(EM)算法,用于解决HMM的学习问题,即从观测序列中学习模型参数。


2.2.4 应用场景

问题14:​ HMM适用于哪些场景?
答案:​
HMM适用于:

  1. 语音识别:建模语音信号与文本之间的关系。
  2. 生物信息学:如基因序列分析。
  3. 自然语言处理:如词性标注、命名实体识别。

2.3 混合高斯模型(GMM)​

2.3.1 核心概念

问题15:​ 什么是混合高斯模型?它的核心思想是什么?
答案:​
混合高斯模型(GMM)是一种基于概率的聚类模型,用于描述由多个高斯分布混合生成的数据分布。其核心思想是通过加权多个高斯分布拟合复杂的数据分布。

问题16:​ GMM中的高斯分布和权重分别代表什么?
答案:​

  • 高斯分布:表示数据的一个簇。
  • 权重:表示每个高斯分布在混合模型中的比例。

2.3.2 构建方法

问题17:​ 如何构建一个GMM?
答案:​
构建GMM的步骤如下:

  1. 初始化:随机选择高斯分布的参数和权重。
  2. 期望步骤(E-step)​:计算每个样本点属于每个高斯分布的概率。
  3. 最大化步骤(M-step)​:更新高斯分布的参数和权重。
  4. 迭代:重复E-step和M-step,直到模型收敛。

问题18:​ GMM的EM算法是什么?它的原理是什么?
答案:​
EM算法是一种迭代优化方法,用于估计GMM的参数。其原理是通过交替执行期望步骤(E-step)和最大化步骤(M-step),逐步优化模型参数。


2.3.3 推理算法

问题19:​ 如何使用GMM进行聚类?
答案:​
通过计算每个样本点属于每个高斯分布的概率,将其分配到概率最大的簇。

问题20:​ 如何选择GMM中的高斯分布数量?
答案:​
可以使用信息准则(如AIC、BIC)或交叉验证选择最优的高斯分布数量。


2.3.4 应用场景

问题21:​ GMM适用于哪些场景?
答案:​
GMM适用于:

  1. 数据聚类:如图像分割、语音信号处理。
  2. 密度估计:拟合复杂的数据分布。
  3. 异常检测:识别不符合数据分布的异常点。

第三章、数据降维

数据降维是机器学习和数据分析中的重要技术,用于减少数据维度,同时保留关键信息。本章将深入探讨四种常用的降维方法:​线性判别分析(LDA)、Fisher判别分析(FISH)、主成分分析(PCA)和奇异值分解(SVD)​。以下是关于这些方法的细致问题和答案,涵盖其核心思想、数学原理、实现细节和应用场景。


3.1 线性判别分析(LDA)​

3.1.1 核心思想

问题1:​ 什么是线性判别分析(LDA)?它的核心思想是什么?
答案:​
LDA是一种监督降维方法,其核心思想是通过最大化类间距离和最小化类内距离,找到最优的投影方向,使得不同类别的数据在低维空间中尽可能分开。


3.1.2 数学原理

问题2:​ 请用数学公式描述LDA的目标函数。
答案:​
LDA的目标函数是最大化类间散度矩阵与类内散度矩阵的比值:

J(\mathbf{w}) = \frac{\mathbf{w}^T \mathbf{S}_B \mathbf{w}}{\mathbf{w}^T \mathbf{S}_W \mathbf{w}}

其中:

  • SB​ 是类间散度矩阵:
    \mathbf{S}_B = \sum_{i=1}^{C} N_i (\mathbf{\mu}_i - \mathbf{\mu})(\mathbf{\mu}_i - \mathbf{\mu})^T
    
  • SW​ 是类内散度矩阵:
    \mathbf{S}_W = \sum_{i=1}^{C} \sum_{\mathbf{x} \in C_i} (\mathbf{x} - \mathbf{\mu}_i)(\mathbf{x} - \mathbf{\mu}_i)^T
    
  • w 是投影方向。

问题3:​ 如何求解LDA的最优投影方向?
答案:​
通过求解广义特征值问题:

\mathbf{S}_B \mathbf{w} = \lambda \mathbf{S}_W \mathbf{w}

得到投影方向 w。


3.1.3 应用场景

问题4:​ LDA适用于哪些场景?
答案:​
LDA适用于:

  1. 分类任务:如人脸识别、文本分类。
  2. 监督降维:在降维过程中保留类别信息。

3.2 Fisher判别分析(FISH)​

3.2.1 核心思想

问题5:​ 什么是Fisher判别分析?它的核心思想是什么?
答案:​
Fisher判别分析是一种监督降维方法,其核心思想是通过最大化类间距离与类内距离的比值,找到最优的投影方向,使得不同类别的数据在低维空间中尽可能分开。


3.2.2 数学原理

问题6:​ 请用数学公式描述Fisher判别分析的目标函数。
答案:​
Fisher判别分析的目标函数与LDA相同:

J(\mathbf{w}) = \frac{\mathbf{w}^T \mathbf{S}_B \mathbf{w}}{\mathbf{w}^T \mathbf{S}_W \mathbf{w}}

问题7:​ Fisher判别分析与LDA的区别是什么?
答案:​
Fisher判别分析是LDA的特例,通常用于二分类问题,而LDA可以扩展到多分类问题。


3.2.3 应用场景

问题8:​ Fisher判别分析适用于哪些场景?
答案:​
Fisher判别分析适用于:

  1. 二分类任务:如医学诊断、信用评分。
  2. 监督降维:在降维过程中保留类别信息。

3.3 主成分分析(PCA)​

3.3.1 核心思想

问题9:​ 什么是主成分分析(PCA)?它的核心思想是什么?
答案:​
PCA是一种无监督降维方法,其核心思想是通过正交变换将原始数据投影到低维空间,使得投影后的数据方差最大,从而保留尽可能多的信息。


3.3.2 数学原理

问题10:​ 请用数学公式描述PCA的目标函数。
答案:​
PCA的目标函数是最大化投影后的方差:

J(\mathbf{w}) = \mathbf{w}^T \mathbf{\Sigma} \mathbf{w}

其中:

  • Σ 是协方差矩阵:
    \mathbf{\Sigma} = \frac{1}{N} \sum_{i=1}^{N} (\mathbf{x}_i - \mathbf{\mu})(\mathbf{x}_i - \mathbf{\mu})^T
    
  • w 是投影方向。

问题11:​ 如何求解PCA的最优投影方向?
答案:​
通过求解特征值问题:

\mathbf{\Sigma} \mathbf{w} = \lambda \mathbf{w}

得到投影方向 w。


3.3.3 应用场景

问题12:​ PCA适用于哪些场景?
答案:​
PCA适用于:

  1. 数据压缩:如图像压缩、语音信号处理。
  2. 特征提取:如人脸识别、文本分类。
  3. 数据可视化:将高维数据降维到2D或3D空间。

3.4 奇异值分解(SVD)​

3.4.1 核心思想

问题13:​ 什么是奇异值分解(SVD)?它的核心思想是什么?
答案:​
SVD是一种矩阵分解方法,其核心思想是将一个矩阵分解为三个矩阵的乘积,从而提取矩阵的主要特征。


3.4.2 数学原理

问题14:​ 请用数学公式描述SVD的分解过程。
答案:​
SVD将矩阵 A 分解为:

\mathbf{A} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^T

其中:

  • U 是左奇异向量矩阵。
  • Σ 是奇异值矩阵。
  • V 是右奇异向量矩阵。

问题15:​ SVD与PCA的关系是什么?
答案:​
SVD是PCA的数学基础,PCA可以通过对协方差矩阵进行SVD实现。


3.4.3 应用场景

问题16:​ SVD适用于哪些场景?
答案:​
SVD适用于:

  1. 推荐系统:如矩阵分解、协同过滤。
  2. 图像处理:如图像压缩、去噪。
  3. 自然语言处理:如潜在语义分析(LSA)。

3.5 方法对比

3.5.1 LDA vs. PCA

问题17:​ LDA和PCA的区别是什么?
答案:​

  • 监督性:LDA是监督方法,PCA是无监督方法。
  • 目标:LDA最大化类间距离,PCA最大化方差。
3.5.2 PCA vs. SVD

问题18:​ PCA和SVD的区别是什么?
答案:​

  • 数学基础:PCA基于协方差矩阵,SVD基于矩阵分解。
  • 应用场景:PCA用于降维,SVD用于矩阵分解

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指Offer精选:Java与Spring高频面试题深度解析

一、Java底层核心机制 🔥 问题1:谈谈对Java的理解? 📌 核心技术特性 平台无关性 "一次编译,到处运行":通过JVM实现跨平台兼容 字节码(.class)作为中间语言,…

RabbitMQ 集群降配

这里写自定义目录标题 摘要检查状态1. 检查 RabbitMQ 服务状态2. 检查 RabbitMQ 端口监听3. 检查 RabbitMQ 管理插件是否启用4. 检查开机自启状态5. 确认集群高可用性6. 检查使用该集群的服务是否做了断开重连 实操1. 负载均衡配置2. 逐个节点降配(滚动操作&#xf…

【正点原子K210连载】第七十六章 音频FFT实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第七十六章 音频FFT实验 本章将介绍CanMV下FFT的应用,通过将时域采集到的音频数据通过FFT为频域。通过本章的学习,读者将学习到CanMV下控制FFT加速器进行FFT的使用。 本章分为如下几个小节: 32.1 maix.FFT模块介绍 32.2 硬件设计 32.3 程序设…

嵌入式开发之STM32学习笔记day08

从“门铃”到“中断”:手把手玩转STM32的外部中断控制器(EXTI) 引言:为什么我们需要“中断”? (类比生活场景:用“快递按门铃”解释中断的意义) 想象一下:当你在…

JVM的一些知识

JVM简介 JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。 JVM 和其他两个虚拟机的区别: VMw…

Mac:JMeter 下载+安装+环境配置(图文详细讲解)

📌 下载JMeter 下载地址:https://jmeter.apache.org/download_jmeter.cgi 📌 无需安装 Apache官网下载 JMeter 压缩包,无需安装,下载解压后放到自己指定目录下即可。 按我自己的习惯,我会在用户 jane 目…

【简单有效!】Gradio利用html插件实现video视频流循环播放

文章目录 前言 & 思路静态资源挂载完整代码结果示例 前言 & 思路 需要利用gradio在前端搭建一个页面,循环播放视频。思路是直接调用gr.HTML插件实现,简单有效!!! 静态资源挂载 app.mount("/static&quo…

⭐算法OJ⭐克隆图【BFS】(C++实现)Clone Graph

前情提要:图论入门【数据结构基础】:什么是图?如何表示图? 133. Clone Graph Given a reference of a node in a connected undirected graph. Return a deep copy (clone) of the graph. Each node in the graph contains a va…

SpringSecurity——基于角色权限控制和资源权限控制

目录 基于角色权限控制 1.1 自定义 UserDetailsService 1.2 加载用户角色 1.3. 给角色配置能访问的资源(使用切面拦截,使用注解) 总结 资源权限控制 2.2. 需要有一个用户;(从数据库查询用户) 2.2 基…

【MySQL】表的约束

目录 零、前言一、空属性二、默认值三、列描述四、zerofill五、主键六、自增长七、唯一键八、外键结尾 零、前言 表中一定要有各种约束,通过约束来让用户未来插入的数据是符合要求的。约束的本质就是通过计算反过来要求用户插入正确的数据。所以站在MySQL的角度上来…

SQLMesh系列教程:SQLMesh虚拟数据环境

各种工具都已将软件工程实践引入到数据工程中,但仍有差距存在,尤其是在测试和工作流等领域。SQLMesh 的目标是在这些领域开辟新的天地,解决像 dbt 这样的竞争产品尚未提供强大解决方案的难题。在这篇文章中,我将对 SQLMesh 进行简…

基于Babylon.js的Shader入门之五:让Shader支持法线贴图

如果一个比较平坦的物体表面要添加更多的凹凸细节,但是我们又不想通过建模实现,这时候法线贴图就派上用场了。法线贴图是通过与灯光的交互来让一个平坦表面造成凹凸效果假象的,在基于Babylon.js的Shader入门之四:让Shader支持基础…

活码在实际操作中的具体场景有哪些?怎么应用?

当传统二维码因“内容固定、无法追踪、流量拥堵”等问题逐渐失效时,活码正在成为企业破解运营痛点的关键工具。 无论是需要实时更新内容的线下物料,还是面临用户分流压力的线上客服,动态二维码都能通过“一码多用、灵活配置”的特性&#xf…

极空间NAS部署gitea教程

极空间NAS部署gitea步骤教程 背景1. 准备镜像1.1 极空间官方1.2 Win系统docker再上传1.3 镜像转录 2. MySql配置2.1 容器配置2.2 命令行配置 3. gitea配置3.1 容器配置3.2 打开网页3.3 网页配置安装 参考资料 背景 极空间Nas和别的Nas不同的地方就在于,他不是那种标…

Wireshark:在 显示过滤器中“加入条件”过滤后,出现其他类型的数据包,为什么?

一、 在Wireshark中使用“tcp协议”过滤后,仍出现TLSv1.2协议的数据包,原因如下: 1. ‌协议层次关系‌ ‌TCP是传输层协议‌,而‌TLS属于应用层协议‌,后者直接运行于TCP之上‌28。因此,所有TLS流量&…

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力 0. 论文简介0.1 基本信息0.2 摘要 1. 引言2. 材料与方法2.1 大语言模型的使用2.2 可读性标准2.3 统计分析 3. 结果3.1 Bezirci-Yılmaz可读性评分3.2 Ateşman可读性评分3.3 全面性评分3.4 准确性评分 4. 讨论4.1 可读…

设计模式(行为型)-策略模式

目录 定义 类图 角色 角色详解 Strategy(抽象策略类)​ Context(环境类 / 上下文类)​ ConcreteStrategy(具体策略类)​ 优缺点 优点​ 缺点​ 使用场景 类行为差异场景​ 动态算法选…

服装零售行业数字化时代的业务与IT转型规划P111(111页PPT)(文末有下载方式)

服装零售行业数字化时代的业务与IT转型规划P111 详细资料请看本解读文章的最后内容。 随着数字化技术的迅猛发展,服装零售行业正经历着前所未有的变革。本文将对《服装零售行业数字化时代的业务与IT转型规划P111》进行详细解读,探讨未来几年内该行业的…

【大语言模型_6】mindie启动模型错误整理

一、启动报 [hccl_runner.cpp:141] AllGatherHcclRunner:0 HcclCommInitRootInfo fa il, error:2, rank:0, rankSize:2 背景:运行DeepSeek-R1-Distill-Qwen-14B模型,在2张300 P卡可以运行,单独一张启动报以上错误。 问题分析&…

STM32F429单片机FMC接口驱动TFT LCD和SDRAM

1、FMC接口介绍 FMC 接口(即可变存储控制器)是一种用于管理外部存储器的外设接口,支持多种类型的存储器,主要分为三大类:NOR/SRAM/PSRAM设备(TFTLCD相当于SRAM)、NOR FLASH/NAND FLASH/PC卡设备…