详解使用EM算法的半监督学习方法应用于朴素贝叶斯文本分类

1.前言

  对大量需要分类的文本数据进行标记是一项繁琐、耗时的任务,而真实世界中,如互联网上存在大量的未标注的数据,获取这些是容易和廉价的。在下面的内容中,我们介绍使用半监督学习和EM算法,充分结合大量未标记的样本,以期获得文本分类更高的准确率。本文使用的是多项式朴素贝叶斯作为分类器,通过EM算法进行训练,使用有标记数据以及未标记的数据。研究了多类分类准确率与训练集中未标记数据的比例之间的关系。并探索方法来降低EM过程的计算代价来加速训练。结果显示,半监督EM-NB分类器可以在只给2%标记数据情况下达到大于50%的准确率,在给定33%标记数据情况下达到大于70%的准确率。本文来源于参考中的附录1,详细代码和介绍可以参见链接。

2.模型介绍

3.关键代码实现

X.参考

附录1:Text Classification Using EM and Semi-Supervised Learning

原文地址:https://www.cnblogs.com/yanmk/p/8425744.html

时间: 2024-10-11 13:15:22

详解使用EM算法的半监督学习方法应用于朴素贝叶斯文本分类的相关文章

机器学习之基于朴素贝叶斯文本分类算法

原理 在分类(classification)问题中,常常需要把一个事物分到某个类别.一个事物具有很多属性,把它的众多属性看做一个向量,即x=(x1,x2,x3,-,xn),用x这个向量来代表这个事物.类别也是有很多种,用集合Y=y1,y2,-ym表示.如果x属于y1类别,就可以给x打上y1标签,意思是说x属于y1类别.这就是所谓的分类(Classification). x的集合记为X,称为属性集.一般X和Y的关系是不确定的,你只能在某种程度上说x有多大可能性属于类y1,比如说x有80%的可能性属

朴素贝叶斯文本分类(详解)

from numpy import zeros,array from math import log def loadDataSet(): #词条切分后的文档集合,列表每一行代表一个email postingList=[['your','mobile','number','is','award','bonus','prize'], ['new','car','and','house','for','my','parents'], ['my','dalmation','is','so','cute

(转)详解八大排序算法

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序.堆排序或归并排序序. 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短: 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到

详解四大排序算法

作者: Dsir 分类: PHP 发布时间: 2017年08月04日 07时40分 详解四大排序算法 如何排序? NBA总决赛正在如火如荼的进行,老詹也正朝着他的第5个总亚军前进着.假设骑士队队员在运动场上排列成一队,如图所示,所有队员已经站好,准备热身,现在需要按身高从低到高 为队员们排队(最矮的站在左边),给他们照一张集体照,应该怎么排队呢? 在排序这件事情上,人与计算机程序相比有以下优势:我可以同时看到所有的队员,并且可以立刻找出最高的一个,毫不费力得测量和比较每一个人的身高.而且队员们不

【机器学习详解】SMO算法剖析(转载)

[机器学习详解]SMO算法剖析 转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51227754 CSDN?勿在浮沙筑高台 本文力求简化SMO的算法思想,毕竟自己理解有限,无奈还是要拿一堆公式推来推去,但是静下心看完本篇并随手推导,你会迎刃而解的.推荐参看SMO原文中的伪代码. 1.SMO概念 上一篇博客已经详细介绍了SVM原理,为了方便求解,把原始最优化问题转化成了其对偶问题,因为对偶问题是一个凸二次规划问题,这样的凸二次规

基于半监督学习方法的异常值检测

在韩家炜书中提到了使用半监督学习方法的异常值检测.在半监督学习中,一部分样本会被标记为“正常”或"离群点“,另一部分样本没有标号,需要算法去估计.貌似这看上去有些像分类得预测问题.但是半监督学习的思想是每次学习后,把最有可能预测正确的样本,加入到下一次迭代的训练集中去.如此不断扩大学习和标记的范围.问题是如何指定一开始的初始标签?( 当然可以人为指定 ) 我们来看这个数据集.绿色部分是被标记“正常”的样本.红色的为“异常”的样本.蓝色的为“未标记”样本点.其实这里我自己采用的初始标记方法很简单,

【机器学习详解】SMO算法剖析

转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51227754 CSDN?勿在浮沙筑高台 本文力求简化SMO的算法思想,毕竟自己理解有限,无奈还是要拿一堆公式推来推去,但是静下心看完本篇并随手推导,你会迎刃而解的.推荐参看SMO原文中的伪代码. 1.SMO概念 上一篇博客已经详细介绍了SVM原理,为了方便求解,把原始最优化问题转化成了其对偶问题,因为对偶问题是一个凸二次规划问题,这样的凸二次规划问题具有全局最优解,如下: 其

【机器学习详解】AdaBoost算法原理

转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51714346 1.概念 AdaBoost是一种级联算法模型,即把几个弱分类器级联到一起去处理同一个分类问题.也就是"三个臭皮匠顶一个诸葛亮"的道理.例如一个专家作出的判定往往没有几个专家一起作出的判定更准确.一种情况:如果每个专家都仅有一票的权利,采用投票机制的方法属于uniform形式:另一种情况是分配给每个专家的票数不一致则属于linear形式.A

树状数组详解(图形学算法)

目录 一.从图形学算法说起 1.Median Filter 概述 2.r pixel-Median Filter 算法 3.一维模型 4.数据结构的设计 5.树状数组华丽登场 二.细说树状数组 1.树 or 数组? 2.结点的含义 3.求和操作 4.更新操作 5.lowbit函数O(1)实现 6.小结 三.树状数组的经典模型 1.PUIQ模型 2.IUPQ模型 3.逆序模型 4.二分模型 5.再说Median Filter 6.多维树状数组模型 四.树状数组题集整理 一.从图形学算法说起 1.M