机器学习 - 基础笔记复习(自问自答)

机器学习 - 基础笔记复习

1. 什么是特征工程?

特征工程,顾名思义,对特征进行处理。那么什么是特征呢,特征就是事物(即机器学习内的数据)突出性质的表现,特征是区分事物的关键。例如,我们如何区分一个人,肯定通过不同样貌特征的不同,就能区分出不同的人之间的不同。但是由于一个人有一百个特征,一百个人就可能会有一万个特征。特征是非常庞大复杂的,如果我们要让机器学会认识特征,我们就要把特征处理得简单一些。所以特征工程的主要目的就是对特征进行预处理,包括数据预处理,特征选择,特征降维。

  • 数据预处理:我们在给机器传输学习知识之前,知识可能会存在很多问题。就比如特征之间量纲不一致,信息冗余,特征缺失。
  • 特征选择:当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。
  • 特征降维:特征选择完成后,我们选择的特征都是有意义的,但不代表在训练过程起到的作用很大。一些特征实际起到的作用很小,就会导致特征利用率少的问题。所以我们可以对特征进行降维。

2. 在已知场景和问题下,你要如何得到特征?

已知场景和问题下,我们就知道要解决的问题,要得到的结果是什么。因此,可以先通过人为的方式,去搜索问题主体本身所有的特征,然后通过特征方程一步步得到我们想要的特征。

3. 数据预处理一般要处理哪些问题,怎么处理?

  • 数据特征的量纲不一致,即数据之间量纲不同。可以对特征进行标准化。
  • 将特征处理成机器更容易学习的格式。归一化(连续)、one-hot(离散)、二值化。
  • 数据特征缺失。填补缺失值的方法:求均值,众数,或者直接删除该数据。
  • 数据特征异常。根据特征分布修改。

4. 什么是归一化,归一化有什么好处?

归一化是对数据线性变换,将原有数据进行了放缩,归一化一般放缩到[0,1]。
归一化可以提高收敛速度,提高收敛的精度。

5. 归一化和标准化的异同?

归一化对不同特征维度的伸缩变换的目的是使各个特征维度对目标函数的影响权重是一致的,即使得那些扁平分布的数据伸缩变换成类圆形。这也就改变了原始数据的一个分布。
标准化对不同特征维度的伸缩变换的目的是使得不同度量之间的特征具有可比性。同时不改变原始数据的分布。

6. 特征选择的方法有哪些?

主要有过滤法、包装法、嵌入法。具体看这位博主写的

Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。

7. 特征降维有什么好处,常用有哪些?

特征降维可以减小机器学习训练时候的特征数量,降低计算量,提升训练速度。
常用的方法有:L1正则化、PCA(主成分分析法)、LDA(线性判别分析法)。

8. 简述一下贝叶斯定理?

如果我们知道一些事件以前发生的概率,就可以利用贝叶斯公式求出未来可能发生的概率。
贝叶斯定理通常用于由已知的先验概率P(A)和条件概率P(B|A),推算出后验概率P(A|B)。
贝叶斯公司

P(A)是 A 的先验概率,之所以称为“先验”是因为它不考虑任何 B 方面的因素。
P(A|B)是已知 B 发生后 A 的条件概率,也由于得自 B 的取值而被称作 A 的后验概率。
P(B|A)是已知 A 发生后 B 的条件概率,也由于得自 A 的取值而被称作 B 的后验概率。
P(B)是 B 的先验概率,也作标淮化常量(normalizing constant)。

这里面有个开车的例子很通俗易懂。

9. 机器学习可以分为多少类?

按照学习的方式不同分为:无监督学习和有监督学习。
按照目标的不同可分为:回归/拟合、分类、聚类、集成学习。

扫描二维码关注公众号,回复: 12679272 查看本文章

10. 什么是无监督学习和有监督学习?

本质区别就是,给予机器学习训练的数据有无标签。
也就是说,有监督学习,就是机器学习可以根据特征去预测得到一个分类结果,并且通过分类的结果和真实标签比对,检查自己预测的对不对。无监督学习就是,一堆数据,你要根据不同的特征去划分。但是你并不知道他们有多少类或者各自的类别是什么。这个标签就充当了监督机器学习的作用。

11. 回归、分类、聚类的算法分别有哪些?

回归算法:线性回归、岭回归、LASSO回归、弹性网络、逻辑斯蒂回归、核岭回归、SVR(支持向量机)。
分类算法:KNN/Kd-Tree、SVM(支持向量机)、决策树(根据不同构建树的方法可细分为:ID3,C4.5,CART 分类回归树(可回归也可分类))
聚类算法:Kmeans、Kmeans++、MeanShift 均值迁移、层次聚类、密度聚类(DBSCAN)、AP聚类(AffinityPropagation)、谱聚类(Spectral Clustering)、高斯混合模型。

12. 简述SVR的原理。

SVR的原理就是找到一个超平面,使得最远的样本点到超平面的距离最短。
SVR也可以通过加核函数,得到非线性能力。

13. SVR回归和岭回归有什么区别?

岭回归使用的优化算法是SGD(随机梯度下降法);SVR使用的优化算法是凸优化。

14. 简述SVM的原理。

SVM的原理就是找到一个超平面,使得最近的样本点到超平面的距离最长。

15. 决策树划分树的依据是什么?

决策树根据不同的依据可以划分为:ID3,C4.5,CART 分类回归树(可回归也可分类)
ID3使用信息增益划分;缺点就是没有剪枝、采用信息增益会偏向那些取值较多的特征。(解决:C4.5)
C4.5使用信息增益率划分;
CART树采用基尼指数作为划分依据。

16. 决策树如何进行剪枝?

剪枝:因此树的能力太强,也就是如果不对树进行剪枝,那么所有的特征会被划分到最细。这样一来就会导致数据过拟合。
决策树的剪枝策略最基本的有两种:预剪枝(pre-pruning)和后剪枝(post-pruning);
实现剪枝的方式可以有:限制① 最大深度;② 每个子节点最小/最大的叶子数;③ 最大特征数。

17. 写出Kmean算法的流程。

① 从数据集中随机选取K个样本作为初始聚类中心C;
② 针对数据集中每个样本,计算它们到K个聚类中心的距离并将其分到距离最近的聚类中心所属类别中;
③ 针对每个类别C,重新计算它们的聚类中心;(该类所有已分样本的质心作为新的聚类中心点)
④ 重复步骤②③,直到所有聚类中心的位置都固定。

18. Kmean和Kmean++的区别在哪?

Kmean++是Kmean的改进,主要改进为在初始点的选择上。
Kmean需要初始化K个类中心点,因此最后的效果好坏和初始点的选择有一定关系。
Kmean++初始点选取的基本思路就是聚类中心之间的相互距离要尽可能的远。一开始随机选取聚类中心,然后不断更新使得最终聚类中心之间的相互距离最远。

19. 什么是集成学习,集成学习有哪些算法?

集成学习就是多个模型一起使用,根据某种评价标准,来得到目标结果。从而提高模型的泛化能力/鲁棒性。
根据决策方法的不同可以划分为两大类:平均方法和boosting递进式方法。
① 平均方法:多个不同模型的预测结果占的权重都是一样的,取它们结果的平均作为最终结果。(bagging,随机深林。)
② boosting 递进式方法:结合多个弱模型集成一个较强的模型,再结合再增强。逐步提升模型的强度,得到更好的结果。(adaboost,GBRT)

20. 简述Adaboost的算法原理以及流程。

原理:Adaboost算法是一种提升方法,将多个弱分类器,组合成强分类器。然后通过每个分类器不同话语权,作加权平均得到最终结果。

① 初始化训练数据的权值分布,使得每个样本点开始都有相同的权重,1/N。
② 训练弱分类器。如果某个样本已经被准确地分类,那么构造下一个训练分类器中,它的权重就被降低;相反,如果某个样本点没有被准确分类,那么它的权重就得到提高。
③ 将各个训练得到的弱分类器组合成强分类器,不断更新每个分类器的权重,使得最终的分类函数中,误差较大的弱分类器话语权较小,反之误差较小的弱分类器话语权较大,最终的结果就是每一个分类器的加权平均。

猜你喜欢

转载自blog.csdn.net/weixin_41809530/article/details/107180466