NJU SE 机器学习

重点整理复习版

图片无法完全加载,请访问语雀文档

1 基础概念

1.1 什么是机器学习

通过数据训练的学习算法

1.2 监督,无监督,自监督,半监督

  • 监督:利用大量标注数据(真实标签)训练模型
  • 无监督:不依赖任何人工标注标签(聚类/降维/离散点检测)
  • 自监督:标注来源于数据本身(对比学习)
  • 半监督:深度学习领域…?

1.3 欠拟合和过拟合

过拟合:病态问题,学习能力强,过度计算导致模型泛化能力下降。在训练集上表现好(训练误差小),在测试集上表现差。
欠拟合:模型复杂度低,不能在训练集上实现足够低的误差,学习不到数据的规律。

1.4 评价学习算法的指标

混淆矩阵
列:预测为该类别的数目;行:实际为该类别的数目
【二分类】

postive negative
positive TP FN
negative FP TN
  • 精度/准确率:ACC=TP+TNTP+FP+FN+TNACC = \frac{TP+TN}{TP+FP+FN+TN}(错误率:1-acc)
  • 查准率:Precision=TPTP+FPPrecision = \frac{TP}{TP+FP}
  • 查全率:Recall=TPTP+FNRecall = \frac{TP}{TP+FN}
  • F1:F1=2precisionrecallprecision+recallF1 = 2\frac{precision*recall}{precision+recall}

1.5 没有免费的午餐

没有天生优越的学习器,只有相对好的建模,充分利用了与问题相关的先验知识模型才是最优的

1.6 距离度量的计算方式

1.6.1 曼哈顿距离

向量在每一维度上的相对距离和,即d=Σk=1dxikxjkd = \Sigma_{k=1}^d|x_{ik}-x_{jk}|
在二维平面上,两个点的曼哈顿距离表现为x方向上距离和y方向上距离的和

1.6.2 切比雪夫距离

各维度坐标数值差绝对值的最大值

1.6.3 马氏距离

MM为协方差矩阵的逆矩阵,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在
【如何计算协方差矩阵】

一行是一个样本,每一列是一个随机变量

1.6.4 闵可夫斯基距离

d(xi,xj)=(Σu=1nxiuxjup)1pd(x_i,x_j) = (\Sigma_{u=1}^n|x_{iu}-x_{ju}|^p)^{\frac{1}{p}}
p = 1:曼哈顿距离
p = 2:欧氏距离
p = \infin:切比雪夫距离

2 KNN

k nearest neighbor classifier
懒惰学习算法,不需要学习成本,需要存储数据成本

2.1 算法流程

  1. 计算所有测试样本和所有训练样本的距离d
  2. (距离升序排序?)
  3. 针对每一个测试样本,选择k个最近的训练样本
  4. 采用投票法为测试样本选定分类标签

(如果是回归:将1d\frac{1}{d}作为权重,取k个近邻标签的加权平均)
测试阶段时间复杂度O(nd+nlogk)O(nd+nlogk):nlogk的解释,k个数的最小堆

2.2 k值影响

  • 取奇数,避免平局
  • k较小,对噪声敏感,模型复杂,容易过拟合;k较大,对噪声不敏感,容易欠拟合

2.3 核平滑


核平滑方法是指使用核函数来计算测试样本的标签值(在回归中)

2.4 降低计算

2.4.1 维诺图

适合维度2-5:划分区块(维诺单元),每个维诺单元都是一个凸多面体
【2维维诺图】
计算维诺图:O(nlogn)O(nlogn)算法决定
测试:O(logn)O(logn)使用空间搜索树确定维诺单元(类似于平衡二叉树)

2.4.2 KD-Tree

适合特征维度6-30:相当于二叉树,用来划分空间


【构造】

  1. 计算x、y方向上的方差,选择方差大的轴进行划分
  2. 选取选定方向上数据的中位数进行划分
  3. 在划分出的新区域递归以上步骤

【测试】
kd树搜索

  1. 二叉搜索:从根节点开始,以递归的方式从树的顶端向下移动
  2. 当到达一个叶子节点,即得到最邻近的近似点,判断其是否为最优,并保存为“当前最优”
  3. 回溯:对整棵树进行递归,并对每个节点执行以下操作
  • 如果当前节点比"当前最优"更近,替换为新的"当前最优"
  • 判断分割平面的另一侧是否存在比"当前最优"更优的点。构造一个超球面,球心为查询点,半径为与当前最优的距离
    • 如果超球面跟超平面相交,则有可能存在更优的点;按照相同的搜索过程从当前节点向下移动到树的另一个分支以寻找更近的点
    • 如果超球面跟超平面不相交,则沿着树继续往上走,当前节点的另个分支则被排除
  1. 当算法为根节点完成整个过程时,算法结束

2.4.3 降维

参考降维

2.4.4 ANN 近似最近邻

搜索可能是近邻的数据项,牺牲精度

2.4.5 哈希

把任意长度输入映射成固定长度输出

3 聚类

聚类:数据对象的集合
聚类算法:根据给定的相似性评价标准将一个数据集合划分成几个聚类
相似性度量+聚类准则

3.1 聚类算法

3.1.1 试探法

凭借感觉/经验针对实际问题定义阈值 -> 最近邻规则(某种距离计算方式+对应阈值)
误差:与聚类中心(均值)距离平方和
初始点、样本次序和阈值都会影响
【最大最小距离法】
选择与确定的聚类中心最远的点作为新的中心,预先选定聚类中心
已经选定多个后添加新的中心:每一个样本,计算到所有中心的最小值,选择所有样本中的最大值,如果大于θz1z2\theta ||z_1-z_2||选定,否则选取过程结束

3.1.2 系统聚类

计算类之间的距离,合并新类
【类之间距离】

  • 最短距离
  • 最长距离
  • 类平均距离

3.1.3 动态聚类法

3.1.3.1 K-means

  1. 确定聚类数量k
  2. 初始化k个聚类中心:随机选择k个样本点
  3. 对每个样本点计算最近聚类距离
  4. 更新聚类中心(平均值)
  5. 没有聚类中心移动:停止

【k-means++】

  • 随机选1个样本点作为初始聚类中心
  • 每一个样本点被选为下一个聚类中心的概率D(x)2ΣD(x)2\frac{D(x)^2}{\Sigma D(x)^2}D(x)D(x)表示和所有中心的最短距离
  • 使用轮盘法选择聚类中心

3.1.3.2 ISODATA

分裂+合并
根据样本到聚类中心分配样本,如果某一类样本数少于n,合并;类别数目小于K0/2,分裂;类别数目大于2K0,合并;
以平均中心作为聚类中心,更新中心后重复以上操作

3.2 如何评价聚类好坏

类内距离小,类间距离大

3.2.1 Compactness - CP

CPi=1ΩiΣxjΩixiwi{CP_i} = \frac{1}{|\Omega_i|}\Sigma_{x_j \in \Omega_i}||x_i-w_i||
Ωi\Omega_i表示某一个类,wiw_i表示聚类中心
紧密度计算类内距离:越小类内越紧凑

3.2.2 Separation - SP

间隔度越大越分散

3.2.3 Davies-Bouldin Index - DBI

戴维森堡丁指数/分类适确性指标

缺点:欧氏距离对于环状分布聚类评价很差

3.2.4 Dunn Validity Index - DVI

邓恩指数

对离散点聚类测评很高,对环状分布测评效果差

3.2.5 其他评价指标

4 树学习

4.1 符号学习

4.1.1 推理

推理(正向/反向)
归纳推理:前件为真,后件未必为真

4.1.2 概念学习

给定样例判断每个样例是否属于某个概念

4.1.2.1 实例空间与假设空间

【实例空间】所有可能样例集合
【假设空间】除了所有样例,还可能涉及到未知、空等情况

4.1.2.2 泛化和特化

样例hih_ihjh_j预测的类别相同,hjh_j包含的实例数更多
【泛化】hjghkh_j \ge_g h_k
【特化】hkshjh_k \ge_s h_j

4.1.2.3 Find-S

寻找极大特殊假设

满足:同一种结果,在这种属性上取值一致
【列表消除算法】
列出所有假设空间,消除不符合实例的假设(实际中不太可能)

4.2 变型空间

4.2.1 概念

【一致】一个假设和样例集合一致:h(x)=c(x)h(x) = c(x)h(x)h(x)表示假设函数,c(x)c(x)表示实例结果
变型空间定义:假设空间和样例集合一致的所有假设构成子集
【极大泛化】
【极大特化】

4.2.2 表示定理


h:其中一种假设(布尔函数)

4.2.3 候选消除算法

正例用于S泛化,搜索S集合;反例用于G特化,缩小G集合

有关find-s和候选消除算法讲解很细致易懂的博客概念学习和一般到特殊序 - WTSRUVF - 博客园

4.2.4 Find-S 与候选消除算法区别

  • find-s找到适合所有正例的假设,候选消除算法维护一组能够区分正例和负例的一致性假设
  • find-s从最特殊的假设开始进行泛化,候选消除算法从一般的泛化集合和最特殊的特化集合开始
  • find-s只考虑正例,不考虑负例;候选消除算法中正负例都会影响假设集合
  • find-s使用专门的搜索策略找到最特定的假设;候选消除算法搜索更全面

4.3 归纳偏置

某种形式的预先假定(前提)

4.4 决策树

归纳偏置:优先选择较小树
【优点】

  • 容错能力好,健壮性高
  • 可解释性强
  • 不需要数据预处理
  • 可以处理多维度输出分类问题

【缺点】

  • 容易过拟合
  • 样本改动会剧烈影响树结构
  • NP问题容易陷入局部最优

4.4.1 ID3算法

4.4.1.1 算法流程

  1. 创建root结点
  2. 如果所有样本属性一致,返回叶子节点;如果未划分的属性为空,选择所有样本中最普遍的标签(目标属性);如果所有样本类别相同,返回叶子节点。【递归停止条件】
  3. 否则,选择分类样本能力最好的属性,依据属性的每个可能值划分样本递归执行

4.4.1.2 如何选择最佳属性

4.4.1.2.1 熵

目标属性为布尔值
Entropy(S)=p+log(p+)plog(p)Entropy(S) = -p_+log(p_+)-p_-log(p_-)

4.4.1.2.2 信息增益

使用A属性分割样例,导致期望熵降低(选择maxGain)
G(S,A)=Entropy(S)ΣvValues(A)SvSEntropy(Sv)G(S,A) = Entropy(S) - \Sigma_{v\in Values(A)} \frac{|S_v|}{|S|} Entropy(S_v)

4.4.1.3 特点

假设空间包含所有决策树,一次遍历,不进行回溯(局部最优)
对错误样例不敏感,不适用于增量处理
对可取值数目多的属性有偏好

4.4.2 奥卡姆剃刀原理

如果对同一现象有两种不同假说,应该采取比较简单的一种
优先选择拟合数据最简单的假设

4.4.3 C4.5算法

信息增益比】
GainRate(S,A)=Gain(S,A)EntropyA(S)GainRate(S,A) = \frac{Gain(S,A)}{Entropy_A(S)}
EntropyA(S)=ΣvValues(A)SvSlog(SvS)Entropy_A(S) = -\Sigma_{v\in Values(A)} \frac{|S_v|}{|S|} log(\frac{|S_v|}{|S|})
除以属性的熵

4.4.4 CART算法

4.4.4.1 Gini系数

k个类中,样本属于第k类的概率为pk=CkDp_k = \frac{|C_k|}{|D|}

二分类问题gini系数
gini系数代表模型的纯度,越小越好
【属性划分后计算基尼系数】

4.4.4.2 回归

对某一属性A,找到一个点s使得s左右两边数据集各自均方差(标准差?)相加最小
选择和最小的属性
s为经过排序后,某两个相邻样本的平均数
【回归输出】
采用叶子节点的均值或中位数作为预测结果

4.4.5 剪枝

4.4.5.1 后剪枝

从决策树底部剪去一些子树,在独立验证集上测试选择最优子树
剪去子树:变成占比高的叶子节点标签

4.4.5.2 最小化子树损失函数

5 集成学习

5.1 原理

多个分类器集成在一起以提高分类准确率
集成方法包括多数投票法等等

5.1.1 准确性计算

假设每个二分类器精度为p,且相互独立
继承后T个二分类器的分类器的精度为Σk=T2+1TCTkpk(1p)Tk\Sigma_{k=\frac{T}{2}+1}^T C_T^k p^k(1-p)^{T-k}
T足够大时近似二项分布,要求每个分类器的准确率要在50%以上

5.1.2 bias & variance tradeoff

5.1.3 基本策略

5.1.3.1 回归问题

  • 简单平均
  • 加权平均

5.1.3.2 分类问题

投票法

  • 绝对多数
  • 相对多数
  • 加权投票

5.2 Bagging

bootstrap aggregating

5.2.1 基本原理

有放回的采样方法

5.2.2 优点&缺点

【优点】
并行式集成学习,降低分类器方差,改善泛化
【缺点】
基学习器高bias会影响集成后学习器的高bias
集成后损失可解释性

5.2.3 随机森林RF

有放回抽样 -> 生成随机树(随机抽取特征) -> 使用没有被抽到的样本进行测试(多数投票/平均)

【特点】

  • 差异性:每棵树使用特征不同
  • 缓解维度灾难:抽取一部分特征来生成决策树
  • 可并行化
  • 训练测试无需划分:有30%左右数据没有被采样
  • 稳定:投票/平均

5.3 Boosting

5.3.1 基本原理

probably approximately correct(PAC) - 概率近似正确
【强可学习】如果存在一个多项式的学习算法能够学习,并且正确率很高
【弱可学习】多项式的学习算法,但是正确率仅比随机猜测略好
【PAC学习理论】强学习器和弱学习器是等价的,可以通过
提升
将弱学习器转化为强学习器

5.3.2 AdaBoost

Adaptive Boost,二分类学习算法

5.3.2.1 基本思想

改变训练数据的概率分布,反复学习,得到一系列的弱学习器组合形成一个强分类器
提高错误分类样本权值,降低正确分类权值
集成时加权投票:错误率小的分类器权重高,错误率大权重低

5.3.2.2 计算

第k个弱分类器Gk(x)G_k(x)在训练集上加权分类的错误率为ek=Σi=1mwk,iI(Gk(xi)yi)e_k = \Sigma_{i=1}^m w_{k,i}I(G_k(x_i) \neq y_i),其中wk,iw_{k,i}表示第k个分类器输出i个样本权重
得到第k个分类器Gk(x)G_k(x)投票权重系数αk=12log1ekek\alpha_k = \frac{1}{2} log\frac{1-e_k}{e_k}

【可视化表现】

5.3.2.3 解释

5.3.2.3.1 加法模型


损失函数可以写作L(yi,f(x))L(y_i,f(x)),f(x)为上述表达式,这个函数优化起来十分复杂,可以采用前向分步算法

5.3.2.3.2 前向分步算法

每一步只学习一个基函数及其系数

adaboost是前向分步算法的特例,损失函数是指数函数

5.3.2.3.3 分类器与损失函数

【最终分类器】
f(x)=Σk=1KαkGk(xi)f(x) = \Sigma_{k=1}^{K} \alpha_k G_k(x_i)
【损失函数】
L(y,f(x))=exp(yf(x))L(y,f(x)) = exp(-yf(x))

5.3.3 其他boosting算法

5.3.3.1 boosting tree

平方误差损失函数

5.3.3.2 GBDT

梯度提升树,使用损失函数和分类器分类结果的偏导求得梯度作为残差,拟合回归树

5.3.3.3 XGBoost

extreme gradient boosting
GBDT的高效实现,使用二阶泰勒展开做近似

5.4 Stacking

k-fold
image.png

6 概率学习

6.1 基本数学概念

6.1.1 张量tensor

一个泛化的实数构成的n维数组

6.1.2 带/不带约束的数学优化问题

6.1.2.1 带约束

比如拉格朗日(见SVM部分)

6.1.2.2 不带约束

**【最小二乘问题】**least-squares
image.png

6.1.3 凹凸函数

image.pngimage.png
判断凹凸可以通过计算二阶导确定,f(x)0f''(x) \ge 0是凸函数或hessian矩阵半正定:2f(x)0\nabla^2f(x)\succcurlyeq 0
【hessian矩阵-矩阵二阶导】
image.png
【jacob矩阵】
image.png

6.1.4 概率

6.1.4.1 概率函数

  • 概率密度函数(PDF):连续值取某个值的概率
  • 概率质量函数(PMF):离散值,正好等于某个值的概率

6.1.4.2 期望

image.png

6.1.5 jensen不等式

image.png

6.1.6 高斯分布/正态分布

XN(μ,σ2)X \sim N(\mu,\sigma^2)
概率密度函数:p(x)=1σ2πe(xμ)22σ2p(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
μ=0,σ=1\mu = 0, \sigma = 1是标准正态分布
image.png
多变量高斯分布】
image.png

6.2 高斯混合模型GMM

多个高斯分布的加权和,利用此模型进行聚类,每一个子分布都是高斯分布
image.png
image.png

6.3 最大似然估计MLE

6.3.1 定义

maximum likelihood estimation,最大化似然函数以估计概率分布
【单高斯模型】
L(θX)=p(Xθ)=j=1Mp(xjθ)L(\theta | X) = p (X | \theta) = \prod_{j=1}^M p(x_j|\theta)
两边取对数

6.3.2 期望最大化算法EM

6.3.2.1 核心思想

image.png
image.png
M-step:使用最大似然估计得到更好的参数θ\theta
image.png
image.png

7 SVM

找到能够最大化不同类别数据间隔的超平面,通过最大化决策边界和支持向量的距离提高模型的泛化能力,将数据映射到高维空间中实现线性可分

7.1 间隔与支持向量

image.png
【间隔】每个样本点到分界超平面的垂直距离
【支持向量】所有样本中拥有最小间隔的点
【SVM目标】最大化最小间隔

7.2 计算

7.2.1 点到法平面距离

image.png
f(x)>0是正类,反之负类。判断分类预测的正误可以使用yf(x)>0来确认,<0表示分类不统一,错误

7.2.2 优化

  • 只需要方向,不需要大小,令w=1||w||=1
  • 限制min(yif(xi))=min(yi(wTxi+b))=1min(y_if(x_i)) = min(y_i (w^Tx_i+b)) = 1(最优解除以任意非0倍数依然是最优解),此时相当于最大化1w\frac{1}{||w||},即最小化12wTw\frac{1}{2}w^Tw(加1/2为了消除求导平方系数)

7.2.3 求解

image.png

7.2.3.1 KKT条件

image.png

7.2.3.2 对偶

引入拉格朗日乘子aia_i后,该乘子构成对偶空间
image.png

7.2.3.3 最优解

image.png
image.png

7.3 soft margin

惩罚:松弛变量
image.png

7.4 非线性SVM

映射到更高维的特征空间使得样本线性可分

7.4.1 kernel trick

image.png

7.4.2 Mercer’s condition

image.png

7.4.3 Kernel SVM

image.png
测试时间为O(nd)

7.4.3.1 线性核

K(x,y)=xTyK(x,y) = x^T y

7.4.3.2 RBF/Gaussian核

image.png

7.4.3.3 多项式核

image.png
image.png
【超参数】
image.png

7.5 多类SVM

7.5.1 1V1

转化为两类问题,构造Cn2C_n^2个分类器
将一个样本得到的所有结果按照投票法做决定

7.5.2 1 V all

共n个类,设置n个分类器,每个分类器用类i做正类,其他所有类做负类
每个分类器采用实际值输出作为信心,选择信心最高类

8 神经元与感知机

8.1 Hebbian Theory赫布理论

连接强度的调整量和输入输出的乘积成正比,经常出现的模式将增强神经元之间的连接
又称长度增强机制(LTP:Long Term Potentiation)或神经可塑(Neural Plasticity)

8.2 MP神经元

8.2.1 基本工作原理

image.png
输入 -》 权值 -》 激活函数
image.png

8.2.2 局限

输入:线性求和
输出:单一输出值
更新:时钟同步更新

8.2.3 激活函数

image.png
【sigmoid】
饱和激活函数(tanh)limn+infh(x)=limninfh(x)=0\lim_{n \to +\inf}h'(x) = \lim_{n\to-\inf}h'(x) = 0饱和激活函数
导数始终小于1,在0周围变化,容易造成梯度消失问题
指数的计算代价大
【ReLU】
非饱和激活函数可以解决梯度消失问题,加快模型收敛速度
image.png

8.3 感知机

最简单形式的前馈式人工神经网络
image.png

  • 同层内无互联,不同层间没有反馈
  • 输入输出均为离散值
  • 由阈值函数决定输出

c:学习率,d:期望输出(1或-1),signal:感知机输出
【偏置单元x0x_0】取常数,通常为1
【重要计算】根据样本序列调整权重参数

8.3.1 感知机学习算法

  1. 权值初始化
  2. 输入样本对
  3. 计算输出
  4. 根据学习规则调整权重
  5. 返回步骤2,接着输入下一对样本,直到所有样本的实际输出与期望输出相等

8.3.2 线性可分性

【感知机收敛理论】定义γ\gamma是分离超平面和最接近的数据点之间的距离,迭代次数的界是1γ2\frac{1}{\gamma^2}(前提是样例是线性可分的)
单层神经网络不能解决非线性可分问题:如异或
用多层网络处理异或(二层神经网络可以表达所有的布尔函数)

9 神经网络

9.1 多层感知机MLP

又称BP神经网络,back propagation

9.1.1 基本结构

image.png

  • 为什么要使用隐藏层?隐藏层是特征检测算子,隐藏层用于发现并刻画数据的特征,可以帮助模型学习非线性和更复杂的模式。
  • 如何更新隐藏层的权值?前向+反向

9.1.2 反向传播

误差反传算法BP

9.1.2.1 误差定义

  • 经典感知机(N=1):Σk=1NEk=Σk=1N(yktk)\Sigma_{k=1}^N E_k = \Sigma_{k=1}^N (y_k-t_k)
  • 多层感知机(BP神经网络):E=12Σk=1N(yktk)2E = \frac{1}{2}\Sigma_{k=1}^N (y_k-t_k)^2 1/2非必须

9.1.2.2 Delta规则

基于误差平面,激活函数必须是连续的可微分的
image.png
误差定义中,tkt_k可以按照f(WkTXk)f(W_k^T · X_k)计算
image.png
image.png
【学习常数c的影响】
c决定学习过程中权值变化快慢
c过大,容易越过最优值或在最优值附近震荡

9.1.2.3 反向传播算法BP

前向:权值固定,输入信号经过网络正向一层层传播,达到输出端
反向:比较输出和期望输出,产生误差信号,误差信号通过网络反向一层层传播,对每一层权值进行修正
【信用分配难题】如何给隐藏层神经元分配信用或责任?
image.png
image.png
image.png
image.png
【权值修正的两种情况】

  • 神经元j是输出层节点:直接使用delta规则
  • j是隐藏层:没有指定输出

image.png
image.png
image.png
隐藏层到输出层的梯度d1以errorf’直接计算
输入层到隐藏层的梯度d2 = f’
(所有d1*w的和)计算

9.1.2.4 梯度下降

  • 随机梯度下降
  • 批量梯度下降(mini-batch随机梯度下降)

局部梯度域是指在神经网络中,对于每个特定的参数或权重,它所在的损失函数的梯度的局部环境。换句话说,局部梯度域描述了在参数空间中某一点附近损失函数的变化情况。

9.1.3 影响因素

9.1.3.1 初始权值

使用正态分布,w(0,1)w\sim (0,1),输出值~(0,n)
独立变量和的方差 = 独立变量方差和
如果初始权值过大,会导致输出值过大,激活函数饱和,梯度消失(学习失效)

9.1.3.2 顺序和批量训练

  • 批量训练:计算所有样本误差和(计算代价大、收敛速度快、局部极小)
  • 顺序训练:按次序计算每个样本的误差(局部极小、噪声敏感)
  • 小批量训练:适合大规模数据

【冲量】
加大搜索步长的效果,越过狭窄的局部极小值

9.1.3.3 停止机制

  • 设定固定迭代步数
  • 设定误差小于固定阈值
  • 两者结合

利用验证集选择合适参数

9.2 自动编码器

image.png
结构:编码器+解码器
高维到低维,减少神经元数量;低维到高维,增加
前向 -> 重构 -> 计算损失 -> 反向

9.3 径向基网络RBF

9.3.1 感受野

Receptive Field
image.png
激活程度/输出 和 输入数据和权值向量的距离 成比例

9.3.2 激活规则

image.png

  • 输入空间 -> 隐藏层:非线性变换(核技巧)
  • 隐藏层 -> 输出层:线性变换(和MLP相同)

9.3.3 学习规则

image.png
求解径向基中心cic_i,隐藏层到输出层的权值WijW_{ij}
【算法步骤】
image.png

9.3.4 重要原理

隐含层的作用:把低维度的p映射到高维度的h,变成高维线性可分(核函数的思想)
【优点】

  • 输入到输出非线性,但是输出可调参数是线性的(权值)
  • 网络的权可以由线性方程组直接解出

9.3.5 RBF与其他模型对比

9.3.5.1 RBF VS MLP

  • 局部逼近VS全局逼近:BP全局逼近,RBF局部逼近
  • 中间层数:RBF只能有一个隐含层,BP可以有多个隐含层
  • 训练速度:RBF训练速度快
  • 最优性:RBF是连续函数的最佳逼近

9.3.5.2 RBF VS SVM

image.png

10 CNN

10.1 卷积

  • 全连接
  • 局部连接

10.1.1 超参数

  • depth:number of filters
  • stride
  • zero-padding

3×3×3×963 \times 3 \times 3 \times 96
3*3:核大小,感受野
3:3个通道(彩色图像)
96:深度,层数,过滤器数目

10.1.2 池化

下采样
image.png
【作用】

  • 减少参数
  • 避免过拟合
  • 扩大感受域

10.1.3 全连接层

用于全局特征提取(softmax是分类层/头)
image.png

10.1.4 Dropout/Regularization

对大的神经网络进行平均
破坏全连接,以ρ\rho的概率保留该神经元
所有模型架构共享权重 -》 每个模型都受到了非常强的正则化约束

10.1.5 batch normalization

减少内部方差偏移或避免梯度扩散

10.1.6 损失函数

  • 交叉熵损失

image.png

  • L2-norm

image.png

  • 三元组损失

10.2 深度学习的一些技巧

11 演化学习

11.1 遗传算法GA

基本思想:通过对当前最好的假设模型重组来产生后续假设模型

11.1.1 基本概念

11.1.1.1 染色体

【一个合取/析取的表示实例】
有两种属性,对应是否去打网球两种结果

  • outlook:sunny/overcast/rain
  • wind:strong/weak

image.png
image.png
【染色体表示】01位串
image.png
image.png
染色体相当于训练数据输入

11.1.1.2 适应度函数/种群

适应度函数:学习的目标函数
种群表示一组染色体和计算的适应度
image.png

11.1.1.3 产生后代

基于适应度函数,有以下几种选择方式:

  • 锦标赛选择:每次选n个(有放回抽样),选择最好的一个进入子代种群(重复直到子代与原来种群规模一致)
  • 截断选择:根据适应度排序,选择前k个;然后复制染色体达到相同的规模
  • 轮盘赌选择:与适应度成比例选择

image.png

11.1.2 一般形式

  1. 初始化种群P(t):一般来说第0代种群随机生成
  2. 如果不满足终止条件
    1. 评估每个染色体适应度
    2. 选择染色体产生后代
    3. 用后代替换染色体并重复这一阶段步骤
  3. 终止

11.1.3 遗传算子

GA Operator,对当前群体中的染色体进行重组以产生后代

11.1.3.1 交叉crossover

image.png

11.1.3.2 变异

image.png

11.1.4 种群演化

  • 简易方案:后代替代父代(易丢失优秀解)
  • 精英法:保留上一代最优,差的用子代替换(与选择算子混用)
  • 锦标赛法:父代与后代参与竞争,选择胜者
  • 小生境法:先分类,每类选择优秀代表组成群,群内和群间杂交变异产生新一代

新一代选择机制:

  • 预选择:只使用高适应度子代替换父代
  • 排挤:子代与父代模式相似的个体被替换
  • 共享:计算适应度和模式的关联关系,共享这种模式(见模式理论部分)

11.1.5 问题

  • 编码不规范,表示不准确
  • 约束:单一遗传算法编码不能全面表示优化问题的约束
  • 搜索效率低,容易过早收敛
  • 没有有效定量分析的手段

11.2 模式理论

11.2.1 基本概念

模式是由0,1,#组成的任意串,#表示既可以是0也可以是1
阶o(H)表示模式中确定位置的个数,如o(##1#0) = 2
长度d(H)表示第一个确定位置到最后一个确定位置的距离d(##1#0) = 2
m(s,t)表示第t代种群中,模式s的实例数量

11.2.2 理论

根据GA原理,推断m(s,t+1)的期望值

12 维度约简

12.1 特征选择和降维

  • 特征选择
  • 特征诱导/变化

搜索最优特征子集

  • 前向:起点为空集
  • 后向:起点为全集
  • 双向

12.1.1 搜索策略

  • 穷举
  • 序列
  • 随机

12.1.2 特征评估

  • 过滤式:距离度量(方差)、互信息熵、依赖性度量(皮尔逊相关系数、卡方检验)、一致性度量
  • 封装式:分类错误率
  • 嵌入式:模型正则化+稀疏约束

12.2 线性判别分析LDA

linear discriminant analysis
有监督的聚类特征降维方法:给定标注类别的高维数据集,投影到低维的超平面

12.2.1 目标

投影使得类内越近越好,类间越远越好
image.png
image.png
目标是最小化wTSWwwTSBw\frac{w^TS_Ww}{w^TS_Bw}

12.2.2 计算

对目标式w求导,令导数为0,得到极值
image.png

12.2.3 算法流程

  1. 计算每个类别均值μi\mu_i,全局样本μ\mu
  2. 计算类内散度矩阵SWS_W,类间散度矩阵SBS_B
  3. 对矩阵SW1SBS_W^{-1}S_B做特征值分解
  4. 取数目最多的特征值对应的特征向量作为投影向量
  5. 计算投影矩阵

12.2.4 例题理解

12.3 主成分分析PCA

Principal Component Analysis
无监督的特征降维方法

12.3.1 主成分

  • 最大可分性:样本在第一主成分上的投影离散程度要大于第二主成分投影离散程度
  • 最近可重构性:样本到第一主成分线的平均距离要小于到第二主成分线的距离

因此,要最大化样本点在主成分投影上的方差

12.3.2 计算推导

image.png
image.png

12.3.3 算法流程

  1. 样本去中心化(一行一个样本):减去每列的平均值
  2. 计算协方差矩阵 1nXTX\frac{1}{n} X^T X
  3. 对协方差矩阵特征值分解
  4. 取最大特征值对应的特征向量作为投影向量
  5. 计算投影矩阵

12.3.4 核PCA

投射到高维

12.3.5 PCA VS LDA

  • PCA无监督,LDA有监督
  • PCA投影后数据方差最大,LDA目标组内方差小,组间方差大
  • PCA基础是特征的协方差矩阵,投影后更难被分类
  • PCA投影后坐标正交,LDA无需正交
  • PCA投影后维度数目与源数据相同,LDA投影后数目与类别数目相同

12.4 独立成分分析ICA

13 强化学习

13.1 MDP模型

Markov Decision Process

13.1.1 数学模型

  • S:states 状态集合
  • A:actions 动作集合
  • δ\delta:transition probability 状态转移概率
  • R:immediate reward 即时奖赏函数
  • episode:从初始状态开始经历一系列状态和动作,直到达到终止状态的一次完整实验或轨迹

动态规划过程:利用贪心策略,最大化期望奖赏

13.1.2 返回函数

将所有即时奖赏线性组合成一个单一值
image.png
奖赏/状态的分布是策略依赖的

13.1.3 动态规划

13.1.3.1 ϵ\epsilon贪心策略

ϵ的值越小,贪婪行动的概率就越高,而随机行动的概率就越低;反之,ϵ的值越大,随机行动的概率就越高,而贪婪行动的概率就越低。
image.png

13.1.3.2 值函数

image.png

13.1.3.3 Bellman等式

image.png
image.png

13.1.4 计算最优策略

image.png

13.2 强化学习方法

image.png

13.2.1 Monte Carlo

13.2.1.1 策略评价

image.png

13.2.1.2 最优控制

image.png
控制整个学习过程

13.2.1.3 MC方法

蒙特卡罗方法:不通过估计值更新,通过经验更新(区别于时差学习)-- 采样
N步回退学习?
【TD(λ\lambda)算法】
image.png

13.2.1.4 时差学习/方法

image.png
通过一个估计值进行更新(bootstraps)

13.2.1.5 Sampling和bootstraps的区别

image.png