信息论基础知识

注意:本文只针对离散随机变量做出探讨,连续随机变量的情况不适用于本文探讨的内容!

(一)自信息

1. 自信息

I ( x ) = − l o g n P ( x ) \color{blue}I(x) = - log_{n}{P(x)} I(x)=lognP(x)
注意:
若n = 2,叫做bit
若n = 3,叫做tet
若n = e,叫做nat
若n = 10,叫做hat
一般来讲,在信息论中,以2为底数比较普遍。
从公式的含义来看, 由于 P ( x ) 代表的是概率的大小,其值介于区间 ( 0 , 1 ) 之间, 当 p ( x ) 趋于 0 时代表信息量是无穷大的;而当 p ( x ) 趋于 1 时,它代表的信息量是 0 。 \color{red}从公式的含义来看,\\由于P(x)代表的是概率的大小,其值介于区间(0,1)之间,\\ 当p(x)趋于0时代表信息量是无穷大的;而当p(x)趋于1时,它代表的信息量是0。 从公式的含义来看,由于P(x)代表的是概率的大小,其值介于区间(0,1)之间,p(x)趋于0时代表信息量是无穷大的;而当p(x)趋于1时,它代表的信息量是0

自信息还包括条件自信息和联合自信息。其中条件自信息定义如下:
I ( x y ) = − log ⁡ P ( x ∣ y ) = − log ⁡ p ( x y ) p ( y ) I(xy) = - \log P(x|y) = - \log \frac {p(xy)}{p(y)} I(xy)=logP(xy)=logp(y)p(xy)

联合自信息的定义如下:
I ( x y ) = − l o g n P ( x y ) \color{red}I(xy) = - log_{n}{P(xy)} I(xy)=lognP(xy)

联合自信息的特点:
I ( x y ) = I ( y ∣ x ) + I ( x ) = I ( x ∣ y ) + I ( y ) \color{red}I(xy) = I(y|x) + I(x) = I(x|y) + I(y) I(xy)=I(yx)+I(x)=I(xy)+I(y)

当x 与y 相互独立时有:
I ( x y ) = I ( x ) + I ( y ) \color{red}I(xy) = I(x) + I(y) I(xy)=I(x)+I(y)

2. 条件熵
条件熵是平均条件自信息的另一种解释,是条件自信息的期望值。
I ( x ∣ y ) = − ∑ x ∈ X P ( x i ∣ y i ) ∑ y ∈ Y P ( y i ) l o g P ( x i ∣ y i ) = − ∑ x ∈ X ∑ y ∈ Y P ( x y ) L o g P ( x ∣ y ) I(x|y) = -\sum_{x\in X}P(x_i|y_i)\sum_{y \in Y}P(y_i)logP(x_i|y_i)=-\sum_{x\in X}\sum _{y \in Y}P(xy)LogP(x|y) I(xy)=xXP(xiyi)yYP(yi)logP(xiyi)=xXyYP(xy)LogP(xy)

要注意:此处log符号前的概率是 p ( x y ) \color{green}p(xy) p(xy)而不是 p ( x ∣ y ) \color{green}p(x|y) p(xy)
另外,从上面的公式可知,必须要计算整个y的条件概率,而不是 y i y_i yi的条件概率,故log符号前面是p(xy)而不是p(x|y)

3.平均互信息

I ( x ; y ) = ∑ x ∈ X ∑ y ∈ Y l o g p ( x y ) p ( x ) p ( y ) = ∑ x ∈ X ∑ y ∈ Y l o g p ( x ∣ y ) p ( x ) = ∑ x ∈ X ∑ y ∈ Y l o g p ( y ∣ x ) p ( y ) = I ( y ; x ) I(x;y) = \sum_{x \in X} \sum_{y \in Y} log \frac {p(xy)} {p(x) p (y)} =\\ \sum_{x \in X} \sum_{y \in Y} log \frac {p(x|y)} {p(x)} =\sum_{x \in X} \sum_{y \in Y} log \frac {p(y|x)} {p(y)} = I(y;x) I(x;y)=xXyYlogp(x)p(y)p(xy)=xXyYlogp(x)p(xy)=xXyYlogp(y)p(yx)=I(y;x)

互信息的重要性质:

I ( x ; y ) = H ( x ) − H ( x ∣ y ) = H ( y ) − H ( y ∣ x ) I(x; y) = H(x) - H(x|y) = H(y) -H(y|x) I(x;y)=H(x)H(xy)=H(y)H(yx)

证明:
H ( x ) − H ( x ∣ y ) = − ∑ x ∈ X P ( x ) l o g P ( x ) + ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x ∣ y ) = − ∑ x ∈ X p ( x ) l o g p ( x ) ∑ y ∈ Y p ( y ∣ x ) + ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x ∣ y ) = − ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g p ( x ) + ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x ∣ y ) = ∑ x ∈ X ∑ y ∈ Y p ( x y ) l o g P ( x y ) P ( x ) P ( y ) = I ( x ; y ) H(x) - H (x|y) = -\sum_{x \in X} P(x)log P(x) + \sum_{x \in X} \sum_{y \in Y} p(xy)log P(x|y) \\ = - \sum_{x \in X}p(x) log p(x) \sum_{y \in Y} p(y|x) +\sum_{x \in X} \sum_{y \in Y} p(xy)log P(x|y)\\ = - \sum_{x \in X} \sum_{y \in Y}p(xy)logp(x) + \sum_{x \in X} \sum_{y \in Y} p(xy)log P(x|y) \\ = \sum_{x \in X} \sum_{y \in Y} p(xy)log \frac {P(xy)}{P(x)P(y)}= I(x;y) H(x)H(xy)=xXP(x)logP(x)+xXyYp(xy)logP(xy)=xXp(x)logp(x)yYp(yx)+xXyYp(xy)logP(xy)=xXyYp(xy)logp(x)+xXyYp(xy)logP(xy)=xXyYp(xy)logP(x)P(y)P(xy)=I(x;y)

此处要注意的是一个知识点就是, ∑ y ∈ Y p ( y i ∣ x ) = ∑ y ∈ Y p ( x ∣ y i ) p ( y i ) p ( x ) = 1 \sum_{y \in Y} p(y_i|x) =\sum_{y \in Y} \frac {p(x|y_i)p(y_i)}{p(x)} = 1 yYp(yix)=yYp(x)p(xyi)p(yi)=1

注意:"平均"的含义是期望值,平均互信息即为互信息的期望值,其定义为:
I ( x ; y ) = ∑ x ∈ X ∑ y ∈ Y P ( x y ) l o g p ( x y ) p ( x ) p ( y ) = ∑ x ∈ X ∑ y ∈ Y P ( x y ) l o g p ( x ∣ y ) p ( x ) = ∑ x ∈ X ∑ y ∈ Y P ( x y ) l o g p ( y ∣ x ) p ( y ) = I ( y ; x ) I(x;y) = \sum_{x \in X} \sum_{y \in Y} P(xy) log \frac {p(xy)} {p(x) p (y)} =\\ \sum_{x \in X} \sum_{y \in Y} P(xy) log \frac {p(x|y)} {p(x)} =\sum_{x \in X} \sum_{y \in Y} P(xy) log \frac {p(y|x)} {p(y)} = I(y;x) I(x;y)=xXyYP(xy)logp(x)p(y)p(xy)=xXyYP(xy)logp(x)p(xy)=xXyYP(xy)logp(y)p(yx)=I(y;x)

4. 条件互信息
联合集XYZ中,给定条件Z下,X与Y的互信息定义如下:

I ( x ; y ∣ z ) = I ( x ∣ z ) − I ( x ∣ y z ) = − log ⁡ P ( x ∣ z ) + log ⁡ P ( x ∣ y z ) = log ⁡ p ( x ∣ y z ) p ( x ∣ z ) I(x;y|z) = I(x|z) - I(x|yz) = -\log P(x|z) + \log P(x|yz) = \log \frac {p(x|yz)}{p(x|z)} I(x;yz)=I(xz)I(xyz)=logP(xz)+logP(xyz)=logp(xz)p(xyz)

(二)熵

熵的定义比较重要,重点讲述,但是其含义跟上一个标题中的平均互信息、条件熵类似,都是一种期望值。

熵的定义:自信息的数学期望为信源的平均自信息量(信息熵)。 用数学期望值的原因是因为,自信息是一个随机事件的概率 , 不能用作整个信源的信息测度。 由此可见,熵是自信息概念的进一步扩展,是自信息的期望值 \color{red}熵的定义:自信息的数学期望为信源的平均自信息量(信息熵)。\\用数学期望值的原因是因为,自信息是一个随机事件的概率, 不能用作整个信源的信息测度。\\由此可见,熵是自信息概念的进一步扩展,是自信息的期望值 熵的定义:自信息的数学期望为信源的平均自信息量(信息熵)。用数学期望值的原因是因为,自信息是一个随机事件的概率,不能用作整个信源的信息测度。由此可见,熵是自信息概念的进一步扩展,是自信息的期望值

二元熵

二元熵是熵的一个特例,也就是一件事情有两种情况发生,这两种情况的概率已知,那么这件事情的熵计算公式如下:
H ( x ) = − p l o g p − ( 1 − p ) l o g ( 1 − p ) H(x) = - p log p - (1-p) log(1-p) H(x)=plogp(1p)log(1p)

离散熵:

H ( x ) = E x [ I ( x ) ] = − ∑ i = 1 n [ P ( x i ) l o g n P ( x i ) ] \color{blue} H(x) = E_x[I(x)]=-\sum^{ n }_{i=1} [P(x_i)log_nP(x_i)] H(x)=Ex[I(x)]=i=1n[P(xi)lognP(xi)]

连续熵:

H ( x ) = E x [ I ( x ) ] = − ∫ + ∞ − ∞ P ( x ) l o g n P ( x ) d x \color{green}H(x) = E_{x}[I(x)] = - \int_{+\infty}^{-\infty}P(x)log_{n}P(x)dx H(x)=Ex[I(x)]=+P(x)lognP(x)dx

注意:积分中是对x微分而不是P(x)

熵的一些重要知识点:
根据极限相关知识,可得:

lim ⁡ P ( x ) → 0 − P ( x ) l o g n P ( x ) = lim ⁡ x → 0 l o g n P ( x ) 1 − P ( x ) = 1 P ( x ) P ( x ) 2 = P ( x ) = 0 \color{red}\lim_{P(x) \to 0}-P(x)log_nP(x) = \lim_{x \to 0} \frac {log_nP(x)} {\frac{1}{-P(x)}} = \frac{1}{P(x)} P(x)^2 = P(x) = 0 P(x)0limP(x)lognP(x)=x0limP(x)1lognP(x)=P(x)1P(x)2=P(x)=0

同时,当P(x)= 1时,H(x) = 0。

连续熵的导数为0时, H ′ ( x ) = − P ( x ) l o g n P ( x ) = 0 H'(x) = -P(x) log_nP(x) = 0 H(x)=P(x)lognP(x)=0,可得:
(1)当熵的导数为0时,可得P(x) = 1( P ( x ) = 0 不在定义域中,不符合条件 \color{green}P(x) = 0不在定义域中,不符合条件 P(x)=0不在定义域中,不符合条件),因此熵在该点处取得极值。
(2)再考察P(x) = 1 左右处的值,左侧导数大于0,右侧导数小于0,因此在P(x) = 1处连续熵函数取得最小值0。( 此处似乎有错误 , 问题在于离散熵和连续熵函数具有很大的区别,其细节问题,留待勘查 \color{red}此处似乎有错误,问题在于离散熵和连续熵函数具有很大的区别,其细节问题,留待勘查 此处似乎有错误,问题在于离散熵和连续熵函数具有很大的区别,其细节问题,留待勘查
(3)熵的值总是大于0。由于P(x)的含义是x的概率,概率总是大于0小于1的,又 − P ( x ) l o g n P ( x ) = P ( x ) l o g n 1 P ( x ) -P(x)log_nP(x) =P(x)log_n \frac{1}{P(x)} P(x)lognP(x)=P(x)lognP(x)1,根据log函数的性质, l o g n 1 P ( x ) log_n\frac{1}{P(x)} lognP(x)1也大于0,故熵的值必然大于0。
(4)H(xy) = H(x) + H(y|x)
证明:
H ( x ) + H ( y ∣ x ) = − ∑ i = 1 n P ( x y ) l o g P ( x y ) P ( x ) − ∑ i = 1 n P ( x ) l o g P ( x ) = − ∑ i = 1 n P ( x y ) l o g P ( x y ) = H ( x y ) H(x) + H(y|x) =- \sum_{i=1}^n P(xy) log \frac {P(xy) }{P(x)} - \sum _{i=1}^n P(x)log P(x) =\\ -\sum_{i=1}^n P(xy) log P(xy) = H(xy) H(x)+H(yx)=i=1nP(xy)logP(x)P(xy)i=1nP(x)logP(x)=i=1nP(xy)logP(xy)=H(xy)
同理,H(xy) = H(y) + H(x|y)

另外,还有几个重要的结论:
(1)当已知分布上下限时均匀分布的熵最大,当知道均值和方差时正态分布的熵最大。
(2)给定一串数据,其中数据元 x 出现的概率为p(x),则最佳编码长度为 − l o g 2 P ( x ) -log_2P(x) log2P(x),整段文本的平均编码长度为 − ∑ i = 1 n P ( x i ) l o g 2 P ( x i ) -\sum_{i=1}^{n}P(x_i)log_2P(x_i) i=1nP(xi)log2P(xi),即底为2的熵。
(3)最大离散熵定理:
具有n个符号的离散信源,只有在n个信源等概率的情况下熵才能取得最大值,即等概率的熵最大,这叫做最大离散熵定理。
此定理是熵的判定中一个重要定理。

最大离散熵定理的证明:

已知条件: ∑ i = 1 n p i = 1 , H ( x ) = − ∑ i = 1 n p i l o g p i , p 1 = p 2 = . . = p i = p n , 根据拉格朗日乘数法则得: H ( x ) = − ∑ i = 1 n p i l o g p i + λ ( ∑ i = 1 n p i − 1 ) , ∂ H ( x ) ∂ p i = − n l o g p i − n + n λ = 0 , p i = 1 n ,由此得知: p i = e λ − 1 ,即 p i 服从指数分布 已知条件:\\ \sum _{i = 1} ^ np_i = 1, \\ H(x) = -\sum_{i=1}^{n} p_i log p_i,\\ p_1 = p_2 = .. = p_i = p_n,\\ 根据拉格朗日乘数法则得:\\ H(x) = -\sum_{i=1}^{n} p_i log p_i + \lambda(\sum _{i = 1}^n p_i -1) ,\\ \frac {\partial H(x)}{\partial p_i} = - nlogp_i - n + n \lambda = 0, p_i = \frac {1}{n},由此得知:\\ p_i = e ^ {\lambda - 1},即p_i服从指数分布 已知条件:i=1npi=1,H(x)=i=1npilogpi,p1=p2=..=pi=pn,根据拉格朗日乘数法则得:H(x)=i=1npilogpi+λ(i=1npi1)piH(x)=nlogpin+=0,pi=n1,由此得知:pi=eλ1,即pi服从指数分布

(4)已知均值和方差时,正态分布下熵的值最大,该证明的参考链接如下:
https://zhuanlan.zhihu.com/p/309831227

(5)任何概率分布下的信息熵一定不会大于它对其它概率分布下自信息的数学期望(交叉熵有极小值
证明:
∵ l n x ≤ x − 1 ∴ ∑ i = 1 n p i × l n q i p i ≤ ∑ i = n n p i × ( q i p i − 1 ) = ∑ i = 1 n q i − ∑ i = 1 n p i = 0 ∴ ∑ i = 1 n p i × l n q i p i = ∑ i = 1 n p i l n q i − ∑ i = 1 n p i l n p i ≤ 0 ∴ ∑ i = 1 n p i l n q i ≤ ∑ i = 1 n p i l n p i \because lnx \le x - 1\\ \therefore \sum _{i=1}^{n} p_i \times ln \frac {q_i}{p_i} \le \sum _{i=n} ^{n} p_i \times \bigl ( \frac{q_i}{p_i} - 1) = \sum _{i=1}^{n}q_i - \sum _{i=1} ^ {n} p_i = 0 \\ \therefore \sum _{i=1}^{n} p_i \times ln \frac {q_i}{p_i} = \sum _{i=1}^{n} p_i ln q_i - \sum _{i=1}^{n} p_i ln p_i \le 0 \\ \therefore \sum _{i=1}^{n} p_i ln q_i \le \sum _{i=1}^{n} p_i ln p_i lnxx1i=1npi×lnpiqii=nnpi×(piqi1)=i=1nqii=1npi=0i=1npi×lnpiqi=i=1npilnqii=1npilnpi0i=1npilnqii=1npilnpi

交叉熵有极小值也是机器学习的基础理论之一。

(6)熵函数具有上凸性,熵函数必有最大值。(此结论只针对离散随机变量)

(三)熵几个概念之间的图形化关系

最后,关于信息论中各个部分的关系如下,其中:

图中H(X)与H(Y)是X,Y两个部分的熵,I(XY)是两者熵的重合部分。

H(X|Y)是H(X) 去掉I(XY)部分,H(Y|X)是H(Y) 去掉I(XY)部分,H(XY)是两者的面积去掉I(xy)的部分。

在这里插入图片描述

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

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

相关文章

亚马逊 EC2服务器下部署java环境

1. jdk 1.8 安装 1.1 下载jdk包 官网 Java Downloads | Oracle tar.gz 包 下载下来 1.2 本地连接 服务器 我用的是亚马逊的ec2 系统是 ubuntu 的 ssh工具是 Mobaxterm , 公有dns 创建实例时的秘钥 链接 Mobaxterm 因为使用的 ubuntu 所以登录的 名称 就是 ubuntu 然后 …

Linux centos 常用命令 【持续更新】

一、查看文件信息 indoe和目录项 # df命令查看每个硬盘分区的inode总数和已经使用的数量 df -i# 查看inode的大学 xfs_growfs /dev/sda1|grep "isize"# 查看文件的indoe号码 ls -istat查看文件信息 # 文件的详细信息 stat anaconda-ks.cfg # -t参数是在一行内输出…

Linux 的基本指令(3)

指令1:date 作用:用来获取时间的指令。 1. 获取当下的时间: date %Y-%m-%d_%H:%M:%S 其中:%Y 表示年,%m 表示月,%d 表示日,%H 表示 小时,%M 表示分,%S 表示秒。 上面代…

用 oneAPI 实现 AI 欺诈检测:一款智能图像识别工具

简介 虚假图像和视频日益成为社交媒体、新闻报道以及在线内容中的一大隐患。在这个信息爆炸的时代,如何准确地识别和应对这些虚假内容已经成为一个迫切的问题。为了帮助用户更好地辨别虚假内容,我开发了一款基于 oneAPI、TensorFlow 和 Neural Compress…

springBoot集成caffeine,自定义缓存配置 CacheManager

目录 springboot集成caffeine Maven依赖 配置信息:properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…

进销存管理系统(小杨国贸)springboot采购仓库财务java jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 进销存管理系统(小杨国贸)spri…

k8s之StorageClass(NFS)

一、前言 1、环境 k8s v1.23.5 ,服务器是centos7.9 192.168.164.20 k8s-master1 192.168.164.30 k8s-node1 192.168.164.40 k8s-node2 2、貌似storageClass在kubernetes v1.20就被砍了。 因为它比较慢,而且耗资源,但可以通过不同的实现镜…

玩机搞机--【开机出现您的设备内部出现了问题,请联系你的制造商了解详情】故障解决思路

很多友友在玩机过程中经常会遇到下图所示故障。大多数都是刷了第三方系统或者内核或者面具导致的。正常来说。这个提示可以无视的,不影响正常的手机使用。但强迫症例外。究其原因。一般是内核校验原因。解决方法也分为多种。今天就为大家解析下这个提示的解决思路 &…

基于docker部署的Selenium Grid分布式自动化测试

01、什么是Selenium Grid Selenium Grid是Selenium套件的一部分,它专门用于并行运行多个测试用例在不同的浏览器、操作系统和机器上。 Selenium Grid有两个版本——老版本Grid 1和新版本Grid 2。我们只对新版本做介绍,因为Selenium团队已经逐渐遗弃老版…

yum 安装本地包 rpm

有时直接yum install 有几个包死活下不下来 根据网址,手动下载,下载后上传至 centos 然后运行 sudo yum localinstall xxx.rpm 即可安装 参考 https://blog.csdn.net/weiguang1017/article/details/52293244

微服务01-SpringCloud

1、简介 SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。 其中常见的组件包括: 2、服务拆分和远程调用 2.1 服务拆分 这里总结了微服务拆分时的几个原则: …

JAVA Android 正则表达式

正则表达式 正则表达式是对字符串执行模式匹配的技术。 正则表达式匹配流程 private void RegTheory() {// 正则表达式String content "1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2) &qu…

HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具

公文一键排版系统基本完成,准备继续完善SysInfo,增加用户帐户信息,其中涉及到Win32_Account结构,其C定义如下: [Dynamic, Provider("CIMWin32"), UUID("{8502C4CC-5FBB-11D2-AAC1-006008C78BC7}"…

【Linux】进程间通信——System V信号量

目录 写在前面的话 一些概念的理解 信号量的引入 信号量的概念及使用 写在前面的话 System V信号量是一种较低级的IPC机制,使用的时候需要手动进行操作和同步。在现代操作系统中,更常用的是POSIX信号量(通过sem_*系列的函数进行操作&…

【雕爷学编程】Arduino动手做(24)---水位传感器模块3

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

激活函数总结(五):Shrink系列激活函数补充(HardShrink、SoftShrink、TanhShrink)

激活函数总结(五):Shrink系列激活函数补充 1 引言2 激活函数2.1 HardShrink激活函数2.2 SoftShrink激活函数2.3 TanhShrink激活函数 3. 总结 1 引言 在前面的文章中已经介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、Swis…

基本动态规划问题的扩展

基本动态规划问题的扩展 应用动态规划可以有效的解决许多问题,其中有许多问题的数学模型,尤其对一些自从57年就开始研究的基本问题所应用的数学模型,都十分精巧。有关这些问题的解法,我们甚至可以视为标准——也就是最优的解法。…

Vue组件库

Vue组件库 ViteVue3TypescriptTSX 1、项目搭建 1.1、创建项目(yarn) D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh pa…

为新手和非技术人员提供扩展Web网站提供一个升级指南

本指南总结了扩展的基本原则,从一台服务器扩展到能够服务数百万用户的Web应用程序。它面向在技术领域工作的新手和非开发人员。因此,如果您刚刚部署了您的多云平台VPN设置,那么本文并不适合您。 话不多说,那就让我们开始吧&#x…

基于灰狼优化(GWO)、帝国竞争算法(ICA)和粒子群优化(PSO)对梯度下降法训练的神经网络的权值进行了改进(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…