MATLAB最大均值差异(Maximum Mean Discrepancy)

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

更多内容,请看标签:MATLAB聚类

注:X与Y数据维度必须一致!

1. MMD介绍

2. MATLAB程序

数据

注:数据集仅供参考,并不能真正用于研究中。

源域:
2.1789 1.7811 5.079 4.9312
0.8621 2.1287 4.9825 2.3388
2.6347 1.9563 4.5392 4.8442
2.7179 2.9001 4.9027 4.8582
2.6686 1.6799 4.3792 4.6411
1.6736 2.3081 4.8384 3.2979
1.5666 2.6467 5.0504 4.459
-0.5611 2.2365 4.3925 5.1316
5.6693 1.7355 4.5335 4.6407
3.2032 2.103 4.1948 5.2605
3.3525 2.8301 4.6383 5.6972
-1.0407 3.5198 4.7106 4.9243
3.9229 2.1161 4.5666 1.772
2.5607 3.802 4.2681 4.6322
3.3072 2.5083 4.6095 2.2236
2.7121 2.4338 4.136 2.2348
5.3547 2.1088 4.402 4.9884
1.8302 1.4921 4.6216 3.5862
2.8891 2.1286 4.6419 3.8606
-0.0896 2.6894 3.6843 6.6392
3.1404 1.9461 4.2604 5.9859
2.3406 3.1988 5.0872 4.7518
2.5067 2.9704 4.2749 4.3441
8.2153 1.7592 5.2409 3.8201
0.3027 2.7589 3.9826 4.8484
4.0223 1.7566 4.6219 4.92
6.1367 2.1098 4.7832 5.4567
4.9795 2.418 4.7726 3.1959
-1.0746 2.4311 4.7683 4.5599
5.4939 2.6046 4.4663 5.1159
4.5709 1.9838 4.9596 4.9317
1.3746 2.6845 5.1921 3.2068
1.7178 0.7976 4.6948 3.7012
目标域:
1.9584 2.0242 4.7594 2.587
-2.8342 3.4594 4.4371 5.2375
1.6251 2.7737 5.0145 6.3262
0.7016 2.5265 4.8881 3.2105
3.5579 2.5773 4.856 4.283
4.3282 2.7581 4.7095 6.715
3.1619 2.5427 4.1323 5.5883
4.9933 2.2985 3.8455 3.8381
3.2214 2.6478 4.3276 2.5246
-0.2848 2.5853 4.6481 3.4857
2.876 1.5096 3.9921 2.4505
0.8559 2.5633 5.483 3.0589
4.2149 2.6618 4.2017 3.3713

MMD

function mmd_XY=my_mmd(X, Y, sigma)
%Author:kailugaji
%Maximum Mean Discrepancy 最大均值差异 越小说明X与Y越相似
%X与Y数据维度必须一致, X, Y为无标签数据,源域数据,目标域数据
%mmd_XY=my_mmd(X, Y, 4)
%sigma is kernel size, 高斯核的sigma
[N_X, ~]=size(X);
[N_Y, ~]=size(Y);
K = rbf_dot(X,X,sigma); %N_X*N_X
L = rbf_dot(Y,Y,sigma); %N_Y*N_Y
KL = rbf_dot(X,Y,sigma); %N_X*N_Y
c_K=1/(N_X^2);
c_L=1/(N_Y^2);
c_KL=2/(N_X*N_Y);
mmd_XY=sum(sum(c_K.*K))+sum(sum(c_L.*L))-sum(sum(c_KL.*KL));
mmd_XY=sqrt(mmd_XY);

Guassian Kernel

function H=rbf_dot(X,Y,deg)
%Author:kailugaji
%高斯核函数/径向基函数 K(x, y)=exp(-d^2/sigma), d=(x-y)^2, 假设X与Y维度一样
%Deg is kernel size,高斯核的sigma
[N_X,~]=size(X);
[N_Y,~]=size(Y);
G = sum((X.*X),2);
H = sum((Y.*Y),2);
Q = repmat(G,1,N_Y(1));
R = repmat(H',N_X(1),1);
H = Q + R - 2*X*Y';
H=exp(-H/2/deg^2); %N_X*N_Y

结果

>> mmd_XY=my_mmd(x, y, 4)

mmd_XY =

    0.1230 

3. 参考文献

Gretton, A., K. Borgwardt, M. Rasch, B. Schoelkopf and A. Smola: A Kernel Two-Sample Test. JMLR 2012.

Gretton, A., B. Sriperumbudur, D. Sejdinovic, H, Strathmann, S. Balakrishnan, M. Pontil, K. Fukumizu: Optimal kernel choice for large-scale two-sample tests. NIPS 2012.

MATLAB最大均值差异(Maximum Mean Discrepancy)的更多相关文章

  1. MATLAB中均值、方差、均方差的计算方法

    MATLAB中均值.方差.均方差的计算方法     1. 均值 数学定义: Matlab函数:mean >>X=[1,2,3] >>mean(X)=2 如果X是一个矩阵,则其均 ...

  2. 基于MATLAB的均值滤波算法实现

    在图像采集和生成中会不可避免的引入噪声,图像噪声是指存在于图像数据中的不必要的或多余的干扰信息,这对我们对图像信息的提取造成干扰,所以要进行去噪声处理,常见的去除噪声的方法有均值滤波.中值滤波.高斯滤 ...

  3. 【论文笔记】Domain Adaptation via Transfer Component Analysis

    论文题目:<Domain Adaptation via Transfer Component Analysis> 论文作者:Sinno Jialin Pan, Ivor W. Tsang, ...

  4. A Primer on Domain Adaptation Theory and Applications

    目录 概 主要内容 符号说明 Prior shift Covariate shift KMM Concept shift Subspace mapping Wasserstein distance 应 ...

  5. 基于R语言的数据分析和挖掘方法总结——均值检验

    2.1 单组样本均值t检验(One-sample t-test) 2.1.1 方法简介 t检验,又称学生t(student t)检验,是由英国统计学家戈斯特(William Sealy Gosset, ...

  6. All I know about A/B Test (1) : 均值型指标与比值(率)型指标的计算区别

    因为最近在找实习,所以打算把自己之前学过的关数据分析的知识总结(复习)一下.在总结A/B test时,我发现中文互联网中关于A/B test的总结已经很多了,但是对于均值型指标和比值(率)型指标在设计 ...

  7. 概率分布之间的距离度量以及python实现(四)

    1.f 散度(f-divergence) KL-divergence 的坏处在于它是无界的.事实上KL-divergence 属于更广泛的 f-divergence 中的一种. 如果P和Q被定义成空间 ...

  8. [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述

    Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...

  9. face recognition[翻译][深度人脸识别:综述]

    这里翻译下<Deep face recognition: a survey v4>. 1 引言 由于它的非侵入性和自然特征,人脸识别已经成为身份识别中重要的生物认证技术,也已经应用到许多领 ...

随机推荐

  1. 数据安全管理:RSA加密算法,签名验签流程详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.RSA算法简介 1.加密解密 RSA加密是一种非对称加密,在公开密钥加密和电子商业中RSA被广泛使用.可以在不直接传递密钥的情况下,完成加 ...

  2. border-box和CSS3 calc()解决盒模型加边框或边距后尺寸变大的问题

    box-sizing box-sizing的CSS属性是用来改变默认的CSS框模型 属性 初始值:content-box 适用于:接受的所有元素的宽度或高度 继承:无 媒体:visual 指定的:as ...

  3. GPS定位的偏移校正(WGS84与火星坐标互转)

    地图坐标系目前包括: 地球坐标 (WGS84) WGS84:World Geodetic System 1984,是为GPS全球定位系统使用而建立的坐标系统. 国际标准,从 GPS 设备中取出的数据的 ...

  4. 通过传XML格式导入到ORACLE的销售订单

    procedure IMPORT_OM(p_unid varchar2, --流程ID p_CUSTOMER_PO varchar2, --合同编号 p_xmlstr varchar2, --clob ...

  5. 《精通Python爬虫框架Scrapy》学习资料

    <精通Python爬虫框架Scrapy>学习资料 百度网盘:https://pan.baidu.com/s/1ACOYulLLpp9J7Q7src2rVA

  6. 入职小白随笔之Android四大组件——内容提供器详解(Content Provider)

    Content Provider 内容提供器简介 内容提供器(Content Provider)主要用于在不同的应用程序之间 实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的 ...

  7. 增加sudo用户访问oracle

    增加zgy用户可以访问数据库[root@DBDATA ~]# useradd zgy--设置密码[root@DBDATA ~]# passwd zgy--设置组[root@DBDATA ~]# use ...

  8. 一次在CentOS系统单用户模式下使用passwd命令破密失败的案例

    某次遇到需要进入系统的单用户模式进行破密操作,结果却显示如下: 根据提示:Permission denied(缺少权限) 此时查看/usr/bin/passwd 权限: 正常情况下的权限应该是如下: ...

  9. pytest系列(二):筛选用例新姿势,mark 一下,你就知道。

    pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极. 那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里. 如下图所示,我们编写的用例存放在不 ...

  10. Pro Micro

    选择这块Arduino板主要是因为它便宜(淘宝上20元左右搞定),引脚相对较多,体积小,而且其使用的处理器核心ATmega32U4(兼容Arduino Leonardo)可用于模拟HID设备,可以配合 ...