第5章 机器学习基础
监督学习和无监督学习没有清晰的界限 概率的链式法则表明表面上的无监督学习可分解为n个监督学习 监督问题可利用无监督学习获取联合分布进行贝叶斯推断
数据表示方式:设计矩阵为主,样本向量的集合、图……
对训练集和测试集数据假设采用数据生成过程的随机分布生成,假设i.i.d,则训练集和测试集共享相同的数据生成分布,即训练集误差期望与测试集误差期望一致
奥卡姆剃刀
Vapnik-Chervonenkis维度(VC维)
深度学习中的一般非凸优化问题只有很少的理论分析
最近邻回归
理想模型假设我们预先知道生成数据的真实分布,但由于噪声的存在,即使知道真实分布预测仍然存在误差——贝叶斯误差
没有免费午餐定理
正则化
算法的效果很大程度受假设空间的函数数量和函数形式 在假设空间中,相比于某一算法,我们可能更偏好于另一算法;即两个都符合条件的函数,只有非偏好函数在训练集上表现显著优于偏好函数时我们才考虑使用非偏好函数
正则化是指修改学习算法,使其更注重降低泛化误差而非训练误差 通过给目标函数添加正则化项的惩罚来正则化学习函数$f(x;\theta)$模型,表明对算法的偏好
带权重衰减(L2正则化) 的线性回归模型岭回归 $J(\mathcal{w})=MSE_{train}+\lambda w^{T}w$ 新目标函数为均方误差与正则项之和 表明偏好平方$L_{2}$范数较小的权重 在大量特征上均匀分布权重 Lasso回归:L1正则化的线性回归模型 获取稀疏解 权重集中在少量特征上
常用测试集样本误差的置信区间分析泛化误差
偏差&方差 $\begin{aligned}MSE&=\mathbb{E}[(\hat{\theta_{m}}-\theta)^{2}]\ &=Bias(\hat{\theta})^{2}{m}+Var(\hat{\theta}{m})\end{aligned}$ 同时考虑了偏差和方差
最大似然估计:使模型分布尽可能与经验分布相匹配 当样本数目$m\to \infty$ 时,就收敛率而言最大似然估计是最好的渐进估计 最大似然估计通常是机器学习中的首选估计方法
条件对数似然 $\theta_{ML}= \mathop{\arg\max}\limits_{\theta}\ P(Y|X;\theta)$ 若样本符合i.i.d. $\theta_{ML}= \mathop{\arg\max}\limits_{\theta}\ \sum\limits_{i=1}^{m}logP(y^{i}|x^{i};\theta)$ 当$p(y|x)=\mathcal{N}(y;\hat{y}(x;w),\sigma^2)$ $\hat{y}(x;w)$为预测高斯的均值 $\therefore \sum\limits_{i=1}^{m}log\ P(y^{i}|x^{i};\theta)=-m\ log\sigma- \frac{m}{2}log(2\pi)-\sum\limits_{i=1}^{m} \frac{||\hat{y}^{i}-y^{i}||^{2}}{2\sigma^{2}}$ $P(Y|X;\theta)=\frac{1}{\sqrt{2\pi}\sigma}e^{\frac{-||\hat{y}^{i}-y^{i}||^{2}}{2\sigma^{2}}}$
贝叶斯统计
先验概率分布$p(\theta)$:$\theta$的已知知识 实践中通常选用宽泛的先验分布,以反映观测前参数的高度不确定性——常用均匀分布&高斯分布 极大似然估计与贝叶斯估计两大区别:
-
贝叶斯方法使用参数的全分布,观测到$m$个样本后,下一个样本$x^{m+1}$的预测分布$p(x^{m+1} x^{1},…,x^{m})=\int p(x^{m+1} \theta)p(\theta x^{1},…,x^{m})d\theta$每一个具有正概率密度的$\theta$的值有助于下一个样本的预测,其中贡献由后验密度加权 - 先验能够影响概率质量密度朝参数空间中偏好先验的区域偏移
- 贝叶斯的批评:先验是人为主观判断,影响预测
贝叶斯线性回归
$\hat{y}=\mathcal{w}^{T}x$ 给定$m$个样本训练集:$\hat{y}=X\mathcal{w}$ 根据MSE公式假设$y$上的高斯方差为1 $y$上的高斯条件分布: $P(y|X,w)=\mathcal{N}(y;X,w,I)\propto e^{- \frac{1}{2}(y-Xw)^{T}(y-Xw)}$ 指定参数向量$w$的先验分布 $\begin{aligned}p(w)=\mathcal{N}(w;\mu_{0},\Lambda_{0})&= \frac{1}{\sqrt{2\pi}\mu_{0}}e^{-\frac{1}{2}(w-\mu_{0})^{T}\Lambda_{0}^{-1}(w-\mu_{0})}\&\propto e^{-\frac{1}{2}(w-\mu_{0})^{T}\Lambda_{0}^{-1}(w-\mu_{0})}\end{aligned}$ $\mu_{0}$ :先验分布均值向量;$\Lambda_{0}$:协方差矩阵 后验分布 $\begin{aligned}P(w|X,y)&\propto P(y|X,w)p(w)\&\propto e^{-\frac{1}{2}(y-Xw)^{T}(y-Xw)}e^{-\frac{1}{2}(w-\mu_{0})^{T}\Lambda_{0}^{-1}(w-\mu_{0})}\&\propto e^{- \frac{1}{2}(-2y^{T}Xw+w^{T}X^{T}Xw+w^{T}\Lambda_{0}^{-1}w-2\mu_{0}^{T}\Lambda_{0}^{-1}w)}\由多元高斯分布指数&部分展开解得:关于w的二次项\Lambda_{m}=(X^{T}X+\Lambda_{0}^{-1})^{-1}\和一次项&\mu_{m}=\Lambda_{m}(X^{T}y+\Lambda_{0}^{-1}\mu_{0})\&\propto e^{- \frac{1}{2}(w-\mu_{m})^{T}\Lambda_{m}^{-1}(w-\mu_{m})+ \frac{1}{2}\mu_{m}^{T}\Lambda_{m}^{-1}\mu_{m})}\&\propto e^{- \frac{1}{2}(w-\mu_{m})^{T}\Lambda_{m}^{-1}(w-\mu_{m})}\end{aligned}$
$注:关于w的二次项:w^{T}(\sigma^{-2}X^TX+\Lambda_{0}^{-1})w=w^{T}\Lambda_{m}w$ $关于w的一次项:\sigma^{-2}y^{T}Xw=\mu_{m}^{T}\Lambda_{m}^{-1}w$ 预测:$P(y^{}|Data,x^{})=y^{}\backsim \mathcal{N}(x^{}\mu_{m},x^{T}\Lambda_{m}x^{}+\sigma^2)$
贝叶斯估计会给出一个协方差矩阵,表示$w$所有不同值的可能范围,而不是点估计
最大后验(MAP)估计
对于大多数有意义的模型而言,贝叶斯后验的计算非常棘手,点估计提供了一个可行的近似解 MAP估计选择后验概率最大的点 $\theta_{MAP}=\mathop{\arg\max}\limits_{\theta}\ P(\theta|x)=\mathop{\arg\max}\limits_{\theta}\ log\ p(x|\theta)+log\ p(\theta)$ $log\ p(x|\theta)$对数似然项;$log\ p(\theta)$先验分布
MAP贝叶斯推断优势是能够利用先验信息 先验信息有助于减少最大后验点估计的方差,但牺牲了偏差 权重衰减正则化的最大似然学习可被理解为贝叶斯推断的MAP近似
SVM
经典的支持向量机只输出类别,当$w^{T}x+b$为正时预测正类 SVM是可以对不可线性分离的数据进行分类的线性模型 核技巧 kernel trick是一种运算技巧,能够把低维数据映射到高维并简便计算 观察到许多算法都能写成样本间点积的形式$w^{T}x+b=b+\sum\limits_{i=1}^{m}\alpha_{i}x^{T}x^{i}$ 写法的重排允许我们使用核函数替换点积 核函数:$k(x,x^{i})=\phi(x)\cdot\phi(x^i)$ 使用核函数替换点积后线性函数可以重写为:$f(x)=b+\sum\limits_{i}\alpha_{i}k(x,x^{i})$ 该函数关于$x$是非线性的;关于$\phi(x)$是线性的 即:采用核函数预处理所有输入,并在新的转换空间内学习线性模型 核函数使用保证有效收敛的凸优化技术学习非线性模型并且核函数计算效率通常高于点积形式的计算
高斯核(径向基函数RBF核) $k(\mathcal{u},\mathcal{v})=\mathcal{N}(\mathcal{u}-\mathcal{v};0,\sigma^{2}I)$ 其中$\mathcal{N}(x;\mu,\Sigma)$是标准正态分布 核函数值沿$v$中从$u$向外辐射的方向减少 对应于无限维空间的点积
核方法的主要缺点是计算决策函数的成本关于训练样本的数目是线性的
3种简单表示:低维表示、稀疏表示、独立表示
PCA与表示
PCA基于低维表示(比原始输入更低维);独立表示(元素之间无线性关系)
中心化的设计矩阵$X$有$\mathbb{E}(x)=0$ $X$的无偏样本协方差矩阵$Var(x)= \frac{1}{m-1}X^{T}X$
PCA通过线性变换后的数据$z=W^{T}x$ 已知PCA最优解码器D(X主成分)由$X^{T}X$的特征向量给定 $\therefore X^{T}X=W\Lambda W^{T}$
从奇异值分解的角度,$W$是奇异值分解$X=U\Sigma W^{T}$的右奇异向量 奇异向量正交$U^{T}U=I$ $\begin{aligned}\therefore Var(x)&= \frac{1}{m-1}X^{T}X\ &= \frac{1}{m-1}(U\Sigma W^{T})^{T}U\Sigma W^{T}\&= \frac{1}{m-1}W\Sigma^{T}U^{T}U\Sigma W^{T} \&= \frac{1}{m-1}W\Sigma^{2}W^{T}\end{aligned}$ $\begin{aligned}\therefore Var(z)&= \frac{1}{m-1}Z^{T}Z\&= \frac{1}{m-1}W^{T}X^{T}XW\&= \frac{1}{m-1}W^{T}W\Sigma^{2}W^{T}W\&= \frac{1}{m-1}\Sigma^{2}\end{aligned}$ $\therefore$通过线性变换$W$将数据投影到$z$时,数据表示的协方差矩阵是对角阵,即$z$中元素彼此没有线性相关表示 PCA通过寻找输入空间的一个旋转($W$)使方差的主坐标和$z$相关的新表示空间对其,消除数据中未知变化因素,实现简单表示
K均值聚类通过one-hot编码进行稀疏表示 聚类问题是病态的,无法判断真实世界效果
随机梯度下降SGD
经典的梯度下降算法在处理相加的代价函数时计算代价为$O(m)$ 当处理大数据时,经典的梯度下降算法计算代价过大
SGD核心思想:梯度是期望,期望可以用小规模的样本近似估计
每一步从训练集中均匀抽取小批量(minibatch)样本$\mathbb{B}={x^{1},…,x^{m’}}$进行梯度估计 参数更新:$\theta\leftarrow \theta-\eta g$
许多简单的算法广泛采用的隐式先验是局部不变性先验,表明学习的函数不在小区域内发生很大的变化——泛化受限
深度学习的核心思想是假设数据有因素或特征组合产生
流形:连接在一起的区域。指一组点,每个点都有其邻域,给定任意一个点,其流形局部看似欧几里得空间 机器学习中流形定义更为宽松