k-近邻学习,朴素贝叶斯,期望最大化,最大熵模型算法介绍
来源:互联网 发布:od软件下载 编辑:程序博客网 时间:2024/05/18 13:11
k-近邻学习 k-Nearest Neighbor(KNN)
1. 算法描述
k-近邻学习是一种监督的分类回归方法。工作机制:给定测试样本,基于某种距离度量找出训练集中与其最接近的k和训练样本,然后基于这k个“邻居”的信息进行预测。通常,在分类任务中采用“投票法”;在回归任务中采用“平均法”(也可根据距离远近进行“加权”)。**三个基本要素:**k值得选择,距离度量及分类/回归决策规则。“懒惰学习”没有显示的训练过程。
1.1 距离度量
1.2 k值得选择
k值较小,相当于用较小的邻域进行预测,优点是可以学习的近似误差会减小,缺点是学习的估计误差会增大,k值的减小会使模型变复杂,容易过拟合;k值较大,相当于用较大的邻域进行预测,优点是可以减小学习的估计误差,缺点是学习的近似误差会增大。通常采用“交叉验证”来选取最优的k值。
2. 优缺点
优点:
1.简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归;
2.可用于数值型数据和离散型数据;
3.训练时间复杂度为O(n);无数据输入假定;
4.对异常值不敏感
5.KNN是一种在线技术,新数据可以直接加入数据集而不必进行重新训练
6.计算时间和空间线性于训练集的规模
缺点:
1.计算复杂性高;空间复杂性高;
2.样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);
3.KNN每一次分类都会重新进行一次全局运算,计算量太大。
4.最大的缺点是无法给出数据的内在含义。
5.k值大小的选择。
3. kd树
为了提高k近邻搜索的效率,考虑使用特殊的结构存储训练数据,以减少计算距离的次数。
kd树是一种对k维空间中的实例点进行存储以便进行快速检索的树形数据结构,kd树是二叉树,对k维空间的一个划分。
构造kd树:构造根节点,使根节点对应于k维空间包含所有实例点的超矩形区域;通过下面的递归,不断地对k维空间进行切分,生成子节点:在节点上选择一个坐标轴和该坐标轴上的一个切分点(选择中位数作为切分点得到的kd树是平衡点),将当前结点切分为左右子节点(将超矩形区域通过切分点且垂直切分轴的平面切分为两个子区域);直到两个子节点不能再切分为止。
用kd树的最近邻搜索
在kd树中找出包含目标点
x 的叶节点:从根节点出发,递归地向下访问kd树。若目标点当前维的坐标小于切分点的坐标,则移动到左子节点,否则移动到右子节点,直到子节点为叶子结点为止。以此叶节点为“当前最近点”。
递归的向上回退,在每个节点进行以下操作:
a) 如果该节点保存的实例点比当前最近点距离目标更近,则以该实例点为“当前最近点”。
b) 当前最近点一定存在于该节点一个子节点对应的区域。检查该子节点的父节点的另一个子节点对应的区域是否有更近的点(具体的,检查另一个子结点对应的区域是否与以目标点为球心、以目标点与“当前最近点”间的距离为半径的超球体相交。如果相交,可能在另一个子结点对应的区域内存在距离目标更近的点,移动到另一个子结点。接着,递归的进行最近邻搜索。如果不相交,向上回退)。
当回退到根节点时,搜索结束。最后的“当前最近点”为目标点的最近邻点。
如果实例点是随机分布的,kd树搜索的平均计算复杂度是
朴素贝叶斯,期望最大化,最大熵模型
1. 贝叶斯分类器
1.1 朴素贝叶斯(naive bayes)
朴素贝叶斯法是基于贝叶斯定理(
1.1.1 朴素贝叶斯算法流程
朴素贝叶斯通过训练数据集学习联合概率分布,具体由先验概率分布:
朴素贝叶斯分类时,对给定的输入
于是,朴素贝叶斯分类器可表示为:
1.1.2 后验概率最大化的含义:等价于0-1损失函数时的期望风险最小化,期望风险函数为:
1.1.3 朴素贝叶斯法的参数估计:在朴素贝叶斯法中,学习意味着估计先验概率和条件概率,可以应用极大似然估计法估计相应的概率。
1.1.4 朴素贝叶斯算法流程:
- 计算先验概率及条件概率:
P(Y=ck) 和P(Xj=ajl|Y=ck) ; - 对于给定的实例
x=(x1,x2,⋯,xn)T ,计算P(Y=ck)∏j=1nP(Xj=xj|Y=ck) - 确定实例
x 的类:y=argmaxckP(Y=ck)∏j=1nP(Xj=xj|Y=ck) 。
1.1.5 贝叶斯估计:用极大似然估计可能会出现所要估计的概率值为0的情况,会影响到后验概率的计算结果模式分类产生偏差。解决这一问题的方法是采用贝叶斯估计。条件概率的贝叶斯估计为:
1.1.6 朴素贝叶斯算法的优缺点
优点:
1.生成式模型,通过计算概率来进行分类,可以用来处理多分类问题,
2.对小规模的数据表现很好,适合增量式训练,所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。
缺点:
1.对输入数据的表达形式很敏感,
2.由于朴素贝叶斯的“朴素”特点(特征条件独立),所以会带来一些准确率上的损失。
3.需要计算先验概率,分类决策存在错误率。
4.由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好。
2 半朴素贝叶斯分类器
基本思想:适当地考虑一些特征间的相互依赖信息,从而不需要进行完全联合概率计算,又不至于彻底忽略了比较强的特征依赖关系。“独依赖估计(One-Dependent Estimator,简称ODE)”:所谓“独依赖”就是假设每个特征在类别之外最多仅依赖于一个其他特征。比如,SPODE(Super-parent ODE):假设所有特征都依赖于同一个特征,称为“超父”,然后通过交叉验证等模型选择方法确定超父特征。TAN(Tree Augment naive Bayes):在最大带权生成树算法的基础上,通过条件互信息保留强相关特征之间的依赖性。AODE(Average ODE):基于集成学习机制的独依赖分类器,AODE尝试将每个特征作为超父构建SPODE,然后将那些具有足够训练数据支撑的SPODE集成起来作为最终结果。考虑高阶依赖(对多个特征依赖),将ODE扩展到kODE。
3 贝叶斯网
贝叶斯网(Bayesian network)亦称“信念网”(belief network),它借助有向无环图来刻画特征间的依赖关系,并使用条件概率表(Conditional Probability Table,DPT)来描述特征的联合概率分布。具体来说,一个贝叶斯网B由结构G和参数
3.1 结构
给定父节点集,贝叶斯网假设每个特征与它的非后裔特征独立,于是
在“同父”结构中,给定父节点x的取值,则y和z条件独立;在“顺序”结构中,给定节点x的取值,则y和z条件独立;在“V型”结构中,给定x的取值,则y和z必不独立,但若x的取值完全未知,y和z相互独立,称为“边际独立性”。可使用“有向分离”分析有向图中变量间的条件独立性。
3.2 学习
若网络结构已知,则贝叶斯网的学习过程相对简单,只需对训练样本“计数”,估计出每个节点的条件概率表。“评价搜索”:根据训练数据集来找出结构最“恰当”的贝叶斯网的常用方法。具体来说,我们先定义一个评分函数,以此来评价贝叶斯网与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网。常用的评分函数是基于信息论准则,该类准则将学习问题看作一个数据压缩任务,学习目标是找到一个能以最短编码长度描述训练数据的模型,编码的长度包括描述模型自身所需的字节长度和使用该模型描述数据所需的字节长度,“最小描述长度”准则。
给定训练集
若贝叶斯网
3.3 推断
通过已知变量观测值来推测带查询变量的过程称为“推断”,已知变量观测值称为“证据”。最理想的是直接根据贝叶斯网定义的联合概率分布来精确计算后验概率,但这样的“精确推断”已被证明是NP难的;换言之,当网络节点多、连接稠密时,难以进行精确推断,需要借助“近似推断”,通过降低精度要求,在给定时间内求得近似解。在现实应用中,贝叶斯网的近似推断常用吉布斯采样(Gibbs sampling)来完成。
令
实质上,吉布斯采样是在贝叶斯网所有变量的联合状态空间与证据
2. EM 期望最大化算法
EM算法是含有“隐变量”的概率模型参数的极大似然估计法。将观测数据表示为
- 选择模型参数的初值
θ(0) ,开始迭代; - E步:记
θ(t) 为第t次迭代参数θ 的估计值,在第t+1 次迭代的E步,计算Q(θ,θ(t))=∑ZlogP(X,Z|θ)P(Z|X,θ(t)) ; - M步:求使
Q(θ,θ(t)) 极大化的参数θ ,确定第t+1 次迭代的参数的估计值θ(t+1)=argmaxθQ(θ,θ(t)) ; - 重复E步和M步,直到收敛。
上述过程中的Q函数是关于给定观测数据和当前参数下对未观测数据的条件概率的期望。**注意:**EM算法对初值敏感;给出停止迭代的条件,一般是较小的整数
**EM算法的收敛性:**1) 设
2.1 高斯混合模型
高斯混合模型是指具有
一般混合模型可以由任意概率分布密度代替高斯分布密度。
高斯混合模型参数估计的EM算法
假设观测数据
第一步:明确隐变量,写出完全数据的对数似然函数
观测数据
则完全数据的似然函数为:
式中,
第二步:EM算法的E步:确定Q函数
需要计算
将
第三步:确定EM算法的M步
计算新一轮迭代的模型参数:
2.2 EM算法的优缺点
优点
M步仅涉及完全数据极大似然,通产计算比较的简单
收敛是稳定的
缺点
- 当缺失数据大或者完全数据的对数似然估计比较复杂时,EM算法的收敛速度将很缓慢
- EM算法本质上是非凸的,很容易陷入局部最优。
- EM算法对初始值敏感
3. 最大熵模型
3.1 最大熵原理
学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。
假设离散随机变量X的概率分布是P(X),则其熵是:
最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件。在没有更多信息的情况下,那些不确定的部分都是“等可能的”。最大熵原理通过熵的最大化来表示等可能性。
3.2 最大熵模型的定义
给定训练数据集
特征函数关于经验分布
假定满足所有约束条件的模型集合为
3.3 最大熵模型的学习
最大熵模型的学习等价于约束最优化问题:
对应的最小化问题为:
引入拉格朗日乘子
将其解记作:
得:
记对偶函数为
可证明,对偶函数等价于条件概率分布
- k-近邻学习,朴素贝叶斯,期望最大化,最大熵模型算法介绍
- k-近邻算法学习
- K-近邻算法详细介绍
- 机器学习-----K近邻算法
- 机器学习-k近邻算法
- 机器学习 k-近邻算法
- 机器学习---k-近邻算法
- 机器学习 K-近邻算法
- k近邻算法(knn) 学习
- K近邻算法学习总结
- k-近邻算法实践学习
- 机器学习:一些常见的监督型学习方法(K近邻、决策树、朴素贝叶斯、逻辑回归)
- 高斯混合模型的期望最大化算法
- 期望最大化算法EM
- EM 期望最大化算法
- 参数估计:期望最大化算法
- EM-期望最大化算法
- K最近邻算法(介绍)
- storm 1.0版本滑动窗口的实现及原理
- Combinations
- 分享到动画弹出框
- 整形平台如何从互联网医疗痛点封锁中突围?
- 最小编辑距离
- k-近邻学习,朴素贝叶斯,期望最大化,最大熵模型算法介绍
- HIVE 排序总结
- for循环输出漏斗的形状【java】
- 操作系统 磁盘调度综合算法
- 安装nginx-http-concat和nginx平滑升級
- resteasy自定义参数解析
- 点击搜索进入预编译状态,searbar跟随导航消失
- equals 和 ==
- Linux文件系统的实现