【Python机器学习】NMF——模拟数据

news2024/11/28 22:47:07

与使用PCA不同,我们需要保证数据是正的,NMF能够对数据进行操作。这说明数据相对于原点(0,0)的位置实际上对NMF很重要。因此,可以将提取出来的非负向量看作是从(0,0)到数据的方向。

举例:NMF在二维玩具数据上的结果:

import mglearn.plots
import matplotlib.pyplot as plt

mglearn.plots.plot_nmf_illustration()
plt.show()

对于两个分量的NMF(左图),显然所有数据点都可以写成这两个分量的正数组合。如果有足够多的分量能够完美的重建数据(分量个数与特征个数相同),那么算法会选择指向数据极值的方向。

如果我们仅使用一个分量,那么NMF会创建一个指向平均值的分量,因为指向这里可以对数据做最好的解释。可以看到,与PCA不同,减少分量个数不仅会删除一些方向,而且会创建一组完全不同的分量。NMF的分量也没有按照任何特定方法排序,所以不存在“第一分量”,所有分量的地位平等。

NMF使用了随机初始化,根据随机种子的不同可能会产生不同的结果。在相对简单的情况下(比如两个分量的模拟数据),所有数据都可以被完美的解释,那么随机性的影响很小。在更加复杂的情况下,影响可能会很大。

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

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

相关文章

SSH反向代理

介绍 SSH反向代理是一种通过SSH协议实现的安全远程访问方式。在这种方式中,客户端通过SSH连接到一台具有公网IP的主机,然后这台主机再将请求转发给内部网络中的目标主机。这样做的好处是可以隐藏内部网络的细节,提高安全性,同时也…

Docker搭建可道云

Docker搭建可道云(存储) 文章目录 Docker搭建可道云(存储)介绍资源列表基础环境一、安装Docker二、配置Docker加速器三、搭建可道云私有云盘3.1、编写Dockerfile3.2、上传资源到指定目录3.3、查看目录下所有资源 四、构建镜像五、…

易于上手的requests

Python中的requests库主要用于发送HTTP请求并获取响应结果。在现代网络编程中,HTTP请求是构建客户端与服务器之间通信的基础。Python作为一种高级编程语言,其丰富的库支持使得它在网络数据处理领域尤为突出。其中,requests库以其简洁、易用的…

C# 绘图及古诗填字

绘图 绘图的结果如下: 绘图部分主要使用了 Bitmap、Graphics 具体的函数是 MakeMap 入参说明 string bg : 背景图 Rectangle rect :绘图区域 int row_count :行数 int col_count :列数 string fn :保存到的文件 …

HTML+CSS+JS 密码灯登录表单

效果演示 实现了一个登录页面,包括一个标题、两个输入框(用户名和密码)、一个登录按钮和一个眼睛图标。点击眼睛图标可以显示或隐藏密码。页面背景有两个圆形的半透明元素,整个页面使用了flex布局,并且在水平和垂直方向上都居中对齐。登录框使用了阴影效果和圆角边框,并且…

Django 表里做删除

先看效果图 点击 删除 按钮之后&#xff0c;就可以下面的效果 操作步骤&#xff1a; 1. 在 urls.py 文件里&#xff0c;添加路劲&#xff1a; urlpatterns [path(asset/<int:aid>/delete/, am_views.asset_delete),]2. 在 views.py 文件里&#xff0c;实现一个新的函…

【CS.AL】八大排序算法 —— 快速排序全揭秘:从基础到优化

文章目录 1. 快速排序简介1.1 定义1.2 时间复杂度1.3 相关资源 2. 最优的Partition算法 &#x1f525;2.1 Introsort简介2.2 过程示例 3. 非递归快速排序3.1 实现 4. 递归快速排序4.1 实现 5. 有问题的Partition5.1 实现 6. 三中位数主元选择6.1 实现 7. 总结 1. 快速排序简介 …

微信小程序基础工作模板

1.轮播图 点击跳转官方文档 简单例子 <!-- 顶部轮播图 --> <swiper indicator-dots"true" class"banner" autoplay"true" interval"2000"><swiper-item><image src"../../images/轮播图1.jpg" >…

Chrome跳转新的标签页自动打开控制台设置方法

Chrome跳转新的标签页自动打开控制台设置方法 文章目录 Chrome跳转新的标签页自动打开控制台设置方法1. 首先打开控制台2. 点击设置3. 选择Preferences -> Global -> 选中 Auto-open DevTools for popups4. 回到控制台勾选 preserve log保留日志![请添加图片描述](https:…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于状态分解的综合能源系统完全分布式调度算法》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Flask 学习笔记 总结

python基础 服务端开发编程 第一个是赋值运算&#xff0c;第二是乘法&#xff0c;最后是一个是幂&#xff08;即a2&#xff09; a 2 a * 2 a ** 2 Python支持多重赋值&#xff1a; a, b, c 2, 3, 4 这句命令相当于&#xff1a; a 2 b 3 c 4 Python支持对字符串的灵活…

R语言数据探索和分析23-公共物品问卷分析

第一次实验使用最基本的公共物品游戏&#xff0c;不外加其他的treatment。班里的学生4人一组&#xff0c;一共44/411组。一共玩20个回合的公共物品游戏。每回合给15秒做决定的时间。第十回合后&#xff0c;给大家放一个几分钟的“爱心”视频&#xff08;链接如下&#xff09;&a…

Java 习题集

&#x1f496; 单选题 &#x1f496; 填空题 &#x1f496; 判断题 &#x1f496; 程序阅读题 1. 读代码写结果 class A {int m 5;void zengA(int x){m m x;}int jianA(int y){return m - y;} }class B extends A {int m 3;int jianA(int z){return super.jianA(z) m;} …

论文降痕指南:如何有效降低AIGC率

随着 AI 技术迅猛发展&#xff0c;各种AI辅助论文写作的工具层出不穷&#xff01; 为了防止有人利用AI工具进行论文代写&#xff0c;在最新的学位法中已经明确规定“已经获得学位者&#xff0c;在获得该学位过程中如有人工智能代写等学术不端行为&#xff0c;经学位评定委员会…

社区物资交易互助平台的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;基础数据管理&#xff0c;论坛管理&#xff0c;公告信息管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#xff0c;求助留言板&#xff0c;公…

每日两题6

文章目录 删除并获得点数粉刷房子 删除并获得点数 分析 class Solution { public:int deleteAndEarn(vector<int>& nums) {const int N 10001;// 预处理int arr[N] {0};for (int& e : nums)arr[e] e;// 在 arr 上进行 打家劫舍 问题vector<int> f(N),…

折腾日记:如何在Mac上连接Esp32

个人博客地址 最近购买了一块Esp32单片机&#xff0c;在Mac环境上进行开发&#xff0c;并且成功点亮LED灯和连上屏幕&#xff0c;为什么会上手选择Esp32开发板&#xff0c;主要考虑它自带Wi-Fi和蓝牙&#xff0c;单价也不高&#xff0c;就算后面不玩了&#xff0c;也能转成物联…

计算机网络复习题

期末题库复习1 一. 单选题&#xff08;共32题&#xff0c;100分&#xff09; 1. (单选题) 在脉冲起始时刻&#xff0c;有无跳变来表示“0”和“1”&#xff0c;且在脉冲中间时刻始终发生跳变的编码是&#xff08; &#xff09;。 A.非归零码 B.曼彻斯特编码 C.归零码 D.差…

html--酷炫背景引导主页

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>ZZVIPS酷炫背景引导主页</title><meta name"viewport" content"widthdevice-width,initial-scale1,maximum-scale1,user-scala…

Ubuntu硬盘分区、挂载、修改用户权限

使用命令查看硬盘情况 sudo fdisk -l 可以看到这里有个未分区的4T硬盘 如&#xff1a;sdb 这样的是硬盘 sdb1 sdb2 这样的是分区&#xff0c;现在还没分区 分区 sudo parted /dev/sdb (sdb 是要挂载的硬盘) 输入一下命令分区&#xff1a; mklabel gpt (创建分区表) mkpart p…