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. ASP.NET MVC5基础 - Global.asax详解

    简介 作用 Global.asax的处理事件 实例说明 总结 简介 Global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件 ...

  2. Solr实现全文搜索

    1.1 Solr是什么? Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展 ...

  3. Test Case:: 12C ASM New feature (Doc ID 1571975.1)

    Test Case:: 12C ASM New feature (Doc ID 1571975.1) APPLIES TO: Oracle Database - Enterprise Edition ...

  4. django之跨站请求伪造csrf

    目录 跨站请求伪造 csrf 钓鱼网站 模拟实现 针对form表单 ajax请求 csrf相关的两个装饰器 跨站请求伪造 csrf 钓鱼网站 就类似于你搭建了一个跟银行一模一样的web页面 , 用户在 ...

  5. 解决Android Screen Monitor在android8.0及以上系统报错:"E/Screenshot: Unsupported protocol: 2"

    1.打开命令窗口,切换到 asm.jar 所在目录,执行 java -jar asm.jar,正常情况下打开后连接上设备会显示出画面 2.但是在android8.0以上系统该asm.jar包就无法正常 ...

  6. 基于django的个人博客网站建立(六)

    基于django的个人博客网站建立(六) 前言 今天主要完成的是项目在腾讯云服务器上ubuntu16.04+django+mysql+uwsig+nginx的部署过程网站效果可点击这里访问 主要内容 ...

  7. libnl概述

    以下三个库都基于其核心库libnl: libnl-route:用于和Kernel中的Routing子系统交互. libnl-nf:用于和Kernel中的Netfilter子系统交互. libnl-ge ...

  8. leetcode-二叉树

    树以及常用的算法 树的概念 树(Tree)的基本概念树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构.没有结点的树称为空(null或empty)树.一棵非空的树包括一个根结点 ...

  9. 2019年全国高校计算机能力挑战赛初赛C++语言解答

    1; 题目一 16.电商促销某种商品时,希望通过打折鼓励消费者组团消费.已知,团队消费金额=该团的人数和*商品单价.打折规则如下:当组团消费者数量不满50人时,商品消费金额没有折扣:消费者数量大于等于 ...

  10. Java向上下转型中的陷阱{详细}

    1: 多态   多态时继承下面的产物,之所以存在向上向下转型的目的,就是解决参数传递的不变形,体现面向接口编程的重要性, 1.1 方法的多态性   ①. 方法的重载:同一个方法名称可以根据参数的类型或 ...