【数分】3. 机器学习知识点

文章目录

  • 1. 常用概念
    • 1.1 数据集划分
    • 1.2 参数与超参数
    • 1.3 过拟合与欠拟合—偏差、方差和误差
  • 2. 常见模型及分类
    • 2.1 模型分类
      • 2.1.1 监督学习与非监督学习模型
      • 2.1.2 参数与非参数模型
      • 2.1.1 生成与判别模型
    • 2.2 常见模型
      • 2.2.1 线性回归模型
      • 2.2.2 逻辑回归模型
      • 2.2.3 决策树模型模型
      • 2.2.4 随机森林及Boosting模型
      • 2.2.5 XGBoost模型
  • 3. 效果评估
    • 3.1 预测问题常用的评估方法
    • 3.2 分类问题常用的评估方法

1. 常用概念

1.1 数据集划分

在数据挖掘中,通常将数据集分为三类:训练集、验证集和测试集。

  • 训练集:结果已知,用于模型训练拟合的数据样本,在实际应用中这部分数据往往会占总体样本的 70%~80%。
  • 验证集:结果已知,不参与模型的训练拟合过程,用于验证通过训练集得到的模型效果,同时对模型中的超参数进行选择。
  • 测试集:结果未知,最终利用模型输出结果的数据集。

这三部分构成了模型的整体数据集。模型上线后,输出模型在测试集上的结果,并与最终的实际结果进行对比。测试集后续可以转化为训练集或者验证集,实现模型的不断迭代和优化。

1.2 参数与超参数

  • 参数是通过模型对训练集的拟合获得的,如最简单的线性回归模型,斜率和截距这两参数都是通过训练获得的;
  • 超参数无法通过模型训练获得,在模型训练前需要人为给出超参数,如决策树模型的深度、随机森林模型中树的数量等,它们只能通过在验证集中进行验证,并进行最终的选择。

1.3 过拟合与欠拟合—偏差、方差和误差

切入点应该是偏差和方差,在偏差和方差的阐述中引入过拟合和欠拟合。模型的误差(error)是由偏差和方差相加而成的。
【数分】3. 机器学习知识点_第1张图片

  • 偏差:反映的是模型本身的拟合能力,即模型本身的精准度。偏差过高反映了模型存在欠拟合现象,表明模型过于简单,没有很好地拟合训练集变量之间的特征,需要进一步提升模型的复杂度;
  • 方差:反映的是模型的稳定性。由于训练集中会存在噪声,并且该噪声不具有通用性,不同的训练集中会有不同的噪声,当模型过于复杂时,也会大量学习训练集中的噪声,最终导致模型泛化能力变差,这就是过拟合产生的原因。

模型训练所要做的就是平衡过拟合和欠拟合,通过在验证集中的验证工作,选择合适的超参数,最终降低误差。

2. 常见模型及分类

2.1 模型分类

2.1.1 监督学习与非监督学习模型

监督学习:训练数据既有特征(feature)又有标签(label)

  • 预测(prediction)问题:在标签不可数的情况下,预测结果的得分;
  • 分类(classification)问题:在标签可数的情况下,判断结果所属的类别。

非监督学习:训练数据中只有特征,没有标签

  • 聚类(clustering)问题:通过数据之间的内在联系和相似性将样本划分成若干类;
  • 降维(dimension reduction)问题:对高维数据进行降维。
监督学习 非监督学习
预测问题:线性回归模型、时间序列模型、神经网络模型 聚类问题:K- Means聚类模型、E-M聚类模型、DBCSCAN聚类模型
分类问题:逻辑回归模型、决策树模型、SVM模型、随机森林模型、Boosting模型 降维问题:PCA(主成分分析法)模型

这里需要搞清楚分类和聚类的区别

  • 分类是指在监督学习中,在标签可数的情况下判断结果所属的类别;
  • 聚类则是指在非监督学习中,通过数据之间的内在联系和相似性将样本划分成若干类。

2.1.2 参数与非参数模型

两者的区别

  • 参数模型中的 f ( x ) f(x) f(x) 的形式在训练前就已经确定,如线性回归模型在训练前就会确定 y = a 0 + a 1 x 1 + a 2 x 2 + … y=a_0+a_1x_1+a_2 x_2 +… y=a0+a1x1+a2x2+这样的形式;
  • 非参数模型不限定目标函数 f ( x ) f(x) f(x) 的形式,它是通过训练不断修改目标函数的形式的。

参数模型

  • 常见的参数模型:线性回归模型、逻辑回归模型、朴素贝叶斯模型;
  • 优点:可解释性强、模型训练速度快、数据量要求低;
  • 缺点:需提前设定目标函数 f ( x ) f(x) f(x) 形式,模型复杂度偏低、易欠拟合,不适合应用于复杂问题。

非参数模型

  • 常见的非参数模型: SVM 模型、决策树模型、随机森林模型等;
  • 优点:不需设定目标函数 f ( x ) f(x) f(x) 形式,数据量大、逻辑复杂的问题中效果好;
  • 缺点:可解释性弱,模型训练速度慢、计算量大,超参数调参耗时久。

2.1.1 生成与判别模型

生成模型:

  • 定义:学习得到联合概率分布 P ( x , y ) P(x, y) P(x,y),即特征 x x x 和标签 y y y 共同出现的概率,然后求条件概率分布,能够学习到数据生成的机制。
  • 常见生成模型:朴素贝叶斯模型、混合高斯模型、隐马尔可夫模型等;
  • 特点:数据量要求高,计算量大,能够较好地估计概率密度。

判别模型:(主要)

  • 定义:学习得到条件概率分布 P ( y ∣ x ) P(y|x) P(yx),即在特征 x x x 出现的情况下标签 y y y 出现的概率;
  • 常见的判别模型:决策树模型、SVM 模型、逻辑回归模型等,我们使用的大部分模型都是判别模型。
  • 特点:数据量要求不高,收敛速度较快,并且能够处理隐变量问题,适用范围更广。

2.2 常见模型

2.2.1 线性回归模型

线性回归模型是利用数理统计中的回归分析,来确定两个或两个以上变量间相互依赖的定量关系的一种统计分析方法,应用十分广泛。其表达形式为 y = w ′ x + e y = w'x + e y=wx+e ,其中 w w w 为参数行列式, e e e 为随机误差,且服从期望为 0 的正态分布。


在线性回归模型中对随机误差做出的假设有哪些

e i ∼ N ( 0 , σ 2 ) e_i \sim N(0, \sigma^2) eiN(0,σ2) (即零期望 ,同方差)且随机误差彼此不相关;
解释变量是确定性变量,不是随机变量,与随机误差彼此相互独立。

线性回归模型有哪些常用的提升效果的方法

  • 引入高次项:某些因变量与自变量本身并不存在线性关系,但是与其二次项或者更高次项存在线性关系,此时就需要引入高次项。在引入某自变量的高次项之后,需要保留其相应的低次项;
  • 是引入交互项:一个预测变量对模型结果的影响,在其他预测变量有不同值的时候是不同的,这称为变量之间的交互关系。引入交互项的方式通常是将两个预测变量相乘放入模型中作为交互项。将一个交互项放到模型中会极大地改善所有相关系数的可解释性。在引入交互项之后,需要保留组成交互项的自变量。

简述线性回归模型的优缺点

  • 优点:解释性强,模型速度快,可有效指导业务部门进行决策;
  • 缺点:需提前设定目标函数 f ( x ) f(x) f(x) 形式,不适用于复杂、数据量大的问题。

2.2.2 逻辑回归模型

逻辑回归主要通过 sigmoid 函数来解决二分类问题,使用 softmax 函数来解决多分类问题。

sigmoid 函数 softmax 函数
S ( x ) = 1 1 + e − x S(x)=\frac 1 {1+e^{-x}} S(x)=1+ex1 P ( y = j ) = e x T W j ∑ k = 1 K e x T W k P(y=j)=\frac {e^{x^T}W_j} {\sum_{k=1}^K e^{x^TW_k}} P(y=j)=k=1KexTWkexTWj
【数分】3. 机器学习知识点_第2张图片

逻辑回归模型与线性回归模型的区别

  • 逻辑回归模型:主要用于解决二分类问题,在对最终结果 y y y 的处理上,会将此前线性回归模型中的 y y y 通过 sigmoid 函数(又称逻辑回归函数)映射到[0,1]区间;
  • 线性回归模型:主要用于预测问题。

在逻辑回归模型中常用的 L1 与 L2 方法的区别

通过引入惩罚项,使得逻辑回归模型中各个变量的系数得以收缩,从而避免过拟合的发生。

  • L1法:也叫 lasso 方法,惩罚系数的绝对值,惩罚后有的系数直接变成 0,其他系数绝对值收缩;
  • L2 法:也叫 ridge 方法,惩罚系数的平方,惩罚后每个系数的绝对值收缩。

相比于 L2 方法,L1 方法可以筛选变量,在变量较多的情况下,能够从中选择较为重要的变量。

简述逻辑回归模型的优缺点

  • 优点:可解释性强;
  • 缺点:随着数据量的增加,易产生欠拟合现象。

2.2.3 决策树模型模型

决策树模型是一种非参数模型,它无须对目标函数和变量做过多的假设,使用更加灵活,能够处理更加复杂场景下的问题。
【数分】3. 机器学习知识点_第3张图片


简述决策树模型

决策树模型是一种类似于流程图的树形结构,树内部的每一个节点代表对一个特征的测试,树的分支代表该特征的每一个测试结果,树的每一个叶子节点代表一个类别。

如何确定每一个节点选择什么特征,其常用方法(ID3, C4.5 & Cart 方法)及各自特点

信息熵:信息论中,用其来表示随机变量的不确定性,定义为: H ( X ) = − ∑ i = 1 n p i l o g p i H(X)=-\sum_{i=1}^n p_ilogp_i H(X)=i=1npilogpi
Gini系数:CART方法中用来代替信息熵,定义为: G i n i ( D ) = 1 − ∑ i = 1 n p i 2 Gini(D)=1-\sum_{i=1}^n p_i^2 Gini(D)=1i=1npi2

在决策树模型中,每一步都会选择合适的特征作为节点,来降低信息熵。
常用方法:

  • ID3方法:
    • 异同点:在选择特征时,选择使信息增益最大化的特征作为节点;
    • 适用范围:只能处理分类问题,不能处理连续值;
    • 问题:会选择有较多分枝的特征作为节点,易造成模型的过拟合
  • C4.5方法:
    • 异同点:在选择特征时,选择信息增益比最大化的特征作为节点;
    • 适用范围:只能处理分类问题,可以处理连续值但较为复杂;
    • 改进:随着分支数量增多,信息增益比会相应变小,因此能避免选择有过多分枝的特征作为节点,避免过拟合现象。
  • CART方法:
    • 异同点:在选择特征时,选择能够使Gini系数变小的特征作为节点;
    • 适用范围:可处理分类、预测问题,且能处理连续值,实际应用更广泛。

简述决策树模型的优缺点

  • 优点:不需对样本预先假设,可处理分类和预测问题,对缺失值不敏感,计算速度快,可解释性强,定位问题迅速;
  • 缺点:易过拟合,在处理特征关联较强的数据表现差。

决策树模型常用的调优方法

  • 控制树的深度及节点的个数等参数,避免过拟合
  • 运用交叉验证法,选择合适的参数
  • 通过模型集成的方法,基于决策树形成更加复杂的模型。

2.2.4 随机森林及Boosting模型

强、弱学习器的定义及划分依据

可将学习器理解成模型算法,强、弱学习器体现在对复杂数据场景的处理能力强弱,是一个相对概念。
相比于决策树模型,随机森林可以称为强学习器,但是和其他更复杂的模型比,它就是弱学习器了。

解释模型集成和模型融合的概念并举例

模型集成:

  • 定义:将多个弱学习器(也称为基模型)进行组合,以提高模型的学习泛化能力。
  • 分类:同质集成模型(将相同种类模型进行集成),如随机森林;异质集成模型,如
  • 常用集成方法:
    • Bagging,如随机森林;
    • Boosting,如GBDT。

模型融合:

  • 定义:在模型集成中,将各个基模型的结果进行组合,得到最终的结果,这个过程称为模型融合。
  • 常用融合方法:
    • 平均法:在预测问题中,将各个基模型的结果进行平均作为最终结果;
    • 投票法:在分类问题中,选择基模型中预测比较多的类别作为最终结果。

解释随机森林的基本原理

随机森林是模型集成中 Bagging 方法的典型代表,通过对样本的 n 次随机采样,就可以得到 n 个样本集。对于每一个样本集,可以独立训练决策树模型,对于 n 个决策树模型的结果,通过集合策略来得到最终的输出。

  • 决策树模型关系:相对独立的,但不完全独立的,训练集之间是有交集的;
  • 随机采样方式:Bootstrap Sample(有放回采样), l i m n → ∞ 1 − ( 1 − 1 n ) n = 1 − 1 e ≈ 0.0632 lim_{n \to \infty} 1-(1-\frac 1 n)^n=1-\frac 1 e \approx 0.0632 limn1(1n1)n=1e10.0632 ,每次采样约有 63.2% 的样本被选中。该方法同样适用于对变量进行随机抽取。

相比决策树模型,随机森林模型为何能实现更好的效果

答案通用,适用于所有的集成方法。

  • 模型误差包括偏差和方差两个部分,假设各个决策树模型有相同的偏差和方差,通过将多个决策树模型得到的结果进行平均或者投票,可以保证随机森林模型的偏差与单个决策树模型的偏差基本相同。但是由于各个决策树模型之间的相对独立性,通过对结果进行平均或者加权能够大幅度减小随机森林模型的方差,最终将误差变小。

阐述随机森林模型与 Boosting 模型之间的区别

  • 随机森林模型:运用了模型集成中的 Bagging方法,其各个决策树模型的生成是相互独立的,是基于通过样本重采样方法得到不同训练集而产生不同的决策树模型的;
  • Boosting 模型:运用了模型集成中的 Boosting 方法,其新决策树模型生成是基于此前已经生成的决策树模型的结果,所以决策树模型的生成并不是相互独立的,每一个新的决策树模型都依赖前一个决策树模型

常见的基于决策树模型的 Boosting 方法及各自原理

常见的基于决策树模型的 Boosting 方法主要有 AdaBoost 和 GBDT:

  • AdaBoost 加大此前决策树模型中分类错误的数据的权重,使得下一个生成的决策树模型能够尽量将这些训练集分类正确;
  • GBDT 通过计算损失函数梯度(gradient)下降方向,定位模型的不足而建立新的决策树模型的。在实际工作中应用更广。

简述随机森林模型和 GBDT 模型优缺点

  • 优点:
    • 都基于决策树模型的,能处理离散型和连续型变量同时存在的场景;
    • 不需对数据集做过多假设,能够处理比较复杂的问题;
    • 都是集成学习方法,相比单一的决策树模型,其性能有了很大的提升。
  • 缺点:
    • 随机森林模型和传统的 Boosting 模型面对更大的训练集时,依然存在训练速度较慢的问题。

2.2.5 XGBoost模型

AdaBoost 和 GBDT,它们属于比较基础的 Boosting 模型。目前常用的则是 XGBoost 模型,它是一种性能更好的 Boosting 模型。


简述XGBoost基于GBDT模型优化的原因

XGBoost 是 Gradient Boosting 方法的高效实现,它在传统 GBDT 模型的基础上对算法做了优化调整。

  • 传统的 GBDT 模型以 CART 树作为基学习器,而 XGBoost 还支持线性分类器,这时 XGBoost 的基学习器可以是 L1 和 L2 正则化的逻辑回归模型或者线性回归模型,提高了模型的应用范围;
  • 传统的 GBDT 模型在优化时只用到了损失函数一阶导数信息,而 XGBoost 则对损失函数进行了二阶泰勒展开,得到了一阶导数和二阶导数,可以加快优化速度;
  • XGBoost 模型在损失函数中加入了正则项,用于控制模型的复杂度。从权衡方差和偏差的角度来看,它降低了模型的方差,使学习出来的模型更加简单,可以防止过拟合,提高了模型泛化能力。这也是 XGBoost 模型优于传统 GBDT 模型的一个特性;
  • 借鉴随机森林模型对特征进行采样的方法,在生成决策树的过程中支持列抽样,不仅可以防止过拟合,还能减少计算量;
  • 能够自动处理缺失值,将其单独作为一个分支。

简述 XGBoost 的并行操作

  • 并行不是指在模型上并行,而是指在特征上并行;
  • 决策树模型的学习最耗时的步骤就是对特征值进行排序(要确定最佳分割点)。XGBoost 模型在训练之前,预先对数据进行了排序,然后保存为块(block)结构,在后面的迭代中会重复使用,从而大大减少了计算量,块结构也使得并行化成为可能;
  • 此外,在进行节点选择时,需要计算每个特征的增益,最终选择增益最大的那个特征作为节点,各个特征的增益计算就是基于块结构实现并行操作的。

3. 效果评估

3.1 预测问题常用的评估方法

  • MSE(Mean Squared Error,均方误差):参数估计值与参数真值之差平方的期望值,可用于评估数据的变化程度,值越小精度越高, M S E = 1 N ∑ t = 1 N ( o b s e r v e y t − p r e d i c t e t t ) 2 MSE=\frac 1 N \sum_{t=1}^N (observey_t -predictet_t)^2 MSE=N1t=1N(observeytpredictett)2
  • RMSE(均方根误差):均方误差的算术平方根, R M S E = M S E = 1 N ∑ t = 1 N ( o b s e r v e y t − p r e d i c t e t t ) 2 RMSE=\sqrt{MSE}=\sqrt{\frac 1 N \sum_{t=1}^N (observey_t -predictet_t)^2} RMSE=MSE =N1t=1N(observeytpredictett)2
  • MAE(Mean Absolute Error,平均绝对误差):绝对误差的平均值。平均绝对误差在一些问题上能更好地反映预测值误差的实际情况, M A E = 1 N ∑ t = 1 N ∣ o b s e r v e y t − p r e d i c t e t t ∣ MAE=\frac 1 N \sum_{t=1}^N |observey_t -predictet_t| MAE=N1t=1Nobserveytpredictett

3.2 分类问题常用的评估方法

关于分类问题,需要分成二分类问题和多分类问题分别进行讨论。

  • 对于二分类问题,常用的评估方法如下表,其中正例和反例是相对的概念,正例通常是我们所关注的结果。
  • 对于多分类问题,如果特别关注某一分类,则可以转换为二分类问题;如果关注的是模型整体的分类效果,则可以用正确率来进行描述。二分类问题实际上是多分类问题的一种特殊情况。
- 预测为正例 预测为反例
实际为正例 TP(Ture Positive) FN(False Negative)
实际为反例 FP(False Positive) TN(Ture Negative)

二分类问题的评估方法

  • 准确率(precision):判断为正例且实际上是正例的数量/判断为正例的数量,即 TP/(TP+FP),相比正确率使用频率更高;
  • 召回率(recall):判断为正例且实际上是正例的数量/实际上所有正例的数量,即 TP/(TP+FN);
  • 正确率(accuracy):判断正确的数量/判断的数量,即 (TP+TN)/(TP+FN+FP+TN),正负样本不平衡时,这个意义不大。
  • ROC和AUC:
    • ROC 曲线的横轴纵轴分别为FPR(False Positive Rate):TP/TP+FN和TPR(True Positive Rate):FP/TN+FP
    • ROC 曲线一定会经过(0,0)和(1,1)两个点,在此基础上要尽量使曲线下方所围成的面积最大化,这部分面积称为 AUC。
    • AUC 是用来衡量二分类模型效果的指标,可解释性强,常用。

多分类问题的评估方法

  • 转换为二分类问题:将其中我们最关心的分类作为正例,其余的均作为负例;
  • 混淆矩阵:将此前的 2×2 预测值与实际结果之间对应的矩阵进行扩展,扩展成 n × n 矩阵,其中 n 表示分类的数量,在混淆矩阵中,对角线代表正确的结果。

你可能感兴趣的:(数据分析进阶之路,机器学习,人工智能,python)