目录

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. 基于python win32setpixel api 实现计算机图形学相关操作

    最近读研期间上了计算机可视化的课,老师也对计算机图形学的实现布置了相关的作业.虽然我没有系统地学过图形可视化的课,但是我之前逆向过一些游戏引擎,除了保护驱动之外,因为要做透视,接触过一些计算机图形学的 ...

  2. WebService学习总览

    [1]WebService简介 https://blog.csdn.net/xtayfjpk/article/details/12256663 [2]CXF中Web服务请求处理流程 https://b ...

  3. 100个Shell脚本——【脚本4】自定义rm命令

    [脚本4]自定义rm命令 linux系统的rm命令太危险,一不小心就会删除掉系统文件. 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除.下面分两种情 ...

  4. Oracle中的加解密函数

    对Oracle内部数据的加密,可以简单得使用DBMS_CRYPTO来进行,效果还是不错的,而且使用也比较方便,所以今天专门来学习一下这个包的使用方法.在使用之前,要注意两件事情: 1.DBMS_CRY ...

  5. Sqlite 常用操作及使用EF连接Sqlite

    Sqlite是一个很轻,很好用的数据库.兼容性很强,由于是一款本地文件数据库,不需要安装任何数据库服务,只需引入第三方开发包就可以.Sqlite的处理速度比MySql和PostgreSQL更快,性能很 ...

  6. collection库更新1.4.0版本

    collection库更新1.4.0版本 collection库一直在使用中,周末集合github上的反馈以及contributor的修改,更新了1.4.0版本. 这个版本做了几个事情: 增加了三种类 ...

  7. 云原生应用管理,像管理手机APP一样管理企业应用

    我们在使用智能手机的时候,手机APP从应用市场一键安装,安装好即点即用,当有新版本一键升级,如果不想用了长按图标删除,整个过程非常简单,小朋友都能熟练掌握.而对于企业应用,由于结构复杂.可用性要求高. ...

  8. 【js基础】基础数据类型变量为啥有属性?

    1.变量和数值 let a =1 这是一个简单的变量声明,其中"a"是变量,在代码中供程序员或者语法操作的,而1是数值,是我最终需要的东西.为什么不直接使用数值而使用变量?这个就不 ...

  9. 利用 clip-path 实现动态区域裁剪

    背景 今天逛 CodePen,看到了这样一个非常有意思的效果: CodePen Demo -- Material Design Menu By Bennett Feely 这个效果还是有一些值得探讨学 ...

  10. windows下python3.7安装gmpy2、Crypto 库及rsa

    基于python3.7在windows下安装gmpy2 先检查一下是否安装了wheel文件包,在cmd中输入wheel,查看一下,如果没有安装,则输入安装:pip install wheel 如果遇到 ...