机器学习基础知识(上)

简介: 机器学习基础知识

一、树形结构为什么不需要归一化?


原因:因为进行归一化后不会影响分裂点的位置,对树模型的结构不会造成影响。

(按照特征值进行排序的,归一化后排序的顺序不变,所以树形结构分裂点的位置也不变)


二、请详细说说支持向量机(SVM)的原理?


三、逻辑斯特回归为什么要对特征进行离散化?


四、overfitting怎么解决?


overfitting就是过拟合。

特点:

随着训练过程的进行,模型在训练数据上的拟合效果越来越好,而在验证集上的效果则越来越差。

过拟合特点:随着训练过程的进行,模型在训练数据上的拟合效果越来越好,而在验证集上的效果则越来越差。

解决方法:

1、正则化:

L1正则化:逼迫更多w为0,变得稀疏。

L2正则化:逼迫所有w尽可能趋向于0但是不为0,顾及到了每一个点。

2、随机失活(dropout):让神经元以一定概率被激活。以一定的概率来删除相应的神经网络节点,这相当于每一次训练时模型的网络结构都不一样,这样可以有效的减少过拟合。

3、逐层归一化(batch normalization):这个方法给每层的输出都做一次归一化。使得下一层的输入接近正态分布。

4、提前终止Early Stopping:不去过分的追求精确的最小值,根据交叉验证来提前终止训练。

5、减少特征个数:将与结果没什么关系的特征删除,防止噪声干扰模型。

6、集成学习方法Bagging。

数据方面:

7、增加更多的训练数据,使用更大的数据集训练模型。

8、数据增强。

9、重新清洗数据。


五、说说梯度下降法?


1、梯度下降法定义:是一个一阶优化算法,通常也称为最速下降法。

2、梯度定义:对于一个线性函数,梯度就是线的斜率。

3、梯度一般定义:对多元函数的参数求偏导,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。

4、求梯度的意义是什么?是为了得出函数变化最快的地方,以找到函数的最小值。

5、梯度下降的直观解释:在山上下山,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,下一步继续沿着当前最陡峭的位置向下走,一直到走到山脚。

6、梯度下降有:

1)批量梯度下降法(BGD):更新参数时使用所有的样本来进行更新。(即求梯度时用了所有的样本数据)。训练速度慢,但准确度较高。

2)随机梯度下降法(SGD):更新参数时只用一个样本来进行更新。训练速度快,但是准确度不稳定,有可能陷入局部最优解。

3)小批量梯度下降法(MBGD):是对于随机梯度下降法和批量梯度下降法的一个折中。


六、为什么xgboost要用泰勒展开,优势在哪里?

七、谈谈判别式模型和生成式模型?

八、请详细说说EM算法?

九、机器学习中,为何要经常对数据做归一化?


归一化定义:把每个特征向量的值都缩放到相同的数值范围。

为什么:

1、加快了梯度下降求最优解的速度(否则很难收敛甚至不能收敛)。 归一化使得损失等高线尽可能的接近圆形。

2、有可能会提高精度。

归一化类型:

1、线性归一化:适合用在数值比较集中的情况,容易受到极大极小值的影响。

2、标准差标准化:经过处理的数据符合正态分布。


十、简单说说贝叶斯定理?


10-1、相关概念介绍


先验概率(边缘概率):某个事件发生的概率,即通过经验来判断事情发生的概率。

条件概率(后验概率):事件A在事件B已经发生条件下的发生概率。

联合概率:两个事件共同发生的概率。


image.png


条件独立


网络异常,图片无法展示
|

注意:朴素贝叶斯定理假设特征之间相互独立。


10-2、贝叶斯定理


贝叶斯原理:实际上就是求解后验概率。

贝叶斯公式(根据联合概率求得)


525147f258da4ac1925980563a592f52.png


推导贝叶斯公式

297ceb85a70f41e6b2a1f1c67e439c92.png


根据上边两个条件概率公式即可推导出贝叶斯公式。


10-3、贝叶斯算法的优缺点


优点

1、对小规模数据的表现很好,能处理多分类任务,适合增量式训练。

2、算法简单,训练速度快。

缺点

1、对缺失数据不太敏感。

2、因为朴素贝叶斯模型假设了属性之间相互独立,这在实际应用中往往是不成立的,在属性之间相关性比较大的时候,分类效果并不好。适合属性之间相关性较小的样本。

3、需要首先知道先验概率。如果先验概率是假设的,那么往往预测结果不会那么准确。

4、对于输入数据的表达形式很敏感。


10-4、拓展延伸


10-4-1、MLE(最大似然)


似然函数

总体X为离散型时:


image.png

总体X为连续型时:


image.png

注意:最大似然估计会寻找关于 θ的最可能的值(即,在所有可能的θ取值中,寻找一个值使这个采样的“可能性”最大化)。


10-4-2、MAP(最大后验概率)


十一、如何进行特征选择


特征选择:

1、是一个重要的数据预处理过程。

2、可以减少特征的数量、降维,使得模型的泛化能力更强。

3、增强对特征和特征值之间的理解。

如何特征选择?

1):Filter:使用方差过滤特征,去除方差较小的特征(影响小),评估单个特征和结果值的相关程度,留下相关性较强的特征。卡方检验:计算各个特征对目标值的相关系数,之后根据阈值筛选特征。

2):包装法:根据目标函数每次选择若干特征。

3):嵌入法:通过机器学习的某些算法和模型进行训练,得到各个特征的权值系数,并根据系数从大到小选择特征。


十二、机器学习和统计里面的auc的物理意义是什么?


1、AUC的定义:AUC(Area under curve,即一条曲线下面区域的面积,而这条曲线叫做ROC曲线)是评价模型好坏的常见指标之一,是一个概率值,只能用于二分类模型的评价。

2、ROC曲线:横坐标为假阳率(负例中有多少被预测为正例的概率),纵坐标为真阳率(正例中被预测为正例的概率)。

3、ROC曲线的作用:ROC曲线主要是用来判断分类器的性能。ROC曲线越接近左上角,则该分类器的性能越好。


十二、分类器评价指标:扩展知识(准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure)、AUC、ROC的理解)


前言:以下的几个概念都是用来评价分类器的优良。


3bfb12b9c54945bea9cc8ff916bac6d5.png


12-1、准确率

准确率:即所有预测正确的占总的比重。

注意:数据不均衡的时候不适合使用准确率。


image.png


12-2、精确率


精确率:查准率,即正确预测为正的占全部预测为正的比例。

备注:第一次接触这个概念有一些不理解,后来慢慢了解了,精确率这个概念适用于医学诊断等,举个栗子,疾病诊断,就算是健康的被判断为不健康,那关系也不是特别大。但是,如果不健康被判定为健康,那这个问题就大了,精确率在这里就显得尤为重要!


image.png

12-3、召回率

召回率:即正确预测为正的占全部实际为正的比例。

备注:这个概念适用于一些电子产品故障召回,比如说某某手机销售后发现故障,需要紧急召回,一些人知道这个消息并且给厂家退回去手机,但是另一些人压根不知道这个消息。

image.png


12-4、F1 score值

F1 score值:基于精确率和召回率的一个值,融合了这两个标准。


image.png

总结:越大越好

12-5、AUC、ROC

1、ROC曲线


f3dbaa1fcf284469837ebe8879dca1f4.png


横坐标:伪正类率(False positive rate,FPR)


image.png

纵坐标:真正类率,即召回率(True positive rate,TPR)


image.png

即:TPR越大越好,而FPR越小越好,理想情况是(0,1)点,即ROC曲线越靠拢(0,1)点,左上角,越偏离45°对角线越好。

2、AUC值


AUC值:AUC值是一种模型分类指标,且仅仅是二分类模型的评价指标。

AUC值是ROC曲线下的面积,取值范围一般是在0.5到1之间,使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

从AUC判断分类器(预测模型)优劣的标准:

(1)AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。

(2)0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

(3)AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。

(4)AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测

即:AUC值越大的分类器,正确率越高。


12-6 、小结


精确率和召回率的关系:精确率和召回率具有互斥的关系。

相关文章
|
9月前
|
机器学习/深度学习 数据采集 人工智能
机器学习基础知识——基本原理、常用算法与评估指标
机器学习基础知识——基本原理、常用算法与评估指标
248 0
|
2天前
|
机器学习/深度学习 算法
284张机器学习漫画手册吃透所有基础知识!
前几天淘到一份斯坦福大佬整理的漫画集,几乎讲到了机器学习所有的知识点,包括特征工程、算法模型、评估、优化……熬夜肝完了,真的很不错! 用284张漫画几乎可以吃透机器学习所有知识,就想着赶紧分享给小伙伴们了!
|
8天前
|
机器学习/深度学习 API 索引
机器学习项目实践-基础知识部分
创建Python隔离环境使用`python -m venv`命令,如`python -m venv ml`来创建名为`ml`的虚拟环境。激活环境通过`.\&lt;Scripts&gt;\activate`(Windows)。然后可以使用`pip`安装库,如`numpy`、`pandas`、`matplotlib`和`jupyter notebook`。在虚拟环境中,`numpy`是用于数组计算的库,支持数学操作和绘图。`pip install`命令后面可添加`-i Simple Index`指定索引源。完成安装后,激活环境并启动`jupyter notebook`进行开发。
|
13天前
|
机器学习/深度学习 数据采集 算法
机器学习入门的基础知识和步骤
机器学习入门的基础知识和步骤
20 1
|
10月前
|
机器学习/深度学习 算法 Python
Python机器学习基础知识和相关术语
Python机器学习基础知识和相关术语
60 0
|
机器学习/深度学习 数据采集 自然语言处理
机器学习基础知识(下)
机器学习基础知识(下)
|
机器学习/深度学习 数据采集 人工智能
图解机器学习 | 机器学习基础知识
本文覆盖机器学习常见知识要点,包括机器学习流程、算法分类(监督学习、无监督学习、强化学习)、依托的问题场景(分类、回归、聚类、降维)、机器学习模型评估与选择等。
341 1
图解机器学习 | 机器学习基础知识
|
机器学习/深度学习 运维 算法
|
2月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
138 14
|
2月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)