统计学习(statistical learning)是关于计算机基于数据构建几率统计模型并运用模型对数据进行预测与分析的一门学科,也称为统计机器学习(statstical machine learning)。于是咱们也能够说统计学习是运用一系列工具对数据进行分析建模,故它的研究对象是数据,研究目的是预测与分析。从数据出发,提取数据的特征,抽象出数据模型,发现数据中的知识,又回到数据中进行分析与预测(特别是对未知数据的预测与分析),是数据驱动的学科。将研究对象与研究目的结合起来的方法就是构建统计模型(核心内容)。统计学习总的目标是考虑学习什么样的模型和如何学习模型,以使模型能对数据进行准确的预测与分析,同时也要考虑尽量地提升学习效率。
统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。实现统计学习方法的步骤可几率以下:算法
也可简化为下图:网络
从给定的,有限的,用于学习的训练数据出发,设计一种学习系统(算法),应用某种评价准则(evaluation criterion)在模型空间中选取一个最优的模型,使它对数据(已知数据和未知数据)在给定的评价准则下有最优的结果。这样,统计学习方法包括模型的选择准则、模型的假设空间以及模型学习的算法,称其为统计学习方法的三要素,简称为策略、模型和算法。机器学习
统计学习或机器学习是一个范围宽阔、内容繁多、应用普遍的领域,并不存在(至少如今不存在)一个统一的理论体系涵盖全部内容。从基本分类、算法等四个角度对统计学习方法分类可归纳为下图:函数
监督学习是指从标注数据中学习预测模型的机器学习问题。标注数据表述输入输出的对应关系,预测模型对给定的输入产生相应的输出。<u>本质是学习输入到输出的映射的统计规律</u>。
在监督学习中有三个空间,分别是输入空间、输出空间、特征空间以及假设空间。将输入与输出全部可能取值的集合分别称为输入空间与输出空间。对于输入的每个具体的实例,一般由特征向量表示,这时全部的特征向量存在的空间称为特征空间。模型实际上都是定义在特征空间上的,有时输入空间与特征空间为相同的空间;但有时输入空间与特征空间不为同一个空间,须要将实例从输入空间映射到特征空间上。监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示,也就是说学习的目的在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射集合。这个集合就是假设空间。假设空间的肯定意味着学习的范围的肯定。
监督学习的任务主要有三个方面:分类,标注以及回归。工具
无监督学习是指从无标注数据中学习预测模型的机器学习问题。<u>本质是学习数据中的统计规律或潜在结构</u>。无监督学习旨在从假设空间中选出给定评价下的最优模型,模型能够实现对数据的聚类、降维或几率估计。学习
强化学习指智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。<u>强化学习的本质是学习最优的序贯决策</u>。智能系统的目标不是短时间奖励的最大化,而是长期累积奖励的最大化,强化学习过程当中,系统不断地试错(trial and error),以达到学习最优策略的目的。
强化学习的马尔可夫决策过程是状态、奖励、动做序列上的随机过程,由五元组 $< S, A, P, r,\gamma>$组成测试
$$P(s^{'} | {s,a}) = P(s_t^{'} = s^{'} | {s_t=s,a_t=a}) $$优化
马尔可夫决策过程具备马尔科夫性,下以恶状态只依赖于前一个状态与动做,由状态转义几率函数 $P(s^{'}|{s,a})$ 表示。下一个奖励以来与前一个章台与都工做,由奖励函数 $r(s,a)$ 表示。
策略 $\pi$ 定义为给定状态下动做的函数 $a = f(s)$ 或者条件几率分布 $P(a | s)$ 。给定一个策略 $\pi$ ,智能系统与画家互动的行为就已肯定(或者是肯定性的或者是随机性的)。
价值函数(value function)或状态价值函数(state value function)定义为策略 $\pi$ 从某一个状态 $s$ 开始的长期累积奖励的数学指望:
$$ v_{\pi}(s)=E_{\pi}[r_{t+1}+ {\gamma}r_{t+2} + {\gamma}^2r_{t+3} + ...|s_t=s] $$
动做价值函数(action value function)定义为策略 $ \pi $ 的从某一个状态 $s$ 和动做 $a$ 开始的长期累积奖励的数学指望:
$$ q_{\pi}(s,a)=E_{\pi}[r_{t+1}+ {\gamma}r_{t+2} + {\gamma}^2r_{t+3} + ...|s_t=s,a_t=a] $$
强化学习的目标就是在全部可能的策略中选出价值函数最大的策略 ${\pi}^*$ ,而在实际学习中每每从具体的策略出发,不断优化已有策略。这里 $\gamma$ 表示将来的奖励会有衰减。lua
半监督学习是指利用标注数据和未标注数据学习预测模型的机器学习问题。旨在利用未标注数据中的信息,辅助标注数据,进行监督学习,以较低的成本达到较好的学习效果。
主动学习是指机器不断主动给出实例让‘教师’进行标注,而后利用标注数据学习预测模型的机器学习问题主动学习的目标是找出对学习最优帮助的实例,以较小的标注代价,达到较好的学习效果。
这两种学习方式更接近于监督学习。spa
统计学习的模型可分为几率模型和非几率模型或者肯定性模型(deterministic model)。在监督学习中,几率模型是生成墨西哥,非几率模型是判别模型。几率模型与非几率模型的区别在于模型的内在结构,几率模型必定能够表示未联合几率分布的形式,其中的变量表示输入、输出、隐变量甚至参数,而非几率模型不必定村咋这样的联合几率分布。
模型的表示式为线性函数,则称模型是线性函数,不然称模型为非线性模型。深度学习(deep learning)实际是复杂神经网络的学习,是复杂的非线性模型的学习。
参数化模型假设参数的维度固定,模型能够由有限维度参数彻底刻画;非参数化模型假设模型参数的维度不固定或者无穷大,随着训练数据量的增长而不断增大。
根据算法可分为在线学习(online learning)和批量学习(batch learning)。在线学习是指每次接收一个样本,进行预测,以后学习模型,并不断重复该操做的机器学习。批量学习一次接受全部数据,学习模型,以后进行预测。
主要思想是,在几率模型的学习与推理中,利用贝叶斯定理,计算在给定数据条件下模型的条件几率,即厚颜几率,并应用这个原理进行模型的估计,以及对数据的预测。将模型、未观测要素及其参数用向量表示,使用模型的先验分布是贝叶斯学习的特色。
假设随机变量 $D$ 表示数据,随机变量 $\theta$ 表示模型参数。根据贝叶斯定理,后验几率 $P(\theta|D)$ 表示为:
$$ P(\theta|D)= \frac{P(\theta)P(D|\theta)}{P{D}} $$
其中 $P(\theta)$ 是先验几率,$P(D|\theta)$ 是似然函数。模型估计时,估计整个后验分布。
核方法是使用核函数表示和学习非线性模型的一种机器学习方法。有一些线性模型的学习方法基于类似度计算,更具体地,向量内积计算。把线性模型扩展到非线性模型,直接地作法是显式地定义从输入空间(低维空间)到特征空间(高维空间)地映射,在特征空间中进行内积计算。核方法地技巧在于不显式地定义这个映射,而是直接定义核函数,即映射以后再特征空间的内积,这样能够简化计算,达到一样的效果。
统计学习方法由三要素构成,可简单地表示为:
$$ 方法=模型+策略+算法 $$
下面以监督学习为例进行论述,非监督学习,强化学习一样也拥有这三要素。
在监督学习过程当中,模型就是索要学习地条件几率分布或决策函数。模型的假设空间包含全部可能的条件几率分布或决策函数。假设空间用 $\bf{F}$ 表示。假设空间能够定义为决策函数的集合:
$${\bf{F}}=\{ f|Y=f(X)\}$$
其中,$X$ 和 $Y$ 是定义在输入空间 $\bf{x}$ 和输出空间 $\bf{y}$ 上的变量,这时 $\bf{F}$ 一般是由一个参数向量决定的函数族:
$${\bf{F}}=\{ f|Y=f_{\theta}(X), \theta\in{{\bf{R}}^n}\}$$
参数向量 $\theta$取值于 $n$ 维欧式空间 ${\bf{R}}^n$, 称为参数空间(parameter space)。
假设空间也可定义为条件几率的集合:
$${\bf{F}}=\{ P|P(Y|X)\}$$
其中,$X$ 和 $Y$ 是定义在输入空间 $\bf{x}$ 和输出空间 $\bf{y}$ 上的变量,这时 $\bf{F}$ 一般是由一个参数向量决定的条件几率分布族:
$${\bf{F}}=\{ P|P_{\theta}(Y|X),\theta\in{{\bf{R}}^n}\}$$
参数向量 $\theta$取值于 $n$ 维欧式空间 ${\bf{R}}^n$, 称为参数空间。
统计学习的目标在于从假设空间中选取最优模型。为了评价模型的优劣,引入损失函数与风险函数的概念。损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
监督学习问题在假设空间 $\bf{F}$ 中选取模型 $f$ 做为决策函数,对于给定的输入 $X$ 由 $f(X)$ 给出相应的输出 $\hat{Y}$, 这个输出的预测值$\hat{Y}$ 与真实值 $Y$ 的距离用一个损失函数(loss function)或代价函数(cost function)来度量。损失函数 $f(X)$ 和 $Y$ 的非负实值函数,记做 $L(Y, f(X))$。
统计学习经常使用的损失函数:
$$L(Y, f(X))= \begin{cases} 1, & Y\not = {f(x)} \\ 0, & Y = {f(x)} \end{cases}$$
$$ L(Y, f(X))=(Y-f(X))^2$$
$$ L(Y, f(X))= |Y-f(X)| $$
$$ L(Y, f(X))= - logP(Y|X) $$
损失函数值越小,模型就越好。因为模型的输入输出 $(X,Y)$ 是随机变量,遵循联合分布 $P(X,Y)$, 因此损失函数的指望是
$$ R_{exp}(f)=E_p[L(Y, f(X))] = \int_{\bf{x}\times\bf{y}}L(y,f(x))P(x,y)dxdy $$
这时理论上模型 $f(X)$ 关于联合分布 $P(X,Y)$ 的平均意义下的损失,称为风险函数或指望损失。
学习的目标就是选择指望风险最小的模型。因为联合分布 $P(X,Y)$ 是未知的,$R_{exp}(f)$ 不能直接计算。实际上,若是知道联合分布$P(X,Y)$, 能够从联合分布直接求出条件几率分布$P(Y|X)$, 就不须要学习了。这样一来,一方面根据指望风险最小学习模型要用到联合分布,另外一方面联合分布又是未知的,因此监督学习就成为一个病态问题(ill-formed problem)。
给定一个训练数据集
$$ T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} $$
模型$f(X)$关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记做 $R_emp$:
$$R_{emp} = \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))$$
指望风险是模型关于联合分布的指望损失,经验风险是模型关于训练样本集的平均损失。根据大数定律,当样本容量 $N$ 趋于无穷时,经验分享趋于指望风险。因此很天然的想法就是用经验风险估计指望风险。然而,实际中训练像本数目有限,因此这种方法并不理想,要对经验风险进行必定的矫正。这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化
经验风险最小化的策略认为,经验风险最小的模型会使得指望风险最小化,于是是最优的模型。根据这一策略,按照经验经验风险最小化求解最优模型就是求解最优化问题:
$$ min_{f\in\bf{F}}\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i)) $$
其中 $\bf{F}$是假设空间。
当样本容量足够大时,经验风险最小化能保证很好得学习效果,在现实中被普遍采用,例如极大似然估计(maximum likelihood estimation)。
然而,当样本容量很小时,经验风险最小化学习得效果未必会好,每每模型表达过度,产生过拟合(over-fitting)现象。
结构风险最小化是为了防止过拟合而提出来得策略,结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项或罚项。在结社空间、损失函数以及训练数据集肯定的状况下,结构风险的定义是:
$$ R_{srm}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda{J(f)} $$
其中 $J(f)$ 为模型的复杂度,是定义在结构空间上的泛函,表示了对复杂模型的惩罚。$\lambda \geq 0$是系数。用于权衡经验风险和模型复杂度。结构风险须要经验风险与模型复杂度同时小。结构风险小的模型每每对训练数据以及未知的测试数据都有较好的预测。
结构风险最小化的策略认为结构风险最小的模型是最优的模型,随意求最优模型,就是求解最优化问题:
$$min_{f\in\bf{F}} \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda{J(f)}$$
这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题。
算法是指学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后须要考虑用什么样的及算方法求解最优模型。这时,同届学习问题归结为最优化问题。统计学习的算法成为求解最优化问题的算法。
统计学习的目的是使学到的模型对已知数据以及未知数据都能有很好的预测能力。不一样的学习方法会更长不一样的模型。当损失函数给定时,基于损失函数的模型训练偏差和测试偏差成为了学习方法评价的标准。统计学习方法具体采用的损失函数未必是评估时使用的损失函数,例如加了惩罚项的损失函数。固然,让二者已知是比较理想的。训练偏差的大小,对判断给定问题是否是一个容易学习的问题是有意义的,但本质不重要;测试偏差反映了学习方法对未知的测试数据集的预测能力(泛化能力),是学习中的重要概念。
但若是一味提升对训练数据的预测能力,所选模型的复杂度每每会比真实模型更高,这种现象称为过拟合。过拟合是指学习时选择的模型所包含的参数过多,以致于记住训练数据的特征,出现这一模型对已知数据预测得很好,但对未知数据预测得不好的现象。
解决这一问题的方法能够是这样:首先肯定模型的复杂度,而后在给定的模型复杂度下,按照经验风险最小化的策略,求解模型。
为了防止过拟合,经常使用的模型选择方法是正则化与交叉验证。
学习方法地泛化能力是指由该学习到地模型对未知数据地预测能力,是学习方法本质上重要的性质。
若是学到的模型是 $\hat{f}$,那么这个模型的对未知数据预测的偏差即为泛化偏差:
$$ R_{exp}(f)=E_p[L(Y, \hat{f}(X))] = \int_{\bf{x}\times\bf{y}}L(y,\hat{f}(x))P(x,y)dxdy $$
常采用测试偏差来评价学习方法的泛化能力。但因为测试数据的有限性,这种方法有时存在必定的不可靠性。事实上,泛化偏差就是所学模型的指望风险。
泛化能力的分析每每经过研究泛化偏差的几率上界进行的,简称泛化偏差上界。泛化偏差上界的性质:是样本容量的函数,当岩本容量增长时,泛化偏差上界趋于0;是假设空间容量的函数,假设空间越大,模型越难学习,泛化偏差上界越大。
监督学习方法又能够分红生成方法以及判别方法,所学到的模型分别称为生成模型和判别模型。生成方法由数据学习联合分布 $P(X,Y)$,而后求出条件几率分布 $P(Y|X)$ 做为预测的模型,即生成模型:$$P(Y|X) = \frac{P(X, Y)}{P(X)}$$之因此称为生成方法,是应为模型表示了给定输入产生输出的生成关系。典型的生成模型由朴素贝叶斯法和隐马尔可夫模型。判别方法由数据直接学习决策函数 $f(X)$ 或条件几率分布 $P(Y|X)$ 做为预测的模型,即判别模型。典型的判别模型包括:$k$近邻法、感知机、决策树、支持向量机等等。生成方法的特色:可还原出联合几率分布$P(X,Y)$, 而判别方法不能;收敛速度更快,当样本容量增长时,可更快的收敛于真实模型;存在隐变量时,任可以使用生成模型。判别模型的特色:判别方法直接学习的是条件几率或决策函数,直接面对预测,每每学习的准确率更高;因为直接学习 $f(X)$ 和 $P(Y|X)$,能够对数据进行各类程度上的抽象、定义特征并使用特征,所以能够简化学习问题。