机器学习笔记之密度聚类——DBSCAN方法

news2024/11/22 19:07:45

机器学习笔记之密度聚类——DBSCAN方法

引言

本节将介绍密度聚类—— DBSCAN \text{DBSCAN} DBSCAN方法。

对于其他聚类任务的笔记:

  • K-Means \text{K-Means} K-Means聚类算法:传送门
  • 谱聚类算法 ( Spectral clustering ) (\text{Spectral clustering}) (Spectral clustering):传送门
  • 高斯混合模型 ( Gaussian Mixture Model,GMM ) (\text{Gaussian Mixture Model,GMM}) (Gaussian Mixture Model,GMM):传送门

基本思想

DBSCAN \text{DBSCAN} DBSCAN全称 Density-Based Spatial Clustering of Application with Noise \text{Density-Based Spatial Clustering of Application with Noise} Density-Based Spatial Clustering of Application with Noise。是一种基于密度聚类算法 ( Density-Based Clustering ) (\text{Density-Based Clustering}) (Density-Based Clustering)。而这里的密度是指样本分布的紧密程度。而密度聚类的思想假设:样本如果属于同一类别(),那么该类别内的样本点之间紧密相连

何为紧密相连 ? ? ?自然是指样本之间的距离足够小,小到没有办法将其划分给其他类别。我们通过找到一个初始位置后,通过查找与其紧密相连的样本,得到一个聚类簇;再次选择初始位置,反复执行上述操作,直到所有数据均有其归属为止。

概念介绍

DBSCAN \text{DBSCAN} DBSCAN既然属于聚类任务,说明它依然属于无监督学习任务的范畴。它一共包含两个参数

  • ϵ \epsilon ϵ:被称作邻域半径,它描述了某样本邻域的距离阈值;
  • MinPts \text{MinPts} MinPts:它描述了某样本,其距离为 ϵ \epsilon ϵ邻域中样本数量的阈值

给定数据集 D = { x ( i ) } i = 1 N ; x ( i ) ∈ R p \mathcal D = \{x^{(i)}\}_{i=1}^N;x^{(i)} \in \mathbb R^p D={x(i)}i=1N;x(i)Rp,对相关概念进行如下定义

  • ϵ \epsilon ϵ-邻域:它描述样本集合 D \mathcal D D中到某样本 x ( j ) ( j ∈ { 1 , 2 , ⋯   , N } ) x^{(j)}(j \in \{1,2,\cdots,N\}) x(j)(j{1,2,,N})距离不大于 ϵ \epsilon ϵ的样本 x ( i ) x^{(i)} x(i)组成的集合。使用 N ϵ ( x ( j ) ) \mathcal N_{\epsilon}(x^{(j)}) Nϵ(x(j))表示:
    样本间距离在 K-Means \text{K-Means} K-Means中介绍过‘明可夫斯基距离’ ( Minkowski Distance ) (\text{Minkowski Distance}) (Minkowski Distance)。其他的距离计算方式先挖一个坑,后续来填。
    N ϵ ( x ( i ) ) = { x ( i ) ∈ D ∣ Dist ( x ( i ) , x ( j ) ) ≤ ϵ } \mathcal N_{\epsilon}(x^{(i)}) = \{x^{(i)} \in \mathcal D \mid \text{Dist}(x^{(i)},x^{(j)}) \leq \epsilon\} Nϵ(x(i))={x(i)DDist(x(i),x(j))ϵ}
  • 核心对象 ( Core Object ) (\text{Core Object}) (Core Object):如果样本 x ( j ) x^{(j)} x(j) ϵ \epsilon ϵ-邻域内的样本数量 ∣ N ϵ ( x ( j ) ) ∣ ≥ MinPts |\mathcal N_{\epsilon}(x^{(j)})| \geq \text{MinPts} Nϵ(x(j))MinPts,那么称样本点 x ( j ) x^{(j)} x(j)是一个核心对象
    核心对象(红色样本点)
  • 密度直达 ( Directly Density-Reachable ) (\text{Directly Density-Reachable}) (Directly Density-Reachable):在样本点 x ( i ) x^{(i)} x(i)位于以 x ( j ) x^{(j)} x(j)核心对象 ϵ \epsilon ϵ-邻域内,则称 x ( i ) x^{(i)} x(i) x ( j ) x^{(j)} x(j)密度直达
    • 需要注意的是,这里包含一个由核心对象 x ( j ) x^{(j)} x(j)到ε-邻域内样本点 x ( i ) x^{(i)} x(i)的方向性,单向。
    • 密度直达不具备对称性。也就是说, x ( i ) x^{(i)} x(i) x ( j ) x^{(j)} x(j)密度直达,但 x ( j ) x^{(j)} x(j)不一定由 x ( i ) x^{(i)} x(i)密度直达。
      密度直达(示例)
  • 密度可达 ( Density-Reachable ) (\text{Density-Reachable}) (Density-Reachable):对于样本点 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j),如果存在样本序列 P 1 , P 2 , ⋯   , P n \mathcal P_1,\mathcal P_2,\cdots,\mathcal P_n P1,P2,,Pn,其中 P 1 = x ( j ) , P n = x ( i ) \mathcal P_1 = x^{(j)},\mathcal P_n = x^{(i)} P1=x(j),Pn=x(i),并且 P k + 1 \mathcal P_{k+1} Pk+1 P k ( k = 1 , 2 , ⋯   , n − 1 ) \mathcal P_k(k=1,2,\cdots,n-1) Pk(k=1,2,,n1)密度直达,则称 x ( i ) x^{(i)} x(i) x ( j ) x^{(j)} x(j)密度可达
    • 密度可达具有直递性。也就是说,如果 x ( i ) x^{(i)} x(i) x ( j ) x^{(j)} x(j)密度可达, x ( k ) x^{(k)} x(k) x ( i ) x^{(i)} x(i)密度可达,那么 x ( k ) x^{(k)} x(k) x ( j ) x^{(j)} x(j)密度可达
    • 密度可达同样不具备对称性。从明可夫斯基距离的角度解释对称性,文章见下方链接。如果使用 3 3 3阶明可夫斯基距离( L 3 L_3 L3范数)来描述样本点之间的距离:
      Dist ( x ( i ) , x ( j ) ) = ∑ k = 1 p ∣ x k ( i ) − x k ( j ) ∣ 3 3 = ∣ ∣ x ( i ) − x ( j ) ∣ ∣ 3 \text{Dist}(x^{(i)},x^{(j)}) = \sqrt[3]{\sum_{k=1}^{p}|x_k^{(i)} - x_k^{(j)}|^3} = ||x^{(i)} - x^{(j)}||_3 Dist(x(i),x(j))=3k=1pxk(i)xk(j)3 =∣∣x(i)x(j)3
      那么可能出现根号内的项 ∑ k = 1 p ∣ x k ( i ) − x k ( j ) ∣ 3 \begin{aligned}\sum_{k=1}^p |x_k^{(i)} - x_k^{(j)}|^3\end{aligned} k=1pxk(i)xk(j)3是一个负值,从而产生一个‘负距离’;相反,如果 ∑ k = 1 p ∣ x k ( j ) − x k ( i ) ∣ 3 \begin{aligned}\sum_{k=1}^p |x_k^{(j)} - x_k^{(i)}|^3\end{aligned} k=1pxk(j)xk(i)3结果是一个‘正距离’,最终导致 Dist ( x ( i ) , x ( j ) ) ≠ Dist ( x ( j ) , x ( i ) ) \text{Dist}(x^{(i)},x^{(j)}) \neq \text{Dist}(x^{(j)},x^{(i)}) Dist(x(i),x(j))=Dist(x(j),x(i))
      密度可达
  • 密度相连 ( Density-Connected ) (\text{Density-Connected}) (Density-Connected):对于样本点 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j),若存在样本点 x ( k ) x^{(k)} x(k),使得 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)均由 x ( k ) x^{(k)} x(k)密度可达,则称 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)密度相连
    • 需要注意的是,密度相连指的是 x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)之间的关系, x ( k ) x^{(k)} x(k)仅是一个媒介。
    • 密度相连关系满足对称性。也就是说, x ( i ) , x ( j ) x^{(i)},x^{(j)} x(i),x(j)之间的关系是无向的。
      密度相连(示例)

基于上述概念, DBSCAN \text{DBSCAN} DBSCAN对于的概念定义为:最大的密度相连样本集合。对于某个簇 C \mathcal C C,它包含如下属性:

  • 连接性: C \mathcal C C中的任意两个样本点之间密度相连
  • 最大性:已知样本点 x ( i ) ∈ C ⇒ x^{(i)} \in \mathcal C \Rightarrow x(i)C任意由 x ( i ) x^{(i)} x(i)密度可达的样本点均 ∈ C \in \mathcal C C

算法过程

整个 DBSCAN \text{DBSCAN} DBSCAN算法的核心在于:找到满足上述两种性质的。这个的表示为:核心对象 x x x密度可达的所有样本组成的集合
这个集合中自然也可能包含其他的‘核心对象’,并且该集合内任意两个样本之间均‘密度相连’。

X = { x ′ ∈ D ∣ x ⇒ x ′ ( Density-Reachable ) } \mathcal X = \{x' \in \mathcal D \mid x \Rightarrow x'(\text{Density-Reachable})\} X={xDxx(Density-Reachable)}
因此,该算法主要包括两个部分

  • 基于超参数:邻域半径 ϵ \epsilon ϵ;邻域内样本数量阈值 MinPts \text{MinPts} MinPts,找出数据集 D \mathcal D D内部所有的核心对象,最终构成核心对象集合 Ω \Omega Ω
  • 以任一核心对象为出发点,找出其所有密度可达的样本,构成;直到所有核心对象均被访问为止。
    需要注意的是,算法的迭代结束方式是‘所有核心对象被访问,而不是 D \mathcal D D中所有样本。数据集’ D \mathcal D D中不属于任何簇的样本被认为是‘噪声’ ( Noise ) (\text{Noise}) (Noise)或者‘异常’ ( Anomaly ) (\text{Anomaly}) (Anomaly)样本。

完整算法描述

输入部分:

  • 数据集 D = { x ( i ) } i = 1 N \mathcal D = \{x^{(i)}\}_{i=1}^N D={x(i)}i=1N
  • 参数:邻域半径 ϵ \epsilon ϵ;样本数量阈值 MinPts \text{MinPts} MinPts

核心对象查找:

  • 初始化核心对象集合 Ω = ∅ \Omega = \emptyset Ω=
  • 对每一个样本点 x ( j ) ( j = 1 , 2 , ⋯   , N ) x^{(j)}(j=1,2,\cdots,N) x(j)(j=1,2,,N)进行遍历:
  • \quad 计算样本点 x ( j ) x^{(j)} x(j) ϵ \epsilon ϵ-邻域 N ϵ ( x ( j ) ) \mathcal N_{\epsilon}(x^{(j)}) Nϵ(x(j))
  • \quad 判断邻域样本数量 ∣ N ϵ ( x ( j ) ) ∣ |\mathcal N_{\epsilon}(x^{(j)})| Nϵ(x(j))阈值 MinPts \text{MinPts} MinPts之间的大小关系;
    • ∣ N ϵ ( x ( j ) ) ∣ ≥ MinPts ⇒ x ( j ) |\mathcal N_{\epsilon}(x^{(j)})| \geq \text{MinPts} \Rightarrow x^{(j)} Nϵ(x(j))MinPtsx(j)核心对象,加入 Ω \Omega Ω集合中: Ω = Ω ∪ { x ( j ) } \Omega = \Omega \cup \{x^{(j)}\} Ω=Ω{x(j)}
    • 不是核心对象的样本点, Continue \text{Continue} Continue即可。
  • 最终返回核心对象集合 Ω \Omega Ω

寻找最大簇的过程

  • 聚类数初始化: k = 0 k=0 k=0
  • 未访问的样本集合: Γ = D \Gamma = \mathcal D Γ=D
  • 核心对象集合 Ω ≠ ∅ \Omega \neq \emptyset Ω=的条件下,执行如下迭代过程
  • \quad 记录当前迭代下,未访问的样本集合 Γ o l d = Γ \Gamma_{old} = \Gamma Γold=Γ
  • \quad 核心对象集合 Ω \Omega Ω中随机选取一个核心对象 o o o,初始化队列 Q = < o > \mathcal Q = <o> Q=<o>
  • \quad 与此同时,将核心对象 o o o Γ \Gamma Γ中去除 Γ = Γ \ { o } \Gamma = \Gamma \backslash \{o\} Γ=Γ\{o}
    \quad 即将对核心对象 o o o的所有密度可达样本进行发掘。反斜杠 \ \backslash \表示集合之间的相对差集。
    • 队列 Q ≠ ∅ \mathcal Q \neq \emptyset Q=条件下,执行如下迭代过程:
      如果 Q = ∅ \mathcal Q = \emptyset Q=,这意味着与核心对象 o o o密度可达的所有样本均被找到。这里也有可能包含其他的核心对象。

    • \quad 取出队列中的首个样本 q q q,并判别该样本点是否为核心对象
      这个队列中,初始化是一个随机的‘核心对象‘ o o o,但队列中存储的是与 o o o密度可达的所有样本点。我们需要从这些样本点里找出‘核心对象’,从而使其继续扩张、延伸。
      如果 ∣ N ϵ ( q ) ∣ ≥ MinPts |\mathcal N_{\epsilon}(q)| \geq \text{MinPts} Nϵ(q)MinPts,这意味着 q q q核心对象,并找出 q q q ϵ \epsilon ϵ-邻域 N ϵ ( q ) \mathcal N_{\epsilon}(q) Nϵ(q)未访问样本 Γ \Gamma Γ之间的重合样本 Δ \Delta Δ Δ = N ϵ ( q ) ∩ Γ \Delta = \mathcal N_{\epsilon}(q) \cap \Gamma Δ=Nϵ(q)Γ,并将这些样本 Δ \Delta Δ重新放回至队列 Q \mathcal Q Q中(在放回同时,将 Γ \Gamma Γ中的相应样本一并消除 Γ = Γ \ Δ \Gamma = \Gamma \backslash \Delta Γ=Γ\Δ)。

    • 持续迭代下去,当 Q \mathcal Q Q中没有元素时(子循环迭代结束),意味着这个最大簇中的样本已全部找全。与此同时, Γ \Gamma Γ中的样本已经减少了 Γ o l d − Γ \Gamma_{old} - \Gamma ΓoldΓ,也就是 C k \mathcal C_k Ck的样本数量:
      C k = Γ o l d \ Γ \mathcal C_k = \Gamma_{old} \backslash \Gamma Ck=Γold

  • 本次迭代最后,将 C k \mathcal C_k Ck中的所有核心对象 Ω \Omega Ω全部消除。也就是说,重新从剩余核心对象中找出最大簇
    Ω = Ω \ C k \Omega = \Omega \backslash \mathcal C_k Ω=Ω\Ck
  • 最终可得到一系列簇的结果: { C 1 , C 2 , ⋯   , C k } \{\mathcal C_1,\mathcal C_2,\cdots,\mathcal C_k\} {C1,C2,,Ck}

DBSCAN \text{DBSCAN} DBSCAN的优点和缺陷

  • 优点
    K-Means \text{K-Means} K-Means算法比较, DBSCAN \text{DBSCAN} DBSCAN不需要人为输入簇的数量 k k k;并且它可以找出任意聚类形状。而 K-Means \text{K-Means} K-Means高斯混合模型它们仅能针对于凸集合的样本聚类。

    DBSCAN \text{DBSCAN} DBSCAN迭代结束后,未访问集合 Γ \Gamma Γ可能会剩下一些点。这意味着,剩下的点不属于任何聚类簇(噪声、异常)。从这个角度可以看出,在聚类过程可以发现异常样本,并且对其不敏感。

    DBSCAN \text{DBSCAN} DBSCAN在初始化时选择核心对象作为初始迭代,而不是随机选择一点。这意味着 DBSCAN \text{DBSCAN} DBSCAN算法的鲁棒性很强,不会因初始样本对聚类结果产生巨大影响。

  • 缺陷
    如果出现类间差距较大,或者样本集密度不均匀,此时的 DBSCAN \text{DBSCAN} DBSCAN聚类效果较差。

    它的时间复杂度是不低的。随着样本数量的增加,导致算法收敛时间较长。
    由于 DBSCAN \text{DBSCAN} DBSCAN也存在基于寻找‘最近邻’样本点的的操作,可以构建类似 KD \text{KD} KD的方式去查找相关索引。

    虽然不用人为选择簇的数量,但关于 ϵ , MinPts \epsilon,\text{MinPts} ϵ,MinPts的调节过程是较复杂的。不同的参数组合方式对聚类效果(模型的过拟合、欠拟合)均存在较大影响。

相关参考:
DBSCAN 聚类算法详解
机器学习其中复习
《机器学习》(周志华著) 9.5 密度聚类

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PXE高效批量网络装机

PXE 定义 PXE(预启动执行环境&#xff0c;在操作系统之前运行)是由Intel公司开发的网络引导技术&#xff0c;工作在client /server模式&#xff0c;允许客户机通过网络从远程服务器下载引导镜像&#xff0c;并加载安装文件或者整个操作系统。 具备以下三个优点 1 规模化: 同时…

高通 Android 12 framework添加自定义按键上报应用层

Android下添加新的自定义键值和按键处理流程 首先分析下Android下怎么添加新的自定义键值。在Android的原生系统中键值默认情况下是92个&#xff0c;从0-91&#xff1b;一般情况下&#xff0c;这些键值是够用的&#xff0c;但是如果想扩充的话&#xff0c;还是需要添加新的键值…

Linux系统应用编程(五)Linux网络编程(上篇)

本篇主要内容&#xff1a; Linux系统应用编程&#xff08;五&#xff09;Linux网络编程&#xff08;上篇&#xff09;一、网络基础1.两个网络模型和常见协议&#xff08;1&#xff09;OSI七层模型&#xff08;物数网传会表应&#xff09;&#xff08;2&#xff09;TCP/IP四层模…

详解C语言string.h中常用的14个库函数(一)

我计划讲解C语言string.h这个头文件中&#xff0c;最常用的14个库函数。为了让大家更加深入的理解这些函数&#xff0c;部分函数我会模拟实现。篇幅所限&#xff0c;如果文章太长了&#xff0c;可能会较难坚持读完&#xff0c;所以我会分几篇博客来讲述。本篇博客主要讲解的函数…

FPGA时序约束(三)时序约束基本路径的深入分析

系列文章目录 FPGA时序约束&#xff08;一&#xff09;基本概念入门及简单语法 FPGA时序约束&#xff08;二&#xff09;利用Quartus18对Altera进行时序约束 文章目录 系列文章目录前言基本时序路径时钟偏差寄存器到寄存器&#xff08;reg2reg&#xff09;建立时间余量保持时…

PHP实现以数组var_dump,array_combine等函数的方法功能举例

目录 前言 一、什么是数组 二、把两个数组合并成一个数组 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 三、自动创建数组的一个案例 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 前言 1.若有选择&#xff0c;可实现在目录里…

小朋友排队

[蓝桥杯 2014 省 B] 小朋友排队 题目描述 n n n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列&#xff0c;但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候&#xff0c;所有小朋友的不高兴程度都是 0 0 0。 如果某个小朋友…

Python 学习曲线 从 Python 新手到 Pro

Python 学习曲线 从 Python新手到 Pro 使用代码片段介绍&#xff1a; Python 是世界上最通用和使用最广泛的编程语言之一&#xff0c;以其简单性、可读性和多功能性而闻名。 在本文中&#xff0c;我们将探讨一系列示例场景&#xff0c;其中代码由具有三个不同专业知识水平的程序…

文件系统和动静态库

目录 再识文件属性 查看文件属性的原理 初识inode 了解磁盘 什么是磁盘 磁盘的结构 磁盘的存储结构 CHS寻址 磁盘的逻辑结构 使用LBA地址的意义 理解文件系统 页框和页帧 分治思想管理 Linux ext2文件系统 软硬链接 软链接 硬链接 文件的三个时间 动静态库 …

java运行python脚本,待完善版

参考资料: windows下调用CMD运行方式 兼容linux/windows,同步异步方式 指定特殊运行环境的运行(如:anaconda运行环境) 整合以上三种方式终极版源码 相关内容: 调用python脚本传参说明 如果不传参数,python脚本可以随意写,比如:

【课程介绍篇】C/C++后台开发岗位技能知识树

1 C/C后台开发岗位技能知识树 2 Linux C/C后台架构开发 成长体系课程 3 C技术历史更新 https://www.0voice.com/uiwebsite/html/courses/

《UVM实战》学习笔记——第七章 UVM中的寄存器模型2——期望值/镜像值、自动/显示预测、操作方式

文章目录 前言一、寄存器模型对DUT的模拟1.1 期望值和镜像值1.2 常见操作对期望值和镜像值的影响 二、prediction分类2.1 自动预测2.2 显式预测 三、访问寄存器方式四、mem和reg的联系和差别五、内建built_in sequence5.1 寄存器模型内建序列5.2 存储器模型内建序列5.3 禁止域名…

安装APP时弹窗未知风险未知开发者,还能下载吗?

随着移动互联网的不断普及&#xff0c;人们的日常生活已与手机密不可分。根据相关研究&#xff0c;在使用手机时&#xff0c;人们90%以上的时间都花在某些应用程序上&#xff0c;巨大的需求使得各种各样的APP被开发出来。然而人们在使用APP时必须更加注意其是否来源可信企业&am…

数据结构与算法基础-学习-21-查找之平衡二叉树(AVL树)

目录 一、个人理解 二、最小失衡子树 三、平衡调整的四种类型 1、LL型 2、RR型 3、LR型 4、RL型 四、如何平衡调整 1、LL型调整 2、LR型调整 五、宏定义 六、结构体类型定义 1、AVL树结点类型 2、AVL树类型 3、AVL树结点搜索路径类型 七、函数定义 1、初始化AV…

基于CMS项目的JDBC的实战

基于CMS项目的JDBC的实战 使用的Javase技术&#xff0c;进行控制台输出的客户管理系统&#xff08;CMS&#xff09;&#xff0c;主要功能包含登录&#xff0c;注册、客户信息的展示&#xff0c;客户信息的更新&#xff0c;客户信息添加删除客户、退出系统。 设计创建数据库 …

PEX高效批量网络装机

目录 一、部署PXE远程安装服务 1&#xff09;PXE概述 若要搭建PEX网络体系&#xff0c;必须满足以下几个前提条件 2&#xff09;搭建PXE远程安装服务器 ①安装并启用 TFTP 服务 ②安装并启用 DHCP 服务 ​编辑 ③准备 Linux 内核、初始化镜像文件 ④准备 PXE 引导程序 …

CUDA下载与对应版本查询

文章目录 1 算力&#xff0c;CUDA Driver Version&#xff0c;CUDA Runtime Version2 显卡型号3 实操4 镜像 1 算力&#xff0c;CUDA Driver Version&#xff0c;CUDA Runtime Version 比如说我们进入pytorch官网中&#xff0c;点击下载&#xff0c;如何找到适合自己的CUDA版本…

SCAU 统计学 实验5

8.14 总体平均值&#xff08;μ&#xff09;&#xff1a;7.0 cm 总体方差&#xff08;σ&#xff09;&#xff1a;0.03 cm 样本平均值&#xff08;x̄&#xff09;&#xff1a;6.97 cm 样本方差&#xff08;s&#xff09;&#xff1a;0.0375 cm 样本大小&#xff08;n&#xff…

复旦MOSS大模型开源了!Github和Hugging Face同时上线

来源&#xff1a;量子位 复旦大模型MOSS&#xff0c;正式开源了&#xff01; 作为国内首个开放测试的类ChatGPT产品&#xff0c;MOSS开源地址一放出&#xff0c;又冲上知乎热搜&#xff1a; 从官网介绍来看&#xff0c;MOSS是一个拥有160亿参数的开源对话语言模型。 它由约7…

EventLog Analyzer:高效保护网络安全的强大工具

网络安全是当今数字化世界中最为重要的话题之一。随着越来越多的组织、企业和个人将其业务转移到互联网上&#xff0c;网络安全问题变得越来越严峻。针对这个问题&#xff0c;EventLog Analyzer提供了一个有效的解决方案&#xff0c;让网络管理员可以更好地监控和保护其网络环境…