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)含子对象的派生类的构造函数的执行顺序是: ①调用基类构造函数,对基类数据成员初始化 ②调用子…

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…

Mysql explain 优化解析

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

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

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

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

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

【Linux】centos7安装php7.4

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

设计模式之策略模式_入门

前言 最近接触了优惠券相关的业务,如果是以前,我第一时间想到的就是if_else开始套,这样的话耦合度太高了,如果后期添加或者删除优惠券,必须直接修改业务代码,不符合开闭原则,这时候就可以选择我…

【TypeScript 一点点教程】

文章目录 一、开发环境搭建二、基本类型2.1 类型声明2.2 基本类型 三、编译3.1 tsc命令3.2 tsconfig.json3.2.1 基本配置项includeexcludeextendsfiles 3.2.2 compilerOptions编译器的配置项 四、面向对象4.1 类4.2 继承4.3 抽象类4.4 接口 一、开发环境搭建 下载Node.js《Nod…

usb pd message结构解析

usb pd 3.1规范定义了三种类型的消息: •简短的控制消息,用于管理端口伙伴之间的消息流或交换不需要额外数据的消息。控制消息的长度为16位。 •用于在一对端口伙伴之间交换信息的数据消息。数据报文的长度范围是48 ~ 240位。 有三种类型的数据消息: ▪那些用于暴露…

【区块链+绿色低碳】双碳数字化管控平台 | FISCO BCOS应用案例

地方政府、园区及企业实现“双碳”目标过程中存在一些挑战与难点: 1. 管理者难以掌握完整、准确、全面的碳排放数据进行科学决策:由于碳排放核算需要对数据的来源、核算方法 的规范性和采集方法的科学性有严格要求,当前面临碳排放数据数据采…

中国一汽发布“一汽●北斗云工作台” 意在推动企业数智化转型

“一汽●北斗云工作台”已经实现100%自主可控,覆盖企业全价值链、全体系、全过程、全岗位的工作需求。目前一汽2.3万个业务单元实现线上作业,产品开发效率提升30%,订单交付周期缩短25%以上。”7月17日,中国第一汽车集团有限公司&a…

electron 网页TodoList工具打包成win桌面应用exe

参考: electron安装(支持win、mac、linux桌面应用) https://blog.csdn.net/weixin_42357472/article/details/140643624 TodoList工具 https://blog.csdn.net/weixin_42357472/article/details/140618446 electron打包过程: 要将…

【吊打面试官系列-ZooKeeper面试题】Zookeeper 的典型应用场景

​大家好,我是锋哥。今天分享关于 【Zookeeper 的典型应用场景 】面试题,希望对大家有帮助; Zookeeper 的典型应用场景 Zookeeper 是一个典型的发布/订阅模式的分布式数据管理与协调框架,开发人员可以使用它来进行分布式数据的发布…

学习React(状态管理)

随着你的应用不断变大,更有意识的去关注应用状态如何组织,以及数据如何在组件之间流动会对你很有帮助。冗余或重复的状态往往是缺陷的根源。在本节中,你将学习如何组织好状态,如何保持状态更新逻辑的可维护性,以及如何…