惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
雷峰网
雷峰网
Recent Announcements
Recent Announcements
月光博客
月光博客
G
Google Developers Blog
腾讯CDC
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
T
Tenable Blog
云风的 BLOG
云风的 BLOG
W
WeLiveSecurity
博客园 - 【当耐特】
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
MyScale Blog
MyScale Blog
K
Kaspersky official blog
T
The Blog of Author Tim Ferriss
Attack and Defense Labs
Attack and Defense Labs
Spread Privacy
Spread Privacy
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
aimingoo的专栏
aimingoo的专栏
I
Intezer
Vercel News
Vercel News
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
Latest news
Latest news
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
S
Security Affairs
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
美团技术团队
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
Security @ Cisco Blogs
L
LINUX DO - 热门话题
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
D
Docker
L
Lohrmann on Cybersecurity
F
Full Disclosure

Posts on Changkun's Blog

Why High-Output Systems Are Often the First to Stop Growing Dark Forest Theory: A Formal Derivation Agents (or Humans) in Goal-Directed and Goalless Environments: On Pipelines, Priors, and the Rhythm Between Exploration and Exploitation At the Boundary of Self-Reference: From Stable Structures in Artificial Intelligence to the Self as a Recursive Model in an Open Dissipative System 2023 Reading List 2022 Reading List 2021 Reading List Are PSS/USS and RSS Actually the Same Thing? Performance Differences from Page Faults vs. Prefetching 2020 Year-End Review Migration with Zero Downtime 2020 Reading List The All in Go Stack Pointers Might Not Be Ideal for Parameters Eliminating A Source of Measurement Errors in Benchmarks Setup Wordpress in 10 Minutes 我为什么不再写博客了? 2019 年终总结 2018-2019 读书清单 Ten years of blogging Rethinking the Reflections on Communications and Trusts 2018 年终总结 Go source code study is open source Go source study: unsafe Pattern Go source study: sync.Pool Go runtime programming A Million WebSocket and Go Designing Asynchronous RESTful APIs 分布式杂谈01:CAP 理论的误解 Issues of Human-Bot Interaction 压缩法与深度网络的泛化性 Go in 1 Hour UMSLT04: The Past and Present of SGD UMSLT02: A Breif History of Neural Networks UMSLT01: A Breif History of Regularization 不笑不足以为道 论文笔记:Generalization in Deep Learning 2017 年终总结 2017 读书清单 深度学习的泛化理论简介 删除 GitHub 上已经提交的敏感信息 硕士生涯的第一年就这样告一段落了 人肉计算(10): 系统参与激励 人肉计算(9): 陷阱的解法 别聊,一聊你就暴露 人肉计算(8): 人肉计算与数据科学中的陷阱 人肉计算(7): 社会行为分析 Hexo + GitHub + Travis CI + VPS 自动部署 人肉计算(6): 预测市场 人肉计算(5): 信用风险评级模型 读书与回报 瞎扯: 对现代企业理论与当下IT企业的商业模式和信息产业链的规律性的思考 人肉计算(4): 输入数据聚合与PageRank 又一次打整了一下博客 人肉计算(3): 输入数据聚合与链路预测 人肉计算(2): 意图博弈 GWAPs 人肉计算(1): 众包与群众智慧 对后辈同学在计算机专业上的答疑与解惑 在德国的医疗及住院体验 这可能不是一个技术博客了 实验楼楼赛第3期-Python-题解 迅速更换了 DISQUS Electron 深度实践总结 良好的编码体验的三个方面 2016 年终总结 2016 读书清单 最近在着手写的文章 微信小程序文档极致总结 谈谈过去三个月在实验楼的实习经历 Built a Desktop Client for My Blog Guacamole 源码分析与 VNC 中 RFB 协议的坑 《高速上手 C++11/14》正式发布 Docker 极速入门教程02 - 镜像与容器管理 Docker 极速入门教程01 - 基本概念和操作 阶段性沉默 ELK+Redis 最佳实践 终于全面启用了 HTTPS 苹果开源了LZFSE无损压缩 Hash 碰撞的一种思路 记一次完整的 Kaldi-TIMIT 示例运行 Kaldi 上的 TIMIT 例子 Kaldi 安装与部署 从科研写作谈起 Swift API 设计指南 有趣的人类 所以其实论文并没有什么鬼用 Githug 通关记录及指南 小结一下这学期的收获 2015 读书清单 2015 年终总结 负能量爆表 转眼就快两个月了 博客迁移记录 大三总结 这个世界,终究不会是我们的。 Linux 内核分析 之六:Linux 内核创建进程的过程 小说「泽缘」 Linux 内核分析 之五:system_call中断处理过程的简要分析 大创项目的标题真是每年都在考验同学们的想象力啊 Linux 内核分析 之四:使用库函数API和嵌入汇编两种方式使用同一个系统调用
UMSLT03: A Gentle Start of Learning Theory
Changkun Ou · 2018-03-05 · via Posts on Changkun's Blog

Published at发布于:   |   PV/UV: /   |   Reading阅读: 2 min

在前面两篇文章中,我们快速的聊完了深度学习的相关历史知识,从第一个学习机器感知器的诞生、到反向传播的首次再发明、理论派和实践派对 ERM 原则的不同看法以及为学习理论能够真正学到智能从而解决 ill-posed 问题的正则化手段。在理论学派看来,自然语言性质的描述永远是不够的,我们需要发展一套理论来严密的从最一般性的原理出发,彻彻底底的解决机器学习的基础,我们常说的学习到底是什么?我们提过很多次的 ERM 到底有什么特殊之处能在起基础之上产生两个方向完全不同的学派?这篇文章就正儿八经的从符号定义出发,对「学习理论」进行形式化。

学习问题的定义

我们假定读者已经在实践中使用过机器学习的模型了,哪怕是非常基本的无监督 kNN 还是相对复杂的监督 CNN。学习机器,或者说机器学习模型必不可少的就是待学习的数据、训练模型以及学习机器。下面分别对其给出形式化的定义:

定义 1: 如果机器对于随机向量 $x\in \mathbb{R}^n$ 是从某个固定的概率分布函数 $F(x)$ 中独立同分布抽取的,则称其为 Generator(生成器) ,并产生了输入向量 $x$;若 $x$ 是训练数据,又称 $x$ 为样本。

定义 2: 如果机器对于每个样本 $x$ 作为输入,都能产生一个输出值 $y$,且条件分布 $F(y|x)$ 未知,则称其为 Supervisor(监管器),并对样本 $x$ 进行了监管并产生了标签 $y$。

定义 3: 如果机器能够产生函数集 ${f | f(x, \alpha), \alpha\in\Lambda}$,其中 $\Lambda$ 为参数集,则成其为 Learning Machine (学习机器)。

定义 4: 从学习机器产生的函数集 ${f | f(x, \alpha), \alpha\in\Lambda}​$ 选出 $f​$ 并使其最好的逼近 Generator 中的固定分布 $F(x)​$ 的过程,称之为学习。

从上面的定义中我们能够感受到其定义相当别扭,但是还好我们能够来理解这些定义想要表达的含义。可以看到:

  • 定义 1 中,我们其实假设了输入样本是从学习对象 $F(x)$ 中独立同分布抽取出来的,并且学习的对象 $F(x)$ 总是存在;
  • 在定义 2 中,我们假设了存在一个监管器,这个监管器总是能够根据给定的输入产生正确的输入;
  • 在定义 3 中,我们认为存在一个学习机器,能够产生一个函数集 ${f | f(x, \alpha), \alpha\in\Lambda}$,并且 $F(x)$ 与其中的某个 $f$ 很接近。

显然,这个定义其实是存在某些缺陷的,例如,抽取的样本不是独立同分布的会怎么办?监管器产生的标签 $y$ 不正确怎么办?所谓 $F(x)$ 与 $f$ 很接近到底是怎么接近?

ERM 问题及其归纳原则

为了定义与 $F(x)$ 最接近的 $f$,我们需要一个在给定输入 $x$ 下比较监管器给出的 $y$ 和学习机器给出的 $f(x, \alpha)$ 之前的差异,我们称这个比较差异的函数叫做损失函数 $L(y, f(x, \alpha))$。于是我们定义风险泛函:

定义5:令 $x$ 为概率空间$(\Omega, E, P)$ 上的随机变量,对于 $\forall\alpha\in\Lambda$ ,学习机器能给出的函数 $f(\cdot, \alpha)$ ,则损失函数$L(y, f(x, \alpha))$ 在样本空间上的期望 $$ R(\alpha) = \int_{\Omega}{L(y, f(x, \alpha))dF(x,y)} $$ 称之为期望风险泛函

这个定义仔细看下来,其实仍然是包含很多假设的:

  • 在真实分布 $F(x,y)$ 上的积分存在
  • 样本 $x​$ 是概率空间上的随机变量

学习问题的目标就是在联合概率分布函数$F(x,y)$未知的情况下、所有可用信息都包含在训练集$(x_1,y_1), …, (x_m, y_m)$ 的情况下,寻找函数$f(x, \alpha_0)$ 使得在函数集 ${f | f(x, \alpha), \alpha\in\Lambda}$ 上风险泛函 $R(\alpha)$ 最小。

上面的风险泛函使用期望进行定义,当期望退化为观测样本的风险均值时:

定义6:我们称观测样本上的风险泛函 $R(\alpha)$ 为经验风险泛函: $$ R_{emp}(\alpha)=\frac{1}{m}\sum_{i=1}^{m}{L(y, f(x,\alpha))} $$ 在这样一个框架下,我们可以将很多问题得以统一。对于分类任务来说。风险泛函的 $L(y,f(x,\alpha))$为指示函数,给出的答案与训练器输出不同的情况就是分类错误;对于回归任务来说,损失函数 $L(y,f(x,\alpha))=(y-f(x,\alpha))^2$时,我们从经验风险中得到了最小二乘法;对于 Fisher-Wald 表示的密度估计问题,其实就是 $L(y,p(x,\alpha)) = -\ln{p(x,\alpha)}$,这时我们如果为期望风险泛函增加一个无关常数 $p_0(x)$ $$ \begin{equation} \begin{aligned} R(\alpha) &= -\int{\ln{p(x,\alpha)dF(x)}} \ &=-\int{p_(x,\alpha)\ln{p(x,\alpha)dx}}+\int{p(x,\alpha)\ln{p_0(x)dx}} \ &= - \int{p(x,\alpha) \ln\frac{p(x,\alpha)}{p_0(x)}dx} \ &= -KL(p(x,\alpha) || p_0(x)) \end{aligned} \end{equation} $$ 就得到了 KL 距离,这时的最大化风险泛函的过程,实际上就是学习的过程,并且我们在其 ERM 下得到了最大似然估计。

最小化(最大化)经验风险泛函的这一过程就是一个通用的归纳原则。对于任何给定的观测数据,学习机器都按照这一个原则来进行逼近,这就是我们常说的经验风险最小化 ERM。

学习理论的研究重心

对于如此一般性的框架,我们自然会问这样的问题:

  1. 当我们给定观测数据后,基于 ERM 原则的学习过程具有一致性的充要条件是什么?
  2. 学习过程的收敛速度是多少?
  3. 如何对收敛速度(泛化能力)进行控制?
  4. 如何构造能够控制泛化能力的算法?

这样四个非常尖锐的问题,它们的答案组成了现代统计学习理论的基石:

  1. 学习过程的一致性理论
  2. 学习过程收敛速度的非渐进理论
  3. 控制学习过程泛化能力的理论
  4. 构造学习算法的理论

我们在以后的文章中再慢慢讲述。

非正式个人评述

这一节中我们严格定义了一个标准的学习问题,并假设我们需要学习的数据一定服从某个存在的分布,并且我们的期望风险泛函在这个分布上是可积的。我们简单描述了在这个框架下,分类问题、最小二乘法回归、KL密度距离估计下的最大似然估计其实都是这个一般形式框架下的某个特殊情况。但是我们需要注意:

  1. 从回归模型中我们在假设噪声为正态分布的情况下,使用最大似然估计,将问题转化为了最小二乘法;

  2. 而最大似然估计在很多情况下可能无法求最大值,从而导致参数估计失效。比如说一个由两个正态密度混合而成的密度 $\rho(x, \alpha, \sigma) = \frac{1}{2\sigma\sqrt{2\pi}}\exp{-\frac{(x-\alpha)^2}{2\sigma^2}}+\frac{1}{2\sqrt{2\pi}}\exp{-\frac{x^2}{2}}$,对于任意数据 $x_1, … , x_m$,以及任意给定常数 $A$,存在一个很小的 $\sigma=\sigma_0$,使得对于 $\alpha=x_1$有:

$$ \begin{equation} \begin{aligned} L(\alpha=x_1, \sigma_0) &= \sum_{i=1}^{m}{\ln{p(x_i, \alpha=x_1, \sigma_0)}} \ &> \ln{\left(\frac{1}{2\sigma_0\sqrt{2\pi}}\right)}+\sum_{i=1}^m{\ln\left(\frac{1}{2\sqrt{2\pi}}\exp{-\frac{x_i^2}{2}}\right)} \ &=-\ln{\sigma_0}-\sum_{i=2}^m\frac{x_i^2}{2}-m\ln2\sqrt{2\pi}>A \end{aligned} \end{equation} $$ ​

另一方面,在概率论理论中,我们首先确定了概率分布函数,然后在分布函数绝对连续时,定义密度函数,即密度 $p(x)$ 是积分方程 $\int_{-\infty}^{x}p(x)dt=F(x)$的解,其中 $F(x)$为概率分布函数。换句话说,我们需要在概率分布函数 $F(x)$未知的情况下,在给定的函数集${p(t)}$中,根据独立同分布数据 $x_1, …, x_m, …$,求解积分方程。因为我们可以构造一个经验分布函数$F_m(x)=\frac{1}{m}\sum_{i=1}^{m}\theta(x-x_i)$,其中 $\theta(x) = 1$ 如果 $x\geq0$,否则为 0。可以证明(Glivenko–Cantelli 定理),经验分布函数 $F_m(x)$到待求函数$F(x)$依概率(同时也是依分布)的一致收敛性: $$ \sup_{x}|F(x)-F_m(x)|\xrightarrow[m\rightarrow\infty]{P}0 $$ 根据之前文章的讨论,自然地,这样形式描述的密度估计问题仍然是一个 ill-posed 的问题。可以证明,非参数方法都可以通过标准的正则化技术(不同类型的正则化因子),并使用经验分布函数代替未知分布函数来得到 [Vapnik, 1979], [Vapnik1988]。

密度估计问题之于统计学重要的原因在于,当我们知道了概率密度就可以解决各种各样的问题,正是由于密度估计问题的 ill-posed 性质,我们需要大量的观测样本才能将这个问题解决得较好。相较之下,对于决策规则估计亦或是回归估计这类特殊的问题来说,我们只需要一些合理数量的观测样本就能够将这个问题解决。判别分析就是这样一个例子,假设我们要构造一个把两个向量集合分开的决策法则,对于向量 $x$ 属于第一类的概率$q_1$不小于它属于第二类的概率$1-q_1$,则有 $q_1p_1(x,\alpha^) \geq (1-q_1)p_2(x,\beta^)$,两边取对数我们有 $\ln{p_1(x, \alpha^)}-\ln{p_2(x,\beta^)}+\ln{\frac{q_1}{1-q_1}}\geq0$;反之如果向量 $x$ 属于第一类的概率$q_1$不大于属于它第二类的概率$1-q_1$,则我们有$\ln{p_1(x, \alpha^)}-\ln{p_2(x,\beta^)}+\ln{\frac{q_1}{1-q_1}}\leq0$。如果我们让第一个类别的样本为 $1$,第二个样本的类别为 $-1$,则可以用函数 $f(x)=\text{sgn}{\ln{p_1(x, \alpha^)}-\ln{p_2(x,\beta^)}+\ln{\frac{q_1}{1-q_1}}}$来对向量 $x$ 所属的集合类别进行判断。在这个函数中,我们必须知道密度函数 $p_1$和$p_2$。但如果假设这两个集合遵循两个不同的正态分布$\mathcal{N}(\mu_1, \Sigma_1)$和$\mathcal{N}(\mu_2,\Sigma_2)$,当我们已知某个类别的先验概率$q_1$,估计两个 $n$ 维向量 $\mu_1, \mu_2$ 和 两个 $n\times n$矩阵$\Sigma_1, \Sigma_2$(即密度)时,可以直接应用正态分布的概率密度函数得到: $$ f(x)=\text{sgn}{ \frac{1}{2}(x-\mu_1)^T\Sigma_1{-1}(x-\mu_1) - \frac{1}{2}(x-\mu_2)^T\Sigma_2{-1}(x-\mu_2)} - \ln{\frac{|\Sigma_1|}{|\Sigma_2|}+\ln{\frac{q_1}{1-q_1}}} $$ 进而,当我们需要一个好的判别规则时,就必须精确的估计协方差矩阵的参数(密度),因为这个判别函数中使用了协方差矩阵的逆矩阵(这里的参数化问题里它很可能给出病态协方差的矩阵,从而密度估计是一个不适定问题)。为了较好的估计高维协方差矩阵,我们需要大量的观测样本(取决于实际协方差矩阵的性质)。因此,在高维空间中,从两个不同的正态密度构造的一般正态判别函数很少在实际情况中成功应用。而在实践中,当使用线性判别函数时,总是假设两个分布的协方差矩阵相等。

本文中我们解释了之前两篇文章中留下来的这些问题:

  • 为什么密度估计问题是一个 ill-posed 问题?
  • 最大似然估计在参数统计中是怎么做到「不证自明」归纳的?

本文未解释的部分:

  • 抽取的样本不是独立同分布的会怎么办?
  • 监管器产生的标签 $y$ 不正确怎么办?
  • 在真实分布 $F(x,y)$ 上的积分不存在该怎么办?
  • 样本 $x$ 不是概率空间上的随机变量该怎么办?
  • 不同的非参数方法,所需的正则化因子是什么?
  • 当我们给定观测数据后,基于 ERM 原则的学习过程具有一致性的充要条件是什么?
  • 学习过程的收敛速度是多少?
  • 如何对收敛速度(泛化能力)进行控制?
  • 如何构造能够控制泛化能力的算法?

我们在以后的文章中再继续讨论。

进一步阅读的参考文献

  • [Vapnik 1979] Estimation of dependencies based on empirical data
  • [Vapnik 1988] Inductive principles of statistics and learning theory