热门标签 | 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,给出机器学习和深度学习的联系,各有什么优缺点,你认为未来深度学习会如何发展


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • Two Sigma人均22万英镑~
    近期原创文章: ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 论文阅读:《Bag of Tricks for LongTailed Visual Recognition with Deep Convolutional Neural Networks》
    基于深度卷积神经网络的长尾视觉识别技巧包摘要近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂 ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
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社区 版权所有