赞
踩
原理分析
核心思想:将线性模型的输出映射到0-1之间,通过阈值判断,进行二分类
模型:
损失函数: 最大似然
原理分析
核心思想:已知训练集中的数据集以及类别,当遇到一个新样本进来之后,计算该样本与训练集中各个样本之间的距离,选择距离最近的K个样本,统计这K个样本中出现次数最多的那个类别,就是这个新样本的类别
注意事项:K值的选择,距离的度量
算法描述:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类
原理分析:
核心思想:希望在训练样本形成的特征空间当中找到一个划分超平面,将不同类别的样本分开
思路:
(1)在低维空间中线性可分
如果线性可分,那么就存在划分超平面,表示如下:
所有样本将会被这个划分超平面,一分为二,距离这个划分超平面最近的样本点,被称作支持向量
两个异类支持向量到划分超平面的距离和,被称作间隔,记为:
我们希望找到最大间隔的划分超平面,也即:
简单转换:
只需要求解出w和b即可以得到划分超平面,完成分类任务
(2)在低维空间中不可分
如果样本在低维空间中线性不可分,那么我们可以将样本从低维空间映射到高维空间中,样本就可以线性可分(只要特征是有限维,那么一定存在这样一个高维空间)
如何将样本从低维空间映射到高维空间:
核函数(一定存在,但是不一定能找到)
常见的核函数有:线性核、多项式核、高斯核、拉普拉斯核、Sigmoid核等
(3)找不到合适的核函数或者由于过拟合造成的线性可分的假象
在现实问题中,我们很难找到一个核函数将样本从低维空间映射到高维空间,正好可以线性可分,即便我们找到了,也很难保证这个线性可分的现象是不是因为过拟合而形成的
解决这个问题的方式就是:
我们允许支持向量机在分类的时候出错,而不是必须要将所有的样本都分隔开来,允许它在某些样本上出错,这就是软间隔,当然在最大化间隔的同时,希望出错的样本尽可能少
注意:
支持向量机的最终模型只与支持向量有关,与其他样本无关
支持向量机也可以用来做回归(SVR),但是主要的用途还是分类
原理分析:
核心思想:为了最小化总体损失,希望每个样本的损失最小化
思路:朴素贝叶斯分类器原理解析与python实现_追逐AI的蜗牛的博客-CSDN博客_朴素贝叶斯分类器基本原理
几个基本概念:
先验概率:根据统计/经验得到的某事情发生的概率
后验概率:在一定条件下某件事发生的概率
条件概率:事情发生时某条件出现的概率
根据后验概率的求解策略,分为:
判别式:直接对后验概率模型进行建模
决策树、BP神经网络、支持向量机
生成式:对联合概率进行建模
贝叶斯分类器
原理分析:
核心思想:关键在于如何选择划分的属性,即根据什么属性对节点中的样本进行划分,通常情况下三种选择属性划分的方式:1、信息增益;2、增益率;3、基尼系数,对应三种常见的决策树
思路:决策树是有根节点、内部节点、叶节点所组成,叶节点就是我们最终分类的结果
1、什么情况下可以结束划分,得到叶节点
(1)当前节点包含的样本全部都属于同一类
(2)当前节点中所有样本的属性值都相同(哪种类别的样本多,该叶节点就是哪种类别,后验分布)
(3)当前节点中包含的样本为空(看父节点中哪种类别的样本多,该叶节点就是哪种类别,先验分布)
2、按照什么方式选择最好的划分属性
(1)信息增益
对应ID3决策树(对属性划分数较多的属性有偏好)
(2)增益率
对应C4.5决策树(对属性划分数较少的属性有偏好)
(3)基尼系数
对应CART决策树
3、如何防止决策树产生过拟合
剪枝处理:预剪枝、后剪枝
预剪枝:在决策树生成之前,对一个节点进行划分的时候,都要评估划分后是不是要比划分前,提高了决策树的泛化性能,如果是,那么进行划分,如果没有提升,那么就将该节点标记为叶节点
后剪枝:先从训练集中训练出决策树,再从叶节点出发,向上找到父节点,如果把父节点+叶节点形成的子树替换为叶节点是否可以提升决策树的泛化性能,如果能,那么就替换,如果不能则继续向上
4、决策树在样本是连续值或者存在缺失值的时候,如何处理
对连续值的处理:二分法
对缺失值的处理:
1、如何在由缺失值样本的情况下,选择划分属性
去除掉包含缺失值的样本,使用无缺失值的样本来选择划分属性
2、如何将包含缺失值的样本,分配到下一节的节点当中
按照一定的比例,将包含缺失值的样本分配到下一节的节点当中
5、决策树的分类边界
决策树的分类边界:由若干个与坐标轴平行的分段组成(内部节点是属性划分)
当需要产生复杂的分类边界时,内部节点是属性的线性组合
1、集成学习的定义
通过构建并结合多个学习器来完成学习任务(这里多个学习器就存在多个学习器是相同的,还是不同的,如果是相同的那么其中的个体学习器就可以叫做基学习器,如果是不相同的那么其中的个体学习器就可以叫做组件学习器)
2、集成学习的核心
集成学习的好坏依赖于个体学习器,要求个体学习器应该要“好而不同”,也就是要求个体学习器应该具有一定的准确性,同时个体学习器之间应该具有多样性。但是个体学习器是为了解决同一个问题而产生的,因此在多样性上很难,准确性和多样性本身就存在矛盾,只能做好平衡
3、集成学习的分类
集成学习通常可以分为两大类:
(1)个体学习器之间存在强依赖关系、必须串行生成的序列化方法
代表:Boosting算法
(2)个体学习器之间不存在强依赖关系、可以同时生成的并行化方法
代表:Bagging算法和随机森林
4、Boosting算法
核心思想:先从初始训练集中训练出一个基学习器,再根据基学习器的表现对训练样本的分布进行调整,使得先前基学习器做错的样本在后续的训练中会受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器。如此不断的重复,直到基学习器的数目达到事先指定的值,最终将这些基学习器加权结合
算法代表:AdaBoost算法
5、Bagging算法
核心思想:通过自助采样法生成m个不同的训练集,从每一个训练集中训练出一个基学习器,然后将这m个基学习器进行结合
6、随机森林
核心思想:与Bagging算法的思想一致,增加样本扰动,增强基学习器的多样性,此外随机森林还添加了属性扰动,即在选择划分属性的时候添加扰动,进一步增强基学习器的多样性,得到更好的泛化性能
7、如何增强基学习器的多样性
常用方式有:数据样本扰动、输入属性扰动、输出表示扰动、算法参数扰动
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。