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

宜宾市规划建设局网站关于网站建设请示

宜宾市规划建设局网站,关于网站建设请示,wordpress如何配置前端用户中心,集团门户网站建设文章目录 一、实验介绍1. 算法流程2. 算法解释3. 算法特点4. 应用场景5. 注意事项 二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. 全局调试变量2. 调试函数3. 高斯密度函数#xff08;phi#xff09;4. E步#xff08;getExpectation#xff09… 文章目录 一、实验介绍1. 算法流程2. 算法解释3. 算法特点4. 应用场景5. 注意事项 二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. 全局调试变量2. 调试函数3. 高斯密度函数phi4. E步getExpectation5. M步maximize6. 数据缩放函数7. 初始化参数8. GMM EM算法函数9. 主函数 四、代码整合 高斯混合聚类是一种基于概率模型的聚类方法采用多个高斯分布的线性组合来表示数据的聚类结构。通过对每个样本的多个高斯分布进行加权组合该算法能够更灵活地适应不同形状的聚类。 一、实验介绍 1. 算法流程 初始化   初始化高斯混合分布的模型参数包括每个高斯混合成分的均值向量 μ i \mu_i μi​、协方差矩阵 Σ i \Sigma_i Σi​ 和混合系数 π i \pi_i πi​。 { ( μ 1 , Σ 1 , π 1 ) , ( μ 2 , Σ 2 , π 2 ) , . . . , ( μ k , Σ k , π k ) } \{(\mu_1, \Sigma_1, \pi_1), (\mu_2, \Sigma_2, \pi_2), ..., (\mu_k, \Sigma_k, \pi_k)\} {(μ1​,Σ1​,π1​),(μ2​,Σ2​,π2​),...,(μk​,Σk​,πk​)} 迭代过程EM算法 Expectation (E) 步骤 对于每个样本 X j X_j Xj​ 计算其由各混合成分生成的后验概率 γ i j \gamma_{ij} γij​表示样本属于第 i i i 个混合成分的概率。 γ i j π i ⋅ N ( X j ∣ μ i , Σ i ) ∑ l 1 k π l ⋅ N ( X j ∣ μ l , Σ l ) \gamma_{ij} \frac{\pi_i \cdot \mathcal{N}(X_j | \mu_i, \Sigma_i)}{\sum_{l1}^{k} \pi_l \cdot \mathcal{N}(X_j | \mu_l, \Sigma_l)} γij​∑l1k​πl​⋅N(Xj​∣μl​,Σl​)πi​⋅N(Xj​∣μi​,Σi​)​ Maximization (M) 步骤 更新模型参数 新均值向量 μ i \mu_i μi​ 的更新 μ i ∑ j 1 m γ i j X j ∑ j 1 m γ i j \mu_i \frac{\sum_{j1}^{m} \gamma_{ij} X_j}{\sum_{j1}^{m} \gamma_{ij}} μi​∑j1m​γij​∑j1m​γij​Xj​​新协方差矩阵 Σ i \Sigma_i Σi​ 的更新 Σ i ∑ j 1 m γ i j ( X j − μ i ) ( X j − μ i ) T ∑ j 1 m γ i j \Sigma_i \frac{\sum_{j1}^{m} \gamma_{ij} (X_j - \mu_i)(X_j - \mu_i)^T}{\sum_{j1}^{m} \gamma_{ij}} Σi​∑j1m​γij​∑j1m​γij​(Xj​−μi​)(Xj​−μi​)T​新混合系数 π i \pi_i πi​ 的更新 π i 1 m ∑ j 1 m γ i j \pi_i \frac{1}{m} \sum_{j1}^{m} \gamma_{ij} πi​m1​∑j1m​γij​ 停止条件   根据设定的停止条件比如达到最大迭代轮数或模型参数的变化小于某一阈值。 簇划分   根据得到的后验概率 γ i j \gamma_{ij} γij​ 确定每个样本的簇标记将样本划入概率最大的簇中。 C i { X j ∣ argmax i γ i j , 1 ≤ i ≤ k } C_i \{X_j | \text{argmax}_i \gamma_{ij}, 1 \leq i \leq k\} Ci​{Xj​∣argmaxi​γij​,1≤i≤k} 输出   返回最终的簇划分 C { C 1 , C 2 , . . . , C k } C \{C_1, C_2, ..., C_k\} C{C1​,C2​,...,Ck​}。 高斯混合聚类采用了迭代优化的方式通过不断更新均值向量、协方差矩阵和混合系数使得模型对数据的拟合更好。EM算法的E步骤计算后验概率M步骤更新模型参数整个过程不断迭代直至满足停止条件。最后将每个样本划分到概率最大的簇中。 2. 算法解释 通过EM算法的E步骤计算每个样本属于每个混合成分的后验概率。通过EM算法的M步骤更新每个混合成分的均值向量、协方差矩阵和混合系数优化模型对数据的拟合。算法通过迭代过程不断调整模型参数使得混合分布更好地刻画数据的分布。 3. 算法特点 通过多个高斯分布的组合适用于不同形状的聚类结构。采用EM算法进行迭代优化灵活适应数据的复杂分布。 4. 应用场景 适用于数据具有多个分布的情况且每个分布可以用高斯分布来描述。在图像分割、语音识别等领域广泛应用。 5. 注意事项 初始参数的选择可能影响最终聚类效果因此需要进行多次运行选择最优结果。算法对异常值不敏感但在特定场景下可能需要考虑异常值的处理。 二、实验环境 1. 配置虚拟环境 conda create -n ML python3.9conda activate MLconda install scikit-learn matplotlib2. 库版本介绍 软件包本实验版本matplotlib3.5.2numpy1.21.5python3.9.13scikit-learn1.0.2 三、实验内容 0. 导入必要的库 import numpy as np import matplotlib.pyplot as plt from scipy.stats import multivariate_normal from sklearn.datasets import load_iris1. 全局调试变量 DEBUG True该变量控制是否在执行过程中打印调试信息。 2. 调试函数 def debug(*args, **kwargs):global DEBUGif DEBUG:print(*args, **kwargs)用于打印调试信息的函数。在整个代码中都使用了它以进行调试。 3. 高斯密度函数phi def phi(Y, mu_k, cov_k):# Check for and handle infinite or NaN values in Ynorm multivariate_normal(meanmu_k, covcov_k)return norm.pdf(Y)计算多元高斯分布的概率密度函数。 4. E步getExpectation def getExpectation(Y, mu, cov, alpha):N Y.shape[0]K alpha.shape[0]assert N 1, There must be more than one sample!assert K 1, There must be more than one gaussian model!gamma np.mat(np.zeros((N, K)))prob np.zeros((N, K))for k in range(K):prob[:, k] phi(Y, mu[k], cov[k]) * alpha[k]prob np.mat(prob)for k in range(K):gamma[:, k] prob[:, k] / np.sum(prob, axis1)return gammaEM算法的E步骤计算每个数据点属于每个簇的概率。主要步骤包括 初始化一个零矩阵 gamma 用于存储响应度。对于每个簇计算每个数据点属于该簇的概率通过 phi 函数计算然后乘以该簇的混合系数。归一化概率以得到响应度矩阵 gamma。 5. M步maximize def maximize(Y, gamma):N, D Y.shapeK gamma.shape[1]mu np.zeros((K, D))cov []alpha np.zeros(K)for k in range(K):Nk np.sum(gamma[:, k])mu[k, :] np.sum(np.multiply(Y, gamma[:, k]), axis0) / Nkdiff Y - mu[k]cov_k np.dot(diff.T, np.multiply(diff, gamma[:, k])) / Nkcov_k 1e-6 * np.identity(D) # Adding a small value to the diagonal for stabilitycov.append(cov_k)alpha[k] Nk / Ncov np.array(cov)return mu, cov, alpha EM算法的M步骤即更新模型参数主要步骤包括 初始化均值 mu、协方差矩阵列表 cov 和混合系数 alpha。对于每个簇计算新的均值、协方差矩阵和混合系数。均值的更新是通过加权平均计算的协方差矩阵的更新考虑了数据的权重响应度混合系数的更新是每个簇中数据点的权重之和。 6. 数据缩放函数 def scale_data(Y):for i in range(Y.shape[1]):max_ Y[:, i].max()min_ Y[:, i].min()Y[:, i] (Y[:, i] - min_) / (max_ - min_)debug(Data scaled.)return Y将数据集中的每个特征缩放到 [0, 1] 范围内。 7. 初始化参数 def init_params(shape, K):N, D shapemu np.random.rand(K, D)cov np.array([np.eye(D)] * K)alpha np.array([1.0 / K] * K)debug(Parameters initialized.)debug(mu:, mu, cov:, cov, alpha:, alpha, sep\n)return mu, cov, alpha 初始化GMM的参数均值、协方差和混合系数。 8. GMM EM算法函数 def GMM_EM(Y, K, times):Y scale_data(Y)mu, cov, alpha init_params(Y.shape, K)for i in range(times):gamma getExpectation(Y, mu, cov, alpha)mu, cov, alpha maximize(Y, gamma)debug({sep} Result {sep}.format(sep- * 20))debug(mu:, mu, cov:, cov, alpha:, alpha, sep\n)return mu, cov, alpha 9. 主函数 if __name__ __main__:# Load Iris datasetiris load_iris()Y iris.data# Model parametersK 3 # number of clustersiterations 100# Run GMM EM algorithmmu, cov, alpha GMM_EM(Y, K, iterations)# Clustering based on the trained modelN Y.shape[0]gamma getExpectation(Y, mu, cov, alpha)category gamma.argmax(axis1).flatten().tolist()[0]# Plotting the resultsfor i in range(K):cluster_data np.array([Y[j] for j in range(N) if category[j] i])plt.scatter(cluster_data[:, 0], cluster_data[:, 1], labelfCluster {i 1})plt.legend()plt.title(GMM Clustering By EM Algorithm)plt.xlabel(Feature 1)plt.ylabel(Feature 2)plt.show() 四、代码整合 import numpy as np import matplotlib.pyplot as plt from scipy.stats import multivariate_normal from sklearn.datasets import load_irisDEBUG Truedef debug(*args, **kwargs):global DEBUGif DEBUG:print(*args, **kwargs)def phi(Y, mu_k, cov_k):# Check for and handle infinite or NaN values in Ynorm multivariate_normal(meanmu_k, covcov_k)return norm.pdf(Y)def getExpectation(Y, mu, cov, alpha):N Y.shape[0]K alpha.shape[0]assert N 1, There must be more than one sample!assert K 1, There must be more than one gaussian model!gamma np.mat(np.zeros((N, K)))prob np.zeros((N, K))for k in range(K):prob[:, k] phi(Y, mu[k], cov[k]) * alpha[k]prob np.mat(prob)for k in range(K):gamma[:, k] prob[:, k] / np.sum(prob, axis1)return gammadef maximize(Y, gamma):N, D Y.shapeK gamma.shape[1]mu np.zeros((K, D))cov []alpha np.zeros(K)for k in range(K):Nk np.sum(gamma[:, k])mu[k, :] np.sum(np.multiply(Y, gamma[:, k]), axis0) / Nkdiff Y - mu[k]cov_k np.dot(diff.T, np.multiply(diff, gamma[:, k])) / Nkcov_k 1e-6 * np.identity(D) # Adding a small value to the diagonal for stabilitycov.append(cov_k)alpha[k] Nk / Ncov np.array(cov)return mu, cov, alphadef scale_data(Y):for i in range(Y.shape[1]):max_ Y[:, i].max()min_ Y[:, i].min()Y[:, i] (Y[:, i] - min_) / (max_ - min_)debug(Data scaled.)return Ydef init_params(shape, K):N, D shapemu np.random.rand(K, D)cov np.array([np.eye(D)] * K)alpha np.array([1.0 / K] * K)debug(Parameters initialized.)debug(mu:, mu, cov:, cov, alpha:, alpha, sep\n)return mu, cov, alphadef GMM_EM(Y, K, times):Y scale_data(Y)mu, cov, alpha init_params(Y.shape, K)for i in range(times):gamma getExpectation(Y, mu, cov, alpha)mu, cov, alpha maximize(Y, gamma)debug({sep} Result {sep}.format(sep- * 20))debug(mu:, mu, cov:, cov, alpha:, alpha, sep\n)return mu, cov, alphaif __name__ __main__:# Load Iris datasetiris load_iris()Y iris.data# Model parametersK 3 # number of clustersiterations 100# Run GMM EM algorithmmu, cov, alpha GMM_EM(Y, K, iterations)# Clustering based on the trained modelN Y.shape[0]gamma getExpectation(Y, mu, cov, alpha)category gamma.argmax(axis1).flatten().tolist()[0]# Plotting the resultsfor i in range(K):cluster_data np.array([Y[j] for j in range(N) if category[j] i])plt.scatter(cluster_data[:, 0], cluster_data[:, 1], labelfCluster {i 1})plt.legend()plt.title(GMM Clustering By EM Algorithm)plt.xlabel(Feature 1)plt.ylabel(Feature 2)plt.show()
http://www.hkea.cn/news/14456401/

相关文章:

  • 泉州seo网站推广太阳能灯网站建设
  • 网站快速备案被退回的几种原因分析wordpress在本地打开很慢
  • 引物在线设计网站wordpress网站被黑了
  • 互联网站产品开发的流程网站搭建响应式
  • 郑州网站建设最低价wordpress页脚如何修改
  • 网站未建设的情况说明app运营专员
  • js网站建设行业协会网站织梦模板
  • 北京优秀的网站建设公司中国域名注册
  • 自建的电子网站如何做推广妇科医院网站优化服务商
  • 住房和建设部执业资格注册中心网站网站美工如何做
  • dede程序数据库还原图文教程★适合dede网站迁移wordpress 超商取货
  • 网站开发费用计入什么二级科目思博企业管理咨询有限公司
  • 深圳设计功能网站建设企业网站需要什么呢
  • 做装修的应该去哪网站找客户wordpress 元素用处
  • 榆林免费做网站公司wordpress点击文章404
  • 肇庆企业网站关键词优化教程wordpress 网站标题设置方法
  • 大规模网站河间做网站的电话
  • 上海技术网站建设梅州网站制作
  • 阳江seo网站推广要修改wordpress目录下的文件权限
  • 产品摄影网站最好的销售管理系统
  • 做音乐网站要注意什么wordpress 获取所有子页面
  • 做通信毕业设计的网站wordpress 使用ip访问
  • 乌兰察布盟建设银行网站深圳专业返利网站建设
  • 网站建设维护招聘漳州正规网站建设哪家便宜
  • 长沙公司网站资源库网站开发
  • 芜湖建设路小学网站php怎么写购物网站商品显示页面
  • 贵阳网站设计网站开发有哪些
  • 网站建设存在的问题精品网站建设费用磐石网络名气
  • asp.net 怎样生成网站自己网上开店怎么做
  • 美度手表网站精华吧网页搜题