机器学习概念,公式总结

一. 引言

1.机器学习是什么

Arthur Samuel:在进行特定编程的情况下,给予计算机学习能力的领域。
Tom Mitchell:一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升。

2.机器学习导图

正面.jpeg

图的左半部分列出了常用的机器学习算法与它们之间的演化关系,分为有监督学习,无监督学习,强化学习3大类。右半部分列出了典型算法的总结比较,包括算法的核心点如类型,预测函数,求解的目标函数,求解算法。
另一个角度总结:


image.png

3.机器学习分类及应用

分类

监督学习:对于有标签的数据进行学习,目的是能够正确判断无标签的数据。通俗的讲,老师教授学生知识,并告知学习过程中的对与错,让学生可以从所学知识的经验和技能中对没有学过的问题进行正确回答,这就是监督学习,用于预测数据的回归、分类标签的分类、顺序的排序等问题。

无监督学习:对于无标签的数据进行学习,目的是不仅能够解决有明确答案的问题,也可以对没有明确答案的问题进行预测。通俗的讲,学生通过自学学习知识,达到可以正确回答有答案的问题,也可以对无答案的问题进行预测归类。常用于聚类、异常检测等。

强化学习:学生学习知识时,没有老师对其进行对与错的判定,需要学生根据自己所拥有的信息自己判定对于错,如果能够判定出来,则为有监督学习;如果判定不出来对与错,则为无监督学习。常用于机器人的自动控制、游戏的人工智能、市场战略的最优化等。

应用

监督学习应用:手写文字识别、声音处理、图像处理、垃圾邮件分类与拦截、网页检索、基因诊断、股票预测......(回归、分类、排序)

无监督学习应用:人造卫星故障诊断、视频分析、社交网站解析、声音信号解析.....(聚类、异常检测)

强化学习应用:机器人的自动控制、计算机游戏中的人工智能、市场战略的最优化(回归、分类、聚类、降维)

4.机器学习方法

  • 生成式分类
  • 判别式分类

生成式分类和判别式分类

已知模式x, 求分类类别y的条件概率p(y|x)最大的类别: \hat{y} = \underset{y}{\arg\max} p(y|x)

条件概率改写为y的函数: p(y|x) = \frac{p(x,y)}{p(x)} \propto p(x,y)
联合概率p(x,y)和后验概率p(y|x)成正比,故直接求联合概率最大值即可: \hat{y} = \underset{y}{\arg\max p(x,y)}

条件概率p(y|x)也称后验概率, 联合概率p(x,y)也称数据生成概率

直接对后验概率p(y|x)学习的过程称为判别式分类
通过预测数据生成概率p(x,y)学习的过程称为生成式分类

数据生成概率p(x,y)已知时可推出后验概率: p(y|x) = \frac{p(x,y)}{p(x)} = \frac{p(x,y)}{\sum_y{p(x,y)}}, 反之不可以.

统计概率和朴素贝叶斯

  • 统计概率方法
    已知样本D=\{(x_i,y_i)\}_{i=1}^{n}, 求运用最大似然方法来求模式\theta:
    \underset{\theta}{max}\prod_{i=1}^yq(x_i,y_i;\theta)

目标: 由训练集得到高精度的\theta

  • 朴素贝叶斯方法
    计算模式\theta的先验概率p(\theta),运用贝叶斯定理来求数据集D的后验概率p(\theta|D):
    p(\theta|D)=\frac{p(D|\theta)p(\theta)}{p(D)} = \frac{\int\prod_{i=1}^nq(x_i,y_i|\theta)p(\theta)}{\int\prod_{i=1}^nq(x_i,y_i|\theta)p(\theta)d\theta}
    目标: 如何精确计算后验概率p(\theta)

5.强化学习(RL),监督学习(SL)和无监督学习(UL)的区别和联系

下面这段话解释了得很清楚:

Reinforcement learning is a problem. Deep learning is an approach to solving problems.There is a deep learning approach to supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.

划重点:

  • Supervised Learning: given data, predict labels
  • Unsupervised Learning: given data, learn about that data
  • Reinforcement learning: given data, choose action to maximize expected long-term reward
  • RL更像控制系统家族里的,流着控制的血液,披着机器学习的外衣,需要data,training以此来支持决策。RL可以decision-making,不同于决策树之类的决策,是控制角度的决策,意味着就有失误,伴随着收益与惩罚(股票,博弈,游戏得分等等)。

细一点来说,RL与SL的区别有:

  • 喂数据的方式不同:强化学习(RL)的数据是序列的、交互的、并且还是有反馈的(Reward)-【MDP]。这就导致了与监督学习(SL)在优化目标的表现形式的根本差异:RL是一个决策模型,SL更偏向模式挖掘,低阶的函数逼近与泛化。RL是agent自己去学习,SL是跟着programmer的idea在收敛。
  • RL的target是估计得来的,符合bellman等式,SL的target是fixed label;RL可以融合SL来训练,RL还可以自己博弈来生成样本。[交互特性,也可以放到第一点中]
  • RL可以进行lifelong形式的学习。RL有“生命”的【你可能也不知道你训练出来的模型到底能干什么】,SL没有。

二. 机器学习模型

1. 线性模型

一维输入+基函数形式:

f_\theta(x) = \sum_{j=1}^b\theta_j\phi_j(x) = \theta^T\phi(x)
\phi_j(x)非线性时, f_\theta(x)可以表示复杂模型
基函数:
(1) 多项式
\phi(x) = (1, x, x^2, ..., x^{b-1})^T

(2)三角多项式
\phi(x) = (1, sinx, cosx, sin2x, cos2x, ..., sinmx, cosmx)^T

多维输入形式:

f_\theta(\vec x) = \sum_{j=1}^b\theta_j\phi_j(\vec x) = \theta^T\phi(\vec x)

\phi_j(x)是基函数向量\phi(x) = (\phi_1(x), ..., \phi_b(x))^T)的第j个因子, \theta_j是参数向量\theta=(\theta_1,...,\theta_b)^T的第j个因子.

基函数:
(1) 乘法模型
f_\theta(\vec x) = \sum_{j_1=1}^{b'} \cdots \sum_{j_d=1}^{b'} \theta_{j_1,...,j_d} \phi_{j_1}{(x^{(1)}}) \cdots \phi_{j_d}(x^{(d)})
模型表现力丰富, 其中, b'代表各维参数个数, 参数总和(b′)^d, 易导致维数灾难.
(2) 加法模型
θ(x)=\sum_{k=1}^d\sum_{j=1}^{b'}\theta_{k,j}\phi_j(x^{(k)})
参数总和b'd, 复杂度小, 表现力差

2. 核模型

线性模型基函数和训练样本无关,核模型的基函数会使用输入样本.

核模型是二元核函数K(\cdot,\cdot), 以K(\vec x, x_j)_{j=1}^n的方式线性结合:

f_\theta(x) = \sum_{j=1}^n\theta_jK(x,x_j)

高斯核:
K(x,c) = exp(-\frac{\|x-c\|^2}{2h^2})
, 其中\|\cdot\|表示L2范数\|x\|=\sqrt{x^Tx}, h和c是高斯函数带宽和均值

高斯核函数图:


一维高斯核


如图, 只在各个样本
\{x_i\}_{i=1}^n
附近近似, 减轻了维数灾难

参数个数不依赖输入变量维数d, 只由样本数n决定

样本数n很大时, 将样本\{x_i\}_{i=1}^n的子集\{c_j\}_{j=1}^b作为核均值计算, 抑制了计算负荷:
f_\theta(x)=\sum_{j=1}^b\theta_jK(x,c_j)

核模型是参数向量\vec \theta=(\theta_1,\cdots,\theta_n)^T的线性形式, 因此也是基于参数的线性模式的特例.

基于参数的线性模型称为参数模型, 核模型称为非参数模型

核映射: 核模型易扩展,当输入样本不是向量时(字符串,决策树, 图表等),通过构造两个样本x和x'的和核函数K(x,x')来建模.

3. 层级模型

非线性模型: 和参数相关的不是线性的模型均称为非线性模型
非线性模型中的层级模型:
f_\theta(x) = \sum_{j=1}^b\alpha_j\phi(x;\beta_j)
上式中, \phi(x;\beta_j)是包含参数向量\vec \beta的基函数, \vec \alpha是参数向量
层级模型是基于参数向量\vec \theta = (\vec \alpha^T, \beta_1^T, \cdots, \beta_b^T)^T非线性形式

S型基函数:
\phi(x;\beta) = \frac{1}{1+exp(- x^T \omega-\gamma)}, \beta = (\omega^T, \gamma)^T

S型基函数

高斯基函数:
\phi(x;\beta) = exp(-\frac{\|x-c\|^2}{2h^2}), \beta = (c^T, h)^T

高斯基函数

  • 使用S型核函数的层级模型称为人工神经网络

  • 上式中的高斯函数和核模型中的高斯核相同,但是带宽和均值非固定

  • 层级模型会对耦合系数\{\alpha_j\}_{j=1}^b,带宽均值都进行学习, 因此层级模型比核函数更灵活.

  • 人工神经网络学习过程艰难: 参数\theta和函数f_\theta不是一一对应的

  • 常采用贝叶斯方法学习人工神经网络

三. 最小二乘法(LS)

1. 无约束最小二乘法

对模型均方误差最小化时的参数\theta学习的方法.

若无特别说明, 下文提到的最小二乘法通指无约束的.

均方误差:
J_{LS}(\theta) = \frac{1}{2}\sum_{i=1}^n(f_\theta(x_i)-y_i)^2

LS: Least Squares
学习目标:
\hat\theta_{LS} = \underset{\theta}{\arg\min}J_{LS}(\theta)

平方误差(f_\theta(x_i)-y_i)^2是残差|f_\theta(x_i)-y_i|L2范数, 最小二乘法也称 L_2损失最小化学习法

加权最小二乘法
对训练样本平方差通过权重w_i加权, 再使用最小二乘法:
\underset{\theta}{min}\frac{1}{2}\sum_{i=1}^nw_i(f_\theta(x_i)-y_i)^2

核模型的最小二乘法求解:
f_\theta(x) = \sum_{j=1}^n\theta_jK(x,x_j)
上式, 将设计矩阵\Phi置换为核矩阵K:
K = \begin{pmatrix} K(x_1,x1) &\cdots &K(x_1,x_n) \\ \vdots &\ddots & \vdots \\ K(x_n,x_1) &\cdots & K(x_n,x_n) \end{pmatrix}

线性模型中的应用

f_\theta(x) = \sum_{j=1}^b\theta_i\phi_i(\mathbf x) = \theta^T\phi(x)

平方误差:
J_{LS}(\theta) = \frac{1}{2}\|\Phi \mathbf \theta-\mathbf y\|^2

\Phi构成的nxb阶设计矩阵:
\Phi = \begin{pmatrix} \phi_1(x_1) &\cdots &\phi_b(x_1) \\ \vdots &\ddots &\vdots \\ \phi_1(x_n) &\cdots &\phi_b(x_n) \\ \end{pmatrix}

关于参数向量\theta的偏微分:
\nabla \theta_{LS} = (\frac{\partial J_{LS}}{\partial \theta_1}, \cdots, \frac{\partial J_{LS}}{\partial \theta_b})= \Phi^T\Phi\theta-\Phi^T\mathbf y
\nabla \theta_{LS}=0J_{LS}(\theta)取得最小值, 此时最小二乘解满足\Phi^T\Phi \theta=\Phi^T\mathbf y

解得:
\hat \theta_{LS} = (\Phi^T\Phi)^{-1}\Phi^Ty

注: 只有\Phi^T\Phi有逆矩阵时上式才成立

广义逆矩阵: 是对逆矩阵的推广, 只有方阵, 非奇异矩阵才有逆矩阵, 单矩形矩阵或奇异矩阵都可以定义广义逆矩阵
令广义逆矩阵为:
\Phi^{\dagger} = (\Phi^T\Phi)^{-1}\Phi^T
, 则\hat \theta_{LS}可写为:
\hat \theta_{LS} = \Phi ^{\dagger}y

最小二乘法学习基于三角多项式基函数的线性模型:


无约束最小二乘法解的性质

设计矩阵\Phi的奇异值分解:

\phi = \sum_{k=1}^{min(n,b)}\kappa_k\psi_{k} \varphi_k^T

\kappa_k, \psi_{k}, \varphi_k分别称为奇异值, 左奇异向量, 右奇异向量.

  • 奇异值非负
  • 奇异向量满足正交性

\Phi的广义逆矩阵:
\Phi^{\dagger} =\sum_{k=1}^{min(n,b)}\kappa_k^{\dagger}\psi_{k} \varphi_k^T

\kappa _k^{\dagger}是标量\kappa的广义逆矩阵, \kappa^{\dagger} = \frac{1}{\kappa} (\kappa \neq 0时)

最小二乘解表示为:
\hat \theta_{LS}= \sum_{k=1}^{min(n,b)}\kappa_k^{\dagger}(\psi_{k}^Ty) \varphi_k

模型输出向量变换为列向量:
(f_{\hat \theta_{LS}}(x_1), \cdots, f_{\hat \theta_{LS}}(x_n))^T = \Phi\hat \theta_{LS} = \Phi\Phi^{\dagger}\mathbf{y}

因此, \Phi\Phi^{\dagger}\Phi的正交投影矩阵, 最小二乘法输出向量\mathbf y是值域R(\Phi)的正交投影得到的.

带入真实函数中的参数\theta^*:
(f(x_1), \cdots, f(x_n))^T = \Phi \theta^*
可知, 真的输出值向量就存在于R(\Phi)

结论: 用最小二乘法的向量若是由R(\Phi)的正投影得到的, 则可以有效去除y中的噪音:

噪声期望为0是, \hat \theta_{LS}就是真是参数\theta^*的无偏估计:
E[\hat \theta_{LS}] = \theta^*
上式, E为噪声的期望

渐近无偏性:
增加训练样本n, 上式$E[\hat \theta_{LS}]会向着模型中最优参数方向收敛的性质

大规模学习

一般线性模型J_{LS}为凸函数.
凸函数: 连接任意两点\theta_1,\theta_2的线段一定在函数上不:

凸函数只有一个峰值,因此通过梯度法一定可以得到均方差J_{LS}在值域范围内的全局最优解

梯度法的收敛速度强烈依赖梯度下降步长, 以及收敛结果判定方式(提前终止).

2.带约束条件的最小二乘法

单纯的最小二乘法容易过拟合, 带约束的最小二乘法能控制模型复杂度, 降低过拟合.

部分空间约束的LS

含参线性模型, 使用全体参数空间:
f_{\theta}(x) = \sum_{j=1}^b\theta_j\phi_j(x) = \theta^T\phi(x)

将参数空间限制在一定范围内, 防止过拟合:
\underset{\theta}{min}J_{LS}(\theta) \quad 约束条件 P\theta=\theta

P是bxb维矩阵,是P的值域R(P)正交投影矩阵

部分空间约束的最小二乘法解\hat \theta通过将设计矩阵\Phi置换为\Phi P求得:
\hat \theta = (\Phi P)^\dagger\, y

下图展示了添加部分空间约束对模型的影响:


image.png

上图用三角多项式作为基函数:
\phi(x) = (1, sin\frac{x}{2},cos\frac{x}{2},sin\frac{2x}{2},cos\frac{2x}{2}, \cdots, sin\frac{15x}{2},cos\frac{15x}{2})^T

图(b)添加了约束条件, 将参数限制在
(1, sin\frac{x}{2},cos\frac{x}{2},sin\frac{2x}{2},cos\frac{2x}{2}, \cdots, sin\frac{5x}{2},cos\frac{5x}{2})^T
的部分空间内:

image.png

L2约束的LS

1. 标准L2约束的LS

部分空间约束的LS(最小二乘法), 正交投影矩阵P的设置自由度高, 操作难度大, 基于L2约束的LS相对较容易.

约束条件如下:
\underset{\theta}{min}J_{LS}(\theta)\quad 约束条件\|\theta\|^2 \leq R

L2参数空间:


L2约束的最小二乘学习法参数空间

如图, 是一个参数空间原点为圆心,R为半径内的圆(一般为超球)

引入拉格朗日对偶问题:


拉格朗日对偶问题

利用拉格朗日对偶问题, 求解:
\underset{\lambda}{max} \;\underset{\theta}{min} [ J_{LS}(\theta) + \frac{\lambda}{2}(\|\theta\|^2-R)] \; s.t.\;\lambda \ge 0

的最优解问题, 可得到最优化问题\underset{\theta}{min}J_{LS}(\theta)的解.

上式中拉格朗日待定因子\lambda的解由圆半径R决定

简化版(不由R决定\lambda):
\hat{\theta} = \underset{\theta} {argmin}[ J_{LS}(\theta) + \frac{\lambda}{2}\|\theta\|^2]

上式J_{LS}(\theta)表示对样本拟合程度, 与\frac{\lambda}{2}\|\theta\|^2组合得到最小是, 防止过拟合

上式令关于\theta的导数为0, L2约束的LS的解\theta可通过下式求解:
\hat \theta = (\Phi^T\Phi+\lambda I)^{-1}\Phi^T\mathbf y
上式结论:

  • 将矩阵\Phi^T\Phi和\lambda I相加提高其正则性, 进而更稳定地进行逆矩阵求解.
  • L2约束的LS也成为L2正则化的LS, \|\theta\|^2称为正则项, \lambda为正则化参数
  • L2正则化有时也称岭回归

将设计矩阵\Phi做奇异值分解:
\Phi = \sum_{k=1}^{min(n,b)}\kappa_k\psi_k\varphi_k^T

带入上上式, 则L2约束的LS解\hat \theta表示为:
\kappa_k\psi_k\varphi_k^T\\ \hat{\theta} = \sum_{k=1}^{min(n,b)} \frac{\kappa_k}{(\kappa_k^2 + \lambda)}\psi_k^Ty\varphi_k

上式结论:

  • \lambda=0时, L2约束的LS蜕化为一般的LS
  • 设计矩阵\Phi计算条件恶劣,包含极小的奇异值K_k时, K_k/K_k^2=1/K_k变得极大, 训练输出\vec y噪声会增加
  • 分母K_k^2中加入正的常数\lambda, 避免K_k/(K_k^2+\lambda过大, 进而可防止过拟合

2. 高斯核模型的L2约束优化

高斯核模型


高斯核模型

L2约束优化


L2约束优化

带宽h=0.3, 正则化参数\lambda=0.1, 加入正则化项, 很好地抑制了过拟合.
根据标准高斯分布的函数图, 我们对比可以看出图中标红位置出现了过拟合.

2. 更一般L2约束的LS

标准L2约束的LS

  • 问题表示:
    \underset{\theta}{min}J_{LS}(\theta)\; s.t.\; \|\theta\|^2 \le R

  • \hat \theta求解:

\hat{\theta} = (\Phi^T\Phi + \lambda I)^{-1}\Phi^Ty

更一般的L2约束的LS
使用bxb正则化矩阵G, 可得到更一般的表示:

  • 问题表示:
    \underset{\theta}{min}J_{LS}(\theta)\; s.t. \; \theta^T G\theta \le R

  • \hat \theta求解:
    更一般的L2约束的LS解\theta求解过程, 和标准L2约束的LS大体相同:
    \hat{\theta} = (\Phi^T\Phi + \lambda G)^{-1}\Phi^Ty

  • 参数空间:
    矩阵G对称正定时, \theta^TG\theta \leq R ​将数据限制在椭圆区域内. 下图为更一般的L2约束的LS参数空间:

    一般L2约束LS的参数空间

3. 模型选择

部分空间约束或L2约束的LS, 都过分依赖正交投影矩阵P正则化参数λ的选择

  • 选择合适的P和λ至关重要

采用不同的输入样本, 决定算法中各个参数值的过程称为模型选择

下图展示一个高斯核模型+L2约束的LS中, 带宽h和正则化参数\lambda的变化对学习结果的影响:

image.png

模型选择流程:


image.png

实际应用中常用交叉验证法, 拿出一部分训练样本做测试, 不参与学习, 值评价最终学习结果的泛化误差

image.png

交叉验证法流程:


交叉验证

K折交叉验证:
训练集分割为k个集合, 需进行k次学习, 由于各学习过程相互独立, 可以并行计算.

留一交叉验证:
设有n个样本, 每次留下一个样本做测试集, 其余n-1个训练, 共需要训练n次, 测试n次
计算繁琐, 样本利用率高, 适合小样本学习

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容