Python群体趋向性潜关联有向无向多图层算法

🎯要点

🎯算法模型图层节点和边数学定义 | 🎯算法应用于贝叶斯推理或最大似然优化概率建模的多图层生成模型 | 🎯算法结合图结构边和节点属性 | 🎯对比群体关联预测推理生成式期望最大化多图层算法 | 🎯使用合成多图层和现实世界多图层集测试算法 | 🎯算法可解释性潜力定性分析 | 🎯算法测试单图层结构

📜多图层用例

📜Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法

📜MATLAB和Python零模型社会生物生成式结构化图

🍪语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇Python期望最大化算法

在现实世界的机器学习应用中,通常有许多相关特征,但只有其中的一部分是可观察的。在处理有时可观察有时不可观察的变量时,确实可以利用该变量可见或可观察的实例来学习和预测不可观察的实例。这种方法通常称为处理缺失数据。通过使用变量可观察的可用实例,机器学习算法可以从观察到的数据中学习模式和关系。然后可以使用这些学习到的模式来预测变量缺失或不可观察的实例中的值。

期望最大化算法可用于处理变量部分可观测的情况。当某些变量可观测时,我们可以利用这些实例来学习和估计它们的值。然后,我们可以在不可观测的情况下预测这些变量的值。期望最大化算法适用于潜变量,即那些不能直接观察到但可以通过其他观察变量的值推断出来的变量。通过利用已知的控制这些潜变量的概率分布的一般形式,期望最大化算法可以预测它们的值。

期望最大化算法是机器学习领域中许多无监督聚类算法的基础。它提供了一个框架来查找统计模型的局部最大似然参数,并在数据缺失或不完整的情况下推断潜在变量。

期望最大化算法是一种迭代优化方法,它结合了不同的无监督机器学习算法,以寻找涉及未观察潜变量的统计模型中参数的最大似然或最大后验估计。EM 算法通常用于潜变量模型,可以处理缺失数据。它由期望步骤和最大化步骤组成,形成一个迭代过程来改善模型拟合度。

  • 在估计步骤中,算法计算潜在变量,即使用当前参数估计的对数似然期望。
  • 在最大化步骤中,算法确定使估计步骤中获得的期望对数似然最大化的参数,并根据估计的潜在变量更新相应的模型参数。
期望步骤
更新变量
最大化步骤
更新假设

通过反复重复这些步骤,此算法寻求最大化观测数据的似然性。它通常用于无监督学习任务,例如推断潜在变量的聚类,并可应用于机器学习、计算机视觉和自然语言处理等各个领域。

期望最大化算法中一些最常用的关键术语如下:

  • 潜在变量:潜在变量是统计模型中不可观察的变量,只能通过其对可观察变量的影响间接推断。它们无法直接测量,但可以通过其对可观察变量的影响来检测。
  • 可能性:是在给定模型参数的情况下观察给定数据的概率。在算法中,目标是找到使似然最大化的参数。
  • 对数似然:是似然函数的对数,衡量观测数据与模型之间的拟合优度。 算法寻求最大化对数似然。
  • 最大似然估计:最大似然估计是一种通过查找使似然函数最大化的参数值来估计统计模型参数的方法,似然函数衡量模型解释观测数据的程度。
  • 后验概率:在贝叶斯推理的背景下,此算法可以扩展以估计最大后验估计,其中参数的后验概率是基于先验分布和似然函数计算的。
  • 期望步骤:算法的期望步骤根据观测数据和当前参数估计计算潜在变量的期望值或后验概率。它涉及计算每个数据点的每个潜在变量的概率。
  • 最大化步骤:算法的最大化步骤通过最大化从期望步骤获得的预期对数似然来更新参数估计。它涉及找到优化似然函数的参数值,通常通过数值优化方法。
  • 收敛:收敛是指算法达到稳定解的情况。通常通过检查对数似然或参数估计的变化是否低于预定义阈值来确定。

期望最大化算法的本质是使用数据集中可用的观测数据来估计缺失的数据,然后使用该数据来更新参数的值。让我们详细了解一下此算法。

开始
初始值
期望步骤
最大化步骤
是否收敛
停止
  1. 最初,考虑一组参数的初始值。给系统一组不完整的观测数据,假设观测数据来自特定模型。
  2. 期望步骤:在此步骤中,我们使用观察到的数据来估计或猜测缺失或不完整数据的值。它主要用于更新变量。
  3. 最大化步骤:在这一步中,我们使用前面“期望”步骤中生成的完整数据来更新参数值。它基本上用于更新假设。
  4. 收敛:在此步骤中,检查值是否收敛,如果是,则停止,否则重复步骤 2 和步骤 3,即“期望”步骤和“最大化”步骤,直到收敛。

代码实现:

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

生成具有两个高斯分量的数据集

mu1, sigma1 = 2, 1
mu2, sigma2 = -1, 0.8
X1 = np.random.normal(mu1, sigma1, size=200)
X2 = np.random.normal(mu2, sigma2, size=600)
X = np.concatenate([X1, X2])sns.kdeplot(X)
plt.xlabel('X')
plt.ylabel('Density')
plt.title('Density Estimation of X')
plt.show()

初始化参数

mu1_hat, sigma1_hat = np.mean(X1), np.std(X1)
mu2_hat, sigma2_hat = np.mean(X2), np.std(X2)
pi1_hat, pi2_hat = len(X1) / len(X), len(X2) / len(X)

执行算法:

  • 迭代指定次数(本例中为 20)
  • 在每个时期,预期阶段通过评估每个组件的高斯概率密度并按相应的比例对其进行加权来计算责任(gamma 值)
  • 最大化步通过计算每个分量的加权平均值和标准差来更新参数
num_epochs = 20
log_likelihoods = []for epoch in range(num_epochs):gamma1 = pi1_hat * norm.pdf(X, mu1_hat, sigma1_hat)gamma2 = pi2_hat * norm.pdf(X, mu2_hat, sigma2_hat)total = gamma1 + gamma2gamma1 /= totalgamma2 /= totalmu1_hat = np.sum(gamma1 * X) / np.sum(gamma1)mu2_hat = np.sum(gamma2 * X) / np.sum(gamma2)sigma1_hat = np.sqrt(np.sum(gamma1 * (X - mu1_hat)**2) / np.sum(gamma1))sigma2_hat = np.sqrt(np.sum(gamma2 * (X - mu2_hat)**2) / np.sum(gamma2))pi1_hat = np.mean(gamma1)pi2_hat = np.mean(gamma2)log_likelihood = np.sum(np.log(pi1_hat * norm.pdf(X, mu1_hat, sigma1_hat)+ pi2_hat * norm.pdf(X, mu2_hat, sigma2_hat)))log_likelihoods.append(log_likelihood)plt.plot(range(1, num_epochs+1), log_likelihoods)
plt.xlabel('Epoch')
plt.ylabel('Log-Likelihood')
plt.title('Log-Likelihood vs. Epoch')
plt.show()

绘制最终估计密度

X_sorted = np.sort(X)
density_estimation = pi1_hat*norm.pdf(X_sorted,mu1_hat, sigma1_hat) + pi2_hat * norm.pdf(X_sorted,mu2_hat, sigma2_hat)plt.plot(X_sorted, gaussian_kde(X_sorted)(X_sorted), color='green', linewidth=2)
plt.plot(X_sorted, density_estimation, color='red', linewidth=2)
plt.xlabel('X')
plt.ylabel('Density')
plt.title('Density Estimation of X')
plt.legend(['Kernel Density Estimation','Mixture Density'])
plt.show()

此算法应用于:

  • 它可用于填充样本中缺失的数据。
  • 它可以作为集群无监督学习的基础。
  • 它可用于估计隐马尔可夫模型的参数。
  • 它可用于发现潜在变量的值。

👉参阅、更新:计算思维 | 亚图跨际

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

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

相关文章

【故障排除】Unity在编辑器模式下Play时闪退

一开始以为是偶然的情况,但逐渐发现了规律: 每次某个角色释放技能的时候就会闪退。 为了找到问题代码,找了一下存放运行Log的文件夹: 打开 Console 窗口(菜单:Window > General > Console&#xff…

[Jenkins]jenkins-cli.jar调用用户token启动任务

背景:项目入了一群od伙伴,但是od伙伴有单独的构建工程需要提交,由于jenkins的版本太拉闸,不能配置根据role和项目分权限,插件安装失败,不得已想到一个办法。让OD伙伴,在本地,用java&…

Mindspore框架循环神经网络RNN模型实现情感分类|(二)词向量

Mindspore框架循环神经网络RNN模型实现情感分类 Mindspore框架循环神经网络RNN模型实现情感分类|(一)IMDB影评数据集准备 Mindspore框架循环神经网络RNN模型实现情感分类|(二)预训练词向量 Mindspore框架循环神经网络RNN模型实现…

keil5中 FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED的问题

用破解软件激活一下cid: 再重新进入keil中,rebuild:

【C++】【继承】【子对象】【构造函数】含子对象的派生类的构造函数写法

(1)子对象的概念:若派生类A1的数据成员中包含基类A的对象a,则a为派生类A1的子对象 (2)含子对象的派生类的构造函数的执行顺序是: ①调用基类构造函数,对基类数据成员初始化 ②调用子…

最优雅的PHP框架—laravel

一、介绍 Laravel是一种流行的PHP框架,旨在帮助开发人员构建高质量的Web应用程序。它提供了许多开箱即用的功能和工具,使开发过程更加简单和快速。 以下是一些Laravel的主要特点和功能: 简洁优雅的语法:Laravel采用了简洁、优雅的语法,使得编写代码更加简单和易于理解。…

2025广州国际图文办公耗材展览会

2025广州国际图文办公耗材展览会 时间:2025年4月10-12日 地点:琶洲广州国际采购中心展览馆 主办单位:广州环之球会展服务有限公司 协办单位:广东省现代办公设备协会 广州市办公耗材行业协会 战略伙伴:广州市现代办公设备行业商会 科印传媒 【图文办公打印耗…

K8s-控制器

一 为什么使用控制器 pod控制器 作用:1.pod类型资源删除,不会重建 2.控制器可以帮助用户监控,并保证节点上运行定义好的pod副本数 3.pod超过或低于用户期望,控制器会创建、删除pod副本数量 控制器类型&am…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] LYA的马跳棋游戏(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

Ubuntu 22.04安装Visual Studio Code(VS Code)配置C++,Python

目录 1,下载 通过命令行安装 2,配置 2.1 vscode安装C/C 2.1.1 vscode安装运行环境 3,测试 vscode测试 4,配置python 选择解释器Python是一个解释性语言,现在需告知VSCode使用哪个解释器 ctrlshiftp 输入:Python: Select Interprete…

高效数据传输:STM32上的SPI通信优化策略

SPI(Serial Peripheral Interface)是一种常见的串行通信协议,广泛用于微控制器与外部设备之间的数据传输。STM32微控制器提供了灵活的SPI接口,支持全双工通信,可以同时发送和接收数据。优化SPI通信对于提高数据传输效率…

Mysql explain 优化解析

explain 解释 select_type 效率对比 MySQL 中 EXPLAIN 语句的 select_type 列描述了查询的类型,不同的 select_type 类型在效率上会有所差异。下面我们来比较一下各种 select_type 的效率: SIMPLE: 这是最简单的查询类型,表示查询不包含子查询或 UNION 操作。 这种查询通常是…

iOS ------ 关键字

关键字可以分为以下六类 修饰器类型:property、synthesize、dynamic原子安全类型: nonatomic、atomic计数引用类型: strong、weak、assign、copy、retain、unsafe_unretained读写类型:readonly,readwrite访问类型:extern、static、const局部…

Spring Boot集成Spire.doc实现对word的操作

1.什么是spire.doc? Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中。作为一款完全独立的组件,Spire.Doc for Java 的运行环境无需安装 Micro…

【stm32项目】基于stm32智能宠物喂养(完整工程资料源码)

基于STM32宠物喂养系统 前言: 随着人们生活幸福指数的提高,越来越多的家庭选择养宠物来为生活增添乐趣。然而,由于工作等原因,许多主人无法及时为宠物提供充足的食物与水。为了解决这一问题,我设计了一款便捷的宠物喂…

数据集,批量更新分类数值OR批量删除分类行数据

数据集批量更新分类OR删除分类行数据 import osdef remove_class_from_file(file_path, class_to_remove):"""从YOLO格式的标注文件中删除指定类别的行记录,并去除空行。:param file_path: YOLO标注文件路径:param class_to_remove: 需要删除的类别…

linux中的目录操作函数

参考 【Linux系统编程】Linux 文件系统探究:深入理解 struct dirent、DIR 和 struct stat结构 stat函数 C标准库提供了访问linux的目录的函数接口现对目录的操作。 一、libc接口 libc访问目录的流程为:打开目录,访问目录,关闭目…

uniapp 小程序 支付逻辑处理

uniapp 小程序 支付逻辑处理 上代码如果你不需要支付宝适配&#xff0c;可以删除掉支付宝的条件判断代码 <button class"subBtn" :disabled"submiting" click"goPay">去支付</button>// 以下代码你需要改的地方// 1. order/app/v1…

怎样实现大语言模型微调,庞氏骗局智能合约检查,BERT

目录 怎样实现大语言模型微调 一、了解微调的基本概念 二、选择合适的微调方法 三、实施微调的具体步骤 四、注意事项 庞氏骗局智能合约检查 一、使用的大模型 二、微调方法 1. 数据准备 2. 微调策略 3. 微调过程 三、输入和输出 输入 输出 四、注意事项 一、使…

【Linux】centos7安装php7.4

环境说明 本文档在服务器不能连接互联网的情况下&#xff0c;进行安装php7.4及其扩展。 操作系统&#xff1a;centos7.6 架构&#xff1a;X86_64 一、安装依赖&#xff08;可选&#xff09; 说明&#xff1a;服务器能联网就可以通过 yum install 命令下载对应php需要的依赖…