微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多次运行的矩阵归一化,这段代码有什么作用?

如何解决多次运行的矩阵归一化,这段代码有什么作用?

我在一段时间内收集了几个 numpy 矩阵。我现在想可视化这些矩阵并探索它们之间的视觉相似性。矩阵包含从 0.0 到 1.0 的小数。

为了比较它们,我想确保相同的“区域”用相同的颜色着色,例如0.01 到 0.02 总是红色,0.02 到 0.03 总是绿色。我有两个问题:

我发现另一个 question 有这个代码片段:

a = np.random.normal(0.0,0.5,size=(5000,10))**2
a = a/np.sum(a,axis=1)[:,None]  # normalize

plt.pcolor(a)

第二行的作用是什么,正是 [:,None] 语句。我尝试通过以下方式对矩阵进行归一化:

max_a = a/10# normalize
print(max_a.shape)
plt.pcolor(max_a)

但与非归一化矩阵的可视化相比,没有太大的视觉差异。当我添加 [:,None] 语句时,出现错误

ValueError: too many values to unpack (expected 2)

这是预期的,因为形状现在是 10,1,10。因此,我想知道括号的作用以及如何阅读声明。

其次,也是相关的,我想确保我可以直观地比较矩阵。因此,我想修复“着色”,例如颜色为绿色或红色时的范围,这样我就不会在图 A 中以 0 到 0.1 为绿色,而在图 B 中以 0 到 0.1 为红色。如何修复从浮点数到颜色的“转换”?我是否必须使用相同的常数对每个矩阵进行归一化,例如10?或者我是否使用唯一值对它们进行规范化——我什至需要在这里规范化吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。