【机器学习06--贝叶斯分类器】
文章目录
- 基础理解
- 01 贝叶斯决策论
- 02 极大似然估计
- 03 朴素贝叶斯分类器
- 04 半朴素贝叶斯分类器
- 05 贝叶斯网
- 06 EM算法
- 补充修正
- 1. 贝叶斯定理与分类的基本概念
- 2. 贝叶斯决策论
- 3. 极大似然估计
- 4. 朴素贝叶斯分类器
- 5. 半朴素贝叶斯分类器
- 6. 贝叶斯网
- 7. EM算法
- 面试常考
基础理解
本章我们开始介绍贝叶斯分类器,贝叶斯分类器是一种基于概率论的方法,整个方法的基础是贝叶斯定理:
P ( C ∣ X ) = P ( X ∣ C ) P ( C ) P ( X ) P(C|X)=\frac{P(X|C)P(C)}{P(X)} P(C∣X)=P(X)P(X∣C)P(C),即根据先验概率和条件概率推测后验概率,这里的先验概率一般由经验或知识得到,也就是这里的 P ( C ) P(C) P(C),表示C这个类别出现的概率, P ( X ∣ C ) P(X|C) P(X∣C)表示条件概率,表示的意思是知道这个样本的类别的条件下,特征出现的概率,注意,这里的特征一般有多个,所以是一个联合条件概率, P ( X ) P(X) P(X)表示的是所有特征的联合概率,这个值对所有类别都是相同的。
接下来,我们开始讲解贝叶斯分类器的一些内容。
01 贝叶斯决策论
我们学了这么多章了,相比大家也发现了,我们每一次学习一个机器学习模型,它必然都会定义一个损失函数,所谓本章也是,为贝叶斯分类器定义一个损失函数,更准确的说,应该叫做优化目标。
我们还是以分类任务为例,假设我们得到了一个样本,现在需要判断这个样本的类别C,假设我们将其判断为了 c i c_i ci,实际上该类别为 c j c_j cj,那么就会产生一个判断错误的风险,我们的目标就是让训练集上的这个累积风险最小,这样讲显得太复杂了,我们直接给出最小化分类错误率的贝叶斯最优分类器为:
h ∗ ( x ) = a r g m a x c ∈ y P ( c ∣ x ) h^*(x)=argmax_{c\in yP(c|x)} h∗(x)=argmaxc∈yP(c∣x)
说了这么多,其实就是使得正确分类的后验概率最大。
02 极大似然估计
什么是似然估计呢?我们假设观测到了某些样本,并且知道这些样本来自于同一分布,我们现在需要估计这个分布的参数,使得这些样本出现的概率最大,这就是似然估计。
表示为:
P ( D c ∣ θ ) = ∏ x ∈ D C P ( x ∣ θ ) P(D_c|\theta)=\prod_{x\in D_C} P(x|\theta) P(Dc∣θ)=x∈DC∏P(x∣θ)
我现在想最大化这个概率,所以就叫做极大似然估计,但是直接优化它有个问题,就是这里的概率每一个都是小于1的,如果数量很多,那么就会造成下溢,其实就是数字会变得特别小,计算机都不好表示了。
所以用另一种方式表示,叫做对数似然:
L L ( θ ) = ∑ x ∈ D c l o g P ( x ∣ C ) LL(\theta)=\sum_{x\in D_c} logP(x|C) LL(θ)=x∈Dc∑logP(x∣C)
此时极大似然估计为:
θ ^ = a r g m a x θ L L ( θ ) \hat{\theta}=argmax_{\theta}LL(\theta) θ^=argmaxθLL(θ)
比如假设概率密度函数服从正太分布,那么通过极大似然估计得到的均值为样本均值,方差为样本方差。
03 朴素贝叶斯分类器
综上所述,在得到样本后,我们要对其特征进行分析,然后判断这个样本属于哪一类,也就是我们需要计算出 P ( c ∣ X ) P(c|X) P(c∣X),那么我们就可以用贝叶斯定理去判断,就看哪一个类得到的概率大,我们就觉得它属于那一个类,那么也就是说我们要知道 P ( c ) , P ( X ∣ c ) P(c),P(X|c) P(c),P(X∣c),分别是这一类它的概率和这一类下,各个特征的取值的联合概率。
这里就有问题了,你其实很难取根据得到的样本,去计算出这里的联合概率,准确的说,应该是统计出这里的联合概率,因为每一个特征取值多样,你对其进行组合,然后你根据样本中出现的组合的频率来近似这个概率,那很难准确的近似,因为你的组合数太多了,但是样本数很难达到那么多,此时大数定理就不能用了,那我们应该怎么去得到这里的先验概率呢.
这里提出了一种方法叫做朴素贝叶斯分类器,他有一个很关键的假设条件叫做:
属性特征独立性假设
即:每一个属性独立的对分类结果产生影响。
那么这里的条件概率 P ( X ∣ c ) = ∏ P ( x i ∣ c ) P(X|c)=\prod P(x_i|c) P(X∣c)=∏P(xi∣c)
就可以用样本中出现的频率来进行估计了。
`为了避免有些属性在样本中没有出现,从而导致估计的该属性出现的概率为0,导致后面判断失效的问题,在估计的时候通常要进行修正,常用拉普拉斯修正,比如某一个属性 x i x_i xi,用 N i N_i Ni表示该属性可以取到的值的数量,此时估计该属性的条件概率为: P ( x i ∣ c ) = ∣ D c ∣ + 1 ∣ D ∣ + N i P(x_i|c)=\frac{|D_c|+1}{|D|+N_i} P(xi∣c)=∣D∣+Ni∣Dc∣+1
04 半朴素贝叶斯分类器
简单来说就是假设有些属性是独立的,有些是不独立的,每一个属性在类别之外最多仅依赖于一个其他属性。
05 贝叶斯网
贝叶斯网用有向无环图来刻画属性之间的关系,应该不会考吧,用到了再学吧
06 EM算法
EM算法等用到了再学习吧,大致思路是在有些属性特征的值没有办法准确的观测到的时候,通过EM来估计参数隐变量。
补充修正
1. 贝叶斯定理与分类的基本概念
首先,您的贝叶斯定理的公式解释是正确的: P ( C ∣ X ) = P ( X ∣ C ) P ( C ) P ( X ) P(C|X) = \frac{P(X|C)P(C)}{P(X)} P(C∣X)=P(X)P(X∣C)P(C)
这里的各个部分意义明确:
- P ( C ∣ X ) P(C|X) P(C∣X) 是后验概率,表示在给定样本特征 X X X 的情况下,样本属于类别 C C C 的概率。
- P ( X ∣ C ) P(X|C) P(X∣C) 是似然函数,表示在已知类别 C C C 的情况下,观察到特征 X X X 的概率。
- P ( C ) P(C) P(C) 是先验概率,表示类别 C C C 出现的概率,通常依赖于历史数据或先验知识。
- P ( X ) P(X) P(X) 是特征的总概率,也就是所有类别下,特征 X X X 出现的概率,通常是常数,因为它在所有类别中相同,主要用于归一化。
您的理解中提到, P ( X ) P(X) P(X) 对所有类别是相同的,这是正确的,因为在分类任务中,目标是比较不同类别的后验概率,从而找到最大值。因此, P ( X ) P(X) P(X) 对所有类别的影响相同,可以忽略。
2. 贝叶斯决策论
关于贝叶斯决策论的部分,您的总结大体是准确的。您提到的优化目标是通过最大化后验概率来选择分类结果: h ∗ ( x ) = arg max c ∈ Y P ( c ∣ x ) h^*(x) = \arg \max_{c \in Y} P(c|x) h∗(x)=argc∈YmaxP(c∣x)
这个表达式的意思是:对于每一个样本 x x x,我们选择使得后验概率 P ( c ∣ x ) P(c|x) P(c∣x) 最大的类别 c c c 作为预测结果。通过最大化后验概率来做出最优决策,这是贝叶斯分类器的核心。
3. 极大似然估计
您的极大似然估计(MLE)部分描述也非常到位。为了估计一个模型的参数 θ \theta θ,我们通常通过最大化样本出现的概率来进行参数估计。您提到的公式: P ( D C ∣ θ ) = ∏ x ∈ D C P ( x ∣ θ ) P(D_C|\theta) = \prod_{x \in D_C} P(x|\theta) P(DC∣θ)=x∈DC∏P(x∣θ)
这里, P ( x ∣ θ ) P(x|\theta) P(x∣θ) 表示给定参数 θ \theta θ 的条件概率, D C D_C DC 表示类别 C C C 中的所有样本, P ( D C ∣ θ ) P(D_C|\theta) P(DC∣θ) 表示这些样本在参数 θ \theta θ 下的联合概率。
您的理解也提到了计算时可能出现的“下溢”问题,这实际上是因为多次乘法可能导致数值非常小,进而引发计算上的困难。为此,使用对数似然函数: L L ( θ ) = ∑ x ∈ D C log P ( x ∣ θ ) LL(\theta) = \sum_{x \in D_C} \log P(x|\theta) LL(θ)=x∈DC∑logP(x∣θ)
这种转化有效避免了下溢问题,并且优化过程在对数空间中同样有效。
4. 朴素贝叶斯分类器
您对于朴素贝叶斯分类器的描述是准确的。朴素贝叶斯的关键假设是属性特征独立性假设,即假设所有特征在给定类别的条件下是独立的。因此,条件概率可以写成: P ( x i ∣ C ) P ( X ∣ C ) = ∏ i = 1 n P(xi∣C)P(X|C) = \prod_{i=1}^{n} P(xi∣C)P(X∣C)=i=1∏n
这种假设简化了模型,因为它避免了计算高维特征空间中的联合概率,这在实际中往往难以做到。您还提到,由于样本的有限性,直接计算联合概率可能会导致数据稀疏问题,因此引入了拉普拉斯修正来解决这个问题。拉普拉斯修正的公式为: P ( x i ∣ C ) = ∣ D C ∣ + 1 ∣ D ∣ + N i P(x_i|C) = \frac{|D_C| + 1}{|D| + N_i} P(xi∣C)=∣D∣+Ni∣DC∣+1
这里, ∣ D C ∣ |D_C| ∣DC∣ 是类别 C C C 中样本的数量, ∣ D ∣ |D| ∣D∣ 是所有样本的数量, N i N_i Ni 是第 i i i 个特征的取值数量。通过这种方式,即使某些特征在训练数据中没有出现(即频率为零),也能确保条件概率不为零,从而避免了问题。
5. 半朴素贝叶斯分类器
关于半朴素贝叶斯分类器的部分,您的解释是正确的。与朴素贝叶斯不同,半朴素贝叶斯假设某些特征是独立的,而另一些特征则可能存在依赖关系。具体地说,半朴素贝叶斯假设每个属性最多仅依赖于其他一个属性,因此它放宽了“所有特征独立”的假设。这种方法能在某些问题中提供更好的效果,尤其是在特征之间存在相关性的情况下。
6. 贝叶斯网
您提到的贝叶斯网是基于有向无环图(DAG)来表示变量之间的条件依赖关系。在贝叶斯网中,每个节点代表一个随机变量,边代表变量之间的依赖关系。通过贝叶斯网,可以有效建模复杂的多变量概率模型,适用于有复杂依赖关系的任务。
虽然这部分内容您提到“不会考吧”,但它为更复杂的贝叶斯推理提供了基础,理解贝叶斯网对于理解多变量概率模型非常重要。
7. EM算法
最后,关于EM算法(期望最大化算法)的部分,您的描述也准确。EM算法用于在数据中存在隐变量或缺失数据的情况下估计模型参数。它通过两个步骤迭代进行:
- E步(期望步):在当前参数估计下,计算隐变量的期望。
- M步(最大化步):根据期望值最大化对数似然函数,从而更新参数。
EM算法广泛应用于参数估计问题,如高斯混合模型(GMM)等。
面试常考
1.贝叶斯定理是什么?能否用它来解释如何做分类决策?
解答要点:贝叶斯定理通过计算后验概率来推断某个事件发生的概率。在分类中,通过比较各个类别的后验概率,选择最大概率的类别作为预测结果。公式为: P ( C ∣ X ) = P ( X ∣ C ) P ( C ) P ( X ) P(C|X) = \frac{P(X|C)P(C)}{P(X)} P(C∣X)=P(X)P(X∣C)P(C)
2.朴素贝叶斯分类器的基本假设是什么?
解答要点:朴素贝叶斯分类器假设特征在给定类别的情况下是条件独立的。这就是“属性特征独立性假设”。该假设使得计算联合条件概率变得简化,从而使得贝叶斯分类器可以在高维数据中高效运行。
3.如何计算朴素贝叶斯分类器中的条件概率?
解答要点:朴素贝叶斯分类器中的条件概率是通过样本频率估计的。每个特征的条件概率通过该特征在某类别下出现的频率来估算。如果某个特征值在某类别下从未出现过,可以使用拉普拉斯修正(加1平滑)来避免概率为零的问题。
4.朴素贝叶斯分类器与传统的统计学习方法有什么区别?
解答要点:朴素贝叶斯分类器通过贝叶斯定理和条件独立性假设进行概率推理,主要基于概率模型进行预测。而传统的统计方法(如逻辑回归、支持向量机等)通常依赖于优化目标(如最小化误差、最大化间隔等)进行学习。
5.朴素贝叶斯分类器在哪些场景下适用?
解答要点:朴素贝叶斯分类器适用于特征独立性假设成立的场景。例如,文本分类(如垃圾邮件过滤)就是一个经典应用,因为在文本中,词语之间的相关性通常较低,朴素贝叶斯能够高效地处理大量特征并取得不错的效果。
6.朴素贝叶斯分类器在实际应用中的优缺点是什么?
解答要点:
- 优点:
- 高效性:计算复杂度低,适用于大规模数据。
- 易于理解和实现:基于简单的概率计算,模型解释性强。
- 对小样本和高维特征数据表现良好:在特征之间独立性较强时,能获得较好的性能。
- 缺点:
- **独立性假设过于简单**:现实中很多特征是相关的,这个假设可能导致模型性能下降。
- 零概率问题:如果某个类别下某个特征的某个取值没有出现,朴素贝叶斯会认为该特征不可能出现。使用拉普拉斯修正可以缓解这个问题。
7.如何处理特征之间的相关性问题?
解答要点:当特征之间存在相关性时,可以使用半朴素贝叶斯分类器,该方法允许某些特征之间有依赖关系。也可以考虑使用其他更为复杂的模型,如决策树或支持向量机,这些方法能够处理特征之间的相关性。
8.请推导并解释朴素贝叶斯分类器的决策函数。
解答要点:朴素贝叶斯分类器的决策函数为: h ∗ ( x ) = arg max c ∈ C P ( C ∣ X ) h^*(x) = \arg \max_{c \in C} P(C|X) h∗(x)=argc∈CmaxP(C∣X)根据贝叶斯定理,后验概率可以分解为: P ( C ∣ X ) = P ( X ∣ C ) P ( C ) P ( X ) P(C|X) = \frac{P(X|C)P(C)}{P(X)} P(C∣X)=P(X)P(X∣C)P(C) 其中, P ( X ) P(X) P(X) 对所有类别是常数,因此分类决策最终是选择使得 P ( X ∣ C ) P ( C ) P(X|C)P(C) P(X∣C)P(C) 最大的类别 C C C。
9.如何在训练中估计条件概率 P ( X ∣ C ) P(X|C) P(X∣C) 和先验概率 P ( C ) P(C) P(C)?
解答要点:条件概率 P ( X ∣ C ) P(X|C) P(X∣C) 可以通过统计类别 C C C 中每个特征值出现的频率来估算,先验概率 P ( C ) P(C) P(C) 则通过类别 C C C 在所有样本中出现的频率来估算。具体来说:
- P ( C ) = 类别 C 的样本数 总样本数 P(C) = \frac{\text{类别 C 的样本数}}{\text{总样本数}} P(C)=总样本数类别 C 的样本数
- P ( x i ∣ C ) = 在类别 C 中 x i 出现的次数 类别 C 中的样本数 P(x_i|C) = \frac{{在类别 C 中 x_i 出现的次数}}{\text{类别 C 中的样本数}} P(xi∣C)=类别 C 中的样本数在类别C中xi出现的次数
10.如何实现朴素贝叶斯分类器中的拉普拉斯修正?
解答要点:拉普拉斯修正是为了避免某个特征值在某类别下从未出现的问题。修正的公式为: P ( x i ∣ C ) = 在类别 C 中 x i 出现的次数 + 1 类别 C 中的样本数 + N i P(x_i|C) = \frac{{在类别 C 中 x_i 出现的次数} + 1}{\text{类别 C 中的样本数} + N_i} P(xi∣C)=类别 C 中的样本数+Ni在类别C中xi出现的次数+1 其中, N i N_i Ni 是特征 x i x_i xi 的取值数量。通过这种方法,可以确保每个特征的概率都大于零。
11.什么是贝叶斯网,贝叶斯网如何应用于分类任务?
解答要点:贝叶斯网是一种有向无环图(DAG),用于表示变量之间的条件依赖关系。在分类任务中,贝叶斯网能够更加精确地建模特征之间的关系,相比朴素贝叶斯能够捕捉到特征之间的依赖性。贝叶斯网通过局部条件概率分布(CPD)来表示变量之间的依赖关系
12.如何使用EM算法优化贝叶斯分类器的参数?
解答要点:EM算法用于处理隐变量的情况。当数据中存在缺失或不可观测的特征时,EM算法可以迭代地估计隐变量的期望(E步),然后最大化似然函数来更新参数(M步)。该算法在参数估计中非常有效,尤其是在高维数据和复杂模型中。
13.贝叶斯分类器和支持向量机(SVM)相比有什么优缺点?
解答要点:
- 优点:朴素贝叶斯分类器在特征之间独立时表现优异,训练速度非常快,适用于大规模数据。且模型较为简单,易于解释。
- 缺点:当特征之间相关性较强时,朴素贝叶斯的性能较差;而SVM不依赖于特征独立性假设,在高维空间表现出色
相关文章:
【机器学习06--贝叶斯分类器】
文章目录 基础理解01 贝叶斯决策论02 极大似然估计03 朴素贝叶斯分类器04 半朴素贝叶斯分类器05 贝叶斯网06 EM算法 补充修正1. 贝叶斯定理与分类的基本概念2. 贝叶斯决策论3. 极大似然估计4. 朴素贝叶斯分类器5. 半朴素贝叶斯分类器6. 贝叶斯网7. EM算法 面试常考 基础理解 本…...

创建vue3项目步骤以及安装第三方插件步骤【保姆级教程】
🎙座右铭:得之坦然,失之淡然。 💎擅长领域:前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持续下去的动力! 目录 一. 简单汇总一下创建…...
[146 LRU缓存](https://leetcode.cn/problems/lru-cache/)
分析 维护一个双向链表保存缓存中的元素。 如果元素超过容量阈值,则删除最久未使用的元素。为了实现这个功能,将get(), put()方法获取的元素添加到链表首部。 为了在O(1)时间复杂度执行get()方法,再新建一个映射表,缓存key与链表…...

【Java Nio Netty】基于TCP的简单Netty自定义协议实现(万字,全篇例子)
基于TCP的简单Netty自定义协议实现(万字,全篇例子) 前言 有一阵子没写博客了,最近在学习Netty写一个实时聊天软件,一个高性能异步事件驱动的网络应用框架,我们常用的SpringBoot一般基于Http协议࿰…...

【JavaWeb后端学习笔记】Redis常用命令以及Java客户端操作Redis
redis 1、redis安装与启动服务2、redis数据类型3、redis常用命令3.1 字符串String3.2 哈希Hash3.3 列表List3.4 集合Set(无序)3.5 有序集合zset3.6 通用命令 4、使用Java操作Redis4.1 环境准备4.2 Java操作字符串String4.3 Java操作哈希Hash4.4 Java操作…...

pdb调试器详解
文章目录 1. 启动 pdb 调试器1.1 在代码中插入断点1.2 使用命令行直接调试脚本 2. 常用调试命令2.1 基本命令2.2 高级命令2.3 断点操作 3. 调试过程示例4. 调试技巧4.1 条件断点4.2 自动启用调试4.2.1 运行程序时指定 -m pdb4.2.2在代码中启用 pdb.post_mortem4.2.3 使用 sys.e…...

项目15:简易扫雷--- 《跟着小王学Python·新手》
项目15:简易扫雷 — 《跟着小王学Python新手》 《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的…...

Flink CDC实时同步mysql数据
官方参考资料: https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/flink-sources/mysql-cdc/ Apache Flink 的 Change Data Capture (CDC) 是一种用于捕获数据库变化(如插入、更新和删除操作)的技术。Flink CDC…...
题解 - 自然数无序拆分
题目描述 美羊羊给喜羊羊和沸羊羊出了一道难题,说谁能先做出来,我就奖励给他我自己做的一样礼物。沸羊羊这下可乐了,于是马上答应立刻做出来,喜羊羊见状,当然也不甘示弱,向沸羊羊发起了挑战。 可是这道题目…...
dfs_bool_void 两种写法感悟
dfs 的两种写法 在看之前实现图的遍历 dfs 和拓扑排序 dfs 实现的代码的时候的感悟 图的遍历 dfs 和拓扑排序 dfs 的区别 0 → 1 ↓ ↓ 2 → 3图的邻接表表示: adjList[0] {1, 2}; adjList[1] {3}; adjList[2] {3}; adjList[3] {};正常的 DFS 遍历&#x…...
MySQL 主从复制与 Binlog 深度解析
目录 1. Binlog的工作原理与配置2. 主从复制的设置与故障排除3. 数据一致性与同步延迟的处理 小结 MySQL的binlog(二进制日志)和主从复制是实现数据备份、容灾、负载均衡以及数据同步的重要机制。在高可用性架构和分布式数据库设计中,binlog同…...

大连理工大学《2024年845自动控制原理真题》 (完整版)
本文内容,全部选自自动化考研联盟的:《大连理工大学845自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦 目录 2024年真题 Part1:2024年完整版真题 2024年真题...

Java性能调优 - 多线程性能调优
锁优化 Synchronized 在JDK1.6中引入了分级锁机制来优化Synchronized。当一个线程获取锁时 首先对象锁将成为一个偏向锁,这样做是为了优化同一线程重复获取锁,导致的用户态与内核态的切换问题;其次如果有多个线程竞争锁资源,锁…...
行为树详解(4)——节点参数配置化
【分析】 行为树是否足够灵活强大依赖于足够丰富的各类条件节点和动作节点,在实现这些节点时,不可避免的,节点本身需要有一些参数供配置。 这些参数可以分为静态的固定值的参数以及动态读取设置的参数。 静态参数直接设置为Public即可&…...
计算机网络中的三大交换技术详解与实现
目录 计算机网络中的三大交换技术详解与实现1. 计算机网络中的交换技术概述1.1 交换技术的意义1.2 三大交换技术简介 2. 电路交换技术2.1 理论介绍2.2 Python实现及代码详解2.3 案例分析 3. 分组交换技术3.1 理论介绍3.2 Python实现及代码详解3.3 案例分析 4. 报文交换技术4.1 …...
《杨辉三角》
题目描述 给出 n(1≤n≤20)n(1≤n≤20),输出杨辉三角的前 nn 行。 如果你不知道什么是杨辉三角,可以观察样例找找规律。 输入格式 无 输出格式 无 输入输出样例 输入 #1复制 6 输出 #1复制 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 C语言…...

ARM学习(35)单元测试框架以及MinGW GCC覆盖率报告
单元测试框架以及MinGW GCC覆盖率报告 1、单元测试与覆盖率简介 随着代码越写越多,越来越需要注意自测的重要性,基本可以提前解决90%的问题,所以就来介绍一下单元测试,单元测试是否测试充分,需要进行评价,覆盖率就是单元测试是否充分的评估工具。 例如跑过单元测试后,…...

边缘计算+人工智能:让设备更聪明的秘密
引言:日常生活中的“智能”设备 你是否发现,身边的设备正变得越来越“聪明”? 早上醒来时,智能音箱已经根据你的日程播放舒缓音乐;走进厨房,智能冰箱提醒你今天的食材库存;而在城市道路上&…...
neo4j知识图谱AOPC的安装方法
AOPC下载链接:aopc全版本github下载 APOC,全称为Awesome Procedures On Cypher,是Neo4j图数据库的一个非常强大和流行的扩展库。它极大地丰富了Cypher查询语言的功能,提供了超过450个过程(procedures)和函数…...

图像分割数据集植物图像叶片健康状态分割数据集labelme格式180张3类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):180 标注数量(json文件个数):180 标注类别数:3 标注类别名称:["Healthy","nitrogen deficiency"…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...