目录

Pang T, Du C, Zhu J, et al. Max-Mahalanobis Linear Discriminant Analysis Networks[C]. international conference on machine learning, 2018: 4013-4022.

@article{pang2018max-mahalanobis,

title={Max-Mahalanobis Linear Discriminant Analysis Networks},

author={Pang, Tianyu and Du, Chao and Zhu, Jun},

pages={4013--4022},

year={2018}}

本文介绍了从最大化马氏距离的角度提出了一种defense.

主要内容

对于俩个分布来说, 区分样本属于哪一个分布, 最好的分类器就是贝叶斯分类, 特别的, 如果是高斯分布, 且协方差矩阵一致, 则其分类平面为

\[w^T(x-x_0)=0,
\]

其中

\[w=\Sigma^{-1} (\mu_1 - \mu_2),
\]
\[x_0=\frac{1}{\mu_1+\mu_2} - \ln (\frac{P(w_1)}{P(w_2)}) \frac{\mu_1-\mu_2}{\|\mu_1-\mu_2\|_{\Sigma^{-1}}^2}.
\]

特别的, 当\(\Sigma\)为对角矩阵的时候, 其分类平面只与\(\mu_1-\mu_2\)有关.

设一个混合高斯分布:

\[P(y=i)=\pi_i, P(x|y=i)=\mathcal{N}(\mu_i, \Sigma), \quad i \in [L]:=1,\ldots,L,
\]

并定义

\[\Delta_{i,j} := [(\mu_i-\mu_j)^T \Sigma^{-1} (\mu_i - \mu_j)]^{1/2}.
\]

因为神经网络强大的拟合分布能力, 我们可以假设\(\Sigma=I\)(文中将\Sigma$分解, 然后用变量替换可以得到, 马氏距离在此情况下具有不变性, 我觉得不如直接这么解释比较实在).

设想, 从第i个分布中采样\(x_{(i)} \sim \mathcal{N}(\mu_i, I)\), 将\(x_{(i)}\)移动到与\(j\)类的分类平面的距离设为\(d_{(i,j)}\),

定理: 如果\(\pi_i=\pi_j\), 则\(d_{(i,j)}\)的期望为

\[\mathbb{E}[d_{(i,j)}] = \sqrt{\frac{2}{\pi}} \exp(-\frac{\Delta_{i,j}^2}{8})+\frac{1}{2} \Delta_{i,j} [1-2\Phi(-\frac{\Delta_{i, j}}{2})],
\]

其中\(\Phi\)表示正态分布函数.

注意, 这里的\(d_{i,j}\)是\(x\)到分类平面的距离, 也就是说, 如果\(x_{(i)}\)如果本身就位于别的类中, 同样也计算这个距离, 不公平, 当然如果这么考虑, 证明起来就相当麻烦了.

如果定义

\[\mathrm{RB} = \min_{i,j\in [L]} \mathbb{E}[d_{(i,j)}],
\]

则我们自然希望\(\mathrm{RB}\)越大越好(越鲁棒, 但是根据我们上面的分析, 这个定义是存在瑕疵的). 然后通过导数, 进一步发现

\[\mathrm{RB} \approx \bar{\mathrm{RB}} := \min_{i,j \in [L]} \Delta_{i,j} / 2.
\]

有定理:

所以, 作者的结论就是, 最后一层

\[z_i =\mu_i^Tf(x)+b_i,
\]

满足\((4)\), 为此作者设计了一个算法



去构造. 所以, 这最后一层的参数是固定不训练的. 余下的与普通的网络没有区别.

Max-Mahalanobis Linear Discriminant Analysis Networks的更多相关文章

  1. 线性判别分析(Linear Discriminant Analysis,LDA)

    一.LDA的基本思想 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD) ...

  2. 线性判别分析(Linear Discriminant Analysis, LDA)算法分析

    原文来自:http://blog.csdn.net/xiazhaoqiang/article/details/6585537 LDA算法入门 一. LDA算法概述:       线性判别式分析(Lin ...

  3. 线性判别分析(Linear Discriminant Analysis, LDA)算法初识

    LDA算法入门 一. LDA算法概述: 线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discrimin ...

  4. 机器学习: Linear Discriminant Analysis 线性判别分析

    Linear discriminant analysis (LDA) 线性判别分析也是机器学习中常用的一种降维算法,与 PCA 相比, LDA 是属于supervised 的一种降维算法.PCA考虑的 ...

  5. Linear Discriminant Analysis Algorithm

    线性判别分析算法. 逻辑回归是一种分类算法,传统上仅限于两类分类问题. 如果有两个以上的类,那么线性判别分析算法是首选的线性分类技术.LDA的表示非常直接.它包括数据的统计属性,为每个类计算.对于单个 ...

  6. 线性判别分析(Linear Discriminant Analysis)转载

    1. 问题 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太多,那么会产生不相关特征引入.过度拟合等问题.我们可以使用PCA来降维,但PCA没有将 ...

  7. 线性判别分析(Linear Discriminant Analysis)

    1. 问题 之前我们讨论的PCA.ICA也好,对样本数据来言,可以是没有类别标签y的.回想我们做回归时,如果特征太多,那么会产生不相关特征引入.过度拟合等问题.我们可以使用PCA来降维,但PCA没有将 ...

  8. [ML] Linear Discriminant Analysis

    虽然名字里有discriminat这个字,但却是生成模型,有点意思. 判别式 pk 生成式 阅读:生成方法 vs 判别方法 + 生成模型 vs 判别模型 举例: 判别式模型举例:要确定一个羊是山羊还是 ...

  9. Linear Discriminant Analysis

    Suppose that we model each class density as multivariate Gaussian, in practice we do not know the pa ...

随机推荐

  1. Linux 内存泄漏 valgrind

    Valgrind 是个开源的工具,功能很多.例如检查内存泄漏工具---memcheck. Valgrind 安装: 去官网下载: http://valgrind.org/downloads/curre ...

  2. Hive(八)【行转列、列转行】

    目录 一.行转列 相关函数 concat concat_ws collect_set collect_list 需求 需求分析 数据准备 写SQL 二.列转行 相关函数 split explode l ...

  3. 一起手写吧!Promise!

    1.Promise 的声明 首先呢,promise肯定是一个类,我们就用class来声明. 由于new Promise((resolve, reject)=>{}),所以传入一个参数(函数),秘 ...

  4. 【leetcode】43. Multiply Strings(大数相乘)

    Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and ...

  5. Oracle decode和case的区别

    case在SQL中有两种写法,先建立一个表create table salgrade(grade int, sal int);insert into salgrade values(1,1000);i ...

  6. Zookeeper客户端链接

    一.zkCli.sh ./zkCli.sh -server 39.97.176.160:2182 39.97.176.160 : zookeeper服务器Ip 2182:zookeeper端口 二.Z ...

  7. 【C/C++】C++ warning: control reaches end of non-void function return

    控制到达非void函数的结尾. 一些本应带有返回值的函内数到容达结尾后可能并没有返回任何值. 这时候,最好检查一下是否每个控制流都会有返回值. 我是ostream声明的时候没有写return out; ...

  8. 了解C#的Expression

    我们书接上文,我们在了解LINQ下面有说到在本地查询IEnumerbale主要是用委托来作为传参,而解析型查询 IQueryable则用Expression来作为传参: public static I ...

  9. Mysql资料 存储索引

  10. [BUUCTF]PWN5——ciscn_2019_n_1

    [BUUCTF]PWN5--ciscn_2019_n_1 题目网址:https://buuoj.cn/challenges#ciscn_2019_n_1 步骤: 例行检查,64位,开启了nx保护 nc ...