Foundation for machine learning

本文最后更新于:8 个月前

机器学习绪论

机器学习的三起两落:

第一次兴起,\(1958\ \mbox{Perception}\)\(1969\) \(\mbox{AI winter}\)

第二次兴起,\(1986\ \mbox{BP}\),在 \(\mbox{SVM}\) (隔壁统计学家)下跌落

第三次兴起,\(2006\ \mbox{DBN}\)\(2012\ \mbox{CNN}\)

最近预测下落两大原因:

\(①\) 自动驾驶在决策方面解决不了行人的无规律问题

\(②\) 存在使用 \(\mbox{idea}\) 骗取资本的诟病,使得资本注入减少

传统机器学习:人工设计特征

传统机器学习和深度学习:专家系统(人为指定一系列规则)$$ 经典机器学习\(\mbox{PCA}\) 进行分类

$$ 浅层机器学习 $$ 深度机器学习(浅层的特征,每加一层更加抽象,得到抽象特征后做一个 \(\mbox{mapping}\)

特征到标签的映射(二分类:\(\mbox{softmark relation}\)\(\mbox{logistic}\) 、决策树、\(\mbox{SVM}\)

深度学习的数学描述:\(f^1(f^2(f^3\cdots f^n(x)))\)

  • 前机器学习时代:花很多时间观察图像,绞尽脑汁选择或者设计特征,使用分类器进行训练和测试,结果不好的话就重新回到绞尽脑汁选择或设计特征步骤

  • 深度学习时代:花一定时间,挑选几个深度模型,选几个模型超参数,交给机器绞尽脑汁优化模型总的数千万/数权重参数

  • 后深度学习时代:花少量时间标注,让机器更绞尽脑汁学习模型

机器学习基础

三大要素

机器学习:在计算机上从数据中产生“模型"的算法,称为学习算法

例如,给定一系列芒果的性质以及其好坏,求另一种芒果性质的好坏

三个基本要素:模型学习准则优化算法

  • 模型:线性方法 : \(f(\boldsymbol{x} ; \theta)=\boldsymbol{w}^{\top} \boldsymbol{x}+b\),广义非线性方法 : \(f(\boldsymbol{x} ; \theta)=\boldsymbol{w}^{\top} \phi(\boldsymbol{x})+b\)

    \(\checkmark\) 如果 \(\phi(x)\) 为可学习的非线性基函数, \(f(x, \theta)\) 就等价于神经网络。

  • 学习准则:期望风险(期望误差 \(\mbox{Expected Risk}\) ,衡量模型的好坏),损失函数定义如下 \[ \mathcal{R}(\theta)=\mathbb{E}_{(\boldsymbol{x}, y) \sim p_{r}(\boldsymbol{x}, y)}\mathcal{L}(y, f(\boldsymbol{x} ; \theta)) \] 表征所有样本的差异,能量化模型预测和真实标签之间的差异,(期望风险最小化准则)

    \(0-1\) 损失函数,正确为 \(1\),错误为 \(0\),平方损失函数:\(\mathcal{L}(y, f(\boldsymbol{x} ; \theta))=(y-f(x, \theta))^{2}\)

    存在泛化错误 \(g_{\mathcal{D}}(f)=\mathcal{R}(f)-\mathcal{R}_{\mathcal{D}}^{e m p}(f)\),真实数据分布未知,期望风险不可以计算

    利用大数定律,使用经验风险最小化,转化为最优化问题,使下列函数最小,在 \(N\to \infty\) 时两者相同 \[ \mathcal{R}_{\mathcal{D}}^{e m p}(\theta)=\frac{1}{N} \sum_{n=1}^{N} \mathcal{L}(y, f(\boldsymbol x ; \theta)) \]

  • 优化算法:梯度下降,迭代法,其中 \(\alpha\) 定义为学习率 \[ \begin{aligned} \theta_{t+1} &=\theta_{t}-\alpha \frac{\partial \mathcal{R}_{\mathcal{D}}(\theta)}{\partial \theta} \\ &=\theta_{t}-\alpha \frac{1}{N} \sum_{n=1}^{N} \frac{\partial \mathcal{L}\left(y^{(n)}, f\left(x^{(n)} ; \theta\right)\right)}{\partial \theta} \end{aligned} \]

\(\alpha\) 必须选择恰当(如上图所示)

数学基础

正则化,一类通过限制模型复杂度,避免过拟合,提高泛化能力的犯法

\(l_1\)\(l_2\) 正则化,正方形、椭圆 \[ \begin{array}{llll} \hline & \text { 监督学习 } & \text { 无监督学习 } & \text { 强化学习 } \\ \hline \text { 训练样本 } & \text { 训练集 } & \text { 训练集 } & \text { 智能体和环境交互的 } \\ & \left\{\left(\mathbf{x}^{(n)}, y^{(n)}\right)\right\}_{n=1}^{N} & \left\{\mathbf{x}^{n}\right\}_{n=1}^{N} & \text { 轨迹 } \tau \text { 和累积奖励 } G_{\tau} \\ & & & \\ \text { 优化目标 } & y=f(\mathbf{x}) \text { 或 } p(y \mid \mathbf{x}) & p(\mathbf{x}) \text { 或带隐变量 } & \text { 期望总回报 } \mathbb{E}_{\tau}\left[G_{\tau}\right] \\ & & \mathbf{z} \text { 的 } p(\mathbf{x} \mid \mathbf{z}) & \\ \text { 学习准则 } & \text { 期望风险最小化 } & \text { 最大似然估计 } & \text { 策略评估 } \\ & \text { 最大似然估计 } & \text { 最小重构错误 } & \text { 策略改进 } \\ \hline \end{array} \] 向量的范数:

\(\ell_{1}\) 范数为向量的各个元素的绝对值之和. \(\displaystyle \|\boldsymbol{v}\|_{1}=\sum_{n=1}^{N}\left|v_{n}\right|\)

\(\ell_2\) 范数为向量的各个元素的方和根 \(\displaystyle \|\boldsymbol{v}\|_{2}=\sqrt{\sum_{n=1}^{N} v_{n}^{2}}=\sqrt{\boldsymbol{v}^{\top} \boldsymbol{v}}\)

\(\ell_{\infty}\) 范数 \(\ell_{\infty}\) 范数为向量的各个元素的最大绝对值 \(\|\boldsymbol{v}\|_{\infty}=\max \left\{v_{1}, v_{2}, \cdots, v_{N}\right\} .\)

矩阵的范数:

\(\ell_{p}\) 范数定义为 \(\displaystyle \|\boldsymbol{A}\|_{p}=\left(\sum_{m=1}^{M} \sum_{n=1}^{N}\left|a_{m n}\right|^{p}\right)^{1 / p} .\)

\(F\) 范数是向量的 \(l_{2}\) 范数的推广 \(\displaystyle \|\boldsymbol{W}\|_{F}=\sqrt{\sum_{m=1}^{M} \sum_{n=1}^{N}\left(w_{m n}\right)^{2}}\)

模型

  • 线性模型

    • 线性模型 ( Linear Model) 是机器学习中应用最广泛的模型,指通过样本特 征的线性组合来进行预测的模型

    • 分类问题 : 输出目标 \(y\) 是一些离散的标签(具体是哪一类)

      \(>\) 而特征的线性组合本身是连续值,即 \(f(x ; \boldsymbol{w})\) 的值域为实数 \(>\) 需要引入一个非线性的决策函数 \(g(\cdot)\) ,使输出符合预期离散值的目标

​ 分类决策问题,使用符号函数

  • \(\mbox{Logistic}\) 回归,把分类决策问题压缩压缩到 \([0,1]\) 区间内

\[ \sigma(x)=\dfrac{1}{1+e^{-x}} \]

​ 先用线性函数组合特征: \(f=\boldsymbol{\omega}^{\mathrm{T}} \boldsymbol{x}\),利用 \(g(\cdot)=\sigma(\boldsymbol{x})\) 作非线性决策: \[ \begin{aligned} p(y=1 \mid \boldsymbol{x}) &=\sigma\left(\boldsymbol{w}^{\top} \boldsymbol{x}\right) & p(y=0 \mid \boldsymbol{x}) &=1-p(y=1 \mid \boldsymbol{x}) \\ & \triangleq \frac{1}{1+\exp \left(-\boldsymbol{w}^{\top} \boldsymbol{x}\right)} & &=\frac{\exp \left(-\boldsymbol{w}^{\top} \boldsymbol{x}\right)}{1+\exp \left(-\boldsymbol{w}^{\top} \boldsymbol{x}\right)} \end{aligned} \]\(Logistic\) 回归可以看作预测值为标签的对数几率的线性回归模型。因此, Logistic 回归也称为对数几率回归 \[ \boldsymbol{w}^{\top} \boldsymbol{x}=\log \frac{p(\bar{y}=1 \mid \boldsymbol{x})}{1-p(y=1 \mid \boldsymbol{x})} \quad \text { 样本为正负例的后验概率的比值 } \] ​ 衡量两个条件概率的差距,引入熵的概念,自信息 \(I(x)=-\ln (p(x))\)自信息的期望 \[ \begin{aligned} H(X) &=\mathbb{E}_{X}[I(x)] =\mathbb{E}_{X}[-\log p(x)] =-\sum_{x \in X} p(x) \log p(x) \end{aligned} \] ​ 对分布 \(p(x)\) 的信息进行编码时,为自信息的期望为该信息编码所需要的最小长度

​ 例如,如果选择题 \(ABCD\) 四个答案的概率为 \(\dfrac{1}{4}\) 计算自信息的期望 \(-4\cdot \dfrac{1}{4}\log(\dfrac{1}{4})=-2\log(2)\)

​ 计算机编码时就规定 \(\log=\log_2\)

交叉熵按照概率分布 \(q\) 的最优编码对真实分布为 \(p\) 的信息进行编码的长度 \[ \begin{aligned} H(p, q) =\mathbb{E}_{p}[-\log q(x)] =-\sum_{x} p(x) \log q(x) \end{aligned} \] ​ 基于交叉熵损失函数可以得到损失函数公式(准则),如果两个分布越靠近,交叉熵就会越小 \[ \mathcal{R}(\mathbf{w})=-\frac{1}{N} \sum_{n=1}^{N}\left(y^{(n)} \log \hat{y}^{(n)}+\left(1-y^{(n)}\right) \log \left(1-\hat{y}^{(n)}\right)\right) \] ​ 优化算法,求导有公式

​ 对一维数据拟合时该回归更好

  • \(Softmax\) 回归,多类或多项 \(Logistic\) 回归,是上者的推广,其三要素如下

​ 模型 \[ p(y=c \mid \boldsymbol{x})=\operatorname{softmax}\left(\boldsymbol{w}_{c}^{\top} \boldsymbol{x}\right)=\frac{\exp \left(\boldsymbol{w}_{c}^{\top} \boldsymbol{x}\right)}{\sum_{c^{\prime}=1}^{C} \exp \left(\boldsymbol{w}_{c^{\prime}}^{\top} \boldsymbol{x}\right)}, \] ​ 学习: 交叉熵损失 \(\quad \mathcal{R}(\boldsymbol{W})=-\frac{1}{N} \sum_{n=1}^{N} \sum_{c=1}^{c} \boldsymbol{y}_{c}^{(n)} \log \hat{\boldsymbol{y}}_{c}^{(n)}\) \[ =-\frac{1}{N} \sum_{n=1}^{N}\left(\boldsymbol{y}^{(n)}\right)^{\top} \log \hat{\boldsymbol{y}}^{(n)}, \] ​ 优化算法 :梯度下降 \[ \frac{\partial \mathcal{R}(\boldsymbol{W})}{\partial \boldsymbol{W}}=-\frac{1}{N} \sum_{n=1}^{N} \boldsymbol{x}^{(n)}\left(\boldsymbol{y}^{(n)}-\hat{\boldsymbol{y}}^{(n)}\right)^{\top} \]

  • 感知机(最简单的神经网络,一个神经元)

​ 模型: \[ g(\mathbf{x}, \mathbf{w})=\left\{\begin{array}{lll}+1 & \text { 当 } & \mathbf{w}^{\mathrm{T}} \mathbf{x}>0, \\ -1 & \text { 当 } & \mathbf{w}^{\mathrm{T}} \mathbf{x}<0 .\end{array}\right. \] ​ 学习准则 : \[ \mathcal{L}(\mathbf{w} ; \mathbf{x}, y)=\max \left(0,-y \mathbf{w}^{\mathrm{T}} \mathbf{x}\right) \] ​ 优化算法:随机梯度下降 \[ \frac{\partial \mathcal{L}(\mathbf{w} ; \mathbf{x}, y)}{\partial \mathbf{w}}= \begin{cases}0 & \text { 当 } y \mathbf{w}^{\mathrm{T}} \mathbf{x}>0, \\ -y \mathbf{x} & \text { 当 } y \mathbf{w}^{\mathrm{T}} \mathbf{x}<0 .\end{cases} \]

\[ \begin{equation} \begin{array}{llll} \text { 线性模型 } & \text { 激活函数 } & \text { 损失函数 } & \text { 优化方法 } \\ \hline \text { 线性回归 } & - & \left(y-\boldsymbol{w}^{\top} \boldsymbol{x}\right)^{2} & \text { 最小二乘、梯度下降 } \\ \text { Logistic 回归 } & \sigma\left(\boldsymbol{w}^{\top} \boldsymbol{x}\right) & \boldsymbol{y} \log \sigma\left(\boldsymbol{w}^{\top} \boldsymbol{x}\right) & \text { 梯度下降 } \\ \text { Softmax回归 } & \operatorname{softmax}\left(\boldsymbol{W}^{\top} \boldsymbol{x}\right) & \boldsymbol{y} \log \operatorname{softmax}\left(\boldsymbol{W}^{\top} \boldsymbol{x}\right) & \text { 梯度下降 } \\ \text { 感知器 } & \operatorname{sgn}\left(\boldsymbol{w}^{\top} \boldsymbol{x}\right) & \max \left(0,-y \boldsymbol{w}^{\top} \boldsymbol{x}\right) & \text { 随机梯度下降 } \end{array} \end{equation} \]


Foundation for machine learning
https://lr-tsinghua11.github.io/2022/05/08/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80/
作者
Learning_rate
发布于
2022年5月8日
许可协议