Featured image of post 《神经网络与深度学习》 Ch2 机器学习概述

《神经网络与深度学习》 Ch2 机器学习概述

本章简单介绍了机器学习的基础知识以及一些基本术语,重点应当关注机器学习算法的三个基本要素:模型、学习准则以及优化算法。

机器学习三大要素

模型

输入空间 $X$ 与输出空间 $Y$

样本空间的样本$x$与$y$之间的关系可以是

  • 一个函数(真实映射函数)
  • 一个概率分布(真实条件概率分布): $p_r(y|x)$

分为线性和非线性

学习准则

就是怎么学习模型,或者说学习的目标

期望风险

(x,y) 服从$p_r(x,y)$时损失函数的期望,用于衡量模型$f(x;\theta)$ 的大小。 $$\mathcal{R}(\theta)=\mathbb{E}_{(x,y)\sim p_r(x,y)}[\mathcal{L}(y,f(x;\theta))]$$

损失函数

0-1损失

等于为0,不等于为1 问题在于则函数不连续,不能使用微积分工具

平方损失函数

$$\mathcal{L}(y,f(x;\theta))=\frac{1}{2}(y-f(x;\theta))^2$$

数学意义

详见知乎上的这篇文章。 概括地来说,一般在实际应用中,我们的训练数据都是海量的,根据中心极限定理,我们可以假定误差满足平均值u为0的正态分布。则,$p((x,y);\theta)$的分布为$$p((x,y);\theta)=\frac{1}{\sqrt{2\pi}\delta}exp({-\frac{(y-f(x;\theta )^2)}{2\delta^2}})$$。目标是让给定数据中概率最小,根据推导可知该目标等价于最优化$\frac{1}{2}(y-f(x;\theta))^2$。

一般用途

用于预测连续值(回归)任务上,不用于(或者说很少用于)分类。

交叉熵损失函数

对于两个概率分布,使用交叉熵来衡量他们的差异,y与$f(x;\theta)$的区别为$$\mathcal{L}(y,f(x;\theta))=-y^T ln(f(x;\theta))$$。因为在分类问题中yone-hot向量,所以上式等价于$$\mathcal{L}(y,f(x;\theta))=-ln(f_y(x;\theta))$$

交叉熵损失函数的风险函数为$$\mathcal{R}()=-\frac{1}{N}\sum_{n=1}^{N}y^T ln(f(x;\theta))$$

用于分类问题,因为是计算两个概率分布的差异。

风险最小化准则

经验风险最小化

在训练集的平均损失最小

结构风险最小化

避免过拟合。 $$\theta^*=argmin_\theta(\overline{\mathcal{L}(y,f(x;\theta))}+\frac{1}{2}\lambda||\theta||^2)$$ 后面的$||\theta||$就叫正则化项。 正则化项可以使用很多函数,比如各类范数。

优化算法

区分参数与超参数

批量梯度下降法/BGD

就是最传统的梯度下降法,基于多元微分学中"梯度指向方向的反方向为下降最快方向“这一句话作为原理,每一步都要狠狠的暴搜 $$ \begin{aligned} \theta_{t+1}&=\theta_t -\alpha \frac{\partial \mathcal{R}_D(\theta)}{\partial \theta} \end{aligned} $$ $\alpha$可叫学习率,也叫搜索步长。

引入提前停止

是什么?
为什么?

总而言之防止过拟合。因为训练过多会导致过拟合,而加入了提前停止这个方法后可以在”差不多得了“的地方停下来,否则可能过度训练导致泛化能力不增反减。在BGD中这个"差不多得了"的地方叫做"验证集上错误率不在下降的点”。

引入随机梯度下降法/SGD

为什么引入?

成本原因 之前的传统批量梯度下降法也叫BGD每一次迭代需要跑一整个训练集,消耗成本太大,而且也不是说效果好到哪里去。

做法

每次迭代采集一个样本,计算这个样本损失函数的梯度并更新参数。

一个好处

引入了随机噪声,因为一次迭代会随机排序样本,引入了随机噪声,非凸优化问题中更易逃离局部最优点。

减少传统的批量梯度下降法的成本,同时引入随机噪声。

小批量梯度下降法

对随机梯度下降法和批量梯度下降法的折中,既可以实现BGD的并行批量处理,又可以减少成本。 每次选择一个含有K个样本的子集$\mathcal{S}_t$做BGD。 实际上是一个样本选取粒度为K个样本的子集的SGD。 一般K可以设置为$2^n$,加快计算速度。

线性回归模型

参数学习

基于经验风险最小化原则

因为线性回归标签是连续函数值,所以采用平方损失函数作为损失函数衡量差异。

最小二乘法

实际上就是零凸函数偏导为0求无条件极值点罢了。 但也存在问题:$XX^T$必须可逆,也就是意味着$X$中行向量是线性无关的,也即是特征之间不相关

岭回归
  • 为什么?
    • 即使XX^T可逆,但特征间有较大的多重共线性,会导致模型的极大改变
  • 怎么做?
    • $$w^* = (XX^T+\lambda I)^{-1}Xy$$
    • 对角线元素增加一个常数使其 满秩,$\lambda$是超参数
  • 本质:结构风险最小化原则下的最小二乘法估计
极大似然估计

线性回归问题从建模条件概率角度来进行的参数估计。

最大后验估计

偏差-方差分解

一个用于平衡拟合能力和复杂度的工具

推导

自见P39

偏差

方差

变化情况

策略建议

评价指标

使用 Hugo 构建
主题 StackJimmy 设计