HCIA-AI v2.0 培训06: 深度学习预备知识

深度学习预备知识

  • 内容

掌握学习算法定义与机器学习的流程

了解常用机器学习算法

了解超参数与验证集的概念

掌握最大似然估计与贝叶斯估计

学习算法

机器学习(包括深度学习)是研究“学习算法的一门学问”。“学习”是指:对于某类任务T和性能度量P,一个计算机程序在T上以P衡量的性能随着经验E儿自我完善,那么我们称这个计算机程序在从经验E学习。

ml

ml0

机器学习解决的主要问题

  • 分类:离散值,类别
  • 回归:连续值
  • 聚类:按数据的内在相似性将数据划分为多个类别
    • 可以用于图像检索、用户画像等场景中

机器学习分类

  • 监督学习
    • 有标签,样本类别已知
  • 无监督学习
    • 样本类别未知,只需要把相似度高的样本放在一起
    • 对于新来的样本,计算相似度后按照相似度进行归类
  • 半监督学习
    • 试图让学习器自动地对大量未标记数据进行利用以辅助少量有标记数据进行学习
  • 强化学习
    • 学习系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大
    • 不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统如何去产生正确的动作
    • 模型感知环境,做出行动,根据状态与奖惩做出调整和选择

机器学习的整体流程

ml_process

常见数据清理与特征选择方式

  • 数据清理
    • 数据过滤
    • 处理数据缺失
    • 处理可能的异常值,错误值
    • 去除重复
    • 去除/修改格式错误
    • 数据平衡
  • 特征选择
    • 类别数据对应成数值(哑编码,独热编码)
    • 文本中提取特征(分词,TF-IDF)
    • 数值属性区间化
    • 图像数据特征提取(如haar特征)
    • 特征扩充

梯度下降

用当前位置的福梯度方向作为搜索方向,该方向为当前位置最快下降方向。

  • 批量梯度下降(BGD)

使用所有数据集的样本在当前梯度之和对权重参数进行更新

\[w_{k+1} = w_k - \eta\frac{1}{m}\sum_{i=1}^{m}{\triangledown{f_{w_k}(x^{i})}} \]

  • 随机梯度下降(SGD)

随机选取一个数据集中的样本计算负梯度,然后对权重参数进行更新操作

\[w_{k+1} = w_k - \eta\triangledown{f_{w_k}(x^{i})} \]

  • 小批量梯度下降(MBGD)

结合BGD和SGD,每次选择数据集中n个样本的梯度来对权重参数进行更新操作

\[w_{k+1} = w_k - \eta\frac{1}{n}\sum_{i=t}^{t+n-1}{\triangledown{f_{w_k}(x^{i})}} \]

模型有效性

  • 泛化能力:鲁棒性
  • 误差:
    • 训练误差
    • 泛化误差:在新样本上的误差
  • 欠拟合
  • 过拟合
  • 模型容量
    • 指拟合各种函数的能力
    • 容量不足的模型可能会欠拟合
    • 容量高的模型能解决复杂问题,容量高于任务所需时,可能会过拟合

性能评估 - 回归

  • MAE:Mean Absolute Error, 平均绝对误差,越趋于零越拟合数据
  • MSE:Mean Square Error
  • \(R^2\): 取值范围 \((-\infty, 1]\),值越大表示模型越拟合训练数据
    • TSS 表示样本之间的差异
    • RSS 表示预测值与样本值之间的差异

\[R^2 = 1 - \frac{RSS}{TSS} = 1 - \frac{\sum_{i=1}^{m}{(y_i-y'_i)^2}}{\sum_{i=1}^{m}{(y_i-\bar{y}_i)^2}} \]

性能评估 - 分类

  • T,F;P,N
    • TP,FP,TN,FN
  • 混淆矩阵

confuse_matrix

理想情况,混淆矩阵为对角矩阵(FP,FN为0)

eval_classify

机器学习常见算法

线性回归

利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法

  • 模型

\[h_w(x) = w^T + b \]

  • 模型预测值与真实值的关系:

\[y = w^Tx + \varepsilon \]

  • \(\varepsilon\) 受许多因素独立影响,根据中心极限定理,它服从正态分布。根据正态分布函数与最大似然估计,可求出线性回归的损失函数:

\[J(w) = \frac{1}{2}\sum(h_w(x)-y)^2 \]

  • 要做的是使预测值与真实值最接近,就是损失函数最小,可以用梯度下降方法求出当损失函数达到最小的时候的权重参数w

逻辑回归

一种分类模型

  • 模型

\[P(Y=1|X) = \frac{e^{wx+b}}{1+e^{wx+b}} \]

\[P(Y=0|X) = \frac{1}{1+e^{wx+b}} \]

logistic_regression-sigmoid

  • 逻辑回归和线性回归都是广义线性模型。逻辑回归在线性回归的基础上引入了非线性因素(sigmoid函数),并设定了阈值,可以处理二分类问题
  • 通过极大似然估计,得到逻辑回归的损失函数:

\[J(w) = \frac{1}{w}\sum(y\log h_w(x) + (1-y)\log(1-h_w(x))) \]

决策树

树结构,非叶子节点表示一个特征属性上的测试(阈值设定),每个分支表示这个特征属性在某个阈值上的输出,而叶子结点存放一个类别

  • 决策树的构造就是属性的选择,确定各个特征属性之间的树结构。构建决策树的关键步骤是按照特征属性进行划分,对所有划分操作的结果集的“纯度”进行比较,选择“纯度”最高的属性作为分割数据集的数据点(阈值)
  • 纯度的量化指标是信息熵和GINI系数:

\[H(X) = - \sum_{k=1}^{K}p_k\log_2(p_k) \]

\[Gini = 1 - \sum_{k=1}^{K}p^2_k \]

  • \(p_k\)表示样本属于类别k的概率(共K个类别),分割前后的纯度差异越大,决策树越好
  • 常见的决策树算法有 ID3, C4.5, CART

SVM

二分类。包括核技巧(使其成为非线性分类器)。是求解凸二次规划的最优化算法

朴素贝叶斯

Naive Bayes

是基于贝叶斯定理特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布,然后基于此模型,对给定的输入x利用贝叶斯定理求出后验概率最大的输出y

\[P(H|X) = \frac{P(X|H)P(H}{P(X)} \]

其中X是数据元组,通常用n个属性集的测量值描述。H为某种假设,比如X属于某个类别C。\(P(H|X)\)是后验概率。\(P(H)\)是先验概率

所谓朴素,是指假设是朴素的(简单的,天真的,与现实世界相悖的),即特征条件独立假设

KNN

K近邻,根据投票进行分类。

K-Means

将数据集聚类成k个类别

超参数和验证集

超参数:不是从学习中得到的,靠个人经验设定,是模型外部的配置

  • 模型超参数常用于估计模型参数的过程中
  • 常用于实践者直接指定
  • 通常可以使用启发式设置
  • 常根据给定的预测建模问题而调整

举例:

  • 训练神经网络的学习率、迭代次数、批次大小、激活函数、神经元数量
  • 支持向量机的c和\(\sigma\)超参数
  • K近邻中的k
  • K-means 中的k

超参数搜索:

  • 将数据集分成训练集、验证集、测试集
  • 在训练集上根据模型的性能指标对模型参数进行优化
  • 在验证集上根据模型的性能指标对模型的超参数进行搜索
  • 上述两个步骤迭代进行,最终确定模型的参数和超参数,并在测试集中评价模型

超参数搜索算法:

  • 网格搜索
  • 随机搜索
  • 启发式智能搜索
  • 贝叶斯搜索

交叉验证:

用来验证分类器性能的一种统计分析方法,基本思想是把某种意义下将原始数据进行分组,一部分作为训练集,另一部分分为验证集,首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,依次作为评价分类器的性能指标

K折交叉验证(K-CV):

  • 将数据分为K组(一般均分)
  • 将每个子集数据分别做一次验证集,其余的k-1组子集数据作为训练集,这样会得到k个模型
  • 用这k个模型最终的验证集的分类准确率的平均数作为此 K-CV 下分类器的性能指标

K折交叉验证中的k也是超参数

参数估计

参数估计:设有一个统计总体,总体的分布函数为 \(F(x,\theta)\)\(\theta\)为要顾及的参数,从总体抽样出一个样本集,用这些样本对\(参数\theta\)做出\(估计\hat{\theta}\),或\(估计\theta\)的某个已知函数\(g(\theta)\)。参数估计分为点估计(对参数估计一个值)和区间估计(对参数估计一个区间)

衡量统计量的标准 - 无偏性

\[bias(\hat{\theta}) = E(\hat{\theta}) - \theta \]

\(bias(\hat{\theta}) = 0\),则估计量 \(\hat{\theta}\) 被称为无偏的

\(\lim bias(\hat{\theta}) = 0\),估计量 \(\hat{\theta}\) 被称为渐进无偏的

\(\bar{X} = \frac{1}{n} \sum_{i=1}^nX_i\)\(\mu\) 的无偏估计

\(S^2 = \frac{1}{n-1} \sum_{i=1}^n(X_i^2 - n\bar{X}^2)\)\(\sigma^2\) 的无偏估计

衡量统计量的标准 - 有效性

对于无偏估计量,方差小的估计量比方差大的估计量有效。

衡量统计量的标准 - 相合性(一致性)

一致性(相合性):在概率P的意义下, \(\hat{\theta} \to \theta(n \to \infty)\), 即对于 \(\forall\epsilon>0, 有 \lim_{n \to \infty}P(|\hat{\theta}-\theta|>\varepsilon) = 0\)

对于两个无偏估计量,来自更多样本的估计量比来自少量样本的估计量更有效

最大似然估计

\(X_1,X_2,...,X_n\) 是总体 X 的一个样本,其联合概率密度或联合分布为 \(f(x_1,x_2,...,x_n;\theta)\),似然函数为:

\[L(\theta) = f(x_1,x_2,...,x_n;\theta) \]

\(L(\theta)\) 看做是 \(\theta\) 的函数,它可以作为 \(\theta\) 将以多大的可能性产生样本值 \(x_1,x_2,...,x_n\) 的一种度量

最大似然估计就是用使 \(L(\theta)\) 达到最大值的 \(\hat{\theta}\) 来估计 \(\theta\)

\[L(\hat{\theta}) = \max_{\theta}L(\theta) \]

贝叶斯估计

\[P(h|D) = \frac{P(D|h)P(h)}{P(D)} \]

D为数据样本,有n个属性集的测量值;h为某种假设,如样本数据某个类C

P(h) 独立于D,是h的先验概率;P(D)是D的先验概率

极大后验概率假设

P(h|D) 是假设h的后验概率,使P(h|D)最大化的假设h,称为极大后验(MAP, maximum a posteriori)假设。MAP假设 \(h_{MAP}\) 满足:

\[h_{MAP} = arg\max_{h \in H}P(h|D) = arg\max_{h \in H}\frac{P(D|h)P(h)}{P(D)} = arg\max_{h \in H}P(D|h)P(h) \]

实际情况下,我们可能得不到各个假设的先验概率,只能认为假设空间中的所有假设都是等可能的,即P(h)为常数:

\[h_{MAP} = arg\max_{h \in H}P(D|h)P(h) = arg\max_{h \in H}P(D|h) = h_{ML} \]

posted @ 2019-10-23 22:55  keep-minding  阅读(166)  评论(0)    收藏  举报