Python体素化脑信息图混淆矩阵相似性指标评估

news2024/11/16 23:36:14

🎯要点

  1. 使用相似性度量等算法类别学习评估大脑神经相似性。
  2. 使用混淆矩阵分类器评估相似性,使用斯皮尔曼相关性关联相似度矩阵与混淆矩阵。
  3. 特征化体素选择,优化相似性度量矩阵,用分类器近似大脑状态信息。
  4. 将先验分布建模为二项分布,将更新后的分布建模为另一个二项分布,并计算库尔巴克-莱布勒散度
  5. 使用三种分类器:高斯朴素贝叶斯、k最近邻和线性支持向量机。
  6. 使用探照灯视觉检查脑图像欧几里得、马哈拉诺比斯和皮尔逊相关性的测量指标

🍪语言内容分比

在这里插入图片描述

在这里插入图片描述

🍇Python闵可夫斯基距离

闵可夫斯基距离或闵可夫斯基度量是赋范向量空间中的度量,可以看作是欧几里得距离和曼哈顿距离的推广。它以波兰数学家赫尔曼·闵可夫斯基的名字命名。两点之间 p p p 阶闵可夫斯基距离(其中 p p p 为整数)
X = ( x 1 , x 2 , … , x n )  和  Y = ( y 1 , y 2 , … , y n ) ∈ R n X=\left(x_1, x_2, \ldots, x_n\right) \text { 和 } Y=\left(y_1, y_2, \ldots, y_n\right) \in R ^n X=(x1,x2,,xn)  Y=(y1,y2,,yn)Rn
定义为:
D ( X , Y ) = ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 p ( 1 ) D(X, Y)=\left(\sum_{i=1}^n\left|x_i-y_i\right|^p\right)^{\frac{1}{p}}\qquad(1) D(X,Y)=(i=1nxiyip)p1(1)
对于 p ≥ 1 p \geq 1 p1,闵可夫斯基距离是根据闵可夫斯基不等式得出的度量。当 p < 1 p<1 p<1 时, ( 0 , 0 ) (0,0) (0,0) ( 1 , 1 ) (1,1) (1,1) 之间的距离为 2 1 / p > 2 2^{1 / p}>2 21/p>2,但点 ( 0 , 1 ) (0,1) (0,1) 与这两个点的距离均为 1。由于这违反了三角不等式,因此对于 p < 1 p<1 p<1,它不是度量。但是,只需删除 1 / p 1 / p 1/p 的指数即可获得这些值的度量。得到的度量也是 F 范数。

通常使用闵可夫斯基距离,其中 p p p 为 1 或 2 ,分别对应于曼哈顿距离和欧几里得距离。 在 p p p 趋向无穷大的极限情况下,我们得到切比雪夫距离:
lim ⁡ p → ∞ ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 p = max ⁡ i = 1 n ∣ x i − y i ∣ \lim _{p \rightarrow \infty}\left(\sum_{i=1}^n\left|x_i-y_i\right|^p\right)^{\frac{1}{p}}=\max _{i=1}^n\left|x_i-y_i\right| plim(i=1nxiyip)p1=i=1maxnxiyi
类似地,对于 p p p 达到负无穷大,我们有:
lim ⁡ p → − ∞ ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 p = min ⁡ i = 1 n ∣ x i − y i ∣ \lim _{p \rightarrow-\infty}\left(\sum_{i=1}^n\left|x_i-y_i\right|^p\right)^{\frac{1}{p}}=\min _{i=1}^n\left|x_i-y_i\right| plim(i=1nxiyip)p1=i=1minnxiyi
闵可夫斯基距离也可以看作是 P P P Q Q Q 之间各分量差异的幂均值的倍数。

Python和C++/C#/Java计算闵可夫斯基距离

给定两个数组 A[] 和 B[] 作为 n 维空间中两个点的位置向量以及一个整数 p,任务是计算这两点之间的闵可夫斯基距离。根据上式(1),假设,输入A[] = {1,2,3,4}, B[] = {5,6,7,8}, P = 3 输出是 6.340,输入A = {1,2,3,4}, B[] = {5,6,7,8} P = 2 ,输出是8。

import math

def minkowski(A, B, P):
	X = 0.0
	for i in range(len(A)):
		X += abs(A[i] - B[i]) ** P
	
	Z = 1.0 / P
	return X ** Z

if __name__ == "__main__":
	A = [1, 2, 3, 4]
	B = [5, 6, 7, 8]
	P = 2.0

	print(minkowski(A, B, P))

C++计算闵可夫斯基距离

#include <bits/stdc++.h>
using namespace std;

double minkowski(const vector<double>& A,
				const vector<double>& B, double P)
{

	double X = 0.0;
	for (size_t i = 0; i < A.size(); ++i) {
		X += pow(abs(A[i] - B[i]), P);
	}
	
	double Z = 1.0 / P;
	return pow(X, Z);
}

int main()
{

	vector<double> A = { 1, 2, 3, 4 };
	vector<double> B = { 5, 6, 7, 8 };
	double P = 2.0;

	cout << minkowski(A, B, P) << endl;
	return 0;
}

C#计算闵可夫斯基距离

using System;
using System.Collections.Generic;

public class Program
{
	static double Minkowski(List<double> A, List<double> B, double P)
	{
		double X = 0.0;
		for (int i = 0; i < A.Count; ++i)
		{
			X += Math.Pow(Math.Abs(A[i] - B[i]), P);
		}
		double Z = 1.0 / P;
		return Math.Pow(X, Z);
	}

	public static void Main()
	{
		List<double> A = new List<double> { 1, 2, 3, 4 };
		List<double> B = new List<double> { 5, 6, 7, 8 };
		double P = 2.0;
		Console.WriteLine(Minkowski(A, B, P));
	}
}

Java计算闵可夫斯基距离

import java.util.ArrayList;
import java.util.List;

public class MinkowskiDistance {

	private static double
	minkowski(List<Double> A, List<Double> B, double P)
	{
		double X = 0.0;
		for (int i = 0; i < A.size(); ++i) {
			X += Math.pow(Math.abs(A.get(i) - B.get(i)), P);
		}
		double Z = 1.0 / P;
		return Math.pow(X, Z);
	}

	public static void main(String[] args)
	{
		List<Double> A = List.of(1.0, 2.0, 3.0, 4.0);
		List<Double> B = List.of(5.0, 6.0, 7.0, 8.0);
		double P = 2.0;
		System.out.println(minkowski(A, B, P));
	}
}

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

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

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

相关文章

FastAPI前置知识及快速入门

FastAPI fastapi&#xff0c;一个用于构建 API 的现代、快速&#xff08;高性能&#xff09;的web框架。 fastapi是建立在Starlette和Pydantic基础上的&#xff0c;Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工具包…

MyBatis——Plus——入门

常用注解 MyBatis——Plus怎么知道他是访问哪张表 常用配置

Codeforces Round 975 (Div. 2)

传送门&#xff1a;https://codeforces.com/contest/2019 B. All Pairs Segments 题意&#xff1a; 首先样例解释一下&#xff1a; 一共有&#xff1a;[1,2],[1,3],[1,5],[1,6],[1,7],[2,3],[2,5],[2,6],[2,7],[3,5],[3,6],[3,7],[5,6],[5,7],[6,7] 点 1&#xff0c;7 在5个…

Android SQLite的基本使用、生成Excel文件保存到本地

1. Android SQLite的基本使用 1.1. SQLiteOpenHelper Android 底层已经通过一个SQLiteOpenHelper的抽象类将数据库的创建&#xff0c;以及修改&#xff0c;更新等都放在了里面。 要使用它必须实现它的OnCreate(SQLiteDatabase db)&#xff0c;onUpgrade(SQLiteDatabase db, int…

一些硬件知识(二十五)

cadence设置led颜色&#xff1a; 切换到Current propeties才会有颜色选选项&#xff0c;点击红色就可以选择其他的颜色&#xff1a; 手机字库是维修人员对FLASH MEMORY的俗称&#xff0c;其真实名字是闪速存储器&#xff0c;简称闪存&#xff0c;相当于手机的“硬盘”&#xff…

【Linux网络】详解TCP协议(3)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux网络 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 TCP的流量控制和滑动窗口 的相关内容。 如果看到最后您觉得这篇…

VB.net读写NDEF标签URI智能海报WIFI蓝牙连接

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 Public Class Form1Dim oldpicckey(0 To 5) As Byte 卡片旧密码Dim newpicckey(0 To 5) As Byte 卡片新密码Function GetTagUID() As StringDim status As ByteDim myctrlword As …

Android手机投屏方案实现方式对比

文章目录 1.概述2.术语解释2.1 miracast2.2 scrcpy2.4 Wifi Direct2.5 app_process 3.技术实现对比3.1 Miracast3.1.1 Miracast介绍3.1.2 Miracast原理3.1.3 Miracast优缺点分析 3.2 Scrcpy3.2.1 scrcpy 介绍3.2.2 scrcpy的实现原理3.2.3 scrcpy的优缺点分析 3.3 Google cast3.…

Nisshinbo日清纺pvs1114太阳模拟器手测

Nisshinbo日清纺pvs1114太阳模拟器手测

影响上证50股指期货价格的因素有哪些?

上证50股指期货&#xff0c;作为反映上海证券交易所最具代表性50只股票整体表现的期货合约&#xff0c;其价格同样受到一系列复杂因素的驱动。以下是对影响上证50股指期货价格的主要因素进行的详细分析。 因素一、期货合约的供求关系 股指期货市场是一个由多头和空头双方共同…

关于AI副业,能说的都说了(最核心3大赛道、机会、方向)

AI&#xff0c;是生产力工具~ AI&#xff0c;也是焦虑和痛点 一直有小伙伴在问AI副业的事儿&#xff0c;之前也分享过很多。 但是&#xff0c;很多人对AI于副业的作用&#xff0c;过于表面和形式&#xff0c;所以&#xff0c;狂金来叨叨一下最核心的3大赛道&#xff0c;希望…

腾讯云SDK购买流程

音视频终端 SDK 需购买对应 License/套餐获得使用授权&#xff0c;本文将对购买 License/套餐的操作进行详细指引。 您可首先参考计费概述 确认您需要购买的内容&#xff0c;随后参考本文进行购买。本文仅提供 SDK 授权费用所需资源的购买&#xff0c;如果您需要使用其他相关云…

深入浅出MySQL事务处理:从基础概念到ACID特性及并发控制

1、什么是事务 在实际的业务开发中&#xff0c;有些业务操作要多次访问数据库。一个业务要发送多条SQL语句给数据库执行。需要将多次访问数据库的操作视为一个整体来执行&#xff0c;要么所有的SQL语句全部执行成功。如果其中有一条SQL语句失败&#xff0c;就进行事务的回滚&a…

回答网友一个数据显示的问题

事情是这个样子的 俺在一个C# 群里&#xff0c;一个问:"打开form2&#xff0c;可以同步显示form1的表格内容&#xff0c;在form2增删改表格内容之后&#xff0c;可以同步到form1中"。 俺 打开 delphi 放了几个 数据敏感 控件&#xff0c;演示了一下。还说了 一行…

Windows环境下训练开源图像超分项目 ECBSR 教程

ECBSR 介绍 ECBSR&#xff08;Edge-oriented Convolution Block for Real-time Super Resolution&#xff09;是一种针对移动设备设计的轻量级超分辨率网络。它的核心是一种可重参数化的构建模块&#xff0c;称为边缘导向卷积块&#xff08;ECB&#xff09;&#xff0c;这种模…

数集相等定义凸显“R各元x的对应x+1的全体=R”是几百年重大错误

黄小宁 变量x所取各数也均由x代表&#xff0c;x代表其变域&#xff08;x所有能取的数组成的集&#xff09;内任一元。设集A&#xff5b;x&#xff5d;表A各元均由x代表&#xff0c;&#xff5b;x&#xff5d;中变量x的变域是A。其余类推。因各数x可是数轴上点的坐标所以x∈R变换…

详解ES5中的数组方法

7.9 ES5中的数组方法 ECMAScript 5定义了9个新的数组方法来遍历、映射、过滤、检测、简化、搜索数组。 7.9.1 forEach() 7.9.2 map() 将调用的数组的每个元素传递给指定的函数&#xff0c;并返回一个数组&#xff0c;包含函数的返回值。 例如数组的每个元素的立方&#xf…

基于SpringBoot+Vue的大学生勤工助学兼职管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

【优选算法】(第八篇)

目录 串联所有单词的⼦串&#xff08;hard&#xff09; 题目解析 讲解算法原理 编写代码 最⼩覆盖⼦串&#xff08;hard&#xff09; 题目解析 讲解算法原理 编写代码 串联所有单词的⼦串&#xff08;hard&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#…

防砸安全鞋这样挑,舒适又安心!

在复杂多变的工作环境中&#xff0c;安全始终放在首位&#xff0c;特别是对于那些在工地、车间等危险环境中工作的朋友们来说&#xff0c;一双好的防砸安全鞋无疑是工作中的“守护神”。然而&#xff0c;市面上的防砸安全鞋种类繁多&#xff0c;如何挑选一双既舒适又安心的鞋子…