热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

机器学习期末考试概念总结

机器学习模型的评估与选择评估方法:留出法、交叉验证法、自助法;偏差与方差k近邻学习支持向量机SVM朴素贝叶斯决策树逻辑回归集成学习与利用AdaBoost

机器学习

    • 模型的评估与选择
      • 评估方法:留出法、交叉验证法、自助法;
      • 偏差与方差
    • k近邻学习
    • 支持向量机SVM
    • 朴素贝叶斯
    • 决策树
    • 逻辑回归
    • 集成学习与利用AdaBoost元算法提高分类性能
    • Bagging与随机森林
      • 分类器结合的策略
      • 多样性-误差-分歧分解
    • 聚类
    • 神经网络
      • 感知机与多层网络
      • 误差逆传播算法BP
      • 其他常见神经网络
      • 深度学习


模型的评估与选择

概念:在一定的数据集上通过学习得到用于某个任务的模型并考察此模型的泛化能力

错误率:错分样本占比;

误差:样本真实输出与预测输出之间的差异;(训练误差在训练集上,测试误差在测试集上,泛化误差在除训练集外的所有样本上)

过拟合:是指训练器把样本本身的某些特点也当成了一般的性质,欠拟合是指训练器没有完全学习完样本所具有的一般性质;避免过拟合的普遍方法包括**“早停”、“添加正则项优化”**,避免欠拟合就需要增加训练样本,增加训练轮数等等。

评估指标:学习器的泛化性能、时间开销、存储开销、可解释性;

评估方法:留出法、交叉验证法、自助法;

留出法:直接将数据集划分为两个互斥的部分,若干次随机划分取平均值;

交叉验证法:将数据集划分为k个互斥的子集,其中k-1个作为训练集,1个作为测试集,将k次实验结果取平均值;

自助采样法:将数据集D有放回的采样m次得到训练集S,剩下的作为测试集T(仅在数据集较小时使用);

偏差与方差

偏差:描述了期望预测与真实结果之间的差异,刻画了训练器本身的泛化能力;

方差:描述了测试集的变化所带来的学习器性能的变化,刻画了数据扰动带来的影响;

噪声:描述了对于一个具体的任务任何算法学习结果的下界,刻画了一个具体问题本身的难度;

k近邻学习

KNN属于“懒惰学习”

优点是精度高,对异常值不敏感,没有数据输入假定,缺点是计算复杂度高,空间复杂度高,容易引起维数灾难,这个时候必须进行低维嵌入;

多维缩放:原始空间中的距离在低维空间中得以保持,

主成分分析的最近重构性与最大可分性:最近重构性(样本点到超平面的距离足够近):、最大可分性(样本点在超平面的投影尽可能分开):

支持向量机SVM

优点是泛化错误率低,计算开销不大,缺点是对于参数调节和核函数的选择比较敏感,原始分类器不修改的话只能处理二分类问题。

支持向量就是距离分隔超平面最近的那些点,训练中需要最大化支持向量到超平面的距离,另外,支持向量具有稀疏性,训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。

如果简单使用拉格朗日乘子法,需要数据完全线性可分,但是这一要求过于严苛,所以引入松弛变量(软间隔)来允许某些数据点可以位于分隔面错误的一侧,

SMO(序列最小优化)算法:

核函数处理非线性可分数据:核函数将数据集从一个特征空间映射到另一个特征空间,把数据从低维线性不可分转化为高维的线性可分,

核技巧:将向量的内积替换成核函数的方式。

朴素贝叶斯

优点是可以在数据量比较小的情况下获得较高的泛化能力,以及可以处理多分类问题,但是缺点是对于输入数据的准备方式比较敏感,如果利用极大似然估计的方法会受数据概率分布形式的影响。

朴素贝叶斯的基本假设是:一,样本集里每一个特征相互独立;二,每一个特征同等重要。

下溢出问题是朴素贝叶斯最主要的问题,它可以通过对概率取对数来解决。

决策树

优点是计算的复杂度不高,对中间值的缺失不敏感还可以处理不相关的特征数据,但是天生的缺点就是会出现过拟合问题;

决策树的关键在于如何选择最优划分属性,使得节点的“纯度”最高(ID3信息增益越大,C4.5增益率最大,CART基尼指数越小)。一般包括信息增益、基尼指数两种方法。但是信息增益对于可取值较多的属性有所偏好,选择增益率准则进行属性划分时却对可取值数目较少的属性有所偏好。,所以C4.5算法较ID3算法改进了这一缺陷而且做了连续值的离散化处理和缺失值的处理。

利用剪枝处理来避免过拟合,包括预剪枝和后剪枝,预剪枝是指在划分节点之前对泛化性能进行估计,若当前节点的划分可以带来泛化性能的提升,则不进行剪枝,否则进行剪枝,预剪枝可以降低过拟合的风险,提高计算速度与性能,但是会增加欠拟合的风险;后剪枝是指,在整棵决策树生长完成后,自底而上对节点进行考察,若把该节点对应的子树替换成叶子节点能带来泛化性能的提高,就将该子树替换为叶子节点,后剪枝也显著降低了过拟合的风险,带来泛化性能的提高而且由于预剪枝,但是训练时间开销大于预剪枝。

对于连续值的处理,可以进行连续值的离散化,缺失值处理呢?

逻辑回归

优点在于计算代价低,易于逻辑实现,但是缺点在于容易欠拟合,分类精度低。

分类器的函数形式是sigmoid函数,对于每一个特征,乘以一个回归系数,然后进行加和,把加和结果带入sigmoid函数中得到一个范围在0~1之间的值,我们把大于0.5的值归入1类,把小于0.5的值归入0类。那么接下来主要就是我们应该怎么确定回归系数了。

梯度上升法:使用梯度上升法来求函数的最大值,将每个特征的初始回归系数赋值为1,计算整个数据集的梯度,计算梯度最大的方向更新回归系数的向量并迭代,直到结果收敛或者到达人为设定的迭代次数为止。

集成学习与利用AdaBoost元算法提高分类性能

优点是泛化错误率低,可以应用于大部分分类器上而无需参数调整;缺点是对离群点敏感。

原理:不同的分类器是串行训练获得的,每个分类器都是根据之前分类器的性能进行训练,关注的是之前分类器所错分的那些数据,所以最终的结果是基于所有分类器的加权求和所得到的。

训练算法:最开始训练每一个样本,并赋予其一个权重值,在刚刚开始时候,权重值相等,在一个弱分类器上进行训练并计算其错误率,然后在另一个弱分类器上再次训练,此时的每一个样本的权重值发生变化,第一次分对的样本的权重值变小,分错的样本的权重值变大。为了从所有的弱分类器上获得最终的分类结果,每一个分类器都有一个权重值α,这些α值基于每一个弱分类器的错误率进行计算。每一个样本的权重D与分类器的权重值之间存在对应的映射关系。

特点:不同的分类器之间存在很强的依赖关系,分类串行生成,在每次分类之后都调整样本的权重;

Bagging与随机森林

特点:不同的分类器之间没有强依赖关系,分类并行生成,随机采样形成s个数据集应用于s个分类器上;

分类器结合的策略

平均法、投票法、学习法

多样性-误差-分歧分解

个体学习器的精确性越高,多样性越大,则集成效果越好。

聚类

优点是容易实现,缺点是可能收敛到一个局部最小值,在大规模的数据上收敛较慢。

算法原理:随机选取k个点作为起始中心,计算中心与数据点之间的距离,然后把数据点分配到距离它最近的那个簇中,对每一个簇,计算其中所有点的均值并将其更新为中心。

距离度量:非负性、同一性、对称性、直递性;常用距离为马科夫斯基距离、欧氏距离、曼哈顿距离

原型聚类(假设聚类的结构可以通过一组原型来描述)包括K均值算法学习向量量化算法高斯混合聚类算法;(学习向量量化带有类别标签,属于一种监督方法来辅助聚类)、(高斯就是用概率来刻画聚类原型结构了)

密度聚类(假设聚类的结构可以通过样本分布的密度来描述)比如密度聚类算法DBSCAN

层次聚类(在不同的层次对数据集进行划分)比如自底向上层次聚类算法AGNES(把每一个样本看作一个聚类簇,迭代将距离最近的两个聚类簇合并直到最小聚类簇为止)

神经网络


感知机与多层网络

感知机由两层神经元组成,输入层接受外界输入信号传递给输出层M-P神经元。每一个输入的神经元都有自己的权重值和阈值,给定训练集,权重w和阈值可以通过学习得到。

单层感知机只能解决两类模式线性可分时的问题,这时学习过程最后一定收敛,如果两类模式线性不可分,就会出现震荡,所以就需要用多层感知机求解。多层前馈神经网络是指每层神经元与下一层神经元完全互联,层内神经元之间没有连接,也没有跨层连接。

误差逆传播算法BP

首先初始化网络中所有神经元的连接权重与阈值,然后进行迭代,迭代过程为:首先计算当前网络对样本的输出值,然后计算输出层和隐层的梯度值,根据梯度下降算法更新连接权值和阈值,循环直到满足条件。

BP神经网络算法也使用梯度下降法(gradient descent),以单个样本的均方误差的负梯度方向对权重进行调节。可以看出:BP算法首先将误差反向传播给隐层神经元,调节隐层到输出层的连接权重与输出层神经元的阈值;接着根据隐含层神经元的均方误差,来调节输入层到隐含层的连接权值与隐含层神经元的阈值。

但是多层前馈神经网络常常会过拟合,由于隐层的个数难以准确确定,一般使用试错法进行调整:(早停:在训练过程中,当训练误差降低,测试误差明显升高时就停止训练)、(正则化:在误差目标函数里加入一项描述网络复杂程度的值,例如连接权重与阈值的平方和)

其他常见神经网络

RBF网络(单隐层前馈神经网络,使用径向基函数作为隐层激活函数)

ART网络(自适应谐振网络,是一种竞争学习网络,包括比较层、识别层、识别阈值模块、重置模块;具有可塑性稳定性)

SOM网络(自组织映射网络,可以将高维数据映射到低维空间中而不改变数据在高维空间中的拓扑结构)

级联相关网络(级联是指在训练数据过程中同时建立层级之间的连接关系,相关是指最大化神经网络输出与误差之间的相关性)

Elman网络(递归神经网络,允许网络中出现环形结构,使得神经元的输出反馈回来作为输入)

Boltzmann网络(为网络定义一个能量,训练过程就是在不断最小化能量函数)

深度学习

无监督预训练+BP微调,相当于把大量参数分组,每一组先找到局部最优结果,再基于局部最优解进行全局寻优,一组神经元使用相同的连接权值。

卷积神经网络CNN:用于处理具有网格结构的数据;包括:卷积层(通过卷积滤波器来提取多个特征)、池化层(利用降采样来减少数据量并保留有用信息)、激活函数(增强了网络的非线性表达能力)、全连接层(每一个神经元全部连接到上一层的所有神经元中,通过连接层与输出层的连接完成识别任务)
深度信念网络DBN:通过组合原始特征来生成更加抽象的高级特征表达式,能自动从数据中提取高层特征;

自动编码器AE:通过假设输入与输出相同,训练得到神经元的权重参数,用于数据的降维及特征的提取;

生成式对抗网络GAN:生成式部分基于原始数据的情况生成仿真数据,判别式部分判断输入的是否是真实的数据,最终目的在于使得网络生成判别式无法判别的仿真数据;

深度森林DF:利用集成的决策树来学习;

思考一下:
1,贝叶斯决策,基于最小风险和最小方差的决策的区别
2,ID3和C4.5的区别,预剪枝和后剪枝的基本思想和优缺点
3,SVM的基本思想,什么是支持向量,模型表达式,软间隔和硬间隔的物理含义,如何用来解决非线性问题
4,以混合高斯为例,解释EM算法的基本思想和步骤
5,什么是过拟合,解决方法有哪些
6,PCA算法基于最小均方误差的思想,推导过程,什么是第一主成分
7,给出机器学习和深度学习的联系,各有什么优缺点,你认为未来深度学习会如何发展


推荐阅读
  • 圣诞节到了,智能菌想送你一份礼物
    关注网易智能,聚焦AI大事件,读懂下一个大时代!(机器学习算法地图见文末)圣诞节的赠书活动来了! ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 非计算机专业的朋友如何拿下多个Offer
    大家好,我是归辰。秋招结束后,我已顺利入职,并应公子龙的邀请,分享一些秋招面试的心得体会,希望能帮助到学弟学妹们,让他们在未来的面试中更加顺利。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 机器学习算法常见面试题目总结,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 超分辨率技术的全球研究进展与应用现状综述
    本文综述了图像超分辨率(Super-Resolution, SR)技术在全球范围内的最新研究进展及其应用现状。超分辨率技术旨在从单幅或多幅低分辨率(Low-Resolution, LR)图像中恢复出高质量的高分辨率(High-Resolution, HR)图像。该技术在遥感、医疗成像、视频处理等多个领域展现出广泛的应用前景。文章详细分析了当前主流的超分辨率算法,包括基于传统方法和深度学习的方法,并探讨了其在实际应用中的优缺点及未来发展方向。 ... [详细]
  • 在本文中,我们将深入探讨斯坦福大学机器学习课程第二部分的核心内容与学习体会。文章不仅涵盖了正则化(Regularization)等关键概念,还结合实际案例分析了这些理论在实践中的应用,帮助读者更好地理解和掌握机器学习的高级技巧。此外,我们还将分享一些学习过程中遇到的挑战及解决方案,为后续学习者提供参考。 ... [详细]
  • 图像分割技术在人工智能领域中扮演着关键角色,其中语义分割、实例分割和全景分割是三种主要的方法。本文对这三种分割技术进行了详细的对比分析,探讨了它们在不同应用场景中的优缺点和适用范围,为研究人员和从业者提供了有价值的参考。 ... [详细]
author-avatar
柿饼VIP
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有