目录

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. day03 MySQL数据库之主键与外键

    day03 MySQL数据库之主键与外键 昨日内容回顾 针对库的基本SQL语句 # 增 create database meng; # 查 show databases; shwo create da ...

  2. Flink(二)【架构原理,组件,提交流程】

    目录 一.运行架构 1.架构 2.组件 二.核心概念 TaskManager . Slots Parallelism(并行度) Task .Subtask Operator Chains(任务链) E ...

  3. 零基础学习java------day1------计算机基础以及java的一些简单了解

    一. java的简单了解 Java是一门面向对象编程语言,不仅吸收了C++的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态 ...

  4. cookie规范(RFC6265)翻译

    来源:https://github.com/renaesop/blog/issues/4 RFC 6265 要点翻译 1.简介 本文档定义了HTTP Cookie以及HTTP头的Set-Cookie字 ...

  5. 设计和实现OLAP解决方案 [转]

    第一讲 简介首先,啥叫数据仓库? 数据仓库就是数据的仓库!用外文说叫Data Warehouse,简称DW. 是不是哐当倒下一片啊,要不咱换个专业点的说法? 数据仓库是一个面向主题的.集成的.相对稳定 ...

  6. Java Swing布局管理器GridBagLayout的使用示例 [转]

    GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求 ...

  7. 2021广东工业大学十月月赛 F-hnjhd爱序列

    题目:GDUTOJ | hnjhd爱序列 (gdutcode.cn) 一开始是用双指针从尾至头遍历,但发现会tle!! 后来朋友@77给出了一种用桶的做法,相当于是用空间换时间了. 其中用到的一个原理 ...

  8. 【STM32】使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡

    由于一张SD卡要能读写,涉及到的技术有些多,我打算分以下几篇博客 [STM32]使用SDIO进行SD卡读写,包含文件管理FatFs(一)-初步认识SD卡 [STM32]使用SDIO进行SD卡读写,包含 ...

  9. Fragment以及懒加载

    1.Fragments Fragment是Activity中用户界面的一个行为或者是一部分,你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activ ...

  10. 【Python】【Basic】【数据类型】基本数据类型

    1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2 ...