机器学习知识点补充

本文详细介绍了机器学习的基础概念,包括先验概率与后验概率、偏差与方差、正则化方法,以及逻辑回归、SVM、决策树等算法。同时,讨论了数据处理中的标准化、归一化、中心化,以及如何解决数据不平衡问题和衡量模型的指标。此外,还对比了生成模型与判别模型,探讨了Bagging、Boosting等集成学习方法。
摘要由CSDN通过智能技术生成

基础概念

先验概率与后验概率

条件概率(似然概率)

  • 一个事情发生后,另一件事发生的概率
  • P(X|Y)表示Y发生的条件下,X发生的概率

先验概率

  • 事情发生前的预判概率
  • 可以是基于历史数据的统计,也可以是主观观点给出的
  • 一般是单独事件发生的概率

后验概率

  • 基于先验概率球的的反向条件概率,若P(X|Y)为正向,则P(Y|X)为反向

贝叶斯公式

偏差与方差

概念

  • 偏差是预测值的期望真实值的差距,差距越大,越偏离真实数据
  • 方差是预测值期望值的距离,距离越大,代表分布越离散

偏差与方差用于衡量模型泛化误差的两个方面

  • 偏差用于描述模型的拟合能力
  • 方差用于描述模型的稳定性

导致偏差和方差的原因

  • 偏差通常是对学习算法做了错误的假设,比如模型复杂度不够,通常偏差可以在训练误差上体现
  • 方差通常是优于模型复杂度过高造成,导致过拟合,通常方差体现在测试误差

深度学习中的偏差与方差

  • 神经网络的学习能力很强,所以训练误差一般较小
  • 神经网络过拟合会导致测试误差偏大
  • 降低模型的泛化误差- > 正则化方法
损失函数、代价函数、目标函数

损失函数:Loss Function(希望最小化)
在一个样本上的误差
代价函数:Cost Function
整个training set中的误差平均,即损失函数的平均
任何能表示预测值与真实值的误差的函数都可
目标函数:(最大化/最小化不一定)
最终需要优化的函数,包括经验风险(比如代价函数)与结构风险(比如担心过拟合,用于正则化的项)
梯度下降
比如模型是h(θ)=θTx,优化θ至代价最小的一个方法是梯度下降
梯度下降指代价函数对θ求偏导

正则化方法

防止过拟合,提高泛化能力

三类原始数据
training data:计算梯度、更新权重
validation data:实际上作用是防止过拟合,确定early stopping的epoch大小、learning rate等
testing data:衡量模型的好坏

L1&L2范数

通过修改代价函数来实现
L1和L2的区别:

  • L1通过在原目标函数后加上所有特征系数的绝对值的和实现正则化
  • L2通过在原目标函数后加上所有特征系数的平方和来实现正则化

L1和L2的功能:

  • L1更适合特征选择
  • L2更适合防止模型过拟合

Dropout
修改神经网络本身,随机删除隐层单元

数据集增广

生成模型与判别模型

监督学习的任务模型通常是一个决策函数或一个条件概率分布

  • 决策函数:输入X返回Y,Y再与一个阈值作比较,然后根据比较结果判别X的类别
  • 条件概率分布:输入X,返回X属于每个类别的概率,概率最大的为X的类别

监督学习模型可分为

  • 生成模型:学习X和Y的联合概率分布P(X,Y),然后根据贝叶斯公式求得条件概率P(Y|X)
  • 判别模型:直接学习条件概率分布P(Y|X)

常见生成模型与判别模型

  • 生成模型:HMM、朴素贝叶斯
  • 判别模型:LR、SVM、CRF、KNN、一般的神经网络
标准化、归一化、中心化
  1. 归一化normalization 有最大最小值归一、平均归一、非线性归一,作用是把数据压缩到[-1,1](平均归一)或者[0,1](最大最小归一)
  2. 标准化standardization不像归一化一样只依据最大值与最小值计算,它根据平均值与标准差计算z-score,与数据整体分布有关
  3. 中心化就是目标值就是原值减去平均值,操作之后数据的平均值为0
  4. 标准化/中心化的作用:有些模型必须用标准化/归一化,如KNN因为要求欧式距离,如果有的值量级过大,就需要把它压缩到与其他特征可比。如SVM,如神经网络,如PCA,如梯度下降加快收敛
数据不平衡怎么解决
  1. 欠采样法
  2. 过采样法
  3. 阈值移动方法
衡量模型的指标
  1. 回归任务常用均方误差
  2. 错误率(分类错误的样本数占样本总数的比例)、精确度(1-错误率)
  3. 查准率(Precision)=TP/(TP+FP) 【分母是预测为1】 选出的瓜中好瓜占比高,一查一个准
  4. 查全率(Recall)=TP/(TP+FN) 【分母是真实为1】尽可能把好瓜都选上,查得全
  5. P-R图横轴查全率、纵轴查准率,比较两个模型得P-R,出发点是查准率查全率双高,比较他们的平衡点BEP(查准率=查全率的取值)。然而BEP还是更简化了,我们用F1(PR的调和平均),Fβ(PR的加权调和平均)
  6. ROC曲线研究机器学习泛化性能
    横轴:假正例率 FPR=FP/(FP+TN) 【分母是真实为0】 希望尽可能小
    纵轴:真正例率 TPR=TP/(TP+FN) 【分母是真实为1】 希望尽可能大

算法

逻辑回归

逻辑回归是假设数据服从伯努利分布,极大化似然函数,利用梯度下降求解参数,从而完成二分类的模型

SVM

SVM是一种二分类模型,基于最大间隔找到最佳的超平面,距离超平面最近的点是支持向量。当特征线性不可分的时候,需要用到核函数特征映射到高维空间。

SVM的缺点

  1. 难以处理大量数据,因为SVM要借助存储高阶矩阵来计算,所以计算较慢,垃圾邮件分类一般不用SVM,用Naive Bayes或LR
  2. 难以处理多分类问题,要考虑组合模型的方法
  3. 没有好的方法选取核函数

核函数

核函本质是两函数的内积,映射数据到高维,有高斯核、线性核、多项式核、Sigmoid核等

  1. 线性核用于线性可分的数据
  2. 多项式核参数多,对大量级的幂数不适用
  3. 高斯核可以映射数据到无穷维,只有一个参数,但可解释性差,容易过拟合,速度较慢
  4. Sigmoid核求的是全局最优值,有良好的泛化能力

在实战中

  • 样本非常多/特征多:线性核(跑得快)
  • 样本多、特征少:高斯核
决策树

在这里插入图片描述

决策树的训练由特征选择、树的生成、剪枝组成

  1. 谈谈对决策树的理解?
    决策树的训练目标是让模型的不确定性降低得越快越好,根据评价指标不同,决策树主要有ID3,C4.5,CART三种算法,ID3得评价指标是信息增益,C4.5是信息增益率,CART是基尼指数

  2. 信息增益与信息增益率?
    首先要知道熵这个概念,熵是度量随机变量的不确定性的指标,当概率分布越均匀,熵越大,概率分布相同的情况下,取值越多,熵越大。其次要理解条件熵的概念,条件熵是在一定条件下,某个随机变量的不确定性。当熵与条件熵的概率由数据估计得到时,分别称为经验熵与经验条件熵

  • 信息增益(也称互信息),是指集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差
  • ID3每次分叉选取最优特征时,会选取信息增益最高的特征来作为分裂特征,但这不一定就好,因为这样会偏爱取值数目多的特征
  1. 为什么C4.5采用信息增益率能解决ID3存在的问题?
  • 因为信息增益偏好可取值数目多的特征,比如将id作为分支条件,纯度一定是最大的,信息增益一定是最大的
  • 增益率=信息增益/IV,取值数目越多,IV越高
  • 增益率偏好可取值数目少的属性,因此C4.5使用一个启发式的方法:先从候选划分属性中找到信息增益高于平均水平的,再从中找增益率最高的
  1. 决策树出现过拟合的原因和解决方法?
    Early Stopping(限制树的高度、节点数),剪枝

  2. 不同算法的树的结构有什么区别?
    CART是二叉树,叶子节点数目比所有非叶子节点数目多1

    原因

  • 树的生成中没有进行剪枝,模型过于复杂

  • 样本中有噪声数据,没有对噪声数据进行有效剔除

  • 构建决策树过程中用了较多的输出变量

    解决方法

  • 剪枝:预剪枝与后剪枝(一般用后剪枝)

  • K-folds交叉验证:将数据分为K份,每次把其中的1份作为测试集,K-1份作为训练集

  • 减少特征:
    计算每个特征和响应变量的相关性,常见的相关系数是皮尔逊相关系数,将相关性较小的变量剔除
    基于决策树的特征筛选
    L1正则化选取特征

  1. 剪枝
  • 预剪枝:在当前节点划分前,先进性估计,若当前节点的划分不能带来决策树泛化性能的提升,则停止划分并将当前节点标记为叶子节点
  • 后剪枝:是一种全局的优化方法,在决策树完全建立后再自下而上地剪枝,若将该节点对应的子树替换为叶子节点能提升决策树泛化性能,则替换
  • 参数:树的高度、叶子节点的数目、最大叶子节点数、限制不纯度等
  1. DT和LR的区别?
  • DT能处理缺失值的数据,LR则需要预处理
  • DT对局部结构的分析优于LR,而LR注重全局拟合,DT一旦分层,就与其他节点无法联系了,忽视数据间的相关性
  • LR对极值比较敏感,容易受极端值影响
  • 当数据量很大时,LR速度很慢,DT较快
Bagging和Boosting

Bagging流程:

  1. 用Boostrap选取n个训练样本,选取k轮
  2. 分别训练k个模型
  3. 综合每个模型的结果

Boosting流程:

  1. 建立对训练样本的权重
  2. 每轮迭代对训练样本权重进行改变
  3. 综合每个基分类器的结果

区别:

  1. 在样本选择上:
  2. 在样本权重上:
  3. 在并行计算上:
  4. 在预测函数上:
Adaboost/RF/GBDT/XGBoost

Adaboost

在这里插入图片描述

Adaboost与RF相同之处

  1. 二者都是要训练很多棵决策树;
  2. 二者都是bootsrap自助法选取样本。

XGBoost与GBDT的区别
GBDT算法只利用了一阶的导数信息,XGBoost对损失函数做了二阶的泰勒展开,并在目标函数之外加入了正则项对整体求最优解,用以权衡目标函数的下降和模型的复杂程度,避免过拟合。所以不考虑细节方面,两者最大的不同就是目标函数的定义

GBDT与Adboost的区别
最主要的区别在于两者如何识别模型。Adaboost用错分数据点来识别问题,通过调整错分数据点的权重来改进模型。GBDT通过负梯度来识别问题,通过计算负梯度来改进模型

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值