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

25:三大分类器原理

 1.分类的逻辑;

2.统计学与数据分析。

************************

Mlp   多层感知系统

GMM 高斯混合模型-极大似然估计法

SVM 支持向量机建立一个超平面作为决策曲面,使得正例和反例的隔离边界最大化

Knn

1.MLP整个模型就是这样子的,上面说的这个三层的MLP用公式总结起来就是,函数G是softmax

因此,MLP所有的参数就是各个层之间的连接权重以及偏置,包括W1、b1、W2、b2。对于一个具体的问题,怎么确定这些参数?求解最佳的参数是一个最优化问题,解决最优化问题,最简单的就是梯度下降法了(SGD):首先随机初始化所有参数,然后迭代地训练,不断地计算梯度和更新参数,直到满足某个条件为止(比如误差足够小、迭代次数足够多时)。这个过程涉及到代价函数、规则化(Regularization)、学习速率(learning rate)、梯度计算等,本文不详细讨论,读者可以参考本文顶部给出的两个链接。

2.高斯混合模型是将多个服从高斯分布的模型进行线性组合,几乎能拟合成任何一条曲线。比如在生活中男生身高普遍在175左右,女生身高普遍在165左右,并且都服从高斯分布,就可通过中间交叉点进行分类。

3.EM算法原理推导

3.1 EM算法与极大似然估计的区别于联系(直接饮用李航-统计学习方法中的内容)

    概率模型有时即含有观测变量,又含有隐变量或潜在变量,如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或者贝叶斯估计法估计模型参数。但是当模型含有隐量时,就不能简单的用这些估计方法,EM算法就是含有隐变量的概率模型参数的极大似然估计法

    什么是隐变量?

    举例:比如现要在一所学校中随机选取1000个人测量身高,最终我们会得到一个包含1000个身高数据的数据集,此数据集就称为观测变量,那这1000个学生中,既有男生又有女生,我们在选取完成以后并不知道男生和女生的比例是多少?此时这1000名学生中男生的占比以及女生的占比就称为隐变量

    1. SVM

快速理解SVM原理

很多讲解SVM的书籍都是从原理开始讲解,如果没有相关知识的铺垫,理解起来还是比较吃力的,以下的一个例子可以让我们对SVM快速建立一个认知。

给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例的隔离边界最大化

决策曲面的初步理解可以参考如下过程,

  1. 如下图想象红色和蓝色的球为球台上的桌球,我们首先目的是找到一条曲线将蓝色和红色的球分开,于是我们得到一条黑色的曲线。

图一.

 

2) 为了使黑色的曲线离任意的蓝球和红球距离(也就是我们后面要提到的margin)最大化,我们需要找到一条最优的曲线。如下图,

  • 多层感知机(MLP)原理简介
  • https://blog.csdn.net/xueli1991/article/details/52386611

多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:

从上图可以看到,多层感知机层与层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。多层感知机最底层是输入层,中间是隐藏层,最后是输出层。

输入层没什么好说,你输入什么就是什么,比如输入是一个n维向量,就有n个神经元。

隐藏层的神经元怎么得来?首先它与输入层是全连接的,假设输入层用向量X表示,则隐藏层的输出就是

f(W1X+b1),W1是权重(也叫连接系数),b1是偏置,函数f 可以是常用的sigmoid函数或者tanh函数:

     

最后就是输出层,输出层与隐藏层是什么关系?其实隐藏层到输出层可以看成是一个多类别的逻辑回归,也即softmax回归,所以输出层的输出就是softmax(W2X1+b2),X1表示隐藏层的输出f(W1X+b1)。


MLP整个模型就是这样子的,上面说的这个三层的MLP用公式总结起来就是,函数G是softmax

因此,MLP所有的参数就是各个层之间的连接权重以及偏置,包括W1、b1、W2、b2。对于一个具体的问题,怎么确定这些参数?求解最佳的参数是一个最优化问题,解决最优化问题,最简单的就是梯度下降法了(SGD):首先随机初始化所有参数,然后迭代地训练,不断地计算梯度和更新参数,直到满足某个条件为止(比如误差足够小、迭代次数足够多时)。这个过程涉及到代价函数、规则化(Regularization)、学习速率(learning rate)、梯度计算等,本文不详细讨论,读者可以参考本文顶部给出的两个链接。

了解了MLP的基本模型,下面进入代码实现部分。

  1. 高斯混合模型GMM是一个非常基础并且应用很广的模型。对于它的透彻理解非常重要。网上的关于GMM的大多资料介绍都是大段公式,而且符号表述不太清楚,或者文笔非常生硬。本文尝试用通俗的语言全面介绍一下GMM,不足之处还望各位指正。

浅显易懂的GMM模型及其训练过程 - maxandhchen - 博客园

首先给出GMM的定义

这里引用李航老师《统计学习方法》上的定义,如下图:

定义很好理解,高斯混合模型是一种混合模型,混合的基本分布是高斯分布而已。

第一个细节:为什么系数之和为0?

PRML上给出过一张图:

这图显示了拥有三个高斯分量的一个维度的GMM是如何由其高斯分量叠加而成。这张图曾经一度对我理解GMM造成了困扰。因为如果是这样的话,那么这三个高斯分量的系数应该都是1,这样系数之和便为3,才会有这样直接叠加的效果。而这显然不符合GMM的定义。因此,这张图只是在形式上展现了GMM的生成原理而并不精确。

那么,为什么GMM的各个高斯分量的系数之和必须为1呢?

其实答案很简单,我们所谓的GMM的定义本质上是一个概率密度函数。而概率密度函数在其作用域内的积分之和必然为1。GMM整体的概率密度函数是由若干个高斯分量的概率密度函数线性叠加而成的,而每一个高斯分量的概率密度函数的积分必然也是1,所以,要想GMM整体的概率密度积分为1,就必须对每一个高斯分量赋予一个其值不大于1的权重,并且权重之和为1。

第二个细节:求解GMM参数为什么需要用EM算法

总所周知,求解GMM参数使用EM算法。但是为什么呢?这样是必须的吗?

首先,类似于其他的模型求解,我们先使用最大似然估计来尝试求解GMM的参数。如下:

可以看出目标函数是和的对数,很难展开,优化问题麻烦,难以对其进行求偏导处理。因此只能寻求其它方法。那就是EM算法。

第三个细节:求解GMM的EM算法隐变量的理解

使用EM算法必须明确隐变量。求解GMM的时候设想观测数据x是这样产生的:首选依赖GMM的某个高斯分量的系数概率(因为系数取值在0~1之间,因此可以看做是一个概率取值)选择到这个高斯分量,然后根据这个被选择的高斯分量生成观测数据。然后隐变量就是某个高斯分量是否被选中:选中就为1,否则为0。

按照这样的设想:隐变量是一个向量,并且这个向量中只有一个元素取值为1,其它的都是0。因为假设只有一个高斯分量被选中并产生观测数据。然而我们的GMM的一个观测数据在直观上应该是每个高斯分量都有产生,而不是由一个高斯分量单独生成,只是重要性不同(由系数控制)。那么,这样的隐变量假设合理吗?

答案是合理,只是理解起来比较“费劲”而已。

首先明确一点:GMM的观测数据是啥,GMM的函数结果又是啥。如果是一个一维的GMM,那么其观测数据就是任意一个实数。而GMM这个概率密度函数在输入这个观测数据之后输出的是这个实数被GMM产生的概率而已。

接着,现在我们不知道GMM具体的参数值,想要根据观测数据去求解其参数。而GMM的参数是由各个高斯分量的参数再加上权值系数组成的。那么我们就先假定,如果这个观测值只是由其中一个高斯分量产生,去求解其中一个高斯分量的参数。我们假设不同的观测值都有一个产生自己的唯一归宿,就像K-means算法一样。然后在后面的迭代过程中,根据数据整体似然函数的优化过程,逐渐找到一个最优的分配方案。然而,不同于K-means算法的是,我们最终给出的只是某一个观测是由某一个高斯分量唯一生成的概率值,而不是确定下来的属于某一类。每个高斯分量其实都可以产生这个观测数据只是输出不同而已,即产生观测数据的概率不同。最后,根据每个高斯分量产生观测数据的可能性不同,结合其权值汇总出整个GMM产生这个观测数据的概率值。

终极理解:使用EM算法求解GMM参数

1、定义隐变量

我们引入隐变量γjk,它的取值只能是1或者0。

  • 取值为1:第j个观测变量来自第k个高斯分量
  • 取值为0:第j个观测变量不是来自第k个高斯分量

那么对于每一个观测数据yj都会对应于一个向量变量Γj={γj1,...,γjK},那么有: 

∑k=1Kγjk=1

p(Γj)=∏k=1Kαkγjk


其中,K为GMM高斯分量的个数,αk为第k个高斯分量的权值。因为观测数据来自GMM的各个高斯分量相互独立,而αk刚好可以看做是观测数据来自第k个高斯分量的概率,因此可以直接通过连乘得到整个隐变量Γj的先验分布概率。

 

2、得到完全数据的似然函数

对于观测数据yj,当已知其是哪个高斯分量生成的之后,其服从的概率分布为: 

p(yj|γjk=1;Θ)=N(yj|μk,Σk)


由于观测数据从哪个高斯分量生成这个事件之间的相互独立的,因此可以写为: 

p(yj|Γj;Θ)=∏k=1KN(yj|μk,Σk)γjk


这样我们就得到了已知Γj的情况下单个观测数据的后验概率分布。结合之前得到的Γj的先验分布,则我们可以写出单个完全观测数据的似然函数为: 

p(yj,Γj;Θ)=∏k=1KαkγjkN(yj|μk,Σk)γjk


最终得到所有观测数据的完全数据似然函数为: 

p(y,Γj;Θ)=∏j=1N∏k=1KαkγjkN(yj|μk,Σk)γjk


取对数,得到对数似然函数为: 

lnp(y,Γj;Θ)=∑j=1N∑k=1K(γjklnαk+γjklnN(yj|μk,Σk))

 

3、得到各个高斯分量的参数计算公式

首先,我们将上式中的lnN(yj|μk,Σk)根据单高斯的向量形式的概率密度函数的表达形式展开: 

lnN(yj|μk,Σk)=−D2ln(2π)−12ln|Σk|−12(yj−μk)TΣ−1k(yj−μk)

 

假设我们已经知道隐变量γjk的取值,对上面得到的似然函数分别对αk和Σk求偏导并且偏导结果为零,可以得到:

μk=∑Nj=1∑Kk=1γjkyj∑Nj=1∑Kk=1γjk

Σk=∑Nj=1∑Kk=1γjk(yj−μk)(yj−μk)T∑Nj=1∑Kk=1γjk


由于在上面两式的第二个求和符号是对k=1...K求和,而在求和过程中γjk只有以此取到1,其它都是0,因此上面两式可以简化为: 

μk=∑Nj=1γjkyj∑Nj=1γjk

Σk=∑Nj=1γjk(yj−μk)(yj−μk)T∑Nj=1γjk


现在参数空间中剩下一个αk还没有求。这是一个约束满足问题,因为必须满足约束ΣKk=1αk=1。我们使用拉格朗日乘子法结合似然函数和约束条件对αk求偏导,可以得到: 

αk=∑Nj=1γjk−λ


将上式的左右两边分别对k=1...K求和,可以得到: 

λ=−N


将λ代入,最终得到: 

αk=∑Nj=1γjkN


至此,我们在隐变量已知的情况下得到了GMM的三种类型参数的求解公式。

 

4、得到隐变量的估计公式 
根据EM算法,现在我们需要通过当前参数的取值得到隐变量的估计公式也就是说隐变量的期望的表达形式。即如何求解E{γjk|y,Θ}。 

E{γjk|y,Θ}=P(γjk=1|y,Θ)

=P(γjk=1,yj|Θ)∑Kk=1P(γjk=1,yj|Θ)

=P(yj|γjk=1,Θ)P(γjk=1|Θ)∑Kk=1P(yj|γjk=1,Θ)P(γjk=1|Θ)

=αkN(yj|μk,Σk)∑Kk=1αkN(yj|μk,Σk)

 

5、使用EM算法迭代进行参数求解 
熟悉EM算法的朋友应该已经可以从上面的推导中找到EM算法的E步和M步。

GMM和K-means直观对比

最后我们比较GMM和K-means两个算法的步骤。

GMM:

  • 先计算所有数据对每个分模型的响应度
  • 根据响应度计算每个分模型的参数
  • 迭代

K-means:

  • 先计算所有数据对于K个点的距离,取距离最近的点作为自己所属于的类
  • 根据上一步的类别划分更新点的位置(点的位置就可以看做是模型参数)
  • 迭代

可以看出GMM和K-means还是有很大的相同点的。GMM中数据对高斯分量的响应度就相当于K-means中的距离计算,GMM中的根据响应度计算高斯分量参数就相当于K-means中计算分类点的位置。然后它们都通过不断迭代达到最优。不同的是:GMM模型给出的是每一个观测点由哪个高斯分量生成的概率,而K-means直接给出一个观测点属于哪一类。

3.支持向量机

1.支持向量机介绍:

支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别表现出许多特有的优势。

  1. 支持向量机原理:

2.1在n维空间中找到一个分类超平面,将空间上的点分类,虚线上的点叫做支持向量机Supprot Verctor,中间红线叫超级平面,SVM目的是拉大所有点到超级平面的距离。 

相关文章:

25:三大分类器原理

1.分类的逻辑; 2.统计学与数据分析。 ************************ Mlp 多层感知系统 GMM 高斯混合模型-极大似然估计法 SVM 支持向量机建立一个超平面作为决策曲面,使得正例和反例的隔离边界最大化 Knn 1.MLP整个模型就是这样子的,上面…...

osquery在网络安全入侵场景中的应用实战(二)

背景 上次写了osquery在网络安全入侵场景中的应用实战(一)结果还不错,这次篇目二再增加一些场景。osquery主要解决的时员工被入侵之后电脑该如何溯源取证的问题。通常EDR会有日志,但是不会上报全量的日志。发现机器有恶意文件需要上级取证的时候,往往是比较麻烦的,会有这…...

排序用法(Arrays.sort)

排序范围​​: 对 res 数组中索引从 ​​0到4​​ 的行进行排序(因为结束索引5不包含)相当于排序 res[0] 到 res[4] 这5行 ​​比较规则​​: o1 和 o2 是二维数组中的两行(如 [8,2] 和 [6,7])o1[0] - o2[…...

2025年最新Linux的Redis主从集群搭建

一:概述 Redis(Remote Dictionary Server)是一个开源的、高性能的键值存储系统,通常被用作数据库、缓存或消息中间件。它以内存存储为主,支持多种数据结构,并具备持久化、高可用、分布式等特性,…...

Oracle OCP认证考试考点详解083系列09

题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 41. 第41题: 题目 解析及答案: 关于应用程序容器,以下哪三项是正确的? A) 它可以包含单个…...

走出 Demo,走向现实:DeepSeek-VL 的多模态工程路线图

目录 一、引言:多模态模型的关键转折点 (一)当前 LMM 的三个关键挑战 1. 数据的真实性不足 2. 模型设计缺乏场景感知 3. 语言能力与视觉能力难以兼顾 (二)DeepSeek-VL 的根本出发点:以真实任务为锚点…...

Kotlin 作用域函数全解析:let、run、with、apply、also 应该怎么选?

Kotlin 提供了一套优雅的“作用域函数”(Scope Functions),包括:let、run、with、apply 和 also。它们看起来相似,行为上也有交集,但却各有侧重。掌握它们的使用场景,不仅能让代码更简洁&#x…...

Python 矩阵运算:从理论到实践

Python 矩阵运算:从理论到实践 在数据分析、机器学习以及科学计算等诸多领域,矩阵运算均扮演着极为重要的角色。借助 Python 的 NumPy 库,我们可以便捷地实现各类矩阵运算。本文将深入探讨矩阵运算的数学原理,并通过实例演示如何…...

系统架构-层次式架构设计

层次式体系结构是最通用的架构,大部分的应用会分成表现层(展示层)、中间层(业务层)、数据访问层(持久层)和数据层 表现层架构设计 使用XML设计表现层 使用UIP框架设计表现层,UIP将…...

《Python星球日记》第29天:Flask进阶

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、重温 Flask 框架二、路由与视图1. 动态路由2. 路由装饰器三、模板渲染1. Jinja2 模板语法2.…...

Baklib知识中台:智能服务架构新实践

智能服务架构四库体系 Baklib 知识中台的核心竞争力源于其独创的四库体系架构设计。该体系通过知识资源库、业务场景库、智能模型库和服务规则库的有机联动,构建起覆盖知识全生命周期的管理闭环。其中,知识资源库依托自然语言处理技术实现多源异构数据的…...

CBAM透视镜:穿透软件架构成本迷雾的评估范式

文章目录 一、引言二、CBAM 基础理论2.1 CBAM 的定义与概念2.2 CBAM 的核心原理2.2.1 成本效益分析的基本逻辑2.2.2 定量化决策过程 2.3 CBAM 与其他软件架构评估方法的比较2.3.1 与 ATAM 对比2.3.2 与 SAAM 对比 三、CBAM 在软件架构中的应用流程3.1 确定评估目标3.2 列出架构…...

macbook install chromedriver

# 打开 Chrome 访问以下地址查看版本 chrome://version/# 终端查看版本号 (示例输出: 125.0.6422.113) /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version测试:...

Java 一战式学习指南,很详细

java基础 一、简介 1.1 JDK Java Develop Kit : Java的开发包,包含了Java的类库、执行Java所需的允许环境、各种开发辅助工具等... JDK 分为 Oracle JDK 和 Open JDK ,Oracle JDK需要商业许可证,是收费的。Open JDK 则是免费的。 1.2 Ja…...

从零开始开发纯血鸿蒙应用之NAPI

从零开始开发纯血鸿蒙应用 〇、前言一、解耦良器——Adapter二、详学 NAPI1、注册自定义的 NAPI1.1、Index.d.ts1.2、napi_property_descriptor 数组 2、读取参数2.1、读取字符类型数据2.1、读取数字类型 3、封装返回值4、C/C 调用 ArkTS 方法5、自定义 C 类的透传 三、总结坑点…...

立夏三候:蝼蝈鸣,蚯蚓出,王瓜生

今(5月5日)天是立夏节气,尽管本“人民+体验官”已是最畏惧感到气喘吁吁这夏天气候之老龄人,但还是要推广人民日报官方微博文化产品《文化中国行看立夏节气》。 人民微博着重提示“立夏三候”三个方面:“一候…...

Nuxt3还能用吗?

Nuxt3还能用吗? 前一段时间,我完成了整个产品,从Nuxt到Next的迁移,因为面临了一些在框架层面就无法解决的问题。 payload json化 在所有的的Nuxt中,我们都能看到有这样一个东西。 其实有这个东西也很正常&#xff0…...

专业课复习笔记 4

前言 实际上对于我的考研来说,最重要的两门就是数学和专业课。所以从今天开始,我尽可能多花时间学习数学和专业课。把里面的知识和逻辑关系理解清楚,把常考的内容练习透彻。就这样。 寻址方式 立即数寻址 操作数在指令里面直接提供了。 …...

[人机交互]交互设计

零.本章的主要目标 本章主要目标总结 区分良与非良交互设计,突出产品可用性差异阐述交互设计与HCI及其他领域的关系解释可用性概念概述交互设计过程涉及的内容概述交互设计中所使用的指南形式从可用性目标和原理角度,评估并解释产品的成败 一.什么是交…...

LeetCode 热题 100 17. 电话号码的字母组合

LeetCode 热题 100 | 17. 电话号码的字母组合 大家好,今天我们来解决一道经典的算法题——电话号码的字母组合。这道题在 LeetCode 上被标记为中等难度,要求给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。下面我将详细讲解解…...

【从零开始学习微服务 | 第一篇】单体项目到微服务拆分实践

目录 引言 一、选择聚合结构进行拆分的优势 二、微服务模块创建步骤 (一)引入 pom 文件与修改 (二)创建 Spring Boot 启动类 (三)搭建基本包结构 三、配置文件的引入与调整 四、业务代码的引入与注意…...

微前端qiankun动态路由权限设计与数据通信方案

思路: 权限控制中心化:主应用负责统一的管理权限,子路由上报路由信息 动态路由加载:根据用户权限动态注册可用路由 数据通信机制 主应用和子应用:通过qiankun提供的props和全局状态 子应用和子应用:通过…...

VTK 数据读取/写入类介绍

概述 VTK提供了多种数据读取和写入类,支持各种格式的输入输出操作,包括图像数据、多边形数据、结构化/非结构化网格数据等。 常用VTK读取类 vtkSTLReader 读取STL格式文件 属性: FileName - 要读取的STL文件名 方法: SetFileName(const char*) - 设置文件名 GetFileName…...

41.寻找缺失的第一个正数:原地哈希算法详解

文章目录 引言问题描述方法思路:原地哈希算法算法步骤 完整代码实现关键代码解析复杂度分析示例说明总结 引言 在算法面试和数据处理中,寻找缺失的第一个正数是一个经典问题。题目要求给定一个未排序的整数数组,找到其中缺失的最小正整数&am…...

项目实战-基于信号处理与SVM机器学习的声音情感识别系统

目录 一.背景描述 二.理论部分 三.程序设计 编程思路 流程图 1.信号部分 创建数据 generate_samples.py 头文件 生成函数 generate_emotion_sample 传入参数 存储路径 生成参数 创建基础正弦波信号 调制基础正弦波 对于愤怒可以增加噪声 归一化信号 存储 主函…...

基于Docker的MongoDB环境搭建:从零开始的完整实践指南

在现代应用开发中,容器化技术已成为构建可移植、易维护的服务环境的标准方案。MongoDB作为NoSQL数据库的代表,与Docker结合后能够显著提升部署效率。本文将深入解析如何通过Docker搭建安全可靠的MongoDB环境,涵盖基础配置、数据持久化、权限管理及安全加固等核心环节。 一、…...

C++ 类与对象(下)—— 进阶特性与底层机制解析(构造函数初始化,类型转换,static成员,友元,内部类,匿名对象)

一、构造函数初始化列表:给成员变量 “精准出生证明” 在 C 中,构造函数对成员变量的初始化方式有 初始化列表 和 函数体内赋值 两种。初始化列表是构造函数的一个重要特性,它允许在对象创建时对成员变量进行初始化。与在构造函数体内赋值不同…...

项目生成日志链路id,traceId

Trace 1. 注册filter package com.sc.account.config;import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public cla…...

SQL常见误区

查询的顺序 书写顺序 SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表。。他们的加载顺序 逻辑处理实际顺序 常见错误 在 WHERE 中使用 SELECT 的别名 sql – 错误示例(WHERE 中不能使用别名…...

android zxing QrCode 库集成转竖屏适配问题

由于zxing 这个库使用比较广泛,所以大家也都遇到这个问题了,甚至最早可以追溯到十年前甚至更早,所以原创是谁已经无法找到,表明转载又需要填原文链接,就腆着脸标个原创了,不过的确不是我的原创,…...

实验4 mySQL查询和视图

一、实验目的 掌握SELECT语句的基本语法多表连接查询GROUP BY的使用方法。ORDER BY的使用方法。 二、实验步骤、内容、结果 实验内容: 实验4.1数据库的查询 目的与要求 (1)掌握SELECT语句的基本语法。 (2)掌握子查询的表示。 (3)掌握连接查询的表示。 (4)掌…...

解决用Deveco device tool无法连接local pc

原文链接:https://kashima19960.github.io/2025/05/05/openharmony/解决用Deveco%20device%20tool无法连接local%20pc/ 问题描述 WindowsUbuntu 环境下DevEco tool upload Hi3681开发 烧录 Local PC 箭头红一下,又绿了 用Deveco device tool进行upload…...

Google-chrome版本升级后sogou输入法不工作了

背景: 笔记本Thinkpad E450,操作系统Ubuntu 24.04.2 LTS,Chrome浏览器版本135.0.7049.114-1,Edge浏览器版本131.0.2903.99-1,输入法Sogou版本4.2.1.145 现象: - **正常场景**:Edge中可通过Ctrl…...

C++ 检查某个点是否存在于圆扇区内(Check whether a point exists in circle sector or not)

我们有一个以原点 (0, 0) 为中心的圆。作为输入,我们给出了圆扇区的起始角度和圆扇区的大小(以百分比表示)。 例子: 输入:半径 8 起始角 0 百分比 12 x 3 y 4 输出&am…...

电脑怎么分屏操作?

快捷键分屏 : 在打开两个窗口后,选中一个窗口,按下 “Windows 键 →” 键,该窗口会自动移动到屏幕右侧并占据一半空间,再点击需要分屏的窗口,即可完成分屏。若想恢复窗口为全屏,只需再次按下 …...

深度学习:智能助理从技术演进到全民普惠

在数字化浪潮席卷全球的今天,智能助理已成为人们生活与工作中不可或缺的伙伴。从简单的语音应答到如今具备复杂认知与交互能力,深度学习技术的持续突破,正推动智能助理行业迈向全新高度。深入探究其行业发展、现状、技术演进与实践&#xff0…...

哈希算法、搜索算法与二分查找算法在 C# 中的实现与应用

在计算机科学中,哈希算法、搜索算法和二分查找算法是三个非常基础且常用的概念。它们分别在数据存储、数据查找、以及高效检索等场景中起着至关重要的作用。在 C# 中,这些算法的实现和使用也十分简便。本文将详细讲解这三种算法的原理、应用以及 C# 中的…...

优化02-执行计划

Oracle 的执行计划(Execution Plan)是数据库优化器(Optimizer)为执行 SQL 语句而选择的操作路径和资源分配方案的详细描述。它记录了数据库如何访问表、索引、连接数据以及执行排序、过滤等操作的步骤。理解执行计划是性能调优的核…...

FreeRTOS菜鸟入门(十一)·信号量·二值、计数、递归以及互斥信号量的区别·优先级翻转以及继承机制详解

目录 1. 信号量的基本概念 2. 分类 2.1 二值信号量 2.2 计数信号量 2.3 互斥信号量 2.4 递归信号量 3. 应用场景 3.1 二值信号量 3.2 计数信号量 3.3 互斥信号量 3.4 递归信号量 4. 运作机制 4.1 二值信号量 4.2 计数信号量 4.3 互斥信号量 4.4…...

C++ -- 内存管理

C --内存管理 1. C/C内存分布2. C中动态内存管理3. C中动态内存管理4. 面对自定义类型5. operator new和operator delete6. new和delete的实现原理6.1 内置类型6.2 自定义类型 7. 定位new(placement new)7.1 底层机制7.2 本质 1. C/C内存分布 2. C中动态…...

基于muduo库实现高并发服务器

文章目录 一、项目介绍二、HTTP服务器1.概念2.Reactor模型2.1单Reactor单线程:单I/O多路复用业务处理2.2单Reactor多线程:单I/O多路复用线程池(业务处理)2.3多Reactor多线程:多I/O多路复用线程池(业务处理&…...

开源PDF解析工具Marker深度解析

开源PDF解析工具Marker深度解析 检索增强生成(RAG)系统的第一步就是做 pdf 解析,从复杂多样的 pdf 中提取出干净准确的文本内容。现有的最优秀的开源工具有两个:Marker 和 MinerU。因为 Marker 是个人开发者做的,文档…...

Redis的内存淘汰机制

Redis的内存淘汰机制和过期策略是2个完全不同的机制, 过期策略指的是使用那种策略来删除过期键,Redis的内存淘汰机制是指:当Redis的运行内存已经超过设置的最大运行内存时,采用什么策略来删除符合条件的键值对,以此来保…...

我国“东数西算”工程对数据中心布局的长期影响

首席数据官高鹏律师团队 我国“东数西算”工程作为国家级战略,旨在优化全国算力资源配置,推动数字经济发展,其对数据中心布局的长期影响主要体现在以下几个方面: 1. 区域协调与资源优化配置 东部与西部分工明确:东部…...

CPT204 Advanced Obejct-Oriented Programming 高级面向对象编程 Pt.10 二叉搜索树

文章目录 1.二叉树(Binary Trees)1.1 二叉搜索树(Binary Search Tree,简称BST)1.1.1 插入操作1.1.2 搜索操作1.1.3 树的遍历(Tree Traversal)1.1.3.1 前序遍历(Preorder Traversal&a…...

MinIO实现https访问

Windows下实现MinIO的https访问. 首先需要自己解决证书问题, 这里可以是个人证书 也可以是花钱买的证书. 现在使用个人开发者证书举例子。 将证书数据解压到你知道的目录之下 然后直接使用命令启动MinIO start minio.exe server --certs-dir D:\xxxxx\tools\certs …...

查看并升级Docker里面Jenkins的Java17到21版本

随着时间推移,java17将逐渐退出舞台,取而代之的是java21。Jenkins也在逐步升级淘汰java版本,今天教大家升级java版本。 Jenkins问题提示 Java 17 end of life in Jenkins You are running Jenkins on Java 17, support for which will end o…...

【KWDB 创作者计划】KWDB 2.2.0多模融合架构与分布式时序引擎

KWDB介绍 KWDB数据库是由开放原子开源基金会孵化的分布式多模数据库,专为AIoT场景设计,支持时序数据、关系数据和非结构化数据的统一管理。其核心架构采用多模融合引擎,集成列式时序存储、行式关系存储及自适应查询优化器,实现跨模…...

Redis的过期设置和策略

Redis设置过期时间主要有以下几个配置方式 expire key seconds 设置key在多少秒之后过期pexpire key milliseconds 设置key在多少毫秒之后过期expireat key timestamp 设置key在具体某个时间戳(timestamp:时间戳 精确到秒)过期pexpireat key millisecon…...

2.3 向量组

本章主要考查向量组的线性关系、秩与极大无关组、向量空间等核心内容,是线性代数的重要基础模块。以下从四个核心考点展开系统梳理: 考点一:向量组的线性表示 核心问题:如何用一组向量线性表出另一组向量?如何判断线性…...