【转】高斯分布函数的乘积与代码实现
【转】高斯分布函数的乘积与代码实现
————————————————
版权声明:本文为CSDN博主「棕熊的肚皮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012836279/article/details/80036417
觉得有用的话,欢迎一起讨论相互学习~
- 注意,转载这篇文章的时候,根据已有的评论,需要注意的是,这说的是 两个高斯分布函数的乘积 ,而不是两个高斯分布的乘积,也不是两个满足高斯分布的数据乘积的分布。即讨论的仅仅是F1(X)*F2(Y)其中F1和F2都是两个高斯分布函数,而不是F(XY),这一点需要特别注意!
import matplotlib.pyplot as plt
from math import *
class Distribution:
def __init__(self,mu,sigma,x,values,start,end):
self.mu = mu
self.sigma = sigma
self.values = values
self.x = x
self.start = start
self.end =end
def normalize(self):
s = float(sum(self.values))
if s != 0.0:
self.values = [i/s for i in self.values]
def value(self, index):
index -= self.start
if index<0 or index >= len(self.values):
return 0.0
else:
return self.values[index]
@staticmethod
def gaussian(mu,sigma,cut = 5.0):
sigma2 = sigma*sigma
extent = int(ceil(cut*sigma))
values = []
x_lim=[]
for x in xrange(mu-extent,mu+extent+1):
x_lim.append(x)
values.append(exp((-0.5*(x-mu)*(x-mu))/sigma2))
p1=Distribution(mu,sigma,x_lim,values,mu-extent,mu-extent+len(values))
p1.normalize()
return p1
if __name__=='__main__':
p1 = Distribution.gaussian(100,10)
plt.plot(p1.x,p1.values,"b-",linewidth=3)
p2 = Distribution.gaussian(150,20)
plt.plot(p2.x,p2.values,"g-",linewidth=3)
start = min(p1.start,p2.start)
end = max(p1.end,p2.end)
mul_dist = []
x_lim = []
for index in range(start,end):
x_lim.append(index)
mul_dist.append(p1.value(index)*p2.value(index))
#normalize the distribution
s= float(sum(mul_dist))
if s!=0.0:
mul_dist=[i/s for i in mul_dist]
plt.plot(x_lim,mul_dist,"r-",linewidth=3)
plt.show()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2018-08-18 [DeeplearningAI笔记]卷积神经网络4.11一维和三维卷积
2018-08-18 [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移