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

一些常见分布-正态分布、对数正态分布、伽马分布、卡方分布、t分布、F分布等

目录

正态分布

对数正态分布 

伽马分布

伽马函数

贝塔函数

伽马分布

卡方分布

F分布

t分布

附录

参考文献


        本文主要介绍一些常见的分布,包括正态分布、对数正态分布、伽马分布、卡方分布、F分布、t分布。给出了分布的定义,推导了概率密度函数,以及函数图像。

正态分布

 当n=0,\sigma^2=1,称为标准正态分布,即X\sim N(0,1)

对数正态分布 

        对数正态分布(logarithmic normal distribution)是指一个随机变量的对数服从正态分布,则该随机变量服从对数正态分布。对数正态分布从短期来看,与正态分布非常接近。但长期来看,对数正态分布向上分布的数值更多一些。

证明

        假设Y服从的正态分布为G(x),概率密度函数为g(x)​,X服从的分布为F(x),概率密度函数为f(x)。显然有G^{'}(x)=g(x),F^{'}(x)=f(x)

下面证明​X的概率密度函数f(x)表达式如上面所示。

        一般我们通过分布函数和概率的定义来证明。

F(x)=P(X\leq x) ,因为Y=lnX​,则X=e^Y,

P(X\leq x)=P(e^Y\leq x)=P(Y\leq lnx)=G(lnx)

F(x)=G(lnx)​,两边对x​求导,得到:

\frac{\mathrm{dF(x)} }{\mathrm{d} x}=\frac{\mathrm{dG(lnx)} }{\mathrm{d} x},即:

f(x)=\frac{g(lnx)}{x},注意到正态分布概率密度函数g(x)如下:

g(x)

代入后,可得到f(x)​表达式如上面所示。

伽马分布
伽马函数

        在介绍伽马分布之前,我们先对伽马函数有一个基本理解,伽马函数如下:

\alpha是自变量。伽马函数图像如下:

 伽马函数图像绘制代码,如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.special import gammaif __name__ == '__main__':x = np.linspace(-5, 5, 500) # -5到5之间生成500个点y = gamma(x)    # 计算y的值,也就是伽马函数的值plt.plot(x, y)plt.show()

        为了后面方便推导卡方分布,这里我们证明 \Gamma(\frac{1}{2})=\sqrt{\pi}

下面利用标准正态分布的概率密度函数曲线下的面积为1来证明。即:

\int_{-\infty }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx=1

由正态分布对称性,得到

2\int_{0 }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx=1

t=\frac{x^2}{2}进行换元,

2\int_{0 }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-t}d\sqrt{2t}=1

2\int_{0 }^{+\infty}\frac{1}{\sqrt{2\pi}}e^{-t}\frac{1}{\sqrt{2t}}dt=1

\int_{0 }^{+\infty}\frac{1}{\sqrt{\pi t}}e^{-t}dt=1

\int_{0 }^{+\infty}\frac{1}{\sqrt{t}}e^{-t}dt=\sqrt{\pi}

因为伽马函数如下:

知道

\Gamma(\frac{1}{2})=\int_{0 }^{+\infty}\frac{1}{\sqrt{t}}e^{-t}dt=\sqrt{\pi}

伽马函数还有其他很多的函数表达式,这里不再累述。 

贝塔函数

        在概率统计和其他应用学科中会经常用到伽玛函数和贝塔函数,有的反常积分的计算最后也会归结为贝塔函数或伽玛函数。贝塔函数又称为第一类欧拉积分,而第二类欧拉积分就是大名鼎鼎的伽玛函数Γ(x。贝塔函数具有很好的性质,以及实用的递推公式,另外需要注意的是伽玛函数和贝塔函数之间的关系。贝塔函数如下:

贝塔函数是一个积分形式,\alpha,\beta为参数。

        下面推导伽马函数与贝塔函数之间存在的关系。我们先给出他们的关系:

B(\alpha, \beta )=\frac{\Gamma(\alpha)\Gamma(\beta )}{\Gamma(\alpha +\beta )}

由伽马函数:

得到

\Gamma(\alpha )\Gamma(\beta )=\int_{0}^{+\infty}t^{\alpha-1}e^{-t}dt\times\int_{0}^{+\infty}s^{\beta-1}e^{-s}ds

=\int_{0}^{+\infty}\int_{0}^{+\infty}t^{\alpha-1}s^{\beta-1}e^{-(t+s)}dtds

使用如下积分换元t=uv,s=u(1-v),即

u=s+t,v=\frac{t}{s+t}

容易得到u\in(0,+\infty),v\in(0,1),并且s=0时,v=1,s \to +\infty时,v=0。变换前后微元关系如下:

dtds=\begin{vmatrix} \frac{\partial t}{\partial u} & \frac{\partial t}{\partial v} \\ \frac{\partial s}{\partial u} & \frac{\partial s}{\partial v} \end{vmatrix}dudv=\begin{vmatrix} v & u\\ 1-v & -u \end{vmatrix}dudv

=[-uv-u(1-v)]dudv=-ududv

则换元后,原式如下:

\Gamma(\alpha )\Gamma(\beta )=

=\int_{0}^{+\infty}\int_{1}^{0}(uv)^{\alpha-1}[u(1-v)]^{\beta-1}e^{-u}(-u)dudv

=\int_{0}^{+\infty}\int_{0}^{1}(uv)^{\alpha-1}[u(1-v)]^{\beta-1}e^{-u}(u)dudv

=\int_{0}^{+\infty}u^{\alpha+\beta-1}e^{-u}du\times\int_{0}^{1}v^{\alpha-1}(1-v)^{\beta-1}dv

=\Gamma(\alpha+\beta)B(\alpha,\beta)

即:

B(\alpha, \beta )=\frac{\Gamma(\alpha)\Gamma(\beta )}{\Gamma(\alpha +\beta )}

        为了直观地理解贝塔函数,下面我们绘制出贝塔函数的三维曲面图像。代码如下:

import numpy as np
from scipy.special import beta
import matplotlib.pyplot as pltif __name__ == '__main__':# 创建一个网格x, y = np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))print('x=', '\n', x)print('y=', '\n', y)z = beta(x, y)print('z=', '\n', z)plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文fig = plt.figure(figsize=(10, 8))ax = fig.add_subplot(111, projection='3d')ax.tick_params(axis="both", labelsize=12)ax.plot_surface(x, y, z, cmap='viridis')ax.set_xlabel('x', fontsize=13)ax.set_ylabel('y', fontsize=13)ax.set_zlabel('z')ax.set_title('贝塔函数图像')plt.show()

运行结果,如下:

伽马分布

​​​

        从定义可以看到,伽马分布的概率密度函数的分母中\Gamma(\alpha )就是伽马函数。 可以通过scipy提供的统计库stats,绘制出正态分布、对数正态分布、伽马分布的概率密度函数曲线,代码如下:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gamma as gamma_dis
from scipy.stats import lognorm
from scipy.stats import normif __name__ == '__main__':alpha = 2  # 伽马分布的形状参数theta = 2  # 伽马分布的比例参数# 创建一个 sample spacex = np.linspace(0, 10, 200)# 计算概率密度函数 (PDF)gamma_pdf = gamma_dis.pdf(x, alpha, scale=theta)  # 伽马分布概率密度函数log_norm_pdf = lognorm.pdf(x, loc=0, s=1)  # 对数正态分布概率密度函数norm_pdf = norm.pdf(x, loc=0, scale=1)  # 正态分布概率密度函数plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文# 绘制伽马分布曲线plt.plot(x, gamma_pdf)plt.plot(x, log_norm_pdf)plt.plot(x, norm_pdf)plt.legend(['伽马分布', '对数正态分布', '正态分布'])  # 设置图例plt.title('概率密度函数曲线')plt.xlabel('x')plt.ylabel('概率密度函数值')plt.show()

运行结果如下: 

​​​

伽马分布有如下重要的性质:

(1)设随机变量X\sim Ga(\alpha_1,\lambda )Y\sim Ga(\alpha_2,\lambda ),且X,Y相互独立,则Z=X+Y\sim Ga(\alpha_1+\alpha_2,\lambda )

证明

        假设随机变量Z的分布为F(z),概率密度函数为f_Z(z),随机变量X,Y的概率密度函数分别为f_X(x)f_Y(x)。两者的联合概率密度函数为f_{XY}(x,y),因为X,Y相互独立,显然有:

f_{XY}(x,y)=f_X(x)f_Y(x)

因为

X,Y取值都在(0,+\infty),所以Z的取值也在(0,+\infty),从而当z\leq 0时,f_Z(z)=0

z> 0时,F(z)=P(Z\leq z)=P(X+Y\leq z),这里将z看成常数,有

F(z)=\iint_{x+y\leq z}f_{XY}(x,y)dxdy

=\iint_{x+y\leq z}f_X(x)f_Y(y)dxdy

=\int_{-\infty}^{+\infty}f_X(x)dx\int_{-\infty}^{z-x}f_Y(y)dy

使用换元t=x+y,将x看陈常数,有

y\in(-\infty,z-x),则t\in(-\infty,z),且dy=dt

得到

F(z)=\int_{-\infty}^{+\infty}f_X(x)dx\int_{-\infty}^{z}f_Y(t-x)dt

F(z)=\int_{-\infty}^{z}[\int_{-\infty}^{+\infty}f_X(x)f_Y(t-x)dx]dt

两边对z求导,得到

f_Z(z)=\int_{-\infty}^{+\infty}f_X(x)f_Y(z-x)dx

这就是卷积公式。因为

X\sim Ga(\alpha_1,\lambda )Y\sim Ga(\alpha_2,\lambda ),代入得到

f_Z(z)=\int_{0}^{z}\frac{\lambda^{\alpha_1}}{\Gamma(\alpha_1)}x^{\alpha_1-1}e^{-\lambda x}\frac{\lambda^{\alpha_2}}{\Gamma(\alpha_2)}(z-x)^{\alpha_2-1}e^{-\lambda (z-x)}dx

f_Z(z)=\frac{\lambda^{\alpha_1+\alpha_2}e^{-\lambda z}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}\int_{0}^{z}x^{\alpha_1-1}(z-x)^{\alpha_2-1}dx

使用换元x=zt,当x\in(0,z)时,t\in(0,1),并且dx=zdt,则

f_Z(z)=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}e^{-\lambda z}\int_{0}^{1}(zt)^{\alpha_1-1}(z-zt)^{\alpha_2-1}zdt

=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}z^{\alpha_1+\alpha_2-1}e^{-\lambda z}\int_{0}^{1}t^{\alpha_1-1}(1-t)^{\alpha_2-1}dt

=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1)\Gamma(\alpha_2)}z^{\alpha_1+\alpha_2-1}e^{-\lambda z}B(\alpha_1,\alpha_2)

根据B(\alpha, \beta )=\frac{\Gamma(\alpha)\Gamma(\beta )}{\Gamma(\alpha +\beta )},得到

f_Z(z)=\frac{\lambda^{\alpha_1+\alpha_2}}{\Gamma(\alpha_1+\alpha_2)}z^{\alpha_1+\alpha_2-1}e^{-\lambda z},所以

Z=X+Y\sim Ga(\alpha_1+\alpha_2,\lambda )

卡方分布

        假设n个相互独立的随机变量X_1,X_2,...,X_n​​​,均服从标准正态分布(也称独立同分布于标准正态分布)N(0,1)​​​。则这n个服从标准正态分布的随机变量的平方和Q=\sum_{i=1}^nX_i^2​​​构成一个新的随机变量,其分布规律称为卡方分布(chi-square distribution),记作Q\sim \chi^2(n)​​​,n称为卡方分布的自由度(degree of freedom),记作df=n

        这个分布由麦克斯韦(James Clerk Maxwell, 1831-1879)在研究空气分子的运动速度的分布时发现的,他发现分子运动速度v​​​的平方服从自由度为3的卡方分布,即v^2\sim \chi^2(3)​​​。后来又有多人提出这种分布,例如弗里德里希·罗伯特·海尔默特(Friedrich Robert Helmert, 1843-1917)于1875年,故卡方分布有时(在德国常见,因海尔默特是德国人)也称海尔默特分布;另外,这一结果被英国生物统计学家、优生学家、数理统计学创始人和社会达尔文主义理论家卡尔·皮尔逊(Karl Pearson, 1857-1936)推广并于1900年发表。

        卡方分布\chi^2(n)​​​的概率密度函数

f(x,n)=\frac{x^{\frac{n}{2}-1}e^{-\frac{x}{2}}}{2^{\frac{n}{2}}\Gamma(\frac{n}{2})}

下面来推导。

(1)当df=1时,Q=X_1^2。卡方分布的概率密度函数变为:

f(x,1)=\frac{e^{-\frac{x}{2}}}{\sqrt{2x} \Gamma(\frac{1}{2})}=\frac{1}{\sqrt{2\pi x}}e^{-\frac{x}{2}}

假设随机变量Q的分布函数为F(x),概率密度函数为f(x),随机变量X_1的分布函数为F_{X_1}(x),概率密度函数为f_{X_1}(x),随机变量X_2的分布函数为F_{X_2}(x),概率密度函数为f_{X_2}(x)。因为X_1X_2服从标准正态分布,有

f_{X_1}(x)=f_{X_2}(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}

因为F(x)=P(Q<x)=P(X_1^2<x)=P(-\sqrt{x}<X_1<\sqrt{x})

=P(X_1<\sqrt{x})-P(X_1<-\sqrt{x})=F_{X_1}(\sqrt{x})-F_{X_2}(-\sqrt{x})

两边对x求导,

f(x)=\frac{1}{2\sqrt{x}}(f_{X_1}(\sqrt{x})+f_{X_2}(-\sqrt{x}))

因为f_{X_1}(x)=f_{X_2}(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}},所以:

f(x)=\frac{1}{2\sqrt{x}}(\frac{1}{\sqrt{2\pi}}e^{-\frac{x}{2}}+\frac{1}{\sqrt{2\pi}}e^{-\frac{x}{2}})

f(x)=\frac{1}{\sqrt{2\pi x}}e^{-\frac{x}{2}}

事实上,它是\alpha=\frac{1}{2},\lambda=\frac{1}{2}的伽马分布,即Q\sim Ga(\frac{1}{2},\frac{1}{2})。根据如下伽马分布的概率密度函数,很容易得出。

​​

(2)当df=n时,Q=\sum_{i=1}^nX_i^2,由上面的结论知道,X_i^2\sim Ga(\frac{1}{2},\frac{1}{2})。另外因为X_1,X_2,...,X_n相互独立,所以X_1^2,...,X_i^2,...,X_n^2也相互独立。根据之前证明的如下结论:

如果随机变量X\sim Ga(\alpha_1,\lambda )Y\sim Ga(\alpha_2,\lambda ),且X,Y相互独立,则Z=X+Y\sim Ga(\alpha_1+\alpha_2,\lambda )

得到Q=\sum_{i=1}^nX_i^2服从Ga(\frac{n}{2},\frac{1}{2}),代入伽马分布,得到如下卡方分布

f(x,n)=\frac{x^{\frac{n}{2}-1}e^{-\frac{x}{2}}}{2^{\frac{n}{2}}\Gamma(\frac{n}{2})}

从结论来看,卡方分布是伽马分布的一个特例,即Ga(\frac{n}{2},\frac{1}{2})。也就是说

\chi^2(n)=Ga(\frac{n}{2},\frac{1}{2})

        为了直观的观测卡方分布,下面使用python代码绘制卡方分布曲线。代码如下:

import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt
from scipy import statsif __name__ == '__main__':# # 创建一个网格# x, y = np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))# print('x=', '\n', x)# print('y=', '\n', y)# z = beta(x, y)# print('z=', '\n', z)#plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文# fig = plt.figure(figsize=(10, 8))# ax = fig.add_subplot(111, projection='3d')# ax.tick_params(axis="both", labelsize=12)# ax.plot_surface(x, y, z, cmap='viridis')# ax.set_xlabel('x', fontsize=13)# ax.set_ylabel('y', fontsize=13)# ax.set_zlabel('z')# ax.set_title('贝塔函数图像')# plt.show()X = np.linspace(0.1, 14, 500)plt.subplots(figsize=(8, 5))plt.plot(X, stats.chi2.pdf(X, df=1), label="1 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=2), label="2 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=4), label="4 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=6), label="6 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=11), label="11 d.o.f")plt.title("卡方分布")plt.legend()plt.show()

代码中绘制了自由度为1,2,3,4,11的5个卡方分布,运行结果如下:

F分布

        由卡方分布的定义知道,F分布定义可以转换为:如果X\sim \chi^2(n_1) ,Y\sim \chi^2(n_2),则

F=\frac{X}{n_1}/\frac{Y}{n_2}为F分布。概率密度函数的证明参见参考文献。

 代码如下:

    X = np.linspace(0.1, 4, 500)plt.plot(X, stats.f.pdf(X, 4,4), label="n1=4,n2=4")plt.plot(X, stats.f.pdf(X, 4,10), label="n1=4,n2=10")plt.plot(X, stats.f.pdf(X, 10,4), label="n1=10,n2=4")plt.plot(X, stats.f.pdf(X, 10,10), label="n1=10,n2=10")plt.title("F分布")plt.legend()plt.show()

 运行结果如下:

t分布

代码如下:

    plt.rcParams["axes.unicode_minus"] = False  # 设置显示中文后,负号显示受影响,显示负号X = np.linspace(-5, 5, 1500)plt.plot(X, stats.t.pdf(X, 1), label="n=4")plt.plot(X, stats.t.pdf(X, 2), label="n=2")plt.plot(X, stats.t.pdf(X, 4), label="n=4")plt.plot(X, stats.t.pdf(X, 8), label="n=8")plt.title("t分布")plt.legend()plt.show()

 运行结果如下:

附录

        本节所有代码如下:

import numpy as np
from scipy.special import beta
import matplotlib.pyplot as plt
from scipy import statsif __name__ == '__main__':# 创建一个网格x, y = np.meshgrid(np.linspace(0.1, 1, 100), np.linspace(0.1, 1, 100))print('x=', '\n', x)print('y=', '\n', y)z = beta(x, y)print('z=', '\n', z)plt.rcParams['font.sans-serif'] = ['Simhei']  # 显示中文fig = plt.figure(figsize=(10, 8))ax = fig.add_subplot(111, projection='3d')ax.tick_params(axis="both", labelsize=12)ax.plot_surface(x, y, z, cmap='viridis')ax.set_xlabel('x', fontsize=13)ax.set_ylabel('y', fontsize=13)ax.set_zlabel('z')ax.set_title('贝塔函数图像')plt.show()X = np.linspace(0.1, 14, 500)plt.subplots(figsize=(8, 5))plt.plot(X, stats.chi2.pdf(X, df=1), label="1 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=2), label="2 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=4), label="4 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=6), label="6 d.o.f")plt.plot(X, stats.chi2.pdf(X, df=11), label="11 d.o.f")plt.title("卡方分布")plt.legend()plt.show()X = np.linspace(0.1, 4, 500)plt.plot(X, stats.f.pdf(X, 4,4), label="n1=4,n2=4")plt.plot(X, stats.f.pdf(X, 4,10), label="n1=4,n2=10")plt.plot(X, stats.f.pdf(X, 10,4), label="n1=10,n2=4")plt.plot(X, stats.f.pdf(X, 10,10), label="n1=10,n2=10")plt.title("F分布")plt.legend()plt.show()plt.rcParams["axes.unicode_minus"] = False  # 设置显示中文后,负号显示受影响,显示负号X = np.linspace(-5, 5, 1500)plt.plot(X, stats.t.pdf(X, 1), label="n=4")plt.plot(X, stats.t.pdf(X, 2), label="n=2")plt.plot(X, stats.t.pdf(X, 4), label="n=4")plt.plot(X, stats.t.pdf(X, 8), label="n=8")plt.title("t分布")plt.legend()plt.show()
参考文献

高数篇(一)-- Gamma 函数 VS Beta 函数

极坐标与直角坐标二重积分转换

F分布概率密度函数的推导

python绘制正态分布及三大抽样分布的概率密度图像

相关文章:

一些常见分布-正态分布、对数正态分布、伽马分布、卡方分布、t分布、F分布等

目录 正态分布 对数正态分布 伽马分布 伽马函数 贝塔函数 伽马分布 卡方分布 F分布 t分布 附录 参考文献 本文主要介绍一些常见的分布&#xff0c;包括正态分布、对数正态分布、伽马分布、卡方分布、F分布、t分布。给出了分布的定义&#xff0c;推导了概率密度函数&…...

科技云报道:押注向量数据库,为时过早?

科技云报道原创。 在大模型的高调火热之下&#xff0c;向量数据库也获得了前所未有的关注。 近两个月内&#xff0c;向量数据库迎来融资潮&#xff0c;Qdrant、Chroma、Weaviate先后获得融资&#xff0c;Pinecone宣布1亿美元B轮融资&#xff0c;估值达到7.5亿美元。 东北证券…...

铭控传感亮相2023国际物联网展,聚焦“多场景物联感知方案”应用

金秋九月&#xff0c;聚焦IoT基石技术&#xff0c;荟萃最全物联感知企业&#xff0c;齐聚IOTE 2023第20届国际物联网展深圳站。铭控传感携智慧楼宇&#xff0c;数字工厂&#xff0c;智慧消防&#xff0c;智慧泵房等多场景物联感知方案及多品类无线传感器闪亮登场&#xff0c;现…...

前端demo: 实现对图片进行上传前的压缩功能

前端可以使用canvas和File API来对图片进行压缩和缩放处理&#xff0c;以下是一个示例代码 : 压缩方法compressImg这段代码是实现对图片进行上传前的压缩功能 1. 定义了一个压缩图片的函数 compressImg&#xff0c;接受两个参数&#xff1a;file表示要压缩的文件&#xff0c;q…...

计算机网络(文章链接汇总)

参考引用 计算机网络微课堂-湖科大教书匠计算机网络&#xff08;第7版&#xff09;-谢希仁 计算机网络&#xff08;一&#xff09;&#xff1a;概述计算机网络&#xff08;二&#xff09;&#xff1a;物理层计算机网络&#xff08;三&#xff09;&#xff1a;数据链路层计算机网…...

黑科技-Android

1热更新&#xff08;热修复&#xff09;&#xff1a;apk不用发版&#xff0c;就能修复bug 原理&#xff1a;我们修复好了bug的时候&#xff0c;把那些有改动的java源码编译成class&#xff0c;再打包成dex&#xff0c;然后通过反射技术放到dexElements数组的最前面&#xff0c;…...

450. 删除二叉搜索树中的节点

给定一个二叉搜索树的根节点 root 和一个值 key&#xff0c;删除二叉搜索树中的 key 对应的节点&#xff0c;并保证二叉搜索树的性质不变。返回二叉搜索树&#xff08;有可能被更新&#xff09;的根节点的引用。 一般来说&#xff0c;删除节点可分为两个步骤&#xff1a; 首先…...

python安全工具开发基础

文章目录 拷贝、with、is深拷贝、浅拷贝with 三器一闭迭代器生成器闭包装饰器 动态绑定垃圾回收网络编程UdpTcp 协程mysql预处理防止注入 redis未授权/弱密码 拷贝、with 、is a [11, 22, 33] b [11, 22, 33] ca print(id(a)) print(id(b)) print(id(c))print(a b) print(…...

26 docker前后端部署

[参考博客]((257条消息) DockerNginx部署前后端分离项目(SpringBootVue)的详细教程_在docker中安装nginx实现前后端分离_这里是杨杨吖的博客-CSDN博客) (DockerNginx部署前后端分离项目(SpringBootVue)) 安装docker # 1、yum 包更新到最新 yum update # 2、安装需要的软件包…...

[linux] SFTP文件传输基本命令 --- xshell 直接上传文件

2.sftp - 上传文件&#xff1a;如果上传/下载的是文件夹, 在put/get命令后加上-r参数即可。 上传文件&#xff1a; 把本地服务器的/www/wwwroot目录下面的study.log文件上传到远程服务器的/www/server目录下。 sftp> lcd /www/wwwroot sftp> put study.log /www/server…...

Tomcat 多实例

一、Tomcat 多实例 1、概念&#xff1a; Tomcat 多实例是指在同一台服务器上运行多个独立的 Tomcat 服务器实例。它们可以同时运行在同一台物理服务器或虚拟服务器上&#xff0c;但它们彼此之间是相互独立的&#xff0c;有各自的配置、应用程序和资源。 2、配置&#xff1a;…...

全民拼购模式:电商的新趋势和机遇

全民拼购模式是一种基于社交电商的新型模式&#xff0c;它通过拼团、拼购等方式&#xff0c;让消费者享受更优惠的价格和更便捷的购物体验。这种模式的出现&#xff0c;不仅为电商平台注入了新的活力&#xff0c;也成为了消费者追求高性价比商品的新选择。 全民拼购模式有以下…...

免费使用,媲美Midjourney!微软在Bing Chat等提供—DALL-E 3

微软在官网宣布&#xff0c;将OpenAI最新模型DALL-E 3集成在Bing Chat和Bing Image Create中&#xff0c;并免费提供给用户使用。 据悉&#xff0c;DALL-E 3是一款类Midjourney产品&#xff0c;通过文本就能生成二次元、3D、朋克、涂鸦、素描、黑白、极简、印象派、位面像素等…...

Nacos中AP和CP 切换

CAP理论 这个定理的内容是指的是在一个分布式系统中、Consistency&#xff08;一致性&#xff09;、 Availability&#xff08;可用性&#xff09;、Partition tolerance&#xff08;分区容错性&#xff09;&#xff0c;三者不可得兼。 一致性(C)&#xff1a;在分布式系统中&a…...

服务器中勒索病毒怎么解决?勒索病毒解密,数据恢复

服务器中勒索病毒是一件低频、高概率的事情。而且一旦用户的服务器中招以后&#xff0c;想要处理无论是经济成本还是时间成本都非常的高。也会对企业的生产经营造成很大的影响。所以绝大多数企业主都很关心服务器中勒索病毒后怎么解决。针对这个问题&#xff0c;云天数据恢复中…...

全面解析UDP协议(特点、报文格式、UDP和TCP的区别)

了解UDP&#xff08;User Datagram Protocol&#xff09; UDP是无连接通信协议&#xff0c;即在数据传输时&#xff0c;数据的发送端和接收端不建立逻辑连接。简单来说&#xff0c;当一台计算机向另外一台计算机发送数据时&#xff0c;发送端不会确认接收端是否存在&#xff0…...

iPhone15手机拓展坞方案,支持手机快充+传输数据功能

手机拓展坞的组合有何意义&#xff1f;首先是数据存储场景&#xff0c;借助拓展坞扩展出的接口&#xff0c;可以连接U盘、移动硬盘等采用USB接口的设备&#xff0c;实现大文件的快速存储或者流转&#xff1b;其次是图片、视频的读取场景&#xff0c;想要读取相机、无人机SD/TF存…...

优化理论笔记

目录 一、前言 二、优化问题的基本要素 三、优化问题分类 四、最优值类型 五、最优化方法分类 六、非约束优化 1、问题定义 2、优化算法 1&#xff09;一般局部搜索过程 2&#xff09;集束搜索 3&#xff09;禁忌搜索 4&#xff09;模拟退火 5&#xff09;蛙跳算法…...

FastAPI学习-23.异常处理器 exception_handler

前言 通常我们可以通过 raise 抛出一个 HTTPException 异常&#xff0c;请求参数不合法会抛出RequestValidationError 异常&#xff0c;这是最常见的2种异常。 HTTPException 异常 向客户端返回 HTTP 错误响应&#xff0c;可以使用 raise 触发 HTTPException。 from fastap…...

国庆出游远程实测:ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性

ToDesk 、TeamViewer、AnyDesk远程控制软件稳定性 【前言】【实测软件】【测试环境】【实操体验】1. 软件安装2. 登录速度3. 文件传输4. 操作延迟5. 画面清晰度6. 安全防护 【本文小结】 【前言】 随着科技的不断发展&#xff0c;远程控制软件已成为我们生活中不可或缺的一部分…...

Facebook 惊现网络钓鱼浪潮,每周攻击 10 万个账户

日前&#xff0c;据Bleeping Computer网站披露&#xff0c;某黑客组织通过一个伪造和受损的 Facebook账户网络&#xff0c;发送钓鱼信息&#xff0c;利用密码窃取恶意软件攻击 Facebook企业账户。尽管该攻击链并不“新奇”&#xff0c;但此次网络攻击的活动规模却十分庞大&…...

高通camx开源部分简介

camera整体框架 ISP Pipeline diagram Simple Model Camx and chi_cdk 整体框架 CtsVerifier, Camra Formats Topology of Camera Formats. Topology (USECASE: UsecaseVideo) Nodes List Links between nodes Pipeline PreviewVideo Buffer manager Create Destro…...

Springboot 框架中加解密字段后存储数据库

为防止数据库泄露&#xff0c;表里的敏感字段被曝光&#xff0c;需要对用户的重要数据做加密存取。 选择加密算法&#xff1a; 首先&#xff0c;你需要选择适合你的需求的加密算法。一些常见的加密算法包括AES、RSA、SHA等。具体的选择取决于你要加密的数据和安全需求。 引入…...

计算机毕设 大数据工作岗位数据分析与可视化 - python flask

文章目录 0 前言1 课题背景2 实现效果3 项目实现3.1 概括 3.2 Flask实现3.3 HTML页面交互及Jinja2 4 **完整代码**5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要…...

Maven聚合项目配合Springcloud案例

创建maven项目 导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache…...

目标检测网络系列——YOLO V1

文章目录 One Stage DectectionYOLO网络正向预测pipline反向传播过程理解grid和grid对应的B个预测框YOLO网络的限制对比实验与其他的real-time detection的对比VOC 2007数据集的错误分析YOLO和Fast RCNN的集成学习VOC 2012数据集结果YOLO模型的泛化性DEMOOne Stage Dectection …...

任务工单发送失败重试方案设计

需求背景&#xff1a; 该系统为一个工单系统&#xff0c;其中任务工单为该系统中的一个模块&#xff1b;任务工单它是需要周期性调度的一种任务类型&#xff1b;可以按照用户配置的时间周期定时性触发的。由于任务需要发送到对应的工作人员上&#xff0c;所以这里需要先对员工进…...

关于 Vue-iClient-MapboxGL 的使用注意事项

官网&#xff1a;https://iclient.supermap.io/web/apis/vue/zh/api/guide/installation.html 关于图的使用&#xff0c;其余的引入步骤不再赘述&#xff0c;仅说注意事项。 推荐使用的是全局引入&#xff0c;也就是完整引入 因为单独引入我踩了不少坑&#xff0c;比如说 cs…...

Go 语言 map 如何顺序读取?

Go 语言中的 map 是一种非常强大的数据结构&#xff0c;它允许我们快速地存储和检索键值对。 然而&#xff0c;当我们遍历 map 时&#xff0c;会有一个有趣的现象&#xff0c;那就是输出的键值对顺序是不确定的。 现象 先看一段代码示例&#xff1a; package mainimport &q…...

flutter StreamSubscription 订阅者 stream

当您使用[Stream.listen]收听[Stream]时 则返回[StreamSubscription]对象 List<StreamSubscription?> subscriptions []; overridevoid initState() {super.initState();//subscriptions列表添加两个StreamSubscription。Stream.listen返回StreamSubscription对象subs…...

上海网站建设百度推广公司/seo推广优化的方法

什么是索引?索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有: B树&#xff0c; B树和Hash。索引的作用就相当于目录的作用。打个比方: 我们在查字典的时候&#xff0c;如果没有目录&#xff0c;那我们就只能一页一页的去找我们需要查的那个字&#xff0c;速度很…...

深圳龙华汽车网站建设/太原全网推广

PHP 循环 - For 循环循环执行代码块指定的次数&#xff0c;或者当指定的条件为真时循环执行代码块。for 循环for 循环用于您预先知道脚本需要运行的次数的情况。语法for (初始值; 条件; 增量){ 要执行的代码;}参数&#xff1a;初始值&#xff1a;主要是初始化一个变量值&#x…...

汇办公app安卓版本/江北seo综合优化外包

随着“互联网”农产品出村进城、电子商务进农村综合示范、电商扶贫、数字乡村建设等工作深入推进&#xff0c;我国县域电商继续保持高速发展态势&#xff0c;县域网络零售市场规模和农产品上行规模不断扩大&#xff0c;县域消费市场潜力进一步释放。欧特欧监测数据显示&#xf…...

免费的模板网站/北京网站推广服务

1、 查询Student表中的所有记录的Sname、Ssex和Class列。 2、 查询教师所有的单位即不重复的Depart列。 3、 查询Student表的所有记录 。 4、 查询Score表中成绩在60到80之间的所有记录。 5、 查询Score表中成绩为85&#xff0c;86或88的记录。 6、 查询Student表中“95031”班…...

网站维护页面源码/百度竞价推广的技巧

tomcat的安全策略文件 Catalina.policy 当tomcat 运行未知的web应用时&#xff0c;为了防止java代码对服务器系统产生安全影响。比如删除系统文件&#xff0c;重启系统等。需要对java 代码进行安全控制。这时候就要配置这个文件。更加详细资料可以自行学习java 安全管理器 Secu…...

景德镇做网站公司/服务器租用

概述&#xff1a; 1&#xff09;媒体捕获设备包括摄像机和麦克风&#xff0c;还包括屏幕捕获“设备”。对于相机和麦克风&#xff0c;我们使用navigator.mediaDevices.getUserMedia()捕获MediaStreams 。对于屏幕录制&#xff0c;我们改用navigator.mediaDevices.getDisplayMe…...